web-dev-qa-db-ja.com

LVMの復旧(RAID1の場合):ボリュームグループが見つかりません。パーティションテーブルが消去されましたか?

Debian Liveを使用してRAID1でLVM(暗号化なし)を回復しようとしています。

明らかに、RAID1は問題なく組み立てることができますが、LVMは壊れています。 LVMセクションにスキップできます。 RAID部分は、問題が発生した場合に備えて残されています。

RAID

# aptitude install mdadm
# mdadm --assemble --scan

dmesg:

[  617.036709] md: md0 stopped.
[  617.038099] md: bind<sdc1>
[  617.038302] md: bind<sda1>
[  617.214903] md: raid1 personality registered for level 1
[  617.215534] md/raid1:md0: active with 2 out of 2 mirrors
[  617.215694] created bitmap (8 pages) for device md0
[  617.215956] md0: bitmap initialized from disk: read 1 pages, set 0 of
14903 bits
[  617.682354] md0: detected capacity change from 0 to 1000068874240
[  617.693821]  md0:

RAIDは次のとおりです。

# ls -l /dev/md0
brw-rw---- 1 root disk 9, 0 Jan 21 19:34 /dev/md0

# mdadm --examine /dev/md0
/dev/md0:
   MBR Magic : aa55

# file -s /dev/{md0,sda,sdc}
/dev/md0: DOS/MBR boot sector
/dev/sda: DOS/MBR boot sector
/dev/sdc: DOS/MBR boot sector

このDOS/MBR boot sectorが問題だと思います。これについては後で詳しく説明します。

万が一に備えて、追加情報

これはおそらく関係ありません。

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sun Jun 21 18:04:33 2015
     Raid Level : raid1
     Array Size : 976629760 (931.39 GiB 1000.07 GB)
  Used Dev Size : 976629760 (931.39 GiB 1000.07 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Wed Jan 20 22:28:23 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : bouzin:0
           UUID : 102b07b8:703e4597:574b2ecf:880a1aee
         Events : 4349

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       33        1      active sync   /dev/sdc1


# fdisk -l /dev/md0

Disk /dev/md0: 931.4 GiB, 1000068874240 bytes, 1953259520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c0ff432

# sfdisk -l /dev/md0

Disk /dev/md0: 244157440 cylinders, 2 heads, 4 sectors/track
Units: cylinders of 4096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/md0p1          0       -       0          0    0  Empty
/dev/md0p2          0       -       0          0    0  Empty
/dev/md0p3          0       -       0          0    0  Empty
/dev/md0p4          0       -       0          0    0  Empty

# sfdisk -l /dev/sda

Disk /dev/sda: 121601 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+ 121601- 121602- 976760832   fd  Linux raid
autodetect
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

# sfdisk -l /dev/sdc

Disk /dev/sdc: 121601 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdc1          0+ 121601- 121602- 976760832   fd  Linux raid
autodetect
/dev/sdc2          0       -       0          0    0  Empty
/dev/sdc3          0       -       0          0    0  Empty
/dev/sdc4          0       -       0          0    0  Empty

# cat /proc/mdstat
Personalities : [raid1] 
md0 : active (auto-read-only) raid1 sda1[0] sdc1[1]
      976629760 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

編集8:RAIDは自動読み取り専用でマウントされます。最初にここで書いたものとは異なり、読み書きを設定する必要はありません。説明に従って、必要に応じて自動的に読み書き可能になります ここ

LVM

# aptitude install lvm2

# pvscan
  No matching physical volumes found

# lvscan
  No volume groups found

構成ファイルを回復する

Lvm構成ファイルのバックアップがありません(必要なことを知りませんでした)。

次の Knoppix LinuxLiveCDを使用してRAID1LVMパーティションからデータを回復する

アイデアは、LVMパーティションの先頭を読み取ってLVM構成ファイルを見つけることです。

# dd if=/dev/md0 bs=512 count=4096 skip=1 of=/tmp/md0-raw-start

# vi /tmp/md0-raw-start

そこに構成ファイルを見つけます。バイナリと古い設定バージョンを削除します。

これが私が得るものです(vg、lv、...は確かに私がLVMを構成するときに使用した名前です):

# Generated by LVM2 version 2.02.111(2) (2014-09-01): Sun Jun 21 18:12:39 2015

contents = "Text Format Volume Group"
version = 1

description = ""

creation_Host = "bouzin"        # Linux bouzin 3.16.0-4-AMD64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64
creation_time = 1434910359      # Sun Jun 21 18:12:39 2015

vg {
id = "Yxknle-OEes-hihh-tWCt-QBxC-JtP9-bl360E"
seqno = 8
format = "lvm2"
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192
max_lv = 0
max_pv = 0
metadata_copies = 0

physical_volumes {

pv0 {
id = "gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm"
device = "/dev/md0"

status = ["ALLOCATABLE"]
flags = []
dev_size = 1953259520
pe_start = 2048
pe_count = 238434
}
}

logical_volumes {

lv0 {
id = "AwliYc-HczW-LZ1x-czpO-YZOJ-sr7k-T13HUf"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_Host = "bouzin"
creation_time = 1434910352
segment_count = 1

segment1 {
start_extent = 0
extent_count = 953

type = "striped"
stripe_count = 1

stripes = [
"pv0", 0
]
}
}

lv1 {
id = "Ec1tN2-WKaf-v2if-lAu2-MfiI-1hkE-XyKFGI"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_Host = "bouzin"
creation_time = 1434910359
segment_count = 1

segment1 {
start_extent = 0
extent_count = 7152

type = "striped"
stripe_count = 1

stripes = [
"pv0", 953
]
}
}

lv2 {
id = "gFWdEh-7HUJ-zwX1-nqEU-DomC-tdfW-ZGChNw"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_Host = "bouzin"
creation_time = 1434910366
segment_count = 1

segment1 {
start_extent = 0
extent_count = 230329

type = "striped"
stripe_count = 1

stripes = [
"pv0", 8105
]
}
}
}
}

これにより、パーティションを次の順序でセットアップしたことが確認されます。

swap
/
/home

編集2:重要な注意

リンク先のページに示されているものとは対照的に、vg {の前の数行、特にcontents = ...をお見逃しなく。

`Can't process text format file - missing contents field.` 

vgcfgrestore使用時のエラー。

復元された構成ファイルを使用する

回復した設定ファイルをlvmconfigディレクトリにインストールし、lvmを起動します。

# mkdir /etc/lvm/backup
# cp /tmp/md0-raw-start /etc/lvm/backup/vg

# systemctl start lvm2

# systemctl status lvm2
● lvm2-activation.service - Activation of LVM2 logical volumes
   Loaded: loaded (/lib/systemd/system/lvm2-activation.service; enabled)
   Active: inactive (dead) since Thu 2016-01-21 20:37:42 UTC; 4s ago
     Docs: man:lvm(8)
           man:vgchange(8)
  Process: 22212 ExecStart=/sbin/lvm vgchange -aay --sysinit
(code=exited, status=0/SUCCESS)
 Main PID: 22212 (code=exited, status=0/SUCCESS)

Jan 21 20:37:42 debian lvm[22212]: No volume groups found

そして、ここに問題があります。 No volume groups found

# vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found

いいえ。

# vgcfgrestore vg
  Couldn't find device with uuid gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm.
  Cannot restore Volume Group vg with 1 PVs marked as missing.
  Restore failed.

復旧したlvm構成ファイルで欠落している行を特定して修正したため(上記の編集2を参照)、vgcfgrestoreからのこのエラーメッセージはより明確です。

それでも、ここからどこへ行くのですか?

パーティションテーブルは消去されましたか?

配列の説明に戻る:

# file -s /dev/{md0,sda,sdc}
/dev/md0: DOS/MBR boot sector
/dev/sda: DOS/MBR boot sector
/dev/sdc: DOS/MBR boot sector

ここに別の投稿 から、私はこのようなものを期待します:

$ file -s /dev/{sde1,md2}
/dev/sde1: LVM2 (Linux Logical Volume Manager) , UUID:
ZK8IfBzUHPH5befvm5CZ81oIXHm11TG
/dev/md2:  LVM2 (Linux Logical Volume Manager) , UUID:
ZK8IfBzUHPH5befvm5CZ81oIXHm11TG

この問題の前の最後の起動で、別のマシンに SBスティックを使用したLinux Mint をインストールし、このマシンを使用して起動可能なドライブを作成しました。 「ハイブリッド」の.isoをddを使用してスティックにコピーすると、GPartedを使用してFAT32にフォーマットし直すときに問題が発生しました。私はいくつかのfdiskを試した後、最終的にあきらめたと思います。

考えてみれば、間違った/devfdiskを使用しているシステムをめちゃくちゃにした可能性があります。私が何をしたかははっきりとは思い出せませんが、手がかりになる可能性があります。私は他に何も考えられません。システムは無人アップグレードのDebianJessieですが、自動更新でこれが行われたとは思いません。

パーティションはスワップで始まるため、重要なファイルで始まる場合よりも、先頭を消去することの方が重要ではない可能性があることに注意してください。

誰かがDOS/MBR boot sectorに問題があることを確認できますか。USBスティックのパーティション分割の誤りが原因である可能性がありますか

そして最も重要なのは、これを修正する方法はありますか?

(私はドライブ上の重要なファイルのほとんどの毎日のバックアップを持っています。私はこれを理解のために解決したいと思います、そして私がバックアップを見逃しているかもしれないファイルをチェックしたいので。)

手順 こちら が適用される場合がありますが、少しわかりにくいので、先に進む前にもう少し詳しく説明してください。

編集1:テストディスクオプション

誰かが提案 パーティションテーブルのリカバリをあきらめるが、データのリカバリにTestdiskを使用。 pvcreateで英雄的なことを試みる前に、この方法で既存のデータをバックアップしようとするかもしれません。

FWIW、これがTestdiskの出力です。

分析

Disk /dev/md0 - 1000 GB / 931 GiB - CHS 244157440 2 4
Current partition structure:
     Partition                  Start        End    Size in sectors

No partition is bootable

クイックサーチ

Disk /dev/md0 - 1000 GB / 931 GiB - CHS 244157440 2 4
     Partition               Start        End    Size in sectors
 * Linux Swap             255   0  1   256   1  4         16
 P Linux                976128   0  1 8299775   1  4   58589184
 P Linux                8299776   0  1 244156671   1  4 1886855168

SWAP2 version 0, pagesize=8192, 8192 B
ext4 blocksize=4096 Large file Sparse superblock, 29 GB / 27 GiB
ext4 blocksize=4096 Large file Sparse superblock, 966 GB / 899 GiB

編集2:pvcreateオプション

これが再びエラーメッセージです。

# vgcfgrestore vg
  Couldn't find device with uuid gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm.

この提案 に続いて、これを試してみますか?

dd if=/dev/zero count=1 of=/dev/md0
pvcreate --uuid gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm --norestorefile
vcfgrestore

これは間違いないと思いますが、確認をお願いします。

編集3:症状

起動時に表示されるエラーメッセージについて言及するのを忘れていました。

最初の再起動、私はこのエラーがありました:

error: disk `lvmid/Yxknle-OEes-...` not found. 
Entering rescue mode...
grub rescue> ls
(hd0) (hdO,msdos1), (hd1) (hd1,msdos1) (hd2) (hd2,msdos2) (md/0)

次に、1つのディスクを削除してみました。変化なし。次に、もう一方とエラーが変更され、今では一貫してこの新しいエラーが発生しています。

error: file `/boot/grub/i386-pc/normal.mod` not found.

編集4:strace pvscan

# strace -e trace=open pvscan 2>&1 | grep /dev/md
open("/dev/md0", O_RDONLY|O_DIRECT|O_NOATIME) = 3
open("/dev/md0", O_RDONLY)              = 5
open("/dev/md0", O_RDONLY)              = 3
open("/dev/md0", O_RDONLY|O_DIRECT|O_NOATIME) = 3
open("/dev/md0", O_RDONLY|O_DIRECT|O_NOATIME) = 3

編集5:lvmバックアップファイルを復元

Testdiskを使用して、/etc/lvm/backup/vgをなんとか手に入れました。

# Generated by LVM2 version 2.02.111(2) (2014-09-01): Sun Jun 21 20:19:54 2015

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'vgcfgbackup'"

creation_Host = "bouzin"        # Linux bouzin 3.16.0-4-AMD64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64
creation_time = 1434910794      # Sun Jun 21 20:19:54 2015

vg {
        id = "Yxknle-OEes-hihh-tWCt-QBxC-JtP9-bl360E"
        seqno = 8
        format = "lvm2"                 # informational
        status = ["RESIZEABLE", "READ", "WRITE"]
        flags = []
        extent_size = 8192              # 4 Megabytes
        max_lv = 0
        max_pv = 0
        metadata_copies = 0

        physical_volumes {

                pv0 {
                        id = "gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm"
                        device = "/dev/md0"     # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 1953259520   # 931,387 Gigabytes
                        pe_start = 2048
                        pe_count = 238434       # 931,383 Gigabytes
                }
        }

        logical_volumes {

                lv0 {
                        id = "AwliYc-HczW-LZ1x-czpO-YZOJ-sr7k-T13HUf"
                        status = ["READ", "WRITE", "VISIBLE"]
                        flags = []
                        creation_Host = "bouzin"
                        creation_time = 1434910352      # 2015-06-21 20:12:32 +0200
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 953      # 3,72266 Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 0
                                ]
                        }
                }

                lv1 {
                        id = "Ec1tN2-WKaf-v2if-lAu2-MfiI-1hkE-XyKFGI"
                        status = ["READ", "WRITE", "VISIBLE"]
                        flags = []
                        creation_Host = "bouzin"
                        creation_time = 1434910359      # 2015-06-21 20:12:39 +0200
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 7152     # 27,9375 Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 953
                                ]
                        }
                }

                lv2 {
                        id = "gFWdEh-7HUJ-zwX1-nqEU-DomC-tdfW-ZGChNw"
                        status = ["READ", "WRITE", "VISIBLE"]
                        flags = []
                        creation_Host = "bouzin"
                        creation_time = 1434910366      # 2015-06-21 20:12:46 +0200
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 230329   # 899,723 Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 8105
                                ]
                        }
                }
        }
}

コメントがあることを除いて、私が回復したものと同じです。

編集6:物理ボリュームを作成しようとしています

上から、/dev/md0サイズは976629760 kBです。

# dd if=/dev/md0 of=/media/user/bak/copy_lvm/start bs=1M count=1
# dd if=/dev/md0 of=/media/user/bak/copy_lvm/end bs=1M count=1 skip=953739

ddを正しく使用していることを願っています。)

pvcreateの使い方がわからない:

# pvcreate --uuid gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm --norestorefile
  Can only set uuid on one volume at once
  Run `pvcreate --help' for more information.

# pvcreate --uuid gUyTdb-rc7j-rJh0-B2EZ-ebb7-mf77-KBgNWm --norestorefile /dev/md0
  Can't open /dev/md0 exclusively.  Mounted filesystem?

アレイを読み書き可能に設定しようとしました。

# mdadm --readwrite /dev/md0
mdadm: failed to set writable for /dev/md0: Device or resource busy

なぜ忙しいのかわかりません。 lsofは何も生成しません。

# lsof /dev/md0

編集7:もう一度テストディスク

Testdiskのおかげで、自動バックアップがなかったファイルをバックアップすることができました。私は今、安全である必要があります。最初から再インストールすることを避けるためにシステムを保存するだけです。 (私は/ etcもコピーしました。)

Testdiskは、パーティションの検出とパーティションテーブルの修復も行います。パーティションが検出されましたが(上記を参照)、スワップがブート可能なパーティションであることが示されました。システムを保持しているものに変更しました。おそらくいくつかのTestdiskの仕掛けも裏で起こったのでしょう。とにかく、「書き込み」をクリックして再起動しました。

それでも、再起動時の同じエラー:

error: file `/boot/grub/i386-pc/normal.mod` not found.

ただし、良いニュースがあります。DebianLiveで起動すると、アレイが自動的にアセンブルされ、LVMが認識されます。パーティションを閲覧できます。

/boot/grub/i386-pc/normal.modが本来あるべき場所にあることも確認できます。 (バイナリなので、何が入っているか確認できません。)

ああ、私はルートのbash履歴もチェックしましたが、この混乱を引き起こすコマンドは見つかりませんでした。 /dev/sdhでfdiskを使用しましたが、誤って/dev/sdaまたは/dev/sdcでは使用しませんでした。ただし、GPartedを使用することもできます。

編集8:RAIDおよびLVMステータス

物事が進化したので、私はそれらのコマンドをもう一度試してみようと思いました。

# mdadm --examine /dev/md0
/dev/md0:
   MBR Magic : aa55
Partition[0] :           16 sectors at         2040 (type 82)
Partition[1] :     58589184 sectors at      7809024 (type 83)
Partition[2] :   1886855168 sectors at     66398208 (type 83)

# file -s /dev/{md0,sda,sdc}
/dev/md0: DOS/MBR boot sector; partition 1 : ID=0x82, start-CHS (0xff,0,1), end-CHS (0x10,1,4), startsector 2040, 16 sectors; partition 2 : ID=0x83, active, start-CHS (0x3ff,1,4), end-CHS (0x3ff,1,4), startsector 7809024, 58589184 sectors; partition 3 : ID=0x83, start-CHS (0x3ff,1,4), end-CHS (0x3ff,1,4), startsector 66398208, 1886855168 sectors
/dev/sda: DOS/MBR boot sector
/dev/sdc: DOS/MBR boot sector

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sun Jun 21 18:04:33 2015
     Raid Level : raid1
     Array Size : 976629760 (931.39 GiB 1000.07 GB)
  Used Dev Size : 976629760 (931.39 GiB 1000.07 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Sat Jan 23 21:43:23 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : bouzin:0
           UUID : 102b07b8:703e4597:574b2ecf:880a1aee
         Events : 4355

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       33        1      active sync   /dev/sdc1

# fdisk -l /dev/md0

Disk /dev/md0: 931.4 GiB, 1000068874240 bytes, 1953259520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c0ff432

Device     Boot    Start        End    Sectors   Size Id Type
/dev/md0p1          2040       2055         16     8K 82 Linux swap / Solaris
/dev/md0p2 *     7809024   66398207   58589184    28G 83 Linux
/dev/md0p3      66398208 1953253375 1886855168 899.7G 83 Linux

# sfdisk -l /dev/md0

Disk /dev/md0: 244157440 cylinders, 2 heads, 4 sectors/track
Units: cylinders of 4096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/md0p1        255     256       2          8   82  Linux swap / Solaris
/dev/md0p2   * 976128  8299775  7323648   29294592   83  Linux
/dev/md0p3     8299776  244156671  235856896  943427584   83  Linux
/dev/md0p4          0       -       0          0    0  Empty

# cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sda1[0] sdc1[1]
      976629760 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>

# vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found

私はあなたの疑問を理解し始めていると思います。 RAID(/dev/md0)はLVMなしでパーティション分割されているように見えます。ただし、LVMを作成したことを覚えており、見つけた構成ファイルでそれを確認しているので、これは驚くべきことです。

TestdiskがLVMを無視してから、パーティションテーブルを/dev/md0に直接書き、LVMを回避している(それが理にかなっている場合)でしょうか。

編集9:私のLVMはどこにありますか

FWIW、私は再起動しましたが、まだDebian Liveで、mdadmをインストールした後、lvd2がインストールされる前でも(liblvm2app2.2のみがインストールされています)、raidは自動的にアセンブルされます。これは、LVMが「消えた」という意味ですか?

# dmsetup ls
No devices found

# pvscan
  No matching physical volumes found

# vgscan 
  Reading all physical volumes.  This may take a while...
  No volume groups found

編集10:グラブ修復

ファイルシステム/ LVMが正しく動作し、Grubエラーに焦点を当てているとしましょう。

インターネットでのアドバイスに従って、私はこれを試しましたgrub-install

# mount /dev/md0p2 /mnt
# grub-install --root-directory=/mnt /dev/md0
The file /mnt/boot/grub/stage1 not read correctly.

パーティションはLinuxとして認識されます。

# fdisk -l  /dev/md0

Disk /dev/md0: 931.4 GiB, 1000068874240 bytes, 1953259520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x9c0ff432

Device     Boot    Start        End    Sectors   Size Id Type
/dev/md0p1          2040       2055         16     8K 82 Linux swap / Solaris
/dev/md0p2 *     7809024   66398207   58589184    28G 83 Linux
/dev/md0p3      66398208 1953253375 1886855168 899.7G 83 Linux

誰かが提案します grubは128のiノードサイズでのみ機能します

# tune2fs -l /dev/md0p2 | grep -i 'inode size'
Inode size:               256

Iノードのサイズが変更された理由がわからないので、気にする必要があるかどうかわかりません。

行き詰まっています。

パーティションテーブルは、奇妙なスワップサイズを示しています。多分私はこのパーティションを台無しにしました、Testdiskからの検出は不正確で、それはここに見ている間違ったテーブルを書きました。とにかく、それほど悪くはありません。必要なときにいつでも変更できると思います。

gpartedは以下を示しています:

Partition     File System   Mount Point   Size         Flags
/dev/md0p1                                8 KiB
unallocated   unallocated                 3.72 GiB
/dev/md0p2    ext4          /mnt          27.94 GiB    boot
/dev/md0p3    ext4                        899.72 GiB
unallocated   unallocated                 3.72 GiB

どういうわけか私の/ homeパーティション(/ dev/md0p3)の終わりがカットされたようです。

LVMへの言及はありません。

/ dev/md0p1をスワップとして再作成し、その近くに未割り当て領域を追加する必要がありますか(そして、最後に失われた4 GBを忘れます)、またはここでgpartedで遊ぶと、事態はさらに悪化しますか?

この場合、LVMの使用はそれほど重要ではありません。 1 TBディスクを使用すると、システムに30 GBを確保できますが、そのうちの5 GBのみが使用されます。プロセスでLVMが失われることを気にしない限り、壊れたセットアップ。

編集11:保存されたデータ、ファイルシステムをあきらめる

この時点で、/homeetcrsyncを別のディスクにマウントして、アクセス許可とすべてを保持することができたため、最初から再インストールすることは実際には問題になりません。

何が起こったのかを理解できれば幸いですが、LVMを修正するのに何時間も費やしてしまい、完全には理解できないセットアップになってしまいます。信頼は大きな動きではないので、最初から再インストールすることにしました。

Debianインストーラーを使用してアレイに再インストールできましたが、起動時に同じエラーが発生しました。アレイを破棄して再作成するためにインストーラーと格闘しなければならず、最終的にはすべてうまくいきました。

別の教訓。これからは、さらに多くのバックアップを作成します。 /homeをバックアップするには、別のディスクにrsyncします。 /etcとパッケージリストを保存するために、私が仕事で行っていることは次のとおりです。

etckeeperを使用してバージョン/etcを作成し、それを別のドライブに複製します。そして、インストールされているパッケージのリストを保持するためにapt-cloneを使用します。

#!/bin/sh
#
# Script to clone installation
#

DEST_DIR=/mnt/backup_drive

# Apt clone
apt-clone clone $DEST_DIR/apt-clone/apt-clone-$(lsb_release -si)-$(lsb_release -sc)-$(lsb_release -sr)-$(date +%F).tar.gz

# Git clone /etc
cd $DEST_DIR/etc; git pull --quiet
4
Jérôme

あなたの情報は矛盾しています。 /dev/md0は、PVとパーティションテーブルを同時に持つことはできません。 fileはPVを認識します。 md0は、LVMボリュームが/dev/md0p1または/dev/md0p2になるようにパーティション化されているようです。

おそらく何らかの理由でpvscan/vgscan無視/dev/md0//dev/md0p1(したがって、LVMはUUIDを見つけることができません)。スキャンされているブロックデバイスを確認するために、pvscanからstraceを実行できます。

strace -e trace=open pvscan 2>&1 | grep /dev/md
2
Hauke Laging