当前位置:网站首页>GFS分布式文件系統
GFS分布式文件系統
2022-07-05 23:35:00 【橘子超好吃】
文章目錄
一、GlusterFS簡介
- GFS是一個可擴展的分布式文件系統
- 由存儲服務器、客戶端以及NFS/Samba存儲網關(可選,根據需要選擇使用)組成。
- 沒有元數據服務器組件,這有助於提昇整個系統的性能、可靠性和穩定性。
MFS
傳統的分布式文件系統大多通過元服務器來存儲元數據,元數據包含存儲節點上的目錄信息、目錄結構等。這樣的設計在瀏覽目錄時效率高,但是也存在一些缺陷,例如單點故障。一旦元數據服務器出現故障,即使節點具備再高的冗餘性,整個存儲系統也將崩潰。而 GlusterFS分布式文件系統是基於無元服務器的設計,數據橫向擴展能力强,具備較高的可靠性及存儲效率。
GclusterFs同時也是Scale-out(橫向擴展)存儲解决方案Gluster的核心,在存儲數據方面具有强大的橫向擴展能力,通過擴展能够支持數PB存儲容量和處理數千客戶端。
GlusterFS支持借助TCP/IP或InfiniBandRDMA網絡(一種支持多並發鏈接的技術,具有高帶寬、低時延、高擴展性的特點)將物理分散分布的存儲資源匯聚在一起,統一提供存儲服務,並使用統一全局命名空間來管理數據。
1 、GlusterFs特點
擴展性和高性能
GlusterFs利用雙重特性來提供高容量存儲解决方案。
(1)Scale-Out架構允許通過簡單地增加存儲節點的方式來提高存儲容量和性能(磁盤、計算和I/o資源都可以獨立增加),支持10GbE和InfiniBand等高速網絡互聯。
(2)Cluster彈性哈希(ElasticHash)解决了GlusterFS對元數據服務器的依賴,改善了單點故障和性能瓶頸,真正實現了並行化數據訪問。GlusterFS采用彈性哈希算法在存儲池中可以智能地定比特任意數據分片(將數據分片存儲在不同節點上),不需要查看索引或者向元數據服務器查詢。高可用性
GlusterFS可以對文件進行自動複制,如鏡像或多次複制,從而確保數據總是可以訪問,甚至是在硬件故障的情况下也能正常訪問。
當數據出現不一致時,自我修複功能能够把數據恢複到正確的狀態,數據的修複是以增量的方式在後臺執行,幾乎不會產生性能負載。
GlusterFS可以支持所有的存儲,因為它沒有設計自己的私有數據文件格式,而是采用操作系統中主流標准的磁盤文件系統(如EXT3、XFS等)來存儲文件,因此數據可以使用傳統訪問磁盤的方式被訪問。全局統一命名空間
分布式存儲中,將所有節點的命名空間整合為統一命名空間,將整個系統的所有節點的存儲容量組成一個大的虛擬存儲池,供前端主機訪問這些節點完成數據讀寫操作。彈性卷管理
GlusterFs通過將數據儲存在邏輯卷中,邏輯卷從邏輯存儲池進行獨立邏輯劃分而得到。
邏輯存儲池可以在線進行增加和移除,不會導致業務中斷。邏輯卷可以根據需求在線增長和縮减,並可以在多個節點中實現負載均衡。
文件系統配置也可以實時在線進行更改並應用,從而可以適應工作負載條件變化或在線性能調優。基於標准協議
GlusterFS存儲服務支持 NFS、CIFS、HPTP、FTP、SMB 及 Gluster原生協議,完全與 POSIX標准(可移植操作系統接口)兼容。
現有應用程序不需要做任何修改就可以對Gluster 中的數據進行訪問,也可以使用專用API進行訪問。
2、GlusterFS術語
- Brick(存儲塊) :
指可信主機池中由主機提供的用於物理存儲的專用分區,是GlusterFS中的基本存儲單元,同時也是
可信存儲池中服務器上對外提供的存儲目錄。
存儲目錄的格式由服務器和目錄的絕對路徑構成,錶示方法為SERVER:EXPORT,如20.0.0.12:
/ data/ mydir/。 - volume(邏輯卷):
一個邏輯卷是一組Brick 的集合。卷是數據存儲的邏輯設備,類似於LVM中的邏輯卷。大部分Gluster管理操作是在卷上進行的。 - FUSE:
是一個內核模塊,允許用戶創建自己的文件系統,無須修改內核代碼。 - VFS:
內核空間對用戶空間提供的訪問磁盤的接口。 - Glusterd (後臺管理進程) :
在存儲群集中的每個節點上都要運行。
3、模塊化堆棧式架構
- GlusterFS 采用模塊化、維棧式的架構。
- 通過對模塊進行各種組合,即可實現複雜的功能。例如Replicate模塊可實現RATD1,Stripe模塊可實現 RAID0,通過兩者的組合可實現RAID10 和RAID01,同時獲得更高的性能及可靠性。
4、Glusterfs的工作流程
- (1)客戶端或應用程序通過Glusterfs的掛載點訪問數據。
- (2)linux系統內核通過VFSAPI收到請求並處理。
- (3)VFS將數據遞交給FUSE內核文件系統,並向系統注册一個實際的文件系統FSE,而FUS文件系統則是將數據通過ldev/fuse設備文件遞交給了GlusterFs client端。可以將FUSE文件系統理解為一個代理。
- (4)GlusterFs client 收到數據後,client根據配置文件的配置對數據進行處理。
- (5)經過GlusterFS client 處理後,通過網絡將數據傳遞至遠端的 GlusterFS server,並且將數據寫入到服務器存儲設備上。
5、彈性 HASH 算法
彈性 HASH 算法是 Davies-Meyer 算法的具體實現,通過 HASH 算法可以得到一個 32 比特的整數範圍的 hash 值,假設邏輯卷中有 N 個存儲單比特 Brick,則 32 比特的整數範圍將被劃分為 N 個連續的子空間,每個空間對應一個 Brick。
當用戶或應用程序訪問某一個命名空間時,通過對該命名空間計算 HASH 值,根據該 HASH 值所對應的 32 比特整數空間定比特數據所在的 Brick。
彈性 HASH 算法的優點:
- 保證數據平均分布在每一個 Brick 中。
- 解决了對元數據服務器的依賴,進而解决了單點故障以及訪問瓶頸。
二、GlusterFS的卷類型
GlusterFS 支持七種卷,即分布式卷、條帶卷、複制卷、分布式條帶卷、分布式複制卷、條帶複制卷和分布式條帶複制卷。
分布式卷(默認):文件通過HASH算法分布到所有Brick Server上,這種卷是GFS的基礎;以文件為單比特根據HASH算法散列到不同的Brick,其實只是擴大了磁盤空間,並不具備容錯能力,屬於文件級RAID 0
條帶卷(默認):類似RAID 0,文件被分成數據庫並以輪詢的方式分布到多個Brick Server上,文件存儲以數據塊為單比特,支持大文件存儲,文件越大,讀取效率越高
複制卷(Replica volume):將文件同步到多個Brick上,使其具備多個文件副本,屬於文件級RAID 1,具有容錯能力。因為數據分散在多個Brick中,所以讀性能得到很大提昇,但寫性能下降
分布式條帶卷(Distribute Stripe volume):Brick Server數量是條帶數(數據塊分布的Brick數量)的倍數,兼具分布式卷和條帶的特點
分布式複制卷(Distribute Replica volume):Brick Server數量是鏡像數(數據副本 數量)的倍數,兼具分布式卷和複制卷的特點
條帶複制卷(Stripe Replca volume):類似RAID 10,同時具有條帶卷和複制卷的特點
分布式條帶複制卷(Distribute Stripe Replicavolume):三種基本卷的複合卷通常用於類Map Reduce應用。
三、部署GlusterFS群集
實驗准備
node1服務器:20.0.0.10
node2服務器:20.0.0.5
node3服務器:20.0.0.6
node4服務器:20.0.0.7
客戶端節點:20.0.0.12
四臺虛擬機個添加4塊網卡,僅做實驗,無需太大
1、更改節點名稱
##修改主機名
hostname node1
su
hostname node2
su
hostname node3
su
hostname node4
su
2、節點進行磁盤掛載,安裝本地源
cd /opt
vim /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
[[email protected] /opt] # echo "20.0.0.10 node1" >> /etc/hosts
[[email protected] /opt] # echo "20.0.0.5 node2" >> /etc/hosts
[[email protected] /opt] # echo "20.0.0.6 node3" >> /etc/hosts
[[email protected] /opt] # echo "20.0.0.7 node4" >> /etc/hosts
[[email protected] /opt] # ls
fdisk.sh rh
[[email protected] /opt] # rz -E
rz waiting to receive.
[[email protected] /opt] # ls
fdisk.sh gfsrepo.zip rh
[[email protected] /opt] # unzip gfsrepo.zip
[[email protected] /opt] # cd /etc/yum.repos.d/
[[email protected] /etc/yum.repos.d] # ls
local.repo repos.bak
[[email protected] /etc/yum.repos.d] # mv * repos.bak/
mv: 無法將目錄"repos.bak" 移動至自身的子目錄"repos.bak/repos.bak" 下
[[email protected] /etc/yum.repos.d] # ls
repos.bak
[[email protected] /etc/yum.repos.d] # vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[[email protected] /etc/yum.repos.d] # yum clean all && yum makecache
已加載插件:fastestmirror, langpacks
正在清理軟件源: glfs
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
已加載插件:fastestmirror, langpacks
glfs | 2.9 kB 00:00:00
(1/3): glfs/filelists_db | 62 kB 00:00:00
(2/3): glfs/other_db | 46 kB 00:00:00
(3/3): glfs/primary_db | 92 kB 00:00:00
Determining fastest mirrors
元數據緩存已建立
[[email protected] /etc/yum.repos.d] # yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
[[email protected] /etc/yum.repos.d] # systemctl start glusterd.service
[[email protected] /etc/yum.repos.d] # systemctl enable glusterd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.
[[email protected] /etc/yum.repos.d] # systemctl status glusterd.service
3、添加節點創建集群
添加節點到存儲信任池中
[[email protected] ~] # gluster peer probe node1
peer probe: success. Probe on localhost not needed
[[email protected] ~] # gluster peer probe node2
peer probe: success.
[[email protected] ~] # gluster peer probe node3
peer probe: success.
[[email protected] ~] # gluster peer probe node4
peer probe: success.
[[email protected] ~] # gluster peer status
Number of Peers: 3
Hostname: node2
Uuid: 2ee63a35-6e83-4a35-8f54-c9c0137bc345
State: Peer in Cluster (Connected)
Hostname: node3
Uuid: e63256a9-6700-466f-9279-3e3efa3617ec
State: Peer in Cluster (Connected)
Hostname: node4
Uuid: 9931effa-92a6-40c7-ad54-7361549dd96d
State: Peer in Cluster (Connected)
4、創建分布式卷
#創建分布式卷,沒有指定類型,默認創建的是分布式卷
[[email protected] ~] # gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force
volume create: dis-volume: success: please start the volume to access data
[[email protected] ~] # gluster volume list
dis-volume
[[email protected] ~] # gluster volume start dis-volume
volume start: dis-volume: success
[[email protected] ~] # gluster volume info dis-volume
Volume Name: dis-volume
Type: Distribute
Volume ID: 8f948537-5ac9-4091-97eb-0bdcf142f4aa
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
5、創建條帶卷
#指定類型為 stripe,數值為 2,且後面跟了 2 個 Brick Server,所以創建的是條帶卷
[[email protected] ~] # gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
volume create: stripe-volume: success: please start the volume to access data
[[email protected] ~] # gluster volume start stripe-volume
volume start: stripe-volume: success
[[email protected] ~] # gluster volume info stripe-volume
Volume Name: stripe-volume
Type: Stripe
Volume ID: b1185b78-d396-483f-898e-3519d3ef8e37
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdc1
Brick2: node2:/data/sdc1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
6、創建複制卷
#指定類型為 replica,數值為 2,且後面跟了 2 個 Brick Server,所以創建的是複制卷
[[email protected] ~] # gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force
volume create: rep-volume: success: please start the volume to access data
[[email protected] ~] # gluster volume start rep-volume
volume start: rep-volume: success
[[email protected] ~] # gluster volume info rep-volume
Volume Name: rep-volume
Type: Replicate
Volume ID: 9d39a2a6-b71a-44a5-8ea5-5259d8aef518
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node3:/data/sdb1
Brick2: node4:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
7、創建分布式條帶卷
#指定類型為 stripe,數值為 2,而且後面跟了 4 個 Brick Server,是 2 的兩倍,所以創建的是分布式條帶卷
[[email protected] ~] # gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
volume create: dis-stripe: success: please start the volume to access data
[[email protected] ~] # gluster volume start dis-stripe
volume start: dis-stripe: success
[[email protected] ~] # gluster volume info dis-stripe
Volume Name: dis-stripe
Type: Distributed-Stripe
Volume ID: beb7aa78-78d1-435f-8d29-c163878c73f0
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdd1
Brick2: node2:/data/sdd1
Brick3: node3:/data/sdd1
Brick4: node4:/data/sdd1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
8、部署gluster客戶端
[[email protected] ~]#systemctl stop firewalld
[[email protected] ~]#setenforce 0
[[email protected] ~]#cd /opt
[[email protected] opt]#ls
rh
[[email protected] opt]#rz -E
rz waiting to receive.
[[email protected] opt]#ls
gfsrepo.zip rh
[[email protected] opt]#unzip gfsrepo.zip
[[email protected] opt]#cd /etc/yum.repos.d/
[[email protected] yum.repos.d]#ls
local.repo repos.bak
[[email protected] yum.repos.d]#mv * repos.bak/
mv: 無法將目錄"repos.bak" 移動至自身的子目錄"repos.bak/repos.bak" 下
[[email protected] yum.repos.d]#ls
repos.bak
[[email protected] yum.repos.d]#vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
[[email protected] yum.repos.d]#yum clean all && yum makecache
[[email protected] yum.repos.d]#yum -y install glusterfs glusterfs-fuse
[[email protected] yum.repos.d]#mkdir -p /test/{
dis,stripe,rep,dis_stripe,dis_rep}
[[email protected] yum.repos.d]#cd /test/
[[email protected] test]#ls
dis dis_rep dis_stripe rep stripe
[[email protected] test]#
[[email protected] test]#echo "20.0.0.10 node1" >> /etc/hosts
[[email protected] test]#echo "20.0.0.5 node2" >> /etc/hosts
[[email protected] test]#echo "20.0.0.6 node3" >> /etc/hosts
[[email protected] test]#echo "20.0.0.7 node4" >> /etc/hosts
[[email protected] test]#mount.glusterfs node1:dis-volume /test/dis
[[email protected] test]#mount.glusterfs node1:stripe-volume /test/stripe
[[email protected] test]#mount.glusterfs node1:rep-volume /test/rep
[[email protected] test]#mount.glusterfs node1:dis-stripe /test/dis_stripe
[[email protected] test]#mount.glusterfs node1:dis-rep /test/dis_rep
[[email protected]te test]#
[[email protected] test]#df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda2 16G 3.5G 13G 22% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 18M 894M 2% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda5 10G 37M 10G 1% /home
/dev/sda1 10G 174M 9.9G 2% /boot
tmpfs 183M 4.0K 183M 1% /run/user/42
tmpfs 183M 40K 183M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt
node1:dis-volume 6.0G 65M 6.0G 2% /test/dis
node1:stripe-volume 8.0G 65M 8.0G 1% /test/stripe
node1:rep-volume 3.0G 33M 3.0G 2% /test/rep
node1:dis-stripe 21G 130M 21G 1% /test/dis_stripe
node1:dis-rep 11G 65M 11G 1% /test/dis_rep
[[email protected] test]#cd /opt
[[email protected] opt]#dd if=/dev/zero of=/opt/demo1.log bs=1M count=40
記錄了40+0 的讀入
記錄了40+0 的寫出
41943040字節(42 MB)已複制,0.0311576 秒,1.3 GB/秒
[[email protected] opt]#dd if=/dev/zero of=/opt/demo2.log bs=1M count=40
記錄了40+0 的讀入
記錄了40+0 的寫出
41943040字節(42 MB)已複制,0.182058 秒,230 MB/秒
[[email protected] opt]#dd if=/dev/zero of=/opt/demo3.log bs=1M count=40
記錄了40+0 的讀入
記錄了40+0 的寫出
41943040字節(42 MB)已複制,0.196193 秒,214 MB/秒
[[email protected] opt]#dd if=/dev/zero of=/opt/demo4.log bs=1M count=40
記錄了40+0 的讀入
記錄了40+0 的寫出
41943040字節(42 MB)已複制,0.169933 秒,247 MB/秒
[[email protected] opt]#dd if=/dev/zero of=/opt/demo5.log bs=1M count=40
記錄了40+0 的讀入
記錄了40+0 的寫出
41943040字節(42 MB)已複制,0.181712 秒,231 MB/秒
[[email protected] opt]#
[[email protected] opt]#ls -lh /opt
[[email protected] opt]#cp demo* /test/dis
[[email protected] opt]#cp demo* /test/stripe/
[[email protected] opt]#cp demo* /test/rep/
[[email protected]te opt]#cp demo* /test/dis_stripe/
[[email protected] opt]#cp demo* /test/dis_rep/
[[email protected] opt]#cd /test/
[[email protected] test]#tree
.
├── dis
│ ├── demo1.log
│ ├── demo2.log
│ ├── demo3.log
│ ├── demo4.log
│ └── demo5.log
├── dis_rep
│ ├── demo1.log
│ ├── demo2.log
│ ├── demo3.log
│ ├── demo4.log
│ └── demo5.log
├── dis_stripe
│ ├── demo1.log
│ ├── demo2.log
│ ├── demo3.log
│ ├── demo4.log
│ └── demo5.log
├── rep
│ ├── demo1.log
│ ├── demo2.log
│ ├── demo3.log
│ ├── demo4.log
│ └── demo5.log
└── stripe
├── demo1.log
├── demo2.log
├── demo3.log
├── demo4.log
└── demo5.log
5 directories, 25 files
[[email protected] test]#
9、查看文件分布
1、查看文件分布
##查看分布式文件分布
[[email protected] ~] # ls -lh /data/sdb1
總用量 160M
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo3.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo4.log
[[email protected] ~]#ll -h /data/sdb1
總用量 40M
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo5.log
##查看條帶卷文件分布
[[email protected] ~] # ls -lh /data/sdc1
總用量 100M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo3.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo5.log
[[email protected] ~]#ll -h /data/sdc1
總用量 100M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo3.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo5.log
##查看複制卷文件分布
[[email protected] ~]#ll -h /data/sdb1
總用量 200M
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo3.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo5.log
[[email protected] ~]#ll -h /data/sdb1
總用量 200M
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo3.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 40M 7月 4 20:47 demo5.log
##查看分布式條帶卷分布
[[email protected] ~] # ll -h /data/sdd1
總用量 60M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo3.log
[[email protected] ~]#ll -h /data/sdd1
總用量 60M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo1.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo2.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo3.log
[[email protected] ~]#ll -h /data/sdd1
總用量 40M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo5.log
[[email protected] ~]#ll -h /data/sdd1
總用量 40M
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo4.log
-rw-r--r--. 2 root root 20M 7月 4 20:47 demo5.log
2、破壞性測試
#1、掛起 node2 節點或者關閉glusterd服務來模擬故障
[[email protected] ~]# systemctl stop glusterd.service
#2、在客戶端上查看文件是否正常
#分布式卷數據查看
[[email protected] test]# ll /test/dis/ #在客戶機上發現少了demo5.log文件,這個是在node2上的
總用量 163840
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo1.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo2.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo3.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo4.log
#條帶卷
[[email protected] test]# cd /test/stripe/ #無法訪問,條帶卷不具備冗餘性
[[email protected] stripe]# ll
總用量 0
#分布式條帶卷
[[email protected] test]# ll /test/dis_stripe/ #無法訪問,分布條帶卷不具備冗餘性
總用量 40960
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo5.log
#分布式複制卷
[[email protected] test]# ll /test/dis_rep/ #可以訪問,分布式複制卷具備冗餘性
總用量 204800
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo1.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo2.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo3.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo4.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo5.log
#掛起 node2 和 node4 節點,在客戶端上查看文件是否正常
#測試複制卷是否正常
[[email protected] rep]# ls -l /test/rep/ #在客戶機上測試正常,數據有
總用量 204800
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo1.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo2.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo3.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo4.log
-rw-r--r-- 1 root root 41943040 7月 4 20:48 demo5.log
#測試分布式條卷是否正常
[[email protected] dis_stripe]# ll /test/dis_stripe/ #在客戶機上測試沒有數據
總用量 0
#測試分布式複制卷是否正常
[[email protected] dis_rep]# ll /test/dis_rep/ #在客戶機上測試正常,有數據
總用量 204800
-rw-r--r-- 1 root root 41943040 7月 4 20:49 demo1.log
-rw-r--r-- 1 root root 41943040 7月 4 20:49 demo2.log
-rw-r--r-- 1 root root 41943040 7月 4 20:49 demo3.log
-rw-r--r-- 1 root root 41943040 7月 4 20:49 demo4.log
-rw-r--r-- 1 root root 41943040 7月 4 20:49 demo5.log
四、其他維護命令
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 20.0.0.20
##僅允許
gluster volume set dis-rep auth.allow 20.0.0.* #設置20.0.0.0網段的所有IP地址都能訪問dis-rep卷(分布式複制卷)
边栏推荐
- (4) UART application design and simulation verification 2 - TX module design (stateless machine)
- Huawei simulator ENSP - hcip - MPLS experiment
- Data analysis - Thinking foreshadowing
- 98. Verify the binary search tree ●●
- Multi sensor fusion of imu/ optical mouse / wheel encoder (nonlinear Kalman filter)
- Use of metadata in golang grpc
- Idea connects to MySQL, and it is convenient to paste the URL of the configuration file directly
- Multi view 3D reconstruction
- 2: Chapter 1: understanding JVM specification 1: introduction to JVM;
- MySQL delete uniqueness constraint unique
猜你喜欢
Spire.PDF for NET 8.7.2
How to design API return code (error code)?
Object detection based on impulse neural network
Mathematical formula screenshot recognition artifact mathpix unlimited use tutorial
Development specification: interface unified return value format [resend]
Attacking technology Er - Automation
TVS管和ESD管的技术指标和选型指南-嘉立创推荐
Hcip course notes-16 VLAN, three-tier architecture, MPLS virtual private line configuration
保研笔记四 软件工程与计算卷二(8-12章)
3:第一章:认识JVM规范2:JVM规范,简介;
随机推荐
YML configuration, binding and injection, verification, unit of bean
Spire.PDF for NET 8.7.2
Summary of binary tree recursive routines
【原创】程序员团队管理的核心是什么?
regular expression
2022.6.20-6.26 AI industry weekly (issue 103): new little life
How to insert data into MySQL database- How can I insert data into a MySQL database?
UVA11294-Wedding(2-SAT)
Object detection based on impulse neural network
【经典控制理论】自控实验总结
698. Divided into k equal subsets ●●
Latex multiple linebreaks
Hainan Nuanshen tea recruits warmhearted people: recruitment of the product experience recommender of Nuanshen multi bubble honey orchid single cluster
无刷驱动设计——浅谈MOS驱动电路
Multi sensor fusion of imu/ optical mouse / wheel encoder (nonlinear Kalman filter)
UVA – 11637 garbage remembering exam (combination + possibility)
C# Linq Demo
Live tiktok shop 2022 latest gameplay card slot overseas live e-commerce new traffic
Design and implementation of secsha system
Basic knowledge of database (interview)