Gluster常见故障处理和HOWTO资源
Gluster常見故障處理方法,根據官方Troubleshooting文檔匯編而成,供大家解決Gluster問題參考,同時羅列了一些GlusterFS進階話題HOWTO資源。歡迎各位同學補充,共同研究Gluster原理并分享應用經驗。
Q1:Gluster需要占用哪些端口?
Gluster管理服務使用24007端口,Infiniband管理使用24008端口,每個brick進程占用一個端口。比如4個brick,使用24009-24012端口。Gluster內置NFS服務使用34865-34867端口。此外,portmapper使用111端口,同時打開TCP和UDP端口。
Q2:創建Gluster資源池出問題?
首先,檢查nslookup是否可以正確解析DNS和IP。其次,確認沒有使用/etc/hosts直接定義主機名。雖然理論上沒有問題,但集群規模一大很多管理員就會犯低級錯誤,浪費大量時間。再者,驗證Gluster服務所需的24007端口是否可以連接(比如telnet)?Gluster其他命令是否可以成功執行?如果不能,Gluster服務很有可能沒有啟動。
Q3:如何檢查Gluster服務是否運行?
可以使用如下命令檢查Gluster服務狀態:
(1) service glusterd status
(2) systemctl status glusterd.service
(3) /etc/init.d/glusterd status
Q4:無法在server端掛載(mount)Gluster卷?
檢查gluster卷信息,使用gluster volume info確認volume處于啟動狀態。運行命令“showmount -e <glusternode>“,確認可以輸出volume相關信息。
Q5:無法在client端掛載(mount)Gluster卷?
檢查網絡連接是否正常,確認glusterd服務在所有節點上正常運行,確認所掛載volume處于啟動狀態。
?
Q6:升級Gluster后,客戶端無法連接?
如果使用原生客戶端訪問,確認Gluster客戶端和服務端軟件版本一致。通常情況下,客戶端需要重新掛載卷。
?
Q7: 運行“glusterpeer probe“,不同節點輸出結果可能不一致?
這個通常不是問題。每個節點輸出顯示其他節點信息,并不包括當前節點;不管在何處運行命令,節點的UUID在所有節點上都是相同和唯一的;輸出狀態通常顯示“Peer in Cluster (Connected)“,這個值應該和/var/lib/glusterd/glusterd.info匹配。
?
Q8:數據傳輸過程中意外殺掉gluster服務進程?
所有數據都不會丟失。Glusterd進程僅用于集群管理,比如集群節點擴展、創建新卷和修改舊卷,以及卷的啟停和客戶端mount時信息獲取。殺掉gluster服務進程,僅僅是一些集群管理操作無法進行,并不會造成數據丟失或不可訪問。
?
Q9:意外卸載gluster?
如果Gluster配置信息沒有刪除,重新安裝相同版本gluster軟件,然后重啟服務即可。Gluster配置信息被刪除,但數據仍保留的話,可以通過創建新卷,正確遷移數據,可以恢復gluster卷和數據。友情提示:配置信息要同步備份,執行刪除、卸載等操作一定要謹慎。
?
Q10:無法通過NFS掛載卷?
這里使用Gluster內置NFS服務,確認系統內核NFS服務沒有運行。再者,確認rpcbind或portmap服務處于正常運行中。內置NFS服務目前不支持NFS v4,對于新Linux發行版默認使用v4進行連接,mount時指定選項vers=3。
mount -t nfs -o vers=3 server2:/myglustervolume/gluster/mount/point
?
Q11:雙節點復制卷,一個節點發生故障并完成修復,數據如何同步?
復制卷會自動進行數據同步和修復,這個在同步訪問數據時觸發,也可以手動觸發。3.3以后版本,系統會啟動一個服務自動進行自修復,無需人工干預,及時保持數據副本同步。
?
Q12:Gluster日志在系統什么位置?
新舊版本日志都位于/var/log/glusterfs
?
Q13:如何輪轉(rotate)Gluster日志?
使用gluster命令操作:gluster volume logrotate myglustervolume
?
?Q14:Gluster配置文件在系統什么位置?
3.3以上版本位于/var/lib/glusterd,老版本位于/etc/glusterd/。
?
Q15:數據庫運行在gluster卷上出現很多奇怪的錯誤和不一致性?
Gluster目前不支持類似數據庫的結構化數據存儲,尤其是大量事務處理和并發連接。建議不要使用Gluster運行數據庫系統,但Gluster作為數據庫備份是一個很不錯的選擇。
?
Q16:Gluster系統異常,重啟服務后問題依舊。
很有可能是某些服務進程處于僵死狀態,使用ps -ax | grep glu命令查看。如果發出shutdown命令后,一些進程仍然處于運行狀態,使用killall -9gluster{,d,fs,fsd}殺掉進程,或者硬重啟系統。
?
Q17:需要在每個節點都運行Gluster命令嗎?
這個根據命令而定。一些命令只需要在Gluster集群中任意一個節點執行一次即可,比如“gluster volume create”,而例如“gluster peerstatus ”命令可以在每個節點獨立多次執行。
Q18:如何快速檢查所有節點狀態?
Gluster工具可以指定選項 --remote-host在遠程節點上執行命令,比如gluster --remote-host=server2 peer status。如果配置了CTDB,可以使用“onnode”在指定節點上執行命令。另外,還可以通過ssh-keygen和ssh-copy-id配置SSH無密碼遠程登錄和執行命令。
Q19:Gluster導致網絡、內核、文件系統等出現問題?
可能。但是,絕大多數情況下,Gluster或者軟件都不會導致網絡或存儲等基礎資源出現問題。如果發現由Gluster引起的問題,可以提交Bug和patch,并可以社區和郵件列表中討論,以幫助改善Gluster系統。
Q20:為什么會發生傳輸端點(transportendpoint)沒有連接?
在Gluster日志中看到這種錯誤消息很正常,表明Gluster由于一些原因無法通信。通常情況下,這是由于集群中某些存儲或網絡資源飽和引起的,如果這類錯誤消息大量重復報告,就需要解決問題。使用相關技術手段可以解決大部分的問題,另外有些情況可能由以下原因引起。
1、需要升級RAID/NIC驅動或fireware;
2、第三方備份系統在相同時間運行;
3、周期更新locate數據庫包含了brick和網絡文件系統;
4、過多rsync作業工作在gluster brick或mount點。
?
HOWTO資源列表:
1、GlusterFS on ZFS: http://www.gluster.org/community/documentation/index.php/GlusterOnZFS
2、CTDB Howto: http://www.gluster.org/community/documentation/index.php/CTDB
3、HA and Load Balancing with NFS and SMB: http://download.gluster.org/pub/gluster/glusterfs/doc/HA%20and%20Load%20Balancing%20for%20NFS%20and%20SMB.html
4、GlusterFS Cinder: http://www.gluster.org/community/documentation/index.php/GlusterFS_Cinder
5、Linux Kernel Tuning: http://www.gluster.org/community/documentation/index.php/Linux_Kernel_Tuning
6、Network Configuration Techniques: http://www.gluster.org/community/documentation/index.php/Network_Bonding
7、Using the Gluster Test Framework:http://www.gluster.org/community/documentation/index.php/Using_the_Gluster_Test_Framework
8、Gluster 3.4: Brick Restoration - Replace Crashed Server:http://gluster.org/community/documentation/index.php/Gluster_3.4:_Brick_Restoration_-_Replace_Crashed_Server
總結
以上是生活随笔為你收集整理的Gluster常见故障处理和HOWTO资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据产品经理修炼手册_数据产品经理需要了
- 下一篇: idea下载其它版本方法