磁盤共享:将一台主機的磁盤分享出來,供其他主機使用。如果磁盤檔案系統為ext4,隻能有一台服務機進行讀寫操作,其餘伺服器隻能讀,是以為單點讀寫,以mysql為例。
磁盤共享伺服器:
yum install scsi-* -y ##安裝分享磁盤軟體服務端
vim /etc/tgt/targets.conf ##編寫配置檔案,設定分享出去的磁盤
/etc/init.d/tgtd start ##開啟磁盤服務
ps ax ##觀察服務程序是否為兩個,若不是,則會出錯
tgt-admin -s ##檢查服務是否開啟成功
vim /etc/tgt/targets.conf ##第38-40行
<target iqn.2019-07.com.example:server.target1>
backing-store /dev/vda ##設定分享磁盤
</target>
添加一塊虛拟磁盤。

開啟兩個服務程序
使用共享磁盤的主機server1,server2:
[[email protected] ~]# iscsiadm -m discovery -t st -p 172.25.40.3
[[email protected] ~]# iscsiadm -m node -l
[[email protected] ~]# fdisk -l
發現172.25.37.3共享出來的磁盤
登陸
/dev/sdb為擷取到的共享磁盤
server1:
mkfs.ext4 /dev/sdb
mount /dev/sdb /mnt
server2:
可知,server1可以對共享磁盤讀寫,而server2隻能讀,不能寫。
ext4隻能單點讀寫,不支援共享磁盤資料同步。
RHCS套件實作叢集自動擷取資源:
先關閉服務,取消挂載。
主機server1:
1.配置yum源
vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #不用管
[HighAvailability]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ResilientStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[LoadBalancer]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ScalableFileSystem]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
2.配置域名解析
172.25.40.1 server1
172.25.40.2 server2
172.25.40.3 server3
3.安裝磁盤共享使用軟體,以及配置高可用軟體
yum install ricci luci -y ##安裝界面管理軟體luci,以及高可用軟體ricci,
另一台主機上隻需要安裝ricci,不需要luci的管理界面##
/etc/init.d/ricci start ##開啟兩個服務,并設定開機自啟
/etc/init.d/luci start
chkconfig luci on
chkconfig ricci on
passwd ricci ##修改ricci使用者密碼,用來使用者登入
clustat ##檢視服務機是否線上,以及服務狀态
4.建立叢集,添加節點,配置fence,将fence添加到節點,進行測試
luci網頁配置fence插件,兩台服務機都添加。
複制虛拟機唯一标示,UUID,添加已經定義好的fence設定。兩台服務機都添加。具體詳細配置fence可以檢視(參照RHCS叢集套件(ricci+luci+fence)實作web通路高可用)。
如果fence配置成功,那麼在服務機上fence_node 另一台服務機,另一台服務機會自動重新開機。
5.使用分享磁盤的用戶端
fdisk -l
fdisk -cu /dev/sdb ##在這塊磁盤進行分區 ,修改磁盤狀态
cat /proc/partitions ##重新整理磁盤清單
pvcreate /dev/sdb1 ##建立分區/dev/adb1
pvs ##檢視分區狀況
vgcreate vg0 /dev/sdb1 ##在此分區上建立邏輯卷vg0
partprobe
cat /proc/partitions
vgs ##檢視邏輯卷狀态有多少
lvcreate -L 4G -n lv0 vg0 ##在邏輯卷上新加拓展分區lv0
lvs
partprobe
cat /proc/partitions
mkfs.ext4 /dev/vg0/lv0 ##使用檔案管理軟體格式化此膠卷
由于這個磁盤已被分享,是以對于磁盤操作不需要進行兩次,在一台服務機上運作即可。
6.配置mydql服務
yum install mysql-server -y ##安裝mysql
mount /dev/vg0/lv0 /var/lib/mysql/ ##将分享磁盤挂載到mysql服務目錄下
ll /var/lib/mysql/ ##檢視目錄所屬權限為root,但要使用應該是mysql
chown mysql.mysql /var/lib/mysql/ ##更改目錄權限
7.在luci界面上配置服務
其實就是将資源添加之後,建立資源組,誰拿到資源組誰就可以挂載共享磁盤,打開服務,獲得資料庫中資料。
建立資源組,按照IP,檔案管理器,服務的順序加入資源組中
8.配置成功,檢視效果
在服務1上挂載,當建立資料庫後,将服務停止,就會在服務2上挂載,并且登陸資料庫可以看到在服務1建立的資料庫,說明挂載與高可用都是成功的。