免費(fèi)的ppt網(wǎng)站推薦北京優(yōu)化seo排名
GFS 分布式文件系統(tǒng)
GlusterFS簡介
GlusterFS 是一個(gè)開源的分布式文件系統(tǒng)。
由存儲(chǔ)服務(wù)器、客戶端以及NFS/Samba 存儲(chǔ)網(wǎng)關(guān)(可選,根據(jù)需要選擇使用)組成。
沒有元數(shù)據(jù)服務(wù)器組件,這有助于提升整個(gè)系統(tǒng)的性能、可靠性和穩(wěn)定性。
MFS
傳統(tǒng)的分布式文件系統(tǒng)大多通過元服務(wù)器來存儲(chǔ)元數(shù)據(jù),元數(shù)據(jù)包含存儲(chǔ)節(jié)點(diǎn)上的目錄信息、目錄結(jié)構(gòu)等。這樣的設(shè)計(jì)在瀏覽目錄時(shí)效率高,但是也存在一些缺陷,例如單點(diǎn)故障。一旦元數(shù)據(jù)服務(wù)器出現(xiàn)故障,即使節(jié)點(diǎn)具備再高的冗余性,整個(gè)存儲(chǔ)系統(tǒng)也將崩潰。而 GlusterFS 分布式文件系統(tǒng)是基于無元服務(wù)器的設(shè)計(jì),數(shù)據(jù)橫向擴(kuò)展能力強(qiáng),具備較高的可靠性及存儲(chǔ)效率。
GlusterFS同時(shí)也是Scale-Out(橫向擴(kuò)展)存儲(chǔ)解決方案Gluster的核心,在存儲(chǔ)數(shù)據(jù)方面具有強(qiáng)大的橫向擴(kuò)展能力,通過擴(kuò)展能夠支持?jǐn)?shù)PB存儲(chǔ)容量和處理數(shù)千客戶端。
GlusterFS支持借助TCP/IP或InfiniBandRDMA網(wǎng)絡(luò)(一種支持多并發(fā)鏈接的技術(shù),具有高帶寬、低時(shí)延、高擴(kuò)展性的特點(diǎn))將物理分散分布的存儲(chǔ)資源匯聚在一起,統(tǒng)一提供存儲(chǔ)服務(wù),并使用統(tǒng)一全局命名空間來管理數(shù)據(jù)。
GlusterFS特點(diǎn)
1.擴(kuò)展性和高性能
GlusterFS利用雙重特性來提供高容量存儲(chǔ)解決方案。
(1)Scale-Out架構(gòu)允許通過簡單地增加存儲(chǔ)節(jié)點(diǎn)的方式來提高存儲(chǔ)容量和性能(磁盤、計(jì)算和I/O資源都可以獨(dú)立增加),支持10GbE和 InfiniBand等高速網(wǎng)絡(luò)互聯(lián)。
(2)Gluster彈性哈希(ElasticHash)解決了GlusterFS對(duì)元數(shù)據(jù)服務(wù)器的依賴,改善了單點(diǎn)故障和性能瓶頸,真正實(shí)現(xiàn)了并行化數(shù)據(jù)訪問。GlusterFS采用彈性哈希算法在存儲(chǔ)池中可以智能地定位任意數(shù)據(jù)分片(將數(shù)據(jù)分片存儲(chǔ)在不同節(jié)點(diǎn)上),不需要查看索引或者向元數(shù)據(jù)服務(wù)器查詢。
2.高可用性
GlusterFS可以對(duì)文件進(jìn)行自動(dòng)復(fù)制,如鏡像或多次復(fù)制,從而確保數(shù)據(jù)總是可以訪問,甚至是在硬件故障的情況下也能正常訪問。
當(dāng)數(shù)據(jù)出現(xiàn)不一致時(shí),自我修復(fù)功能能夠把數(shù)據(jù)恢復(fù)到正確的狀態(tài),數(shù)據(jù)的修復(fù)是以增量的方式在后臺(tái)執(zhí)行,幾乎不會(huì)產(chǎn)生性能負(fù)載。
GlusterFS可以支持所有的存儲(chǔ),因?yàn)樗鼪]有設(shè)計(jì)自己的私有數(shù)據(jù)文件格式,而是采用操作系統(tǒng)中主流標(biāo)準(zhǔn)的磁盤文件系統(tǒng)(如EXT3、XFS等)來存儲(chǔ)文件,因此數(shù)據(jù)可以使用傳統(tǒng)訪問磁盤的方式被訪問。
3.全局統(tǒng)一命名空間
分布式存儲(chǔ)中,將所有節(jié)點(diǎn)的命名空間整合為統(tǒng)一命名空間,將整個(gè)系統(tǒng)的所有節(jié)點(diǎn)的存儲(chǔ)容量組成一個(gè)大的虛擬存儲(chǔ)池,供前端主機(jī)訪問這些節(jié)點(diǎn)完成數(shù)據(jù)讀寫操作。
4.彈性卷管理
GlusterFS通過將數(shù)據(jù)儲(chǔ)存在邏輯卷中,邏輯卷從邏輯存儲(chǔ)池進(jìn)行獨(dú)立邏輯劃分而得到。
邏輯存儲(chǔ)池可以在線進(jìn)行增加和移除,不會(huì)導(dǎo)致業(yè)務(wù)中斷。邏輯卷可以根據(jù)需求在線增長和縮減,并可以在多個(gè)節(jié)點(diǎn)中實(shí)現(xiàn)負(fù)載均衡。
文件系統(tǒng)配置也可以實(shí)時(shí)在線進(jìn)行更改并應(yīng)用,從而可以適應(yīng)工作負(fù)載條件變化或在線性能調(diào)優(yōu)。
5.基于標(biāo)準(zhǔn)協(xié)議
Gluster 存儲(chǔ)服務(wù)支持 NFS、CIFS、HTTP、FTP、SMB 及 Gluster原生協(xié)議,完全與 POSIX 標(biāo)準(zhǔn)(可移植操作系統(tǒng)接口)兼容。
現(xiàn)有應(yīng)用程序不需要做任何修改就可以對(duì)Gluster 中的數(shù)據(jù)進(jìn)行訪問,也可以使用專用 API 進(jìn)行訪問。
GlusterFS 術(shù)語
Brick(存儲(chǔ)塊)
指可信主機(jī)池中由主機(jī)提供的用于物理存儲(chǔ)的專用分區(qū),是GlusterFS中的基本存儲(chǔ)單元,同時(shí)也是可信存儲(chǔ)池中服務(wù)器上對(duì)外提供的存儲(chǔ)目錄。
存儲(chǔ)目錄的格式由服務(wù)器和目錄的絕對(duì)路徑構(gòu)成,表示方法為 SERVER:EXPORT,如 192.168.10.14:/data/mydir/。
Volume(邏輯卷)
一個(gè)邏輯卷是卷上進(jìn)行的。一組 Brick 的集合。卷是數(shù)據(jù)存儲(chǔ)的邏輯設(shè)備,類似于 LVM 中的邏輯卷。大部分 Gluster 管理操作是在
FUSE
是一個(gè)內(nèi)核模塊,允許用戶創(chuàng)建自己的文件系統(tǒng),無須修改內(nèi)核代碼。
偽文件系統(tǒng) ?
?VFS
內(nèi)核空間對(duì)用戶空間提供的訪問磁盤的接口。 ? 虛擬端口
Glusterd(后臺(tái)管理進(jìn)程)
?服務(wù)端
在存儲(chǔ)群集中的每個(gè)節(jié)點(diǎn)上都要運(yùn)行。
GFS 以上虛擬文件系統(tǒng)
模塊化堆棧式架構(gòu)
GlusterFS 采用模塊化、堆棧式的架構(gòu)。
通過對(duì)模塊進(jìn)行各種組合,即可實(shí)現(xiàn)復(fù)雜的功能。例如 Replicate 模塊可實(shí)現(xiàn) RAID1,Stripe 模塊可實(shí)現(xiàn) RAID0, 通過兩者的組合可實(shí)現(xiàn) RAID10 和 RAID01,同時(shí)獲得更高的性能及可靠性。
GlusterFS 的工作流程
(1)客戶端或應(yīng)用程序通過 GlusterFS 的掛載點(diǎn)訪問數(shù)據(jù)。
(2)linux系統(tǒng)內(nèi)核通過 VFS API 收到請(qǐng)求并處理。
(3)VFS 將數(shù)據(jù)遞交給 FUSE 內(nèi)核文件系統(tǒng),并向系統(tǒng)注冊(cè)一個(gè)實(shí)際的文件系統(tǒng) FUSE,
而 FUSE 文件系統(tǒng)則是將數(shù)據(jù)通過 /dev/fuse 設(shè)備文件遞交給了 GlusterFS client 端。
可以將 FUSE 文件系統(tǒng)理解為一個(gè)代理。
(4)GlusterFS client 收到數(shù)據(jù)后,client 根據(jù)配置文件的配置對(duì)數(shù)據(jù)進(jìn)行處理。
(5)經(jīng)過 GlusterFS client 處理后,通過網(wǎng)絡(luò)將數(shù)據(jù)傳遞至遠(yuǎn)端的 GlusterFS Server,
并且將數(shù)據(jù)寫入到服務(wù)器存儲(chǔ)設(shè)備上
彈性 HASH 算法
彈性 HASH 算法是 Davies-Meyer 算法的具體實(shí)現(xiàn),通過 HASH 算法可以得到一個(gè) 32 位的整數(shù)范圍的 hash 值,
假設(shè)邏輯卷中有 N 個(gè)存儲(chǔ)單位 Brick,則 32 位的整數(shù)范圍將被劃分為 N 個(gè)連續(xù)的子空間,每個(gè)空間對(duì)應(yīng)一個(gè) Brick。
當(dāng)用戶或應(yīng)用程序訪問某一個(gè)命名空間時(shí),通過對(duì)該命名空間計(jì)算 HASH 值,根據(jù)該 HASH 值所對(duì)應(yīng)的 32 位整數(shù)空間定位數(shù)據(jù)所在的 Brick。
#彈性 HASH 算法的優(yōu)點(diǎn):
保證數(shù)據(jù)平均分布在每一個(gè) Brick 中。
解決了對(duì)元數(shù)據(jù)服務(wù)器的依賴,進(jìn)而解決了單點(diǎn)故障以及訪問瓶頸。
GlusterFS的卷類型
GlusterFS 支持七種卷,即分布式卷、條帶卷、復(fù)制卷、分布式條帶卷、分布式復(fù)制卷、條帶復(fù)制卷和分布式條帶復(fù)制卷。
1.分布式卷(Distribute volume)
文件通過 HASH 算法分布到所有 Brick Server 上,這種卷是 GlusterFS 的默認(rèn)卷;以文件為單位根據(jù) HASH 算法散列到不同的 Brick,其實(shí)只是擴(kuò)大了磁盤空間,如果有一塊磁盤損壞,數(shù)據(jù)也將丟失,屬于文件級(jí)的 RAID0, 不具有容錯(cuò)能力。
在該模式下,并沒有對(duì)文件進(jìn)行分塊處理,文件直接存儲(chǔ)在某個(gè) Server 節(jié)點(diǎn)上。 由于直接使用本地文件系統(tǒng)進(jìn)行文件存儲(chǔ),所以存取效率并沒有提高,反而會(huì)因?yàn)榫W(wǎng)絡(luò)通信的原因而有所降低。
#示例原理:
File1 和 File2 存放在 Server1,而 File3 存放在 Server2,文件都是隨機(jī)存儲(chǔ),一個(gè)文件(如 File1)要么在 Server1 上,要么在 Server2 上,不能分塊同時(shí)存放在 Server1和 Server2 上。
特點(diǎn)
文件分布在不同的服務(wù)器,不具備冗余性
更容易和廉價(jià)地?cái)U(kuò)展卷的大小
單點(diǎn)故障會(huì)造成數(shù)據(jù)丟失
依賴底層的數(shù)據(jù)保護(hù)
#創(chuàng)建一個(gè)名為dis-volume的分布式卷,文件將根據(jù)HASH分布在server1:/dir1、server2:/dir2和server3:/dir3中
gluster volume create dis-volume server1:/dir1 server2:/dir2 server3:/dir3
條帶卷(Stripe volume)
類似 RAID0,文件被分成數(shù)據(jù)塊并以輪詢的方式分布到多個(gè) Brick Server 上,文件存儲(chǔ)以數(shù)據(jù)塊為單位,支持大文件存儲(chǔ), 文件越大,讀取效率越高,但是不具備冗余性。
#示例原理:
File 被分割為 6 段,1、3、5 放在 Server1,2、4、6 放在 Server2。
條帶卷特點(diǎn)
數(shù)據(jù)被分割成更小塊分布到塊服務(wù)器群中的不同條帶區(qū)。
分布減少了負(fù)載且更小的文件加速了存取的速度。
沒有數(shù)據(jù)冗余。
#創(chuàng)建了一個(gè)名為stripe-volume的條帶卷,文件將被分塊輪詢的存儲(chǔ)在Server1:/dir1和Server2:/dir2兩個(gè)Brick中
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
復(fù)制卷(Replica volume)
將文件同步到多個(gè) Brick 上,使其具備多個(gè)文件副本,屬于文件級(jí) RAID 1,具有容錯(cuò)能力。因?yàn)閿?shù)據(jù)分散在多個(gè) Brick 中,所以讀性能得到很大提升,但寫性能下降。
復(fù)制卷具備冗余性,即使一個(gè)節(jié)點(diǎn)損壞,也不影響數(shù)據(jù)的正常使用。但因?yàn)橐4娓北?#xff0c;所以磁盤利用率較低。
#示例原理:
File1 同時(shí)存在 Server1 和 Server2,File2 也是如此,相當(dāng)于 Server2 中的文件是 Server1 中文件的副本。
復(fù)制卷特點(diǎn)
卷中所有的服務(wù)器均保存一個(gè)完整的副本。
卷的副本數(shù)量可由客戶創(chuàng)建的時(shí)候決定,但復(fù)制數(shù)必須等于卷中 Brick 所包含的存儲(chǔ)服務(wù)器數(shù)。
至少由兩個(gè)塊服務(wù)器或更多服務(wù)器。
具備冗余性。
#創(chuàng)建名為rep-volume的復(fù)制卷,文件將同時(shí)存儲(chǔ)兩個(gè)副本,分別在Server1:/dir1和Server2:/dir2兩個(gè)Brick中
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2
分布式條帶卷(Distribute Stripe volume)
Brick Server 數(shù)量是條帶數(shù)(數(shù)據(jù)塊分布的 Brick 數(shù)量)的倍數(shù),兼具分布式卷和條帶卷的特點(diǎn)。 主要用于大文件訪問處理,創(chuàng)建一個(gè)分布式條帶卷最少需要 4 臺(tái)服務(wù)器。
#示例原理:
File1 和 File2 通過分布式卷的功能分別定位到Server1和 Server2。在 Server1 中,File1 被分割成 4 段,其中 1、3 在 Server1 中的 exp1 目錄中,2、4 在 Server1 中的 exp2 目錄中。在 Server2 中,File2 也被分割成 4 段,其中 1、3 在 Server2 中的 exp3 目錄中,2、4 在 Server2 中的 exp4 目錄中。
#創(chuàng)建一個(gè)名為dis-stripe的分布式條帶卷,配置分布式的條帶卷時(shí),卷中Brick所包含的存儲(chǔ)服務(wù)器數(shù)必須是條帶數(shù)的倍數(shù)(>=2倍)。Brick 的數(shù)量是 4(Server1:/dir1、Server2:/dir2、Server3:/dir3 和 Server4:/dir4),條帶數(shù)為 2(stripe 2)
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
創(chuàng)建卷時(shí),存儲(chǔ)服務(wù)器的數(shù)量如果等于條帶或復(fù)制數(shù),那么創(chuàng)建的是條帶卷或者復(fù)制卷;如果存儲(chǔ)服務(wù)器的數(shù)量是條帶或復(fù)制數(shù)的 2 倍甚至更多,那么將創(chuàng)建的是分布式條帶卷或分布式復(fù)制卷。
分布式復(fù)制卷(Distribute Replica volume)
Brick Server 數(shù)量是鏡像數(shù)(數(shù)據(jù)副本數(shù)量)的倍數(shù),兼具分布式卷和復(fù)制卷的特點(diǎn)。主要用于需要冗余的情況下。
#示例原理:
File1 和 File2 通過分布式卷的功能分別定位到 Server1 和 Server2。在存放 File1 時(shí),File1 根據(jù)復(fù)制卷的特性,將存在兩個(gè)相同的副本,分別是 Server1 中的exp1 目錄和 Server2 中的 exp2 目錄。在存放 File2 時(shí),File2 根據(jù)復(fù)制卷的特性,也將存在兩個(gè)相同的副本,分別是 Server3 中的 exp3 目錄和 Server4 中的 exp4 目錄。
#創(chuàng)建一個(gè)名為dis-rep的分布式復(fù)制卷,配置分布式的復(fù)制卷時(shí),卷中Brick所包含的存儲(chǔ)服務(wù)器數(shù)必須是復(fù)制數(shù)的倍數(shù)(>=2倍)。Brick 的數(shù)量是 4(Server1:/dir1、Server2:/dir2、Server3:/dir3 和 Server4:/dir4),復(fù)制數(shù)為 2(replica 2)
gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
擴(kuò)展
●條帶復(fù)制卷(Stripe Replica volume):
類似 RAID 10,同時(shí)具有條帶卷和復(fù)制卷的特點(diǎn)。
●分布式條帶復(fù)制卷(Distribute Stripe Replicavolume):
三種基本卷的復(fù)合卷,通常用于類 Map Reduce 應(yīng)用
?部署 GlusterFS 群集?
1.準(zhǔn)備工作
Node1節(jié)點(diǎn):20.0.0.50? ? ? 磁盤:/dev/sdb1?? ??? ??? ?掛載點(diǎn):/data/sdb1/dev/sdc1?? ??? ??? ??? ??? ?/data/sdc1/dev/sdd1?? ??? ??? ??? ??? ?/data/sdd1/dev/sde1?? ??? ??? ??? ??? ?/data/sde1
Node2節(jié)點(diǎn):20.0.0.60? ?磁盤:/dev/sdb1?? ??? ??? ?掛載點(diǎn):/data/sdb1/dev/sdc1?? ??? ??? ??? ??? ?/data/sdc1/dev/sdd1?? ??? ??? ??? ??? ?/data/sdd1/dev/sde1?? ??? ??? ??? ??? ?/data/sde1Node3節(jié)點(diǎn):20.0.0.70? ? ? 磁盤:/dev/sdb1?? ??? ??? ?掛載點(diǎn):/data/sdb1/dev/sdc1?? ??? ??? ??? ??? ?/data/sdc1/dev/sdd1?? ??? ??? ??? ??? ?/data/sdd1/dev/sde1?? ??? ??? ??? ??? ?/data/sde1Node4節(jié)點(diǎn):20.0.0.80? ? ? 磁盤:/dev/sdb1?? ??? ??? ?掛載點(diǎn):/data/sdb1/dev/sdc1?? ??? ??? ??? ??? ?/data/sdc1/dev/sdd1?? ??? ??? ??? ??? ?/data/sdd1/dev/sde1?? ??? ??? ??? ??? ?/data/sde1客戶端節(jié)點(diǎn):20.0.0.90
①關(guān)閉防火墻
systemctl stop firewalld
setenforce 0
②磁盤分區(qū),并掛載
vim /opt/fdisk.sh
#!/bin/bash
NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`
for VAR in $NEWDEV
doecho -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/nullmkfs.xfs /dev/${VAR}"1" &> /dev/nullmkdir -p /data/${VAR}"1" &> /dev/nullecho "/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
③修改主機(jī)名,配置/etc/hosts文件
#以Node1節(jié)點(diǎn)為例(所有的節(jié)點(diǎn)都需要):
hostnamectl set-hostname node1
suecho "192.168.10.13 node1" >> /etc/hosts
echo "192.168.10.14 node2" >> /etc/hosts
echo "192.168.10.15 node3" >> /etc/hosts
echo "192.168.10.16 node4" >> /etc/hosts
2.安裝、啟動(dòng)GlusterFS
(所有node節(jié)點(diǎn)上操作)
①.將gfsrepo 軟件上傳到/opt目錄下
unzip gfsrepo.zip
②.創(chuàng)建本地源安裝啟動(dòng)服務(wù)
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak
vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1yum clean all && yum makecache#yum -y install centos-release-gluster?? ??? ???#如采用官方 YUM 源安裝,可以直接指向互聯(lián)網(wǎng)倉庫
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdmasystemctl start glusterd.service?
systemctl enable glusterd.service
systemctl status glusterd.service
#故障原因是版本過高導(dǎo)致
yum remove glusterfs-api.x86_64 glusterfs-cli.x86_64 glusterfs.x86_64 glusterfs-libs.x86_64 glusterfs-client-xlators.x86_64 glusterfs-fuse.x86_64 -yyum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
3.添加節(jié)點(diǎn)到存儲(chǔ)信任池中
#只要在一臺(tái)Node節(jié)點(diǎn)上添加其它節(jié)點(diǎn)即可
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
#在每個(gè)Node節(jié)點(diǎn)上查看群集狀態(tài)
gluster peer status
4.創(chuàng)建卷?
根據(jù)規(guī)劃創(chuàng)建卷
卷名稱 | 卷類型?? | ?Brick |
dis-volume | 分布式卷 | node1(/data/sdb1)、node2(/data/sdb1) |
stripe-volume | 條帶卷 | node1(/data/sdc1)、node2(/data/sdc1) |
rep-volume? | 復(fù)制卷? | node3(/data/sdb1)、node4(/data/sdb1) |
dis-stripe | 分布式條帶卷 | node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1) |
dis-rep | 分布式復(fù)制卷 | node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1) |
①創(chuàng)建分布式卷
#創(chuàng)建分布式卷,沒有指定類型,默認(rèn)創(chuàng)建的是分布式卷
gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force?#查看卷列表
gluster volume list#啟動(dòng)新建分布式卷
gluster volume start dis-volume#查看創(chuàng)建分布式卷信息
gluster volume info dis-volume
②創(chuàng)建條帶卷
#指定類型為 stripe,數(shù)值為 2,且后面跟了 2 個(gè) Brick Server
所以創(chuàng)建的是條帶卷
gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
gluster volume start stripe-volume
gluster volume info stripe-volume
③創(chuàng)建復(fù)制卷
#指定類型為 replica,數(shù)值為 2,且后面跟了 2 個(gè) Brick Server
所以創(chuàng)建的是復(fù)制卷
gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force
gluster volume start rep-volume
gluster volume info rep-volume
④創(chuàng)建分布式條帶卷
#指定類型為 stripe,數(shù)值為 2,而且后面跟了 4 個(gè) Brick Server,是 2 的兩倍
所以創(chuàng)建的是分布式條帶卷
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
gluster volume start dis-stripe
gluster volume info dis-stripe
⑤創(chuàng)建分布式復(fù)制卷
指定類型為 replica,數(shù)值為 2,而且后面跟了 4 個(gè) Brick Server,是 2 的兩倍
所以創(chuàng)建的是分布式復(fù)制卷
gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
gluster volume start dis-rep
gluster volume info dis-rep?? ?##查看當(dāng)前所有卷的列表
gluster volume list
5.部署 Gluster 客戶端
(也可直接在某個(gè)節(jié)點(diǎn)直接測(cè)試)?
①安裝客戶端軟件
#將gfsrepo 軟件上傳到/opt目下?
unzip gfsrepo.zip
②創(chuàng)建本地yum源
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak
vim glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1yum clean all && yum makecache#安裝服務(wù)
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdmasystemctl start glusterd.service?
systemctl enable glusterd.service
systemctl status glusterd.service
③創(chuàng)建掛載目錄
mkdir -p /test/{dis,stripe,rep,dis_stripe,dis_rep}
ls /test
④配置 /etc/hosts 文件
echo "192.168.10.13 node1" >> /etc/hosts
echo "192.168.10.14 node2" >> /etc/hosts
echo "192.168.10.15 node3" >> /etc/hosts
echo "192.168.10.16 node4" >> /etc/hosts?? ?
⑤掛載 Gluster 文件系統(tǒng)
#臨時(shí)掛載
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 -Th#永久掛載
vim /etc/fstab
node1:dis-volume?? ??? ?/test/dis?? ??? ??? ???glusterfs?? ??? ?defaults,_netdev???? ?0 0
node1:stripe-volume?? ??/test/stripe?? ??? ? glusterfs?? ??? ?defaults,_netdev?? ???0 0
node1:rep-volume?? ??? ?/test/rep?? ??? ??? ???glusterfs?? ??? ?defaults,_netdev???? ?0 0
node1:dis-stripe?? ??? ?/test/dis_stripe?? ??? glusterfs?? ??? ?defaults,_netdev???? ?0 0
node1:dis-rep?? ??? ??? /test/dis_rep?? ??? ???glusterfs?? ??? ?defaults,_netdev???? ?0 0
6.測(cè)試 Gluster 文件系統(tǒng)?
①卷中寫入文件,客戶端操作
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
ls -lh /optcp /opt/demo* /test/dis
cp /opt/demo* /test/stripe/
cp /opt/demo* /test/rep/
cp /opt/demo* /test/dis_stripe/
cp /opt/demo* /test/dis_rep/
②查看文件分布特點(diǎn)
③破壞性測(cè)試?
#掛起 node2 節(jié)點(diǎn)或者關(guān)閉glusterd服務(wù)來模擬故障在客戶端查看文件是否正常
##### 上述實(shí)驗(yàn)測(cè)試,凡是帶復(fù)制數(shù)據(jù),相比而言,數(shù)據(jù)比較安全 #####
#擴(kuò)展其他的維護(hù)命令
1.查看GlusterFS卷
gluster volume list?2.查看所有卷的信息
gluster volume info3.查看所有卷的狀態(tài)
gluster volume status4.停止一個(gè)卷
gluster volume stop dis-stripe5.刪除一個(gè)卷,注意:刪除卷時(shí),需要先停止卷,且信任池中不能有主機(jī)處于宕機(jī)狀態(tài),否則刪除不成功
gluster volume delete dis-stripe6.設(shè)置卷的訪問控制
#僅拒絕
gluster volume set dis-rep auth.deny 192.168.80.100#僅允許
gluster volume set dis-rep auth.allow 192.168.80.*?? ? ?
#設(shè)置192.168.80.0網(wǎng)段的所有IP地址都能訪問dis-rep卷(分布式復(fù)制卷)
?