磁盘共享:将一台主机的一块磁盘分享出来,可以让其他人使用。但此时文件管理器是共享资源,只能有一台服务机进行读写操作,所以为单点读写,以APACHE为例。
服务器(提供磁盘):
yum install scsi-* ##安装共享磁盘服务端
fdisk -l ##查看添加的新硬盘用于共享
vim /etc/tgt/targets.conf ##修改配置文件
/etc/init.d/tgtd start ##开启共享磁盘服务
ps ax ##查看进程
tgt-admin -s ##查看是否共享成功
vim /etc/tgt/targets.conf ##修改配置文件
<target iqn.2019-06.com.example:server.target1>
backing-store /dev/vda ##共享磁盘
</target>
ps ax ##此命令检查进程tgt必须存在两个,否则配置出错。
服务机1(使用共享磁盘):
在上一篇博客的基础上(ricci,luci,fence),安装共享磁盘客户端。使用此客户端与服务端连接之后,通过共享磁盘,当一服务器对其进行读写操作后,另一端开启服务,就可以获得其读写内容。
yum install iscsi-* ##安装共享文件客户端
iscsiadm -m discovery -t st -p 172.25.16.103 ####发现服务端的共享磁盘
iscsiadm -m node -l ##使用共享磁盘
cat /proc/partitions ##更新磁盘列表
fdisk -l ##查看被共享磁盘,确定分区名
fdisk -cu /dev/sdb ##在/dev/sdb中加入/dev/sdb1分区将其改为lvm分区类型
partprobe ##更新磁盘分区
cat /proc/partitions
pvcreate /dev/sdb1 ##将物理硬盘分区初始化为物理卷,以便lvm使用。
pvs ##输出格式化物理卷信息
vgcreate vg0 /dev/sdb1 ##建立vg0卷组
partprobe ##更新列表
vgs
lvcreate -L 4G -n lv0 vg0 ##新建基于vg0的lvm逻辑卷lv0
partprobe
lvs
mkfs.ext4 /dev/vg0/lv0 ##在逻辑卷中添加mkfs.ext4文件管理系统
mount /dev/vg0/lv0 /mnt ##将lvm卷组挂在到/mnt
cd /mnt/
vim index.html ##编写apache初始页面
mount /dev/vg0/lv0 /var/www/html/
##挂载逻辑卷到/var/www/html,可使用apache看到所建页面
fdisk -cu /dev/sdb
服务机2(使用共享磁盘):
yum install iscsi-*
iscsiadm -m discovery -t st -p 172.25.16.103
iscsiadm -m node -l
cat /proc/partitions
将文件管理系统资源加到luci中,截图如下:
加到资源组时应该注意先ip,后文件管理器,最后是httpd服务。
测试:
真机ping 172.25.30.100,如果能得到在共享磁盘中所写的页面证明实验成功。如果需要排错最好先把文件系统从luci资源组中卸掉,先看apache服务是否成功。并且观察是否是服务在哪台主机上,挂载就在哪台主机上。
此时的共享是连同文件管理器一起共享的,文件管理器随着资源走,谁有资源,谁就使用挂载。但是如果我们使用本地的文件管理系统,就可以支持多点写入,只要有其中一方使用共享磁盘,另一方都能看到,并修改其内容。
在上个实验的基础上:
将luci上的资源组中加入的文件管理器卸掉,重新打开服务。
服务机(提供磁盘资源):主机不变。
服务机1和2:
mkfs.gfs2 -p lock_dlm -j 2 -t westos:mygfs2 /dev/vg0/lv0 ##格式化文件管理系统,一台主机操作,磁盘是共享的。
vim /etc/fstab ##编写配置挂载文件,将共享磁盘挂载到/var/www/html文件下
cd /var/www/html
vim index.html ##只需要一台主机,编写httpd服务初始化界面
测试:
真机ping 172.25.30.100,如果能得到在共享磁盘中所写的页面并且可以在另一台服务机上修改挂载文件,证明实验成功。