centOS7.4磁盤出現/dev/vdb: read failed after 0 of 4096 at 0: Input/output error

1、需求背景

vcs集羣,問題是在app14主機在測試丟包問題時,重啓了app14的主機,重啓時業務遷移到app20備機上了,但是app20上懷疑當時沒有遷移成功,出現了共享盤的IO error問題。後經過覈查發現app13,14,15,16對應的共享盤在app20備機上狀態都不正常,如下:

 

同時,在app20該主機上使用fdisk -l也無法看到對應的/vdb/vdc/vdd/vde/vdj五塊盤。

 

經過確認,vdb/vdc/vdd/vde/vdj跟雲盤對應關係如下:

磁盤

雲盤

/dev/vdb

medapp13-data

/dev/vdc

medapp14-data

/dev/vdd

medapp15-data

/dev/vde

medapp16-data

/dev/vdj

medapp14_20_50g

目前備機上沒跑業務,文件系統掛載如下:

[/root]# df -Th

目前app14上在跑業務,文件系統掛載如下:

$df -Th

App20本地掛載文件:

#cat /etc/fstab

 

App14掛載文件:

#cat /etc/fstab

 

注意,上面均未發現這些lv文件系統被使用了。

 

2、處理思路

這裏面有兩個問題:

  1. 未使用的雲盤,可以從tecs層面去掉。

未使用的雲盤爲如下四塊:

 

 

  1. 對於共享的在資源組中的盤,需要在app20虛機上,在tecs層面重新卸載然後在掛載。 

 

3、執行步驟

3.1.刪除未使用的雲盤

3.1.1.卸載app20虛機上的無用雲盤

root用戶登陸app20:

 

 

針對要移除的vg,先去除激活:

vgchange -an vgapp15

vgchange -an vgapp16

vgchange -an vgapp13

裏面沒看到vgapp14,就不需要去除激活,後面其他主機也一樣(能看到的就需要去激活,不能看到的就不做,注意該操作只針對vgapp13,vgapp14,vgapp15,vgapp16這四個vg,其他vg不能做任何操作)。

 

 

 

卸載不需要重啓虛機,對虛機沒有影響。

3.1.6.卸載後檢查

# vgscan

不能看到vgapp13,vgapp14,vgapp15,vgapp16這四個vg在上述虛機上。

# fdisk -l |grep Disk

 

 

不能看到medapp13_20_50g/medapp14_20_50g/medapp15_20_50g/medapp16_20_50g這四個雲盤對應的四個50g的磁盤了。

3.2.重新卸載/掛載IO error的盤

 

3.2.1.重新掛載app20的共享盤

3.2.1.1.卸載

 

 

卸載後對虛機來說是立即生效的。無需重啓虛機。

3.2.1.2.重新掛載medapp13-data

 

 

 

輸入虛機app20的名稱,下拉列表中會有對應的數據,選中後點確定就可以完成重新掛載。

我這個圖中是因爲該磁盤並未從app20上卸載(已經掛在app20上了),所以顯示沒有符合條件的數據。掛載完成後,注意掛載到了系統層面的具體哪個盤(/dev/vd?),後面我們直接根據這個去操作系統層面檢查掛載。重新掛載後根據經驗來說虛機層面不需要重啓,可以在線識別。

3.2.1.3.檢查掛載

# fdisk -l |grep Disk

可以看到對應大小的磁盤,上面3.2.1.2步驟中可以看到對應的雲盤掛載到操作系統層面是/dev/vd?,直接檢查對應的/dev/vd?即可。

# vgscan

通過該命令也可以看到對應的vg。

4、影響說明

1、對於3.1的操作,卸載無用的盤,並釋放對應的雲盤可以回收磁陣空間,同時也可以降低錯誤概率。卸載對業務沒有感知,不影響業務。

2、對應3.2的操作,由於當前業務都是跑在主機上的,備機app20上並沒有業務,所以重新卸載和掛載共享盤,對業務也沒有影響。

3、資料參考

https://www.linuxtechi.com/fixing-lvm-io-errors/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章