GNU/Linux >> Linux の 問題 >  >> Linux

「チェックサム エラー」による LVM VG メタデータの破損

問題

CentOS/RHEL サーバーで LVM コマンドを実行すると、「チェックサム エラー」が報告されます。

# vgs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 VG #PV #LV #SN Attr VSize VFree 
 vg00 1 7 0 wz--n- 279.12G 159.12G
 vgcommrmandb 1 6 0 wz--n- 20.00G 44.00M
 vgcotsoracle 1 1 0 wz--n- 20.00G 4.00M
 vgcotsorapit 1 1 0 wz--n- 50.00G 4.00M
...
# lvs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 LV VG Attr LSize Origin Snap% Move Log Copy% Convert
 crashvol vg00 -wi-ao 64.00G 
 homevol vg00 -wi-ao 4.00G 
 oemagentvol vg00 -wi-ao 10.00G 
 rootvol vg00 -wi-ao 10.00G 
 swapvol vg00 -wi-ao 16.00G 
 tmpvol vg00 -wi-ao 8.00G 
...
# pvs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 PV VG Fmt Attr PSize PFree 
 /dev/cciss/c0d0p2 vg00 lvm2 a-- 279.12G 159.12G
 /dev/mapper/cx0008_lun37 vgeflxwmq lvm2 a-- 5.00G 1.00G
 /dev/mapper/cx0009_lun30 vgeflxjvastb lvm2 a-- 40.00G 8.04G
 /dev/mapper/cx0009_lun31 vgeflxhdb1arch lvm2 a-- 60.00G 20.00M

解決策

データが実際に破損する前に破損の存在を検出できるように、チェックサムが LVM2 メタデータに格納されます。この問題は通常、そのチェックサムがメタデータの処理後に計算されたチェックサムと一致しない場合に発生します。

チェックサム エラーにはさまざまな原因が考えられますが、次のようなものがあります:

<オール>
  • 2 つのホストが独立して LVM2 メタデータを同時に更新しようとしており (つまり、クラスターの状況のように)、クラスター化された LVM (clvm) が使用されていない場合。
  • メタデータの更新中に発生する I/O エラー (LVM2 の更新はジャーナル処理されないため、I/O 更新の中断により破損が発生する可能性があります)。
  • 基礎となるパスが SAN から来ている場合、SAN 環境にはいくつかの問題があります。
  • このエラーを解決するには、以下の手順に従ってください:

    1. 論理ボリューム上のすべてのデータをバックアップします。

    2. LVM リソースを持つすべてのサービスを停止します (ボリュームをアンマウントし、ボリューム グループを非アクティブ化できるようにします)。クラスター内のどのノードでもサービスが実行されていない必要があります (クラスターでエラーが報告された場合)。

    3. コマンド「vgcfgrestore」を使用してメタデータを復元します '。 LVM メタ データ バックアップ ファイルは、/etc/lvm/backup および /etc/lvm/archive に保存されます。デフォルトでは、vgcfgrestore コマンドは /etc/lvm/backup のバックアップ ファイルを使用します。 vgcfgrestore を実行して、LVM メタ データを復元します。たとえば、

    # vgcfgrestore vg_os
    /dev/mapper/cx0009_lun45: Checksum error
    /dev/mapper/cx0009_lun48: Checksum error
    Restored volume group vg_os

    4. ボリューム グループをアクティブ化します。

    # vgchange -ay vg_os
    1 logical volume(s) in volume group "vg_os" now active

    5. 「pvscan」コマンドを実行して、「チェックサム エラー」が表示されるかどうかを確認します。

    # pvscan

    6. vgcfgrestore の前に停止されたサービスを再度有効にします。

    結論

    vgcfgrestore を使用すると、破損が発生する前の LVM メタデータのバックアップを LVM 物理ボリュームに復元できます。 /etc/lvm/backup のデフォルトのバックアップ ファイルを使用して、古いバックアップからメタ データを復元できます。他の場所にバックアップ ファイルがある場合は、以下に示すように vgcfgrestore コマンドでバックアップ ファイルを指定することもできます。

    # vgcfgrestore -f /path/to/backup/file vgname


    Linux
    1. メタデータファイルがチェックサムと一致しません– YUMエラー!

    2. LvmとDm-cryptでトリミングしますか?

    3. Runitを使用したUpstart/systemdに関するこのエラー?

    1. JunglediskがLibnotifyエラーで失敗しますか?

    2. CentOS / RHEL LVM :ボリューム グループ メタデータのバックアップ

    3. LVM エラー「WARNING:Inconsistent metadata found」 – CentOS / RHEL での解決方法

    1. LVMを使用したLinuxでの論理ボリュームの作成

    2. lvremove コマンドがエラー「LVM – 開いている論理ボリュームを削除できません」で失敗する

    3. LVM コマンドが「Failed to load config file /etc/lvm/lvm.conf」で失敗する