付出,终有回报!
分类: 系统运维
2015-05-27 22:47:48
四、配置集群存储--GFS
在生产环境,多使用光纤或是交换机设备连接共享存储与集群,在此实验中,使用ISICSI。
1、ISICSI服务端的配置
此处的watch另一台虚拟机,为HA集群中的两个节点提供共享存储。使用LVM,便于后期的扩容等。
[root@watch ~]# pvcreate /dev/vda1
[root@watch ~]# vgcreate vg0 /dev/vda1
[root@watch ~]# lvcreate -L 3.8G -n lv0 vg0
Rounding up size to full physical extent 3.80 GiB
Logical volume "lv0" created
[root@watch ~]# yum install iscsi-initiator-utils.x86_64 scsi-target-utils.x86_64 -y
编辑配置文件,使节点可以识别到共享存储。
[root@watch ~]# vim /etc/tgt/targets.conf
------------------------------------------------------------------------------------------------------------
# Sample target with one LUN only. Defaults to allow access for all initiators:
backing-store /dev/vg0/lv0
initiator-address 172.25.18.11
initiator-address 172.25.18.12
------------------------------------------------------------------------------------------------------------
[root@watch ~]# /etc/init.d/tgtd start
[root@watch ~]# tgt-admin -s 查看iscsi设备的详细信息
2、配置节点使其识别共享存储
两个节点同时执行以下操作
[root@new1 cluster]# yum install iscsi-initiator-utils.x86_64 -y
iscsiadm的具体使用,可以查看man页。172.25.254.218,是提供共享存储设备的主机的IP。如果识别到存储设备,那么将会显示相关信息。如下:
[root@new1 cluster]# iscsiadm -m discovery -t st -p 172.25.254.218
Starting iscsid: [ OK ]
172.25.254.218:3260,1 iqn.2015-05.com.example:server.demo
连接登录到共享存储设备
[root@new1 cluster]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2015-05.com.example:server.demo, portal: 172.25.254.218,3260] (multiple)
Login to [iface: default, target: iqn.2015-05.com.example:server.demo, portal: 172.25.254.218,3260] successful.
此时, fdisk -l就可以查看到,共享的存储设备在本地节点上显示了。以下的显示只选取了部分。
[root@new1 cluster]# fdisk -l
..............................
Disk /dev/sdb: 4081 MB, 4081057792 bytes
126 heads, 62 sectors/track, 1020 cylinders
在两个节点中中查看/etc/lvm/lvm.conf文件中的这个类型是否为集群locking_type = 3,如果不是,则执行lvmconf —enable-cluster,再执行/etc/init.d/clvmd restart
3、使用共享存储设备
(1)创建LVM并格式化
以下操作只需在一个节点执行,另一个节点只需执行pvs,vgs,lvs进行刷新。
[root@new1 cluster]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
[root@new1 cluster]# vgcreate vgcluster /dev/sdb
Clustered volume group "vgcluster" successfully created
[root@new1 cluster]# lvcreate -L 2G -n lvcluster vgcluster
Logical volume "lvcluster" created
[root@new1 cluster]# mkfs.ext4 /dev/vgcluster/lvcluster
(2)挂载共享存储,并写入测试数据
在一个节点上进行挂载,并写入内容,在另一个节点上也进行挂载后,则刚写入的内容也可见。测试过程如下:
[root@new ~]# mount /dev/vgcluster/lvcluster /mnt
[root@new ~]# df |grep /mnt
/dev/mapper/vgcluster-lvcluster 2064208 68608 1890744 4% /mnt
[root@new ~]# touch /mnt/teat
[root@new1 cluster]# mount /dev/vgcluster/lvcluster /mnt
[root@new1 cluster]# cd /mnt
[root@new1 mnt]# ls
lost+found teat
4、将共享存储设备与服务结合
卸载挂载,并禁用apache服务
[root@new ~]# umount /mnt
[root@new1 ~]# umount /mnt
[root@new1 ~]# clusvcadm -d apache
在Service Groups中先remove掉之前添加的Scripts,添加Filesystem之后再把Scripts重新添加上去。(遵循先加存储,再加服务的原则)。
开启apache,进行测试。
[root@new ~]# clusvcadm -e apache
[root@new ~]# df |grep cluster
/dev/mapper/vgcluster-lvcluster 2064208 68612 1890740 4% /var/www/html
使apache服务在172.25.18.11节点上运行
[root@new ~]# clusvcadm -r apache -m 172.25.18.11
[root@new1 ~]# df |grep cluster
/dev/mapper/vgcluster-lvcluster 2064208 68612 1890740 4% /var/www/html
5、创建GFS2,设置开机自启
[root@new ~]# clusvcadm -d apache
并删除之前添加的Filesystem
[root@new ~]# mkfs.gfs2 -p lock_dlm -t lingling:mygfs2 -j 3 /dev/vgcluster/lvcluster
可以使用man mkfs.gfs2查看详细的用法,3=节点个数+1
[root@new1 ~]# vim /etc/fstab 在两个节点上分别编辑
UUID=1257acfd-97b6-6319-650c-f319af4965fe /var/www/html gfs2 _netdev 0 0
[root@new1 ~]# mount -a
[root@new1 ~]# df |grep cluster
/dev/mapper/vgcluster-lvcluster 2096912 397148 1699764 19% /var/www/html
[root@new1 html]# gfs2_tool sb /dev/vgcluster/lvcluster all
mh_magic = 0x01161970
mh_type = 1
mh_format = 100
sb_fs_format = 1801
sb_multihost_format = 1900
sb_bsize = 4096
sb_bsize_shift = 12
no_formal_ino = 2
no_addr = 23
no_formal_ino = 1
no_addr = 22
sb_lockproto = lock_dlm
sb_locktable = lingling:mygfs2
uuid = 1257acfd-97b6-6319-650c-f319af4965fe
[root@new1 html]# gfs2_tool journals /dev/vgcluster/lvcluster
journal2 - 128MB
journal1 - 128MB
journal0 - 128MB
3 journal(s) found.