準備三臺虛機
[root@room8pc16 ~]# clone-auto7
初始化
Node1.tedu.cn 192.168.4.1 iSCSI服務器
Node2.tedu.cn 192.168.4.2 mysql1
Node3.tedu.cn 192.168.4.3 mysql2
關閉防火牆、SELINUX,配置YUM
(1)啓動虛擬機
[root@room8pc16 ~]# for vm in rh7_node{1..3}node
do
virsh start $vm
done
在物理機上鍊接虛擬機的控制檯
[root@room8pc16 ~]# virsh console rh7_node1
退出時,按ctrl+]
[root@localhost ~]# nmtui
iSCSI提供塊設備
塊設備,如硬盤、光盤、U盤
iSCSI服務器端爲客戶端提供塊設備,須要起個名,這個名字是IQN
IQN名稱規範:iqn.時間.域名的反寫.字符串:子字符串
如: iqn.2018-07.cn.tedu.nsd1803:yezhikang
在iSCSI服務器上添加額外硬盤
能夠在虛擬機不關機的狀況下,直接添加硬盤。爲node1加一塊20GB的硬盤。mysql
配置iSCSI服務端
安裝軟件包
[root@node1 ~]# yum install -y targetcli
爲vdb分區
MBR: 主引導記錄,這種分區格式,最多隻能支持4個分區,最大支持2.2TB左右硬盤
GPT:GUID分區表,能夠支持大硬盤,能夠支持128個主分區
[root@node1 ~]# parted /dev/vdb
(parted) mklabel gpt
(parted) mkpart primary 1M 50%
(parted) mkpart primary 50% 100%
(parted) quit
[root@node1 ~]# lsblk
配置iscsi
[root@node1 ~]# targetcli
給vdb1起個名字formysql,回入到iscsi管理中
/> /backstores/block create formysql /dev/vdb1
建立供客戶端訪問的iqn名字
/> /iscsi create iqn.2018-07.cn.tedu.nsd1803
把存儲綁定到iqn名字中
/> /iscsi/iqn.2018-07.cn.tedu.nsd1803/tpg1/luns create /backstores/block/formysql
配置ACL,限定容許訪問的客戶端
/> /iscsi/iqn.2018-07.cn.tedu.nsd1803/tpg1/acls create iqn.2018-07.cn.tedu.node2
/> /iscsi/iqn.2018-07.cn.tedu.nsd1803/tpg1/acls create iqn.2018-07.cn.tedu.node3
保存並退出
/> saveconfig
/> exitsql
配置node2爲客戶端
安裝軟件包
[root@node2 ~]# yum install -y iscsi-initiator-utils
客戶端修改iqn名字
[root@node2 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-07.cn.tedu.node2
發現存儲端,此時能夠發現名字,可是不會多出硬盤
[root@node2 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
登錄iscsi設備,出現新硬盤
[root@node2 ~]# systemctl restart iscsi
[root@node2 ~]# lsblk # 將會出現sda
[root@node2 ~]# systemctl enable iscsi
[root@node2 ~]# systemctl enable iscsid
iscsi服務用於自動登錄,iscsid是守護進程
安裝mariadb-server,將sda分區、格式化,掛載到mariadb的工做目錄下
[root@node2 ~]# mount /dev/sda1 /var/lib/mysql/
[root@node2 ~]# chown mysql.mysql /var/lib/mysql/
啓動mariadb,建立庫和表
MariaDB [(none)]> create database nsd1803;
MariaDB [(none)]> use nsd1803;
MariaDB [nsd1803]> create table students (name varchar(20));
MariaDB [nsd1803]> INSERT INTO students VALUES('zhouyu');
iSCSI:
當node2節點出現故障時,能夠使用node3進行替換
配置iscsi客戶端
[root@node3 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-07.cn.tedu.node3
[root@node3 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.1 --discover
[root@node3 ~]# systemctl restart iscsi
配置mariadb-server
[root@node3 ~]# yum install -y mariadb-server
[root@node3 ~]# mount /dev/sda1 /var/lib/mysql/
[root@node3 ~]# systemctl start mariadbvim
注意:千萬不要使用兩個節點同時掛載相同的文件系統(分區),若是多個節點同時掛載這個文件系統,極可能會致使文件系統損壞,數據丟失!由於XFS/EXT3/EXT4這些文件系統都是單節點文件系統。紅帽的GFS才能支持多節點同時掛載。服務器