Ctrl-Dは、ファイルシステムを事前に縮小しないとブロックデバイスを縮小した後にファイルシステムを起動できないというメッセージを表示します。

Ctrl-Dは、ファイルシステムを事前に縮小しないとブロックデバイスを縮小した後にファイルシステムを起動できないというメッセージを表示します。

ファイルシステムを縮小したいのですが、残念ながら次のステップを見逃しました。

ファイルシステムのサイズを変更する代わりに、論理ボリュームを縮小しました。

その結果、システムが起動しなくなり、ファイルシステムが破損しているというメッセージが表示されます。

[root@node2 ~]# mount -a
   mount: wrong fs type, bad option, bad superblock on /dev/mapper/vgprod-prod,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

[root@node2 ~]# e2fsck -f /dev/mapper/vgprod-prod
   e2fsck 1.42.9 (28-Dec-2013)
   Error reading block 65536 (Invalid argument).  Ignore error<y>? yes
   Force rewrite<y>? yes
   Superblock has an invalid journal (inode 8).
   Clear<y>? yes
   *** ext3 journal has been deleted - filesystem is now ext2 only ***

   Superblock has_journal flag is clear, but a journal inode is present.
   Clear<y>? yes
   The filesystem size (according to the superblock) is 115712 blocks
   The physical size of the device is 64512 blocks
   Either the superblock or the partition table is likely to be corrupt!
   Abort<y>? yes
   Error writing block 65536 (Invalid argument).  Ignore error<y>? yes

   /dev/mapper/vgprod-prod: ***** FILE SYSTEM WAS MODIFIED *****

これらの問題を解決する方法を教えてください。

ベストアンサー1

広範囲の損傷を引き起こす可能性がある変更を行う前に、現在の状態の物理ボリューム(例:)をセクタごとにコピーして、変更されていないdd if=/dev/sdXY of=/path/to/safe/place.img場所に保存してください。pvdisplayコピーするパーティションを知るために使用されます。最悪の場合(ファイルシステムが損傷しすぎて内容が理解できない場合)にも使用できます。テストディスク(ファイルシステムがLVMパーティションの連続ブロックにある場合):

  1. 走るtestdisk /path/to/image.img
  2. 「パーティション化されていないメディア」の選択:testdiskLVMに書き込む方法がわかりませんが、見つかったパーティションから読み続けます。
  3. 分析を使用してパーティションを検索します。ファイルシステムが見つからない場合は、詳細検索を使用します。
  4. Pを使用してファイルを一覧表示し、/:選択aし、c/Cファイルをコピーします。

失敗したLVMパーティションがrootfsをホストしていないと仮定し、/etc/lvmディレクトリもバックアップします。このパーティションがrootfsをホストしている場合は、以前のバックアップにこのディレクトリが含まれている可能性があります。私たちはそれが必要です。他のすべての方法が失敗しても、/etc/lvm/16進エディタと文字列検索を使用してファイルの内容を検索することはまだ可能ですdescription =が(断片化されていないと仮定)、非常に長いプロセスです。

まだinitramfsシェルにあり、画像を保存するのに十分な空きHDDスペースがない場合は、幸運な場合(USBストレージやその他のモジュールがinitramfsにあります)、USB-HDDをインストールできます。

  1. ドライブを接続して回転するまで数秒間待ちます。
  2. カーネルメッセージが表示されることがあります。それ以外の場合は、以下を実行してください。dmesg | tail
  3. 次の行を見つけてください(サイズを比較してUSB-HDDであることを[ 8391.759613] sd 6:0:0:0: [sdX] 15826944 512-byte logical blocks: (8.10 GB/7.55 GiB)確認してください)。 (ここでsdX1 ... sdXnはパーティションのリストです。)sdX[ 8391.770279] sdX: sdX1
  4. ランニング:

    mkdir -p /mnt/usb-hdd # ensure existing mountpoint
    mount /dev/sdXN /mnt/usb-hdd # substitute X for the drive letter and N for the partition number from (3)
    
  5. バックアップイメージの書き込みおよび/または/etc/lvm回復されたバックアップのコピー/mnt/usb-hdd

  6. 完了したら、サムドライブをマウント解除することを忘れないでください。umount /mnt/usb-hdd

完了したら、現在のコンテンツ/etc/lvm/backup/etc/lvm/archiverootfsまたはバックアップから取得した内容を確認してください。実行前にバックアップメタデータが作成され、lvresize破損する可能性があります。説明を一覧表示するdescription =には、このディレクトリ内のファイルを見てくださいgrep description .../etc/lvm/*/*。まだinitramfsシェルにある場合、または(失敗した場合)および+ / +を使用してlessテキストmoreファイルcatShift確認PgUpShiftてくださいPgDn。ファイルがありますかCreated *before* executing 'lvresize -l <something> /dev/vgprod/prod'?実行してvgcfgrestore -f /etc/lvm/archive/<suitable archive file> vgprodメタデータを以前の値に復元し、マウントを試みます/dev/vgprod/prod

fsckこの場合、ファイルを正常にコピーし、そのファイルが安全であることを確認または回復できると確信しているパーティションのイメージを作成するまで、何もしないでください。fsck切り捨てられたファイルシステムでは、状況がさらに悪化する可能性があります。

おすすめ記事