昨日は、Windowsのディスクパーティション化ツールを使用してディスクレイアウトを読みました(何も触れずに開かれました)。ボリュームグループの一部が少なくとも名前の面で(ラベルとUUID)上書きされているようです。 lvツールは、常に欠落しているパーティション「pNvsomething-something」に関するエラーメッセージを表示します。
したがって/etc/lvm/archive
、/dev/sdb
および/はdev/sdd1
両方ともボリュームグループで使用されます。
physical_volumes {
pv0 {
id = "pNv7bl-5uND-rHH1-B3kK-Jcud-rxCm-7nJcKb"
device = "/dev/sdb" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 1953525168 # 931,513 Gigabytes
pe_start = 2048
pe_count = 238467 # 931,512 Gigabytes
}
pv1 {
id = "983nT1-PMwL-21Fz-tGw4-1ynZ-4JP9-s5OmGv"
device = "/dev/sdd1" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 1562500000 # 745,058 Gigabytes
pe_start = 2048
pe_count = 190734 # 745,055 Gigabytes
}
}
これは次の出力ですblkid /dev/sdb
。
/dev/sdb: PTUUID="2539097c-4f75-41e4-86c2-7e60f1f561ee" PTTYPE="gpt"
そして/dev/sdb1
:
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="ce5feefa-d5ab-4ae4-8147-d06a81fe32d3"
その130mbの「Microsoft Reservedパーティション」がどこから来たのかはわかりませんが、lvmアーカイブに表示されるサイズがlsblkに表示されているサイズと同じであるため、良いようです。
sdbはUUIDとパーティションタイプが異なりますが、同じようです。私の考えでは、130MBパーティション盗むlv パーティションのサイズ変更によって作成された未割り当て領域から。どうすればいいですか?mkfs
その後、lvmに新しいUUIDを指すようにしますか?データを上書きしないでください。
修正する
しばらく見てみると、mkfsのアイデアはlvmツールを使用する必要があると思われ、愚かなアイデアです。
UUIDを復元し/etc/lvm/backup/nameOfVG
、正しいデバイスを指すことができます。
pvcreate --restorefile /etc/lvm/backup/datavg/ --uuid pNv-something /dev/sdb
これで問題は、pvcreateなどのツールが/ dev / sdbにアクセスできないことです。
Device /dev/sdX not found (or ignored by filtering).
いくつかのリンク:
Googleはまた、非常によく似た問題を説明するいくつかのRed Hatソリューションへのリンクを提供しましたが、有料になっていました。
答え1
まず、不完全なLVからデータを回復するには、fsck(またはmkfsまたはFS /パーティションに書き込むすべての項目)を実行してください。常に可能な限り最小限の修正でPVを元の状態に復元する必要があります!
第二:可能であれば、まずバックアップを作成してください。データ復旧ソフトウェアが必要な場合があります。とにかく、データのコピーに対して実行し、元のデータをそのまま残すことをお勧めします。
lsblkは何を示していますか?そしてヘイジは? sgdisk -p /dev/sdbもありますか? LVとは何ですか
lvs --segments -a -o+pe_ranges
?この 130MB は /dev/sdb の先頭からインポートされることが多いため、フォーマットした場合、最初の 130 MB が破損する可能性が高いです。wipefs
GPTを使用してGPT署名を削除すると、上記のコマンドを実行できますpvcreate
。または、より多くの制御が必要な場合は、最初のセクタを上書きしてください(これが十分かどうかわからない)dd if=/dev/zero of=/dev/sdb bs=4k count=1
。とにかく、私はパーティション内でデータを移動する機会があります。ディスクがWindowsシステムで使用される可能性がある場合は、LVMを認識しないシステムがそのディスクを未使用のディスクとして扱わないようにパーティションテーブルを使用することをお勧めします。