【原】基于RHCS集群实现高可用NFS

实验环境:RedhatEnterpriseLinux6.3 虚拟机3台  其中1台通过ISCSI做的存储(文件系统为GFS),剩余2台做NFS的集群

前提:为了避免防火墙以及SElinux问题,暂时将其关闭。同时关闭NetworkManager服务。

主机环境:strong1.example.com->IP:192.168.0.21 && md1.example.com->IP:192.168.0.31 && md2.example.com->IP:192.168.0.32

所有主机DNS可以正常解析,YUM源已配置完成。DNS服务器以及YUM源服务器地址:192.168.0.1。

步骤如下:

一、md1以及md2主机YUM安装所需要的软件包:yum install iscsi-initrator-utils gfs2-utils.x86_64 -y

strong1主机YUM安装:yum install scsi-target-utils -y  ->通过这个服务,实现scsi共享

二、在strong1执行如下命令:#vim /etc/tgt/targets.conf

在40行附近添加,如下三行内容:

 

backing-store /dev/sdb1   #sdb1是我的可共享分区

 

chkconfig iscsid on

service tgtd start

chkconfig tgtd on

三、在md1与md2中通过iscsiadm进行添加步骤二中共享的分区,命令如下:

#iscsiadm –mode discoverydb –type sendtargets –portal 192.168.0.21 –discover

#iscsiadm –mode node –targetname iqn.2013-12.com.example:strong1.target1 –portal 192.168.0.21:3260 –login

注意:登陆的时候,iqn名称是上一个命令所反馈的内容;登陆成功后,fdisk -l 会查看到一块新的分区,默认情况下,是sd[b-z]。

四、在md1或者md2任一一台主机,比如md1执行:#pvcreate /dev/sdc  (假设通过ISCSI共享的分区被UDEV识别成sdc),在md2中执行:#pvscan

五、创建逻辑卷组,md1或者md2执行#vgcreate cluVG /dev/sdc,然后在另一台主机执行#vgscan

六、创建逻辑卷,md1或者md2执行#lvcreate -l 37 -n mygfs cluVG (37参数指的是PE块的数量,通过#vgdisplay查询),另一台主机#lvscan

七、创建GFS2文件系统,执行#mkfs.gfs2 -t mygluster:mygfs2 -p lock_dlm -j 2 /dev/vol0/mygfs  注意:-j选项指定的是由N个日志区,有N个节点(默认每个日志区占用128MB的空间),便有N个日志区。mygluster指的是集群名称,可以暂时跳过这步,先建立集群再执行该句。mygfs2可以随意指定。

八、安装ricci,在其他主机安装luci管理程序,在这里,就在strong1上安装了。md1执行:yum install ricci -y   &&  service ricci start  &&  chkconfig ricci on

md2执行:yum install ricci -y   &&  service ricci start  && chkconfig ricci on

strong1执行:yum install luci -y  && service luci start

九、在md1和md2上,安装ricci后,默认会添加一个用户,用户名为ricci但密码未设置,需要对ricci进行密码设置,密码在添加集群节点时使用。分别执行:#passwd ricci

十、在strong1主机上,执行#firefox https://localhost:8084 &

用户名root 密码是系统密码  正常登陆后,显示如下:

luci第一次登陆

十一、添加一个HA集群,按如图进行修改:

添加一个HA,并且添加节点

注意:密码栏为ricci用户的密码。

十二、等待后,期间节点会自动重启,重启成功后,会显示如下内容:

normal

十三、fence设备,暂时忽略,因为我用的是vmware workstation,fence时会出现问题;KVM,实现方便。更何况大家都是用的fence物理设备吧,本文主要建立基于GFS2文件系统的高可用NFS集群。

十四、添加失效域:(包括设置优先级等信息)

nfs_failover

十五、添加资源(NFS资源包括:IP地址,nfs-server,nfs-client以及文件系统)

ip_add

nfs_server

nfs_client

gfs2_peizhi

注意:

一、IP地址为浮动IP,并非是某台集群主机的IP地址。

二、在这里用的是GFS2文件系统,配置gfs2资源时,所指定的挂载目录,必须在集群中都已经存在(mkdir命令建立),FilesystemID为空,提交后,会自动生成。

十六、添加服务,并启动。(特别注意:集群主机要确保未挂载刚才建立的gfs2分区)

nfsd_add_chushi

注意一、在此处添加资源的时候,有顺序的添加,首先添加IP资源,添加文件系统,然后添加文件系统的子资源nfs-server,再添加nfs-server的子资源nfs-client。

注意二、一定要看好了叠加关系,否则服务启动不起来。如图:

nfsd_add_diejia

submit提交即可。

十七、最后,可以通过#clustat -i1来进行显示当前集群服务状态。如图:

nfs_success1

因为集群内主机的优先级是一样的,测试是否完全成功,可以通过#clusvcadm -r nfsd(此处的nfsd是我在第十六步上指定的服务名)进行测试,查看是否在当前主机上停止运行而转移到另一台主机。

nfs_success2

在所运行的主机上,#df -hT 会查看到当前nfs的挂载信息。如图:

nfs_success3

————————————————————–感谢大家,第一篇纯手打笔记,不足之处还请多多提出,以便后期的改进。有问题的话联系我。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注