GlusterFS系統中文管理手冊
1 文件說明
該文件主要內容出自官方提供的英文系統管理手冊《Gluster File System 3.3.0
Administration Guide》。可以看成是管理手冊中文版吧。
區別在於:
(1)它是英文的,個人整理的是中文的。所以不想看英文文件的人可以參考參考~~!
(2)它是3.3.0的管理手冊,個人系統管理使用實踐是3.4.1(不過3.3.1也實踐過了)。
(3)它包含了很多內容,本文件只摘取其中系統管理部分(系統管理命令使用),並且進行了歸類整理,方便理解。
(4)另外附加了很多系統管理中很多需要注意的地方,我相信這個是比較重要的(血淚經驗談)。
寫這個文件的目的一是給自己做個備份,畢竟自己看英文文件感覺也是很累的,需要的時候可以翻翻,另外就是使用實踐的過程中卻是遇到很多需要注意的地方,自己當時也吃虧了很多次才搞明白,所以希望這些能夠對那些也是使用研究GlusterFS的人有些許的幫助。
看完這個文件,有時間還是去看官方文件《Gluster File System 3.3.0 Administration Guide》吧,呵呵,畢竟那才是正版,而且也比較全面。
2.1 管理說明
在解釋系統管理時會提供例項,首先給大家提供一個環境說明。所有管理實踐都是在3.4.1的版本上做的,所以只針對該版本進行說明。
系統節點:
IP 別名 Brick
192.168.2.100 server0 /mnt/sdb1 /mnt/sdc1 /mnt/sdd1
192.168.2.101 server1 /mnt/sdb1 /mnt/sdc1 /mnt/sdd1
192.168.2.102 server2 /mnt/sdb1 /mnt/sdc1 /mnt/sdd1
實踐時個人使用自己的筆記本建立了三個節點,並每臺虛擬機器mount三塊磁碟作為Brick使用,每個brick分配了30G的虛擬容量。
例項約定:
AFR卷名: afr_vol
DHT卷名: dht_vol
Stripe卷名: str_vol
客戶端掛載點: /mnt/gluster
2.2 系統部署
//先從如何部署一個完整的系統說起吧。
(1)在每個節點上啟動glusterd服務
#service glusterd start
(2)新增節點到儲存池,在其中一個節點上操作,如server0
#gluster peer probe server1
#gluster peer probe server2
//可以使用gluster peer status檢視當前有多少個節點,顯示不包括該節點
(3)建立系統卷,部署最常見的分散式卷,在server0上操作
#gluster volume create dht_vol 192.168.2.{100,101,102}:/mnt/sdb1
//分別使用server0/1/2的磁碟掛載目錄/mnt/sdb1作為brick
(4)啟動系統卷,在server0上操作
#gluster volume start dht_vol
(5)掛載客戶端,例如在server2上
#mount.glusterfs server0:/dht_vol /mnt/gluster
//將系統卷掛載到server2上的/mnt/gluster目錄下就可以正常使用了。該目錄聚合了三個不同主機上的三塊磁碟。
//從啟動服務到提供全域性名字空間,整個部署流程如上。
2.3 基本系統管理
2.3.1 節點管理
# gluster peer command
2.3.1.1節點狀態
#gluster peer status //在serser0上操作,只能看到其他節點與server0的連線狀態
Number of Peers: 2
Hostname: server1
Uuid: 5e987bda-16dd-43c2-835b-08b7d55e94e5
State: Peer in Cluster (Connected)
Hostname: server2
Uuid: 1e0ca3aa-9ef7-4f66-8f15-cbc348f29ff7
State: Peer in Cluster (Connected)
2.3.1.2新增節點
# gluster peer probe HOSTNAME
#gluster peer probe server2 將server2新增到儲存池中
2.3.1.3刪除節點
# gluster peer detach HOSTNAME
#gluster peer detach server2 將server2從儲存池中移除
//移除節點時,需要確保該節點上沒有brick,需要提前將brick移除
2.3.2 卷管理
2.3.2.1建立卷
# gluster volume create NEW-VOLNAME [transport [tcp | rdma | tcp,rdma]]
NEW-BRICK...
建立分散式卷(DHT)
#gluster volume create dht_vol 192.168.2.{100,101,102}:/mnt/sdb1
//DHT卷將資料以雜湊計算方式分佈到各個brick上,資料是以檔案為單位存取,基本達到分佈均衡,提供的容量和為各個brick的總和。
建立副本卷(AFR)
#gluster volume create afr_vol replica 3 192.168.2.{100,101,102}:/mnt/sdb1
//AFR卷提供資料副本,副本數為replica,即每個檔案儲存replica份數,檔案不分割,以檔案為單位儲存;副本數需要等於brick數;當brick數是副本的倍數時,則自動變化為Replicated-Distributed卷。
#gluster volume create afr_vol replica 2 192.168.2.{100,101,102}:/mnt/sdb1 192.168.2.{100,101,102}:/mnt/sdc1
//每兩個brick組成一組,每組兩個副本,檔案又以DHT分佈在三個組上,是副本卷與分散式卷的組合。
建立條帶化卷(Stripe)
#gluster volume create str_vol stripe 3 192.168.2.{100,101,102}:/mnt/sdb1
//Stripe卷類似RAID0,將資料條帶化,分佈在不同的brick,該方式將檔案分塊,將檔案分成stripe塊,分別進行儲存,在大檔案讀取時有優勢;stripe需要等於brick數;當brick數等於stripe數的倍數時,則自動變化為Stripe-Distributed卷。
#gluster volume create str_vol stripe 3 192.168.2.{100,101,102}:/mnt/sdb1 192.168.2.{100,101,102}:/mnt/sdc1
//沒三個brick組成一個組,每組三個brick,檔案以DHT分佈在兩個組中,每個組中將檔案條帶化成3塊。
建立Replicated-Stripe-Distributed卷
#gluster volume create str_afr_dht_vol stripe 2 replica 2 192.168.2.{100,101,102}:/mnt/sdb1 192.168.2.{100,101,102}:/mnt/sdc1 192.168.2.{100,101}:/mnt/sdd1
//使用8個brick建立一個組合卷,即brick數是stripe*replica的倍數,則建立三種基本卷的組合卷,若剛好等於stripe*replica則為stripe-Distrbuted卷。
2.3.2.2卷資訊
#gluster volume info
//該命令能夠檢視儲存池中的當前卷的資訊,包括卷方式、包涵的brick、卷的當前狀態、卷名及UUID等。
2.3.2.3卷狀態
#gluster volume status
//該命令能夠檢視當前卷的狀態,包括其中各個brick的狀態,NFS的服務狀態及當前task執行情況,和一些系統設定狀態等。
2.3.2.4啟動/停止卷
# gluster volume start/stop VOLNAME
//將建立的卷啟動,才能進行客戶端掛載;stop能夠將系統卷停止,無法使用;此外gluster未提供restart的重啟命令
2.3.2.5刪除卷
# gluster volume delete VOLNAME
//刪除卷操作能夠將整個卷刪除,操作前提是需要將卷先停止
2.3.3 Brick管理
2.3.3.1新增Brick
若是副本卷,則一次新增的Bricks數是replica的整數倍;stripe具有同樣的要求。
# gluster volume add-brick VOLNAME NEW-BRICK
#gluster volume add-brick dht_vol server3:/mnt/sdc1
//新增server3上的/mnt/sdc1到卷dht_vol上。
2.3.3.2移除Brick
若是副本卷,則移除的Bricks數是replica的整數倍;stripe具有同樣的要求。
# gluster volume remove-brick VOLNAME BRICK start/status/commit
#gluster volume remove-brick dht_vol start
//GlusterFS_3.4.1版本在執行移除Brick的時候會將資料遷移到其他可用的Brick上,當資料遷移結束之後才將Brick移除。執行start命令,開始遷移資料,正常移除Brick。
#gluster volume remove-brick dht_vol status
//在執行開始移除task之後,可以使用status命令進行task狀態檢視。
#gluster volume remove-brick dht_vol commit
//使用commit命令執行Brick移除,則不會進行資料遷移而直接刪除Brick,符合不需要資料遷移的使用者需求。
PS:系統的擴容及縮容可以透過如上節點管理、Brick管理組合達到目的。
(1)擴容時,可以先增加系統節點,然後新增新增節點上的Brick即可。
(2)縮容時,先移除Brick,然後再進行節點刪除則達到縮容的目的,且可以保證資料不丟失。
2.3.3.3替換Brick
# gluster volume replace-brick VOLNAME BRICKNEW-BRICK start/pause/abort/status/commit
#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 start
//如上,執行replcace-brick卷替換啟動命令,使用start啟動命令後,開始將原始Brick的資料遷移到即將需要替換的Brick上。
#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 status
//在資料遷移的過程中,可以檢視替換任務是否完成。
#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 abort
//在資料遷移的過程中,可以執行abort命令終止Brick替換。
#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 commit
//在資料遷移結束之後,執行commit命令結束任務,則進行Brick替換。使用volume info命令可以檢視到Brick已經被替換。
2.4 系統擴充套件維護
2.4.1系統配額
2.4.1.1開啟/關閉系統配額
# gluster volume quota VOLNAME enable/disable
//在使用系統配額功能時,需要使用enable將其開啟;disable為關閉配額功能命令。
2.4.1.2設定(重置)目錄配額
# gluster volume quota VOLNAME limit-usage /directory limit-value
#gluster volume quota dht_vol limit-usage /quota 10GB
//如上,設定dht_vol卷下的quota子目錄的限額為10GB。
PS:這個目錄是以系統掛載目錄為根目錄”/”,所以/quota即客戶端掛載目錄下的子目錄quota
2.4.1.3配額檢視
# gluster volume quota VOLNAME list
# gluster volume quota VOLNAME list /directory name
//可以使用如上兩個命令進行系統卷的配額檢視,第一個命令檢視目的卷的所有配額設定,第二個命令則是執行目錄進行檢視。
//可以顯示配額大小及當前使用容量,若無使用容量(最小0KB)則說明設定的目錄可能是錯誤的(不存在)。
2.4.2地域複製(geo-replication)
# gluster volume geo-replication MASTER SLAVE start/status/stop
地域複製是系統提供的災備功能,能夠將系統的全部資料進行非同步的增量備份到另外的磁碟中。
#gluster volume geo-replication dht_vol 192.168.2.104:/mnt/sdb1 start
//如上,開始執行將dht_vol卷的所有內容備份到2.104下的/mnt/sdb1中的task,需要注意的是,這個備份目標不能是系統中的Brick。
2.4.3 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功能
2.4.5 Top監控
Top command 允許你檢視bricks的效能例如:read, write, file open calls, file read calls, file write calls, directory open calls, and directory real calls
所有的檢視都可以設定top數,預設100
# gluster volume top VOLNAME open [brick BRICK-NAME] [list-cnt cnt]
//檢視開啟的fd
#gluster volume top VOLNAME read [brick BRICK-NAME] [list-cnt cnt]
//檢視呼叫次數最多的讀呼叫
#gluster volume top VOLNAME write [brick BRICK-NAME] [list-cnt cnt]
//檢視呼叫次數最多的寫呼叫
# gluster volume top VOLNAME opendir [brick BRICK-NAME] [list-cnt cnt]
# gluster volume top VOLNAME readdir [brick BRICK-NAME] [list-cnt cnt]
//檢視次數最多的目錄呼叫
# gluster volume top VOLNAME read-perf [bs blk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//檢視每個Brick的讀效能
# gluster volume top VOLNAME write-perf [bs blk-size count count] [brick BRICK-NAME] [list-cnt cnt]
//檢視每個Brick的寫效能
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29958595/viewspace-1463197/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 面向系統管理員的容器手冊
- HP-UX系統管理員手冊UX
- TypeScript中文手冊TypeScript
- 分散式檔案系統---GlusterFS分散式
- 中文《linux 新手管理員手冊》下載(轉)Linux
- rpmbuild 中文手冊UI
- iptables中文手冊(轉)
- Linux 管理員手冊(1)--Linux系統概述(轉)Linux
- AIX系統操作員手冊AI
- PySimpleGUI 中文手冊(常用部分)GUI
- java教程及中文手冊Java
- Mysql5.1 中文手冊MySql
- DHTML 中文手冊下載HTML
- ZendFramework手冊中文版Framework
- ASM管理手冊ASM
- PostgreSQL學習手冊(系統表)SQL
- [開發文件]bootstrap中文手冊boot
- Linux命令線上中文手冊Linux
- DOJO API 中文參考手冊API
- Scala中文教程和手冊
- iptables-save中文手冊(轉)
- iptables-restore中文手冊(轉)REST
- PostgreSQL學習手冊(系統檢視)SQL
- 使用者手冊:智慧家居系統
- 系統管理命令中文詳解(轉)
- TensorFlow開發者證書 中文手冊
- 翻譯:man getopt(1)中文手冊
- ZooKeeper開發手冊中文翻譯
- ASM管理手冊總結ASM
- GOLDENGATE管理員手冊Go
- Database Firewall管理員手冊Database
- Oracle SecureBackup管理員手冊Oracle
- linux 系統打造man中文幫助手冊圖解Linux圖解
- LINKERD 2.11 中文實戰手冊
- MySQL 5.1中文參考手冊MySql
- ZeroC釋出中文版Ice手冊
- LVGL|lvgl中文手冊(lvgl中文文件教程)
- Linux系統常用命令速查手冊Linux