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
#启动tgtdtgt-admin -s
#查看ps -ax
#查看进程,会出现两个tgtd的进程,如果出现4个,则停止服务,重新加载
2>配置另外两台提供服务的虚拟机
- hostname为number1和number2,对应的IP为172.25.76.1和172.25.76.2
yum install iscsi-* -y
iscsiadm -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/sdb1
vgcreate westos /dev/sdb1
pvs
vgs
lvcreate -L 5G -n aa westos
lvs
- 在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上