GlusterFS安裝配置性能優化
公司業務變化須要文件服務器,以前使用的nfs在服務器多的狀況下,對用戶要求過高致使好多用戶不能寫入。以後測試了samba、nfs用戶體驗很差,rsync多主機之間配置比較複雜。服務器
1.GlusterFS文件系統和架構介紹網絡
1)、GlusterFS文件系統簡介及優勢架構
GlusterFS是Scale-Out存儲解決方案Gluster的核心,它是一個開源的分佈式文件系統,具備強大的橫向擴展能力,經過擴展可以支持數PB存儲容量和處理數千客戶端。運維
2)、GlusterFS藉助TCP/IP或InfiniBandRDMA網絡將物理分佈的存儲資源彙集在一塊兒,使用單一全局命名空間來管理數據。異步
3)、GlusterFS基於可堆疊的用戶空間設計,可爲各類不一樣的數據負載提供優異的性能。socket
4)、GlusterFS支持運行在任何標準IP網絡上標準應用程序的標準客戶端,用戶能夠在全局統一的命名空間中使用NFS/CIFS等標準協議來訪問應用數據。分佈式
5)、GlusterFS使用用戶可擺脫原有的獨立、高成本的封閉存儲系統,可以利用普通廉價的存儲來部署集中管理、橫向擴展、虛擬化的存儲池,存儲容量可擴展至TB/PB級。ide
2.安裝配置性能
如下是兩臺主機配置複製模式:
192.168.1.10 server1
192.168.1.20 server2
每臺主機必須準備一臺沒有格式化的硬盤,GlusterFS須要獨立使用一塊硬盤。
格式化硬盤
mkfs.xfs -i size=512 /dev/sdb1 mkdir -p /data/test echo '/dev/sdb1/data/logs xfs defaults 1 2' >>/etc/fstab mount -a && mount
啓動、中止服務
啓動glusterfs
service glusterd start service glusterdstatus
service glusterd stop
建立集羣
gluster peer probe server2
gluster peer probe server1
建立共享盤
mkdir -p /data/brick1/gv0
gluster volume create gv0 replica 2server1:/data/logs/gv0 server2:/data/logs/gv0 gluster volume start gv0
查看卷信息狀態
gluster volume info
啓動、中止卷
gluster volume start gv0
gluster volume stop gv0
客戶端安裝
wget -P /etc/yum.repos.dhttp://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo
yum install -y glusterfs-3.4.2-1.el6glusterfs-fuse-3.4.2-1.el6
客戶端掛載磁盤
mount -t glusterfs server1:/gv0 /mnt
測試建立文件 for i in `seq -w 1 100`; docp -rp /var/log/messages /mnt/copy-test-$i; done
ls -lA /mnt | wc -l
ls -lA /data/logs/gv0
刪除卷
volume delete gv0
移除集羣
gluster peer detach server1 server2
收縮卷
1. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 start # 開始遷移
2. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 status # 查看遷移狀態
3. glustervolume remove-brick gv0 server1:/data/logs/gv0 server2:/data/logs/gv0 commit # 遷移完成後提交
系統運維篇
1、系統配額
# gluster volume quota VOLNAMEenable/disable
//在使用系統配額功能時,須要使用enable將其開啓;disable爲關閉配額功能命令。
2.設置(重置)目錄配額
# gluster volume quota VOLNAME limit-usage/directorylimit-value
#gluster volume quota vg0 limit-usage/quota 10GB
//如上,設置dht_vol卷下的quota子目錄的限額爲10GB。
PS:這個目錄是以系統掛載目錄爲根目錄」/」,因此/quota即客戶端掛載目錄下的子目錄quota
3.配額查看
# gluster volume quota VOLNAME list
# gluster volume quota VOLNAME list/directory name
//可使用如上兩個命令進行系統卷的配額查看,第一個命令查看目的卷的全部配額設置,第二個命令則是執行目錄進行查看。
//能夠顯示配額大小及當前使用容量,若無使用容量(最小0KB)則說明設置的目錄多是錯誤的(不存在)。
4.地域複製、災備(geo-replication)
# gluster volume geo-replication MASTERSLAVE start/status/stop
地域複製是系統提供的災備功能,可以將系統的所有數據進行異步的增量備份到另外的磁盤中。
#gluster volume geo-replicationdht_vol192.168.2.104:/mnt/sdb1 start
//如上,開始執行將dht_vol卷的全部內容備份到2.104下的/mnt/sdb1中的task,須要注意的是,這個備份目標不能是系統中的Brick。
5. I/O信息查看
Profile Command 提供接口查看一個卷中的每個 brick 的 IO 信息。
#gluster volume profile VOLNAME start
//啓動profiling,以後則能夠進行IO信息查看
#gluster volume profile VOLNAME info
//查看IO信息,能夠查看到每個Brick的IO信息
# gluster volume profile VOLNAME stop
//查看結束以後關閉profiling功能
6. Top監控
Top command 容許你查看bricks 的性能例如:read,write, file opencalls, file read calls, file write calls, directory open calls,and directoryreal calls
全部的查看均可以設置top 數,默認100
# gluster volume top VOLNAME open[brickBRICK-NAME] [list-cnt cnt]
//查看打開的fd
#gluster volume top VOLNAME read [brickBRICK-NAME][list-cnt cnt]
//查看調用次數最多的讀調用
#gluster volume top VOLNAME write [brickBRICK-NAME][list-cnt cnt]
//查看調用次數最多的寫調用
# gluster volume top VOLNAME opendir[brickBRICK-NAME] [list-cnt cnt]
# gluster volume top VOLNAME readdir[brickBRICK-NAME] [list-cnt cnt]
//查看次數最多的目錄調用
# gluster volume top VOLNAME read-perf[bsblk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//查看每一個Brick的讀性能
# gluster volume top VOLNAME write-perf[bsblk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//查看每一個Brick的寫性能
性能調優示例:
gluster volume start file-backup
gluster volume quota file-backup enable
gluster volume quota file-backuplimit-usage /800TB
gluster volume set file-backupauth.allow192.168.10.31,192.168.12.27
gluster volume setfile-backupperformance.cache-size 4GB
gluster volume setfile-backupperformance.flush-behind on
gluster volume info file-backup
gluster 性能優化、報錯解決:
peer 節點從一個集羣,加入到另一個集羣的時候,節點不能啓動 glusterd 報錯解決方法:
[root@server114 glusterfs]#vi/usr/local/glusterfs/etc/glusterfs/glusterd.vol
volume management
typemgmt/glusterd
option working-directory /var/lib/glusterd
optiontransport-type socket,rdma
optiontransport.socket.keepalive-time 10
optiontransport.socket.keepalive-interval 2
optiontransport.socket.read-fail-log off
# optionbase-port 49152
/var/lib/glusterd 裏面有記錄信息,刪除下面的全部信息,清空歷史記錄配置文件,服務便可啓動
擴容server1硬盤,server1以前100G 擴容後200G。
fdisk /dev/xvdb 從新分配硬盤空間
mkfs.xfs -i size=512 /dev/xvdb1 格式化硬盤
gluster volume start vol force 卷修復 數據自動同步
參考內容
https://www.tecmint.com/perform-self-heal-and-re-balance-operations-in-gluster-file-system/磁盤格式化修復
測試刪除其中一個節點內容,刪除後幾分鐘後會自動同步回來。
關閉集羣或機器大概兩、三分鐘不能訪問掛載文件夾,以後一切正常啓動後機器會自動複製內容。