GFS分布式文件系統(tǒng)_第1頁
GFS分布式文件系統(tǒng)_第2頁
GFS分布式文件系統(tǒng)_第3頁
GFS分布式文件系統(tǒng)_第4頁
GFS分布式文件系統(tǒng)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

一、GlusterFS概述;二、GlusterFS存儲架構(gòu);三、GlusterFS工作原理;四、GlusterFS卷的類型;五、案例:搭建Gluster分布式文件系統(tǒng);

一、GlusterFS概述;概述:GlusterFS(Google

FileSystem)是一個開源的分布式文件系統(tǒng),Gluster借助TCP/IP網(wǎng)絡(luò)將存儲資源分散存儲在網(wǎng)絡(luò)的不同節(jié)點,在通過匯聚為客戶端提供統(tǒng)一的資源訪問,在存儲方面具有很強大的橫向擴展能力,通過擴展不同的節(jié)點可以支持PB級別的存儲容量;Bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、DB、NB

特點:擴展性與高性能:通過Scale-out架構(gòu)可以增加存儲節(jié)點的方式來提高容量和性能(磁盤、計算、I/O資源都可以獨立增加),Gluster彈性哈希(ElasticHash)解決了Gluster服務(wù)對元數(shù)據(jù)服務(wù)器的依賴,Gluster采用彈性哈希算法來確定數(shù)據(jù)在chunk節(jié)點中的分布情況,無須元數(shù)據(jù)服務(wù)器,實現(xiàn)了存儲的橫向擴展,改善了元數(shù)據(jù)服務(wù)器節(jié)點的壓力以及單點故障;高可用性:GlusterFS通過配置不同類型的卷,可以對數(shù)據(jù)進行自動復(fù)制(類似于RAID1),即使某節(jié)點故障,也不影響數(shù)據(jù)的訪問;通用性:GlusterFS沒有設(shè)置獨立的私有數(shù)據(jù)文件系統(tǒng),而是采用以往的ext4、ext3等,數(shù)據(jù)可以通過傳統(tǒng)的磁盤訪問方式被客戶端所訪問;彈性卷管理:GlusterFS通過將數(shù)據(jù)存儲在邏輯卷上,邏輯卷從邏輯存儲池進行獨立邏輯劃分,邏輯存儲池可以在線進行增加和刪除,不會導(dǎo)致業(yè)務(wù)中斷,邏輯卷的數(shù)量可以根據(jù)實際需求進行自行增加和縮減;

二、GlusterFS存儲架構(gòu);專業(yè)術(shù)語:Brick(存儲塊):存儲池中節(jié)點對外提供存儲服務(wù)的目錄;Volume(邏輯卷):一個邏輯卷時一組Brick的集合,卷是數(shù)據(jù)存儲的邏輯設(shè)備,類似LVM中的邏輯卷,大部分GlusterFS管理操作都是在邏輯卷上進行的;FUSE(用戶空間文件系統(tǒng)):是一個內(nèi)核模塊,用戶自行創(chuàng)建掛載的的文件系統(tǒng);VFS(接口):內(nèi)核空間對用戶空間提供的訪問磁盤的接口;Glusterd(后臺管理進程):在存儲集群中的每個節(jié)點上都要運行;

三、GlusterFS工作原理;數(shù)據(jù)訪問流程:1.首先是在客戶端,用戶通過glusterfs的mountpoint來讀寫數(shù)據(jù),對于用戶來說,集群系統(tǒng)的存在對用戶是完全透明的,用戶感覺不到是操作本地系統(tǒng)還是遠端的集群系統(tǒng)。

2.用戶的這個操作被遞交給本地linux系統(tǒng)的VFS來處理。

3.VFS將數(shù)據(jù)遞交給FUSE內(nèi)核文件系統(tǒng):在啟動glusterfs客戶端以前,需要想系統(tǒng)注冊一個實際的文件系統(tǒng)FUSE,如上圖所示,該文件系統(tǒng)與ext3在同一個層次上面,ext3是對實際的磁盤進行處理,而fuse文件系統(tǒng)則是將數(shù)據(jù)通過/dev/fuse這個設(shè)備文件遞交給了glusterfsclient端。所以我們可以將fuse文件系統(tǒng)理解為一個代理。

4.數(shù)據(jù)被fuse遞交給Glusterfsclient后,client對數(shù)據(jù)進行一些指定的處理(所謂的指定,是按照client配置文件據(jù)來進行的一系列處理,

我們在啟動glusterfs

client

時需要指定這個文件,其默認位置:/etc/glusterfs/client.vol)。

5.在glusterfsclient的處理末端,通過網(wǎng)絡(luò)將數(shù)據(jù)遞交給GlusterfsServer,并且將數(shù)據(jù)寫入到服務(wù)器所控制的存儲設(shè)備上。

四、GlusterFS卷的類型;分布式卷、條帶卷、復(fù)制卷、分布式條帶卷、分布式復(fù)制卷、條帶復(fù)制卷、分布式條帶復(fù)制卷;1.分布式卷分布式卷是GlusterFS的默認卷,在創(chuàng)建卷時,默認選項是創(chuàng)建分布式卷。在該模式下,并沒有對文件進行分塊處理,文件直接存儲在某個Server節(jié)點上。由于使用本地文件系統(tǒng),所以存取效率并沒有提高,反而會因為網(wǎng)絡(luò)通信的原因而有所降低,另外支持超大型文件也會有一定的難度,因為分布式卷不會對文件進行分塊處理,一個文件要么在Server1上,要么在Serve2上,不能分塊同時存放在Sever1和Server2上;特點:

文件分布在不同的服務(wù)器,不具備冗余性;

更容易且廉價地擴展卷的大?。?/p>

單點故障會造成數(shù)據(jù)丟失;

依賴底層的數(shù)據(jù)保護;創(chuàng)建方法:[root@gfs

~]#

glustervolumecreatedis-volumeserver1:/dir1server2:/dir2Creationofdis-volumehasbeensuccessfulPleasestartthevolumetoaccessdata

2.條帶卷Stripe模式相當(dāng)于RAIDO,在該模式下,根據(jù)偏移量將文件分成N塊,輪詢地存儲在每個BrickServer節(jié)點。節(jié)點把每個數(shù)據(jù)塊都作為普通文件存入本地文件系統(tǒng)中,通過擴展屬性記錄總塊數(shù)(Stripe-count)和每塊的序號(Stripe-index),在配置時指定的條帶數(shù)必須等于卷中Brick所包含的存儲服務(wù)器數(shù),在存儲大文件時,性能尤為突出,但是不具備冗余性;特點:

數(shù)據(jù)被分割成更小塊分布到塊服務(wù)器群中的不同;

分布減少了負載且更小的文件提高了存取速度;

沒有數(shù)據(jù)冗余;創(chuàng)建方法:[root@gfs

~]#

glustervolumecreatestripe-volumestripe2transporttcpserver1:/dir1

server2:/dir2create

of

Stripe-volumehasbeensuccessfulpleasestartthe

volumetoaccessdata

3.復(fù)制卷也稱為AFR(AutGilePepliatio)相當(dāng)于RAD1,即同一文件保存一份或多份副本。每個節(jié)點上保存相同的內(nèi)容和目錄結(jié)構(gòu)。復(fù)制模式因為要保存副本,所以磁盤利用率較低,復(fù)制卷時,復(fù)制數(shù)必須等于卷中Brick所包含的存儲服務(wù)器數(shù),復(fù)制卷具備冗余性,即使一個節(jié)點損壞,也不影響數(shù)據(jù)的正常使用;特點:

卷中所有的服務(wù)器均保存一個完整的副本;

卷的副本數(shù)量可由客戶創(chuàng)建的時候決定;

最少保證兩個塊服務(wù)器或更多服務(wù)器;

具備冗余效果;創(chuàng)建方法:[root@gfs

~]#

glustervolumecreaterep-volumereplica2transporttcpserver1:/dir1

server2:/dir2create

ofrep

-volumehasbeensuccessfulpleasestartthe

volumetoaccessdata

4.分布式條帶卷

分布式條帶卷兼顧分布式卷和條帶卷的功能,可以理解成為大型的條帶卷,主要用于大文件訪問處理,創(chuàng)建一個分布式條帶,卷最少需要4臺服務(wù)器;創(chuàng)建方法:[root@gfs

~]#

glustervolumecreatedis-stripestripe2transporttcpserver1:/dir1

server2:/dir2

server3:/dir3

server4:/dir4create

ofdis-stripe

hasbeensuccessfulpleasestartthe

volumetoaccessdata上述命令創(chuàng)建了一個名為dis-stripe的分布式條帶卷,配置分布式條帶卷時,卷中Brick所包含的存儲服務(wù)器必須是條帶數(shù)的倍數(shù)(大于等于2倍),如上述命令,Brick的數(shù)量為4,條帶數(shù)為2;

5.分布式復(fù)制卷分布式復(fù)制卷兼顧分布式卷和復(fù)制卷的功能,可以理解成為大型的復(fù)制卷,主要用于冗余的場景下,創(chuàng)建一個分布式復(fù)制卷,最少需要4塊brick;創(chuàng)建方法:[root@gfs

~]#

glustervolumecreatedis-repreplica2transporttcpserver1:/dir1

server2:/dir2

server3:/dir3

server4:/dir4create

ofdis-rep

hasbeensuccessfulpleasestartthe

volumetoaccessdata

6.條帶復(fù)制卷條帶復(fù)制卷兼顧了條帶卷和復(fù)制卷兩者的優(yōu)點,相當(dāng)于RADI10,用于存儲效率高,備份冗余的場景下,創(chuàng)建條帶復(fù)制卷,最少需要四個brick;創(chuàng)建方法:[root@gfs

~]#glustervolumecreatetest-volumestripe2replica2transporttcp

server1:/dir1

server2:/dir2

server3:/dir3

server4:/dir4create

of

test-volumehasbeensuccessfulpleasestartthe

volumetoaccessdata

7.分布式條帶復(fù)制卷分布式條帶復(fù)制卷將分布條帶數(shù)據(jù)在復(fù)制卷集群。為了獲得最佳效果,可以選擇使用分布在高并發(fā)的條帶復(fù)制卷環(huán)境下并行訪問非常大的文件和性能是至關(guān)重要的;

五、案例:搭建Gluster分布式文件系統(tǒng);案例環(huán)境:系統(tǒng)類型IP地址主機名所需軟件Centos7.4170864glusterfsglusterfs-serverglusterfs-fuseglusterfs-rdmaCentos7.4170864glusterfsglusterfs-serverglusterfs-fuseglusterfs-rdmaCentos7.4170864glusterfsglusterfs-serverglusterfs-fuseglusterfs-rdmaCentos7.4170864glusterfsglusterfs-fuse案例步驟:?配置主機之間的解析(在此所有主機配置相同,在此只列舉data1節(jié)點的配置);?在所有data節(jié)點上安裝GlusterFS(在此所有主機配置相同,在此只列舉data1節(jié)點的配置);?在data1節(jié)點上進行創(chuàng)建集群,其他節(jié)點會同步配置;?在多個data節(jié)點創(chuàng)建數(shù)據(jù)存儲的位置;?在data1節(jié)點創(chuàng)建數(shù)據(jù)存儲的卷(復(fù)制卷),其他節(jié)點會同步配置;?在client客戶端節(jié)點上安裝gluster客戶端工具并測試掛載;?client客戶端節(jié)點測試存放文件;?擴展:Gluster的管理命令;

?配置主機之間的解析(在此所有主機配置相同,在此只列舉data1節(jié)點的配置);[root@data1~]#cat<>/etc/hosts01020304END[root@data1~]#ping-c2

##ping命令進行測試PING(01)56(84)bytesofdata.64bytesfrom(01):icmp_seq=1ttl=64time=0.062ms64bytesfrom(01):icmp_seq=2ttl=64time=0.040ms

?在所有data節(jié)點上安裝GlusterFS(在此所有主機配置相同,在此只列舉data1節(jié)點的配置);[root@data1~]#wget-O/etc/yum.repos.d/CentOS-Base.repo/repo/Centos-7.repo[root@data1~]#yum-yinstallcentos-release-gluster

##安裝gluster包的yum源[root@data1~]#yum-y

installglusterfsglusterfs-serverglusterfs-fuseglusterfs-rdma[root@data1~]#systemctlstartglusterd[root@data1~]#systemctlenableglusterdCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/glusterd.serviceto/usr/lib/systemd/system/glusterd.service.[root@data1~]#netstat-utpln|grepglutcp

0

0:24007

:*

LISTEN

1313/glusterd

[root@data1~]#netstat-utpln|greprpctcp

0

0:111

:*

LISTEN

1311/rpcbind

udp

0

0:111

:*

1311/rpcbind

udp

0

0:634

:*

1311/rpcbind

?在data1節(jié)點上進行創(chuàng)建集群,其他節(jié)點會同步;[root@data1~]#glusterpeerprobe

##添加本機節(jié)點peerprobe:success.Probeonlocalhostnotneeded[root@data1~]#glusterpeerprobe

##添加data2節(jié)點peerprobe:success.[root@data1~]#glusterpeerprobe

##添加data3節(jié)點peerprobe:success.[root@data1~]#glusterpeerstatus

##查看gluster集群狀態(tài)NumberofPeers:2

Hostname:Uuid:a452f7f4-7604-4d44-8b6a-f5178a41e308State:PeerinCluster(Connected)

Hostname:Uuid:b08f1b68-3f2c-4076-8121-1ab17d1517e1State:PeerinCluster(Connected)

?在多個data節(jié)點創(chuàng)建數(shù)據(jù)存儲的位置;[root@data1~]#mkdir/data[root@data1~]#glustervolumeinfoNovolumespresent

?在data1節(jié)點創(chuàng)建數(shù)據(jù)存儲的卷(復(fù)制卷),其他節(jié)點會同步配置;[root@data1~]#glustervolumecreate

rep-volume

replica3transporttcp:/data:/data:/dataforce

##創(chuàng)建復(fù)制卷,名稱如上volumecreate:rep-volume:success:pleasestartthevolumetoaccessdata[root@data1~]#glustervolumeinfoVolumeName:rep-volumeType:ReplicateVolumeID:ac59612b-e6ce-46ce-85a7-74262fb722b2Status:CreatedSnapshotCount:0NumberofBricks:

1x3=3Transport-type:tcpBricks:Brick1::/dataBrick2::/dataBrick3::/dataOptionsReconfigured:transport.address-family:inetnfs.disable:onperformance.client-io-threads:off[root@data1~]#glustervolumestart

rep-volume

##啟動該卷volumestart:rep-volume:success

?在client客戶端節(jié)點上安裝gluster客戶端工具并測試掛載;[root@client~]#yuminstall-yglusterfs

glusterfs-fuse[root@client~]#mount-tglusterfs:rep-volume

/mnt/[root@client~]#ls/mnt/[root@client~]#df-hT|tail-1:rep-volumefuse.glusterfs

19G

2.0G

17G

11%/mnt

?client客戶端節(jié)點測試存放文件;[root@client~]#touch/mnt/{1..10}.file[root@client~]#ddif=/dev/zeroof=/mnt/1.txtbs=1Gcount=1[root@client~]#ls/mnt/10.file

1.file

1.txt

2.file

3.file

4.file

5.file

6.file

7.file

8.file

9.file[root@client~]#du-sh/mnt/1.txt1.0G

/mnt/1.txt

?擴展:Gluster的管理命令;Gluster

peer

status

##查看所有的節(jié)點信息Gluster

peer

probe

name

##添加節(jié)點Gluster

peer

detach

name

##刪除節(jié)點Gluster

volume

create

xxx

##創(chuàng)建卷Gluster

volume

info

##查看卷信息

系統(tǒng)配額:1、開啟/關(guān)閉系統(tǒng)配額glustervolumequotaVOLNAMEenable/disable2、設(shè)置(重置)目錄配額glustervolumequotaVOLNAMElimit-usage/imglimit-valueglustervolumequotaimglimit-usage/quota10GB設(shè)置img卷下的quota子目錄的限額為10GB。這個目錄是以系統(tǒng)掛載目錄為根目錄”/”,所以/quota即客戶端掛載目錄下的子目錄quota3、配額查看glustervolumequotaVOLNAMElistglustervolumequotaVOLNAMElist可以使用如上兩個命令進行系統(tǒng)卷的配額查看,第一個命令查看目的卷的所有配額設(shè)置,第二個命令則是執(zhí)行目錄進行查看??梢燥@示配額大小及當(dāng)前使用容量,若無使用容量(最小0KB)則說明設(shè)置的目錄可能是錯誤的(不存在)。

地域復(fù)制:glustervolumegeo-replicationMASTERSLAVEstart/status/stop

//地域復(fù)制是系統(tǒng)提供的災(zāi)備功能,能夠?qū)⑾到y(tǒng)的全部數(shù)據(jù)進行異步的增量備份到另外的磁盤中。glustervolumegeo-replicationimg:/data1/brick1start如上,開始執(zhí)行將img卷的所有內(nèi)容備份到10.8下的/data1/brick1中的task,需要注意的是,這個備份目標不能是系統(tǒng)中的Brick。

平衡卷:平衡布局是很有必要的,因為布局結(jié)構(gòu)是靜態(tài)的,當(dāng)新的bricks加入現(xiàn)有卷,新創(chuàng)建的文件會分布到舊的bricks中,所以需要平衡布局結(jié)構(gòu),使新加入的bricks生效。布局平衡只是使新布局生效,并不會在新的布局移動老的數(shù)據(jù),如果你想在新布局生效后,重新平衡卷中的數(shù)據(jù),還需要對卷中的數(shù)據(jù)進行平衡。當(dāng)你擴展或者縮小卷之后,需要重新在服務(wù)器直接重新平衡一下數(shù)據(jù),重新平衡的操作被分為兩個步驟:1、FixLayout修改擴展或者縮小后的布局,以確保文件可以存儲到新增加的節(jié)點中。2、MigrateData重新平衡數(shù)據(jù)在新加入bricks節(jié)點之后。*FixLayoutandMigrateData先重新修改布局然后移動現(xiàn)有的數(shù)據(jù)(重新平衡)#glustervolumerebalanceVOLNAMEfix-layoutstart#glustervolumerebalanceVOLNAMEmigrate-datastart也可以兩步合一步同時操作#glustervolumerebalanceVOLNAMEstart#glustervolumerebalanceVOLNAMEstatus//你可以在在平衡過程中查看平衡信息#

glustervolumerebalanceVOLNAMEstop//你也可以暫停平衡,再次啟動平衡的時候會從上次暫停的地方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論