1.共享存储的原因
- 之前的实验,我们是将两个服务器上的/var/www/html的主发布文件index.html写在服务器自己的硬盘中
- 而在公司中,为了安全起见,不能将文件存储在提供服务的服务器内部
- 应存储在另一台服务器中,而这台服务器专门提供存储服务,并能够使其他服务器使用
- 两台机器共用一块存储,因此需要做共享存储
2.配置共享存储
- 实验前的准备:
- 在之前的实验基础上,重新打开一台虚拟机
- 在新打开的虚拟机上再添加一块额外共享出来的存储
- 原有的两台虚拟机具有fence和集群功能
1>配置共享存储的虚拟机
- 虚拟机的hostname为number3,IP为172.25.76.3
yum install scsi-* -y-
cat /proc/partitions#查看添加硬盘是否成功 -
fdisk -l#查看是否刷新成功 -
vim /etc/tgt/targets.conf#编辑此文件 - 编辑内容如下:
-
/etc/init.d/tgtd start#启动tgtd -
tgt-admin -s#查看 -
ps -ax#查看进程,会出现两个tgtd的进程,如果出现4个,则停止服务,重新加载
2>配置另外两台提供服务的虚拟机
- hostname为number1和number2,对应的IP为172.25.76.1和172.25.76.2
yum install iscsi-* -yiscsiadm -m discovery -t st -p 172.25.76.3-
iscsiadm -m node -l#在节点上发现 -
partprobe#刷新 fdisk -l-
cat /proc/partitions#查看 - number1上的/dev/sdb和number2上的/dev/sdb是同一块,就是number3共享出来的/dev/vda
在一台虚拟机(number1)上进行,在number2上进行刷新
-
fdisk -cu /dev/sdb#创建扩展分区 -
partprobe#刷新 -
cat /proc/partitions#查看 pvcreate /dev/sdb1vgcreate westos /dev/sdb1pvsvgslvcreate -L 5G -n aa westoslvs- 在number2上刷新要及时,若刷新不到,则使用partprobe进行刷新
-
mkfs.ext4 /dev/westos/aa#写入到本地文件系统中 - 本地文件系统不支持同时写入
-
mount /dev/westos/aa /mnt/#挂载 -
df#查看
解决文件可同时写入的方法:单边写入
- 在一边先挂载,然后写入文件,再卸载
- 在另一边挂载后就可以看到写入的文件内容
两台虚拟机(number1和number2)哪个先拿到vip,哪个先将/dev/westos/aa挂载到/var/www/html,并开启httpd
- 在number1中写入index页面,并卸载/dev/westos/aa
- 在number2中卸载/dev/westos/aa
-
clusvcadm -d apache# 先停止服务 -
在浏览器中添加资源
3>测试
-
clusvcadm -r apache -m number2#将服务迁移到number2上