溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

GlusterFS下如何修復(fù)裂腦文件

發(fā)布時(shí)間:2021-12-22 15:55:18 來源:億速云 閱讀:183 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI