您好,登錄后才能下訂單哦!
本篇文章為大家展示了GlusterFS下如何修復(fù)裂腦文件,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
恢復(fù)GlusterFS文件裂腦步驟
1. 執(zhí)行如下命令,獲取裂腦文件的路徑。
# gluster volume heal VOLNAME info split-brain
客戶端訪問裂腦文件會(huì)報(bào)I/O錯(cuò)誤。
2. 關(guān)閉在mount客戶端訪問裂腦文件的進(jìn)程。如果有虛擬機(jī)正在使用裂腦文件,必須將虛擬機(jī)關(guān)閉。
3. 通過getfattr命令獲取和驗(yàn)證擴(kuò)展屬性的變更記錄,然后通過擴(kuò)展屬性來確定哪些brick包含可信的文件。
# getfattr -d -m . -e hex <file-path-on-brick>
[root@lab21:/letv/disk4]$getfattr -d -m . -e hex file1
# file: file1
trusted.afr.plane-client-0=0x000000000000000000000000
trusted.afr.plane-client-1=0x000000000000000000000000
trusted.gfid=0x4e028c9b64234502ba304eba44e16da4
文件變更記錄屬性說明,如下示例:
0x 000003d7 00000001 000000110
| | |
| | \_ changelog of directory entries
| \_ changelog of metadata
\ _ changelog of data
首8位***背景字段記錄數(shù)據(jù)變更記錄
中間8位藍(lán)色背景字段記錄元數(shù)據(jù)變更記錄
末8位粉紅色背景字段記錄索引gfid變更記錄
對(duì)于目錄而言,元數(shù)據(jù)和索引gfid變更對(duì)應(yīng)字段是有效的。
對(duì)于普通文件,數(shù)據(jù)和元數(shù)據(jù)對(duì)應(yīng)字段是有效的。
對(duì)于特殊文件,如設(shè)備文件,元數(shù)據(jù)對(duì)應(yīng)字段是有效的。
一個(gè)文件發(fā)生裂腦,可是數(shù)據(jù)裂腦,也可以是元數(shù)據(jù)裂腦,也有可以是數(shù)據(jù)和元數(shù)據(jù)同時(shí)裂腦。
一個(gè)元數(shù)據(jù)、數(shù)據(jù)同時(shí)裂腦例子如下:
# getfattr -d -m . -e hex /gfs/brick-?/a
getfattr: Removing leading '/' from absolute path names
\#file: gfs/brick-a/a
trusted.afr.vol-client-0=0x000000000000000000000000
trusted.afr.vol-client-1=0x000003d70000000100000000
trusted.gfid=0x80acdbd886524f6fbefa21fc356fed57
\#file: gfs/brick-b/a
trusted.afr.vol-client-0=0x000003b00000000100000000
trusted.afr.vol-client-1=0x000000000000000000000000
trusted.gfid=0x80acdbd886524f6fbefa21fc356fed57
4. 選擇正確的拷貝。
5. 通過重置相關(guān)字段解決裂腦問題
1)解決數(shù)據(jù)裂腦:重置數(shù)據(jù)字段對(duì)應(yīng)屬性值
2)解決元數(shù)據(jù)裂腦:重置元數(shù)據(jù)字段對(duì)應(yīng)屬性值
3)解決索引裂腦:刪除一個(gè)無效的副本,同時(shí)必須刪除對(duì)應(yīng)的gfid-link文件,在.glusterfs目錄下
在刪除gfid-link文件之前,確保當(dāng)前brick上要?jiǎng)h除的文件沒有硬鏈接,如果有也必須刪除。
6. 觸發(fā)自動(dòng)修復(fù)
# ls -l <file-path-on-gluster-mount>
or
# gluster volume heal VOLNAME
注意:
對(duì)于屬性正常,文件內(nèi)容不同引起的裂腦,heal命令無法修復(fù),需要執(zhí)行heal full命令,當(dāng)然ls也可以。
修復(fù)方法,刪除錯(cuò)誤副本及對(duì)應(yīng)的gfid文件。
上述內(nèi)容就是GlusterFS下如何修復(fù)裂腦文件,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。