继续上一篇,本篇主要是将如何安装配置glusterfs以及通过配置nfs-ganesha来将glusterfs通过nfs导出,从而使得windows这样的不容易支持fuse的操作系统能够非常便利的通过mount nfs来使用glusterfs。本篇采用的操作系统是CentOS,其他操作系统,安装方式无非是通过寻找相应的源来安装或者通过源代码编译。而安装nfs-ganesha则是通过从源代码编译的方式。
1) 硬件要求:
至少2个节点,如果只有一个节点不是不能安装glusterfs而是没有什么太多的意义,而且分布式带条卷也是不能做的
我们可以称为NodeA、NodeB,两者之间内网可达,由于是glusterfs依赖于网络通讯,因此建议划分单独的网卡给glusterfs,并且在firewalld上全部开发这块网卡的访问。
2)卷目录的准备的
原则Glusterfs的卷应该有独立的存储设备。这里使用LVM并选用xfs为底层文件系统。已NodeA为例子:
pvcreate /dev/sdb
vgcreate vg_data /dev/sdb
lvcreate -L 931G vg_data -n lv_data
mkfs.xfs /dev/mapper/lv_vg_data-lv-data
mount -t xfs /dev/mapper/lv_vg_data-lv-data /data
完成后 /data就是我们的单独挂载目录。由于glusterfs不允许直接挂载mount point,因此新建一个目录。
mkdir -p /data/volumn/bricks
3) 安装Glusterfs
yum install centos-release-gluster -y #安装centos额外的源
yum install glusterfs-server -y
systemctl enable glusterfsd #设为开机启动
systemctl start glusterfsd #启动
4)建立Glusterfs pool
首先在NodeB的Server上/etc/hosts中加入NodeA
192.168.1.25 NodeA
同理在NodeA的Server上/etc/hosts加入NodeB
192.168.1.26 NodeB
在NodeA上执行:
gluster peer probe NodeB
在NodeB上执行
gluster peer probe NodeA
完成后即完成池的安装
5)建立分布式卷
在NodeA上执行
gluster volume create data NodeA:/data/volume/bricks NodeB:/data/volume/bricks
gluster vloume data start
以上就完成了glusterfs的安装。下面将是对于nfs-ganesha的安装。
首先什么是nfs-ganesha?
由于在新版的的glusterfs中取消了原有自带的nfs server导出的功能,而是默认采用nfs-ganesha来进行,因此必须使用nfs-ganesha,导出nfs才能mount到widnows上。
安装步骤:
1)安装依赖
yum install krb5-devel.x86_64 cmake glusterfs-api-devel.x86_64 userspace-rcu-devel.x86_64
2)下载源代码
git clone -b V2.8-stable https://github.com/nfs-ganesha/nfs-ganesha.git --recursive
3)通过cmake配置并编译
这里首先配置打开了Glusterfs的支持,关闭ceph和xfs的支持,否则编译不过
cmake . -DUSE_FSAL_GLUSTER=ON -DUSE_FSAL_CEPH=OFF -DUSE_FSAL_XFS=OFF
make -j8 && make install
4) 配置,修改/etc/ganesha/ganesha.conf
EXPORT {
Export_Id = 1;
Path = "/data";
FSAL {
name = GLUSTER;
hostname = "192.168.1.25";
volume = "data";
}
Access_type = RW;
Squash = No_root_squash;
Disable_ACL = TRUE;
Pseudo = "/data";
Protocols = "3","4";
Transports = "UDP","TCP";
SecType = "sys";
}
4)启动
ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/ganesha.log -N NIV_DEBUG
如果不成功可以查看日志,生产环境将—N后去掉,并增加自启动脚本。
5)验证是否按照成功
yum install nfs-utils.x86_64 -y
showmount -e
应该可以看到data已经被export了
接下来就是在widnows Server 2008 R2上挂载这个文件系统
1)首先是安装nfs角色,
打开“控制面板” → 点击“角色” → 点击“添加角色” → 点击“下一步” → 点击“文件服务” → 点击“下一步“ →点击”下一布” → 选择“网络文件系统服务” → 点击“下一步“ → 点击”安装“,如下图所示:
2)挂载
mount 192.168.1.25:/data/ e:
于是e盘就挂载了相应的nfs也就是glusterfs的数据,但是会发现能读不能写,因此需要做如下操作。
需要读写权限的需要修改注册表
通过修改注册表将windows访问NFS时的UID和GID改成0即可,步骤如下
在运行中输入regedit,打开注册表编辑器;
进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default条目;
选择新建----QWORD值,新建AnonymousUid,AnonymousGid两个值,值为0;
重启电脑 注册表才会生效;
由此完成了所有配置和挂载工作,下篇将会阐述gluster的一些操作和添加bricks等操作
本文为Lokie.Wang原创文章,转载无需和我联系,但请注明来自lokie博客http://lokie.wang