文章目錄
- 一、GFS 平臺部署
- 1.環境準備
- 2.更改節點名稱
- 3.將新添加的磁盤進行格式化并掛載
- 4.安裝本地源
- 5.添加節點并創建集群
- 6.根據規劃創建卷
- 6.1 創建分布式卷
- 6.2 創建條帶卷
- 6.3 創建復制卷
- 6.4 創建分布式條帶卷
- 6.5 創建分布式復制卷
- 二、Client 客戶端部署與測驗
- 1.部署 Gluster 客戶端
- 2.查看檔案分布
- 3.冗余(破壞)測驗
- 4.GFS 的常用命令
一、GFS 平臺部署
1.環境準備
Node1節點:node1/192.168.126.11 磁盤:/dev/sdb1 掛載點:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node2節點:node2/192.168.126.12 磁盤:/dev/sdb1 掛載點:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node3節點:node3/192.168.126.13 磁盤: /dev/sdb1 掛載點:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Node4節點:node4/192.168.126.14 磁盤: /dev/sdb1 掛載點:/data/sdb1
/dev/sdc1 /data/sdc1
/dev/sdd1 /data/sdd1
/dev/sde1 /data/sde1
Client節點:192.168.126.15
-
Linux 均為 CentOS7(VMware)
-
實驗中的四臺節點均需要添加四塊磁盤,不需要太大(關機狀態下添加)

2.更改節點名稱
node1(192.168.126.11):
hostnamectl set-hostname node1
su -
node2(192.168.126.12):
hostnamectl set-hostname node2
su -
node3(192.168.126.13):
hostnamectl set-hostname node3
su -
node4(192.168.126.14):
hostnamectl set-hostname node4
su -
client(192.168.126.15):
hostnamectl set-hostname client
su -
3.將新添加的磁盤進行格式化并掛載
四個節點配置相同,以下為node1的示范
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#關閉防火墻及安全機制
vim /opt/fdisk.sh
#!/bin/bash
NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`
for VAR in $NEWDEV
do
echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null
mkfs.xfs /dev/${VAR}"1" &> /dev/null
mkdir -p /data/${VAR}"1" &> /dev/null
echo "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0" >> /etc/fstab
done
mount -a &> /dev/null
chmod +x /opt/fdisk.sh
cd /opt/
./fdisk.sh
#賦權腳本并執行
df -hT
#確認磁盤空間
scp /opt/fdisk.sh root@192.168.126.12:/opt/fdisk.sh
scp /opt/fdisk.sh root@192.168.126.13:/opt/fdisk.sh
scp /opt/fdisk.sh root@192.168.126.14:/opt/fdisk.sh
#將腳本檔案SCP傳至其他三個節點,省事
echo "192.168.126.11 node1" >> /etc/hosts
echo "192.168.126.12 node2" >> /etc/hosts
echo "192.168.126.13 node3" >> /etc/hosts
echo "192.168.126.14 node4" >> /etc/hosts
#添加四個節點的域名決議
4.安裝本地源
四個節點配置相同,以下為node1的示范
cd /opt
#將gfsrepo.zip軟體包傳至本目錄下
unzip gfsrepo.zip
cd /etc/yum.repos.d/
mv local.repo repos.bak/
vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
yum clean all && yum makecache
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
#建議多yum安裝幾次,在安裝程序中可能會出現紕漏的情況
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
df -hT
5.添加節點并創建集群
僅需在一臺節點上操作,以下依舊是node1
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
gluster peer status
6.根據規劃創建卷
| 卷名稱 | 卷型別 | Brick |
|---|---|---|
| dis-volume | 分布式卷 | node1(/data/sdb1)、node2(/data/sdb1) |
| stripe-volume | 條帶卷 | node1(/data/sdc1)、node2(/data/sdc1) |
| rep-volume | 復制卷 | node3(/data/sdb1)、node4(/data/sdb1) |
| dis-stripe | 分布式條帶卷 | node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1) |
| dis-rep | 分布式復制卷 | node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1) |
6.1 創建分布式卷
gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force
#創建分布式卷,沒有指定型別,默認創建的是分布式卷
gluster volume list
#查看型別
gluster volume start dis-volume
#開啟
gluster volume info dis-volume
#查看卷資訊
6.2 創建條帶卷
gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
#指定型別為 stripe,數值為2,且后面跟了2個Brick Server,所以創建的是條帶卷
gluster volume start stripe-volume
gluster volume info stripe-volume
6.3 創建復制卷
gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force
#指定型別為replica,數值為2,且后面跟了2個Brick Server,所以創建的是復制卷
gluster volume start rep-volume
gluster volume info rep-volume
6.4 創建分布式條帶卷
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
#指定型別為stripe,數值為2,而且后面跟了4個Brick Server,是2的兩倍,所以創建的是分布式條帶卷
gluster volume start dis-stripe
gluster volume info dis-stripe

6.5 創建分布式復制卷
gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
#指定型別為 replica,數值為 2,而且后面跟了 4 個 Brick Server,是 2 的兩倍,所以創建的是分布式復制卷
gluster volume start dis-rep
gluster volume info dis-rep
gluster volume list
二、Client 客戶端部署與測驗
1.部署 Gluster 客戶端
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#關閉防火墻及安全機制
cd /opt
#將軟體包gfsrepo.zip傳至該目錄下
unzip gfsrepo.zip
cd /etc/yum.repos.d/
mv local.repo repos.bak/
vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
yum clean all && yum makecache
yum install -y glusterfs glusterfs-fuse
mkdir -p /test/{dis,stripe,rep,dis_stripe,dis_rep}
ls /test
echo "192.168.126.11 node1" >> /etc/hosts
echo "192.168.126.12 node2" >> /etc/hosts
echo "192.168.126.13 node3" >> /etc/hosts
echo "192.168.126.14 node4" >> /etc/hosts
mount.glusterfs node1:dis-volume /test/dis
mount.glusterfs node1:stripe-volume /test/stripe
mount.glusterfs node1:rep-volume /test/rep
mount.glusterfs node1:dis-stripe /test/dis_stripe
mount.glusterfs node1:dis-rep /test/dis_rep
df -hT
----
sdb1:3.0G//sdc1:4.0G//sdd1:5.0G//sde1:6.0G
dis-volume(分布式卷): (node1/2)sdb1×2=3×2=6.0G
stripe-volume(條帶卷): (node1/2)sdc1×2=4×2=8.0G
rep-volume(復制卷): (node3/4)sdb1×2=3×2=6.0G,實則/2,為3.0G
dis-stripe(分布式條帶卷): (node1/2/3/4)sdd1×4=5×4=20G
dis-rep(分布式復制卷): (node1/2/3/4)sde1×4=6×4=24,實則/2,得12G
cd /opt
dd if=/dev/zero of=/opt/demo1.log bs=1M count=40
dd if=/dev/zero of=/opt/demo2.log bs=1M count=40
dd if=/dev/zero of=/opt/demo3.log bs=1M count=40
dd if=/dev/zero of=/opt/demo4.log bs=1M count=40
dd if=/dev/zero of=/opt/demo5.log bs=1M count=40
#生成一個特定大小的檔案給與/opt/demo*.log下,大小為1M,共處理40次
ls -lh /opt
cp demo* /test/dis
cp demo* /test/stripe/
cp demo* /test/rep/
cp demo* /test/dis_stripe/
cp demo* /test/dis_rep/
tree /test/
#查看/test/的檔案夾/檔案的目錄樹
2.查看檔案分布
1.查看分布式檔案分布(node1:/dev/sdb1、node2:/dev/sdb1)
[root@node1 ~]# ls -lh /data/sdb1/
總用量 160M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo4.log
[root@node2 ~]# ll -h /data/sdb1
總用量 40M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo5.log
----
2.查看條帶卷檔案分布(node1:/dev/sdc1、node2:/dev/sdc1)
[root@node1 ~]# ls -lh /data/sdc1
總用量 100M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo4.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo5.log
[root@node2 ~]# ll -h /data/sdc1
總用量 100M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo4.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo5.log
----
3.查看復制卷檔案分布(node3:/dev/sdb1、node4:/dev/sdb1)
[root@node3 ~]# ll -h /data/sdb1
總用量 200M
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo1.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo2.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo3.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo4.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo5.log
[root@node4 ~]# ll -h /data/sdb1
總用量 200M
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo1.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo2.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo3.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo4.log
-rw-r--r-- 2 root root 40M 3月 4 10:31 demo5.log
----
4.查看分布式條帶卷分布(node1:/dev/sdd1、node2:/dev/sdd1、node3:/dev/sdd1、node4:/dev/sdd1)
[root@node1 ~]# ll -h /data/sdd1
總用量 80M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo4.log
[root@node2 ~]# ll -h /data/sdd1
總用量 80M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo4.log
[root@node3 ~]# ll -h /data/sdd1
總用量 20M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo5.log
[root@node4 ~]# ll -h /data/sdd1
總用量 20M
-rw-r--r-- 2 root root 20M 3月 4 09:37 demo5.log
----
5.查看分布式復制卷分布(node1:/dev/sde1、node2:/dev/sde1、node3:/dev/sde1、node4:/dev/sde1)
[root@node1 ~]# ll -h /data/sde1
總用量 160M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo4.log
[root@node2 ~]# ll -h /data/sde1
總用量 160M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo4.log
[root@node3 ~]# ll -h /data/sde1
總用量 40M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo5.log
[root@node4 ~]# ll -h /data/sde1
總用量 40M
-rw-r--r-- 2 root root 40M 3月 4 09:37 demo5.log
3.冗余(破壞)測驗
1.在客戶端查看檔案
[root@client ~]# cd /test/
[root@client test]# ls
dis dis_rep dis_stripe rep stripe
[root@client test]# ll -h dis
總用量 200M
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo4.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo5.log
----
2.把node2節點關閉(模擬宕機),再回到客戶端檢查,可以看到demo5沒了,所以可以得出分布式卷(node1/2)不具備冗余的特性
[root@node2 ~]# init 0
[root@client test]# ll -h dis
總用量 160M
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo4.log
----
3.且發現條帶卷(node1/2)資料為0,不具備冗余
[root@client test]# ll -h stripe/
總用量 0
----
4.關閉node3,測驗復制卷(node3/node4)的冗余性
[root@node4 ~]# init 0
[root@client test]# ll -h rep/
總用量 200M
-rw-r--r-- 1 root root 40M 3月 4 10:31 demo1.log
-rw-r--r-- 1 root root 40M 3月 4 10:31 demo2.log
-rw-r--r-- 1 root root 40M 3月 4 10:31 demo3.log
-rw-r--r-- 1 root root 40M 3月 4 10:31 demo4.log
-rw-r--r-- 1 root root 40M 3月 4 10:31 demo5.log
#可以看到資料仍然存在,不受影響
----
5.查看分布式條帶卷(node1/2/3/4)
[root@client test]# ll -h dis_stripe/
總用量 0
#也并不具備冗余性
----
6.查看分布式復制卷(node1/2/3/4)
[root@client test]# ll -h dis_rep/
總用量 200M
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo1.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo2.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo3.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo4.log
-rw-r--r-- 1 root root 40M 3月 4 09:37 demo5.log
小結:有復制資料功能的卷資料比較安全,容災性較強
4.GFS 的常用命令
1.查看GlusterFS卷
gluster volume list
2.查看所有卷的資訊
gluster volume info
3.查看所有卷的狀態
gluster volume status
4.停止一個卷
gluster volume stop dis-stripe
5.洗掉一個卷
gluster volume delete dis-stripe
#注意:洗掉卷時,需要先停止卷,且信任池中不能有主機處于宕機狀態,否則不能成功洗掉
6.設定卷的訪問控制
gluster volume set dis-rep auth.allow 192.168.126.100
#僅拒絕,設定為IP地址為192.168.126.100的主機禁止訪問dis-rep(分布式復制卷)
gluster volume set dis-rep auth.allow 192.168.126.*
#僅允許,設定為192.168.184.0網段的所有IP地址都能訪問dis-rep(分布式復制卷)
小結:有復制資料功能的卷資料比較安全,容災性較強
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266309.html
標籤:其他
上一篇:寶塔Linux面板命令大全
