[root@server2 ~]# yum install -y scsi-*
[root@server2 ~]# vim /etc/tgt/targets.conf
[root@server2 ~]# /etc/init.d/tgtd start
[root@server1 ~]# yum install iscsi-*
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.68.2 #访问共享磁盘
[root@server1 ~]# iscsiadm -m node -l
[root@server1 ~]# /etc/init.d/clvmd status #保证clvmd服务开启,要开启才可能同步
[root@server4 ~]# yum install iscsi-*
[root@server4 ~]# iscsiadm -m discovery -t st -p 172.25.68.2 #访问共享磁盘
[root@server4 ~]# iscsiadm -m node -l
[root@server4 ~]# cat /proc/partitions
[root@server4 ~]# fdisk -l #查看磁盘共享成功
[root@server1 ~]# pvcreate /dev/sda
Physical volume "/dev/sda" successfully created
[root@server1 ~]# vgcreate clustervg /dev/sda
Clustered volume group "clustervg" successfully created
[root@server1 ~]# lvcreate -L 4G -n demo clustervg
Logical volume "demo" created
[root@server1 ~]# mkfs.ext4 /dev/clustervg/demo
[root@server4 ~]# yum install -y mysql-server
在server1主机上:
[root@server1 ~]# clusvcadm -d nginx
[root@server1 ~]# yum install -y mysql
[root@server1 ~]# yum install -y mysql-server
[root@server1 ~]# cd /var/lib/mysql
[root@server1 mysql]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server1 mysql]# df
[root@server1 mysql]# ll -d /var/lib/mysql/
[root@server1 mysql]# chown mysql.mysql /var/lib/mysql/
[root@server1 mysql]# ll -d /var/lib/mysql/
[root@server1 mysql]# /etc/init.d/mysqld start
[root@server1 mysql]# /etc/init.d/mysqld stop
[root@server1 ~]# umount /var/lib/mysql/
添加资源的顺序
Address —-> Filesystem —-> Script
(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)
测试:
如果刚刚在共享的磁盘中写入一个index.html文件,那么这时就直接访问的是存储中的网页文件,因为挂载在了httpd的默认发布页面,文件系统也只会看到这个文件并去读取.
为了实现多个节点对于一个文件系统同时读写操作,GFS使用锁管理器来管理
I/O操作,当一个写进程操作一个文件时,这个文件就被锁定,此时不允许其它进
程进行读写操作,直到这个写进程正常完成才释放锁,只有当锁被释放后,其它读
写进程才能对这个文件进行操作,另外,当一个节点在GFS文件系统上修改数据
后,这种修改操作会通过RHCS底层通信机制立即在其它节点上可见。
双组模式 , 立刻同步,相当于同时写入,所以比主备的使用率高,两边都在用
[server1]
[root@server1 ~]# clustat
[root@server1 ~]# clusvcadm -d mysql
[root@server1 ~]# df
[root@server1 ~]# lvs
[root@server1 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server1 ~]# df
[root@server1 ~]# vgs
[root@server1 ~]# lvextend -L +4G /dev/clustervg/demo #报错,没有那么大内存
[root@server1 ~]# lvextend -l +1023 /dev/clustervg/demo
[root@server1 ~]# resize2fs /dev/clustervg/demo
[root@server1 ~]# df -h
[root@server1 ~]# cd /var/lib/mysql/
[root@server1 mysql]# cp /etc/passwd .
[root@server1 mysql]# ls
[root@server4 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server4 ~]# df
[root@server4 ~]# cd /var/lib/mysql/
[root@server4 mysql]# ls #passwd同步更新过来
[root@server4 ~]# umount /var/lib/mysql/
[root@server1 ~]# lvremove /dev/clustervg/demo
[root@server1 ~]# lvcreate -L 4G -n demo clustervg
[root@server1 ~]# mkfs.gfs2 -j 3 -p lock_dlm -t westos:mygfs2 /dev/clustervg/demo
[root@server1 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server1 ~]# cd /var/lib/mysql/
[root@server1 mysql]# ls
[root@server1 mysql]# chown mysql.mysql .
[root@server1 mysql]# ll
total 0
[root@server1 mysql]# ll -d .
drwxr-xr-x 2 mysql mysql 3864 Aug 3 16:38 .
[root@server1 mysql]# /etc/init.d/mysqld start
[server4]同步server1上的文件
[root@server4 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server4 ~]# ll -d /var/lib/mysql/
[root@server4 ~]# gfs2_tool sb /dev/clustervg/demo all #查看gfs2的信息
[root@server4 ~]# gfs2_tool journals /dev/clustervg/demo #查看gfs2的日志信息
[root@server4 ~]# ip addr
[root@server1 mysql]# /etc/init.d/mysqld stop
[root@server1 ~]#
[root@server1 ~]# vim /etc/fstab
/dev/mapper/clustervg-demo /var/lib/mysql gfs2 _netdev 0 0
[root@server1 ~]# mount -a
[root@server1 ~]# df
[root@server1 ~]# clusvcadm -r mysql -m server4