磁盤共享:将一台主機的一塊磁盤分享出來,可以讓其他人使用。但此時檔案管理器是共享資源,隻能有一台服務機進行讀寫操作,是以為單點讀寫,以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,如果能得到在共享磁盤中所寫的頁面并且可以在另一台服務機上修改挂載檔案,證明實驗成功。