天天看點

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

磁盤共享:将一台主機的磁盤分享出來,供其他主機使用。如果磁盤檔案系統為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>
           

添加一塊虛拟磁盤。

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)
RHCS高可用叢集--ISCSI磁盤共享(基于mysql)
RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

開啟兩個服務程序

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

使用共享磁盤的主機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共享出來的磁盤

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

登陸

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

/dev/sdb為擷取到的共享磁盤

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

server1:

mkfs.ext4 /dev/sdb

mount /dev/sdb /mnt

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

server2:

RHCS高可用叢集--ISCSI磁盤共享(基于mysql)

可知,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建立的資料庫,說明挂載與高可用都是成功的。

繼續閱讀