2台のハードドライブを持つサーバーがあり、2台目のハードドライブが実際には使用されていないように見えるまで、LVMが正しくインストールされたと思いました。問題を調査し、オンラインで見つけたいくつかのガイドラインに従いましたが、問題はさらに悪化しました。明らかに私の初期の間違いは、pvremove
物理ボリュームを使用する必要があるときにそれを削除したことでしたmvreduce
。
以下に追加情報を添付しました。私はUbuntu Server 14.04 LTSを使用しています。また、2番目のハードドライブには回復する必要があるデータがなく、そのディスクを完全に消去できることにも言及したいと思います。
私の論理ボリュームは次のように構成する必要がapollo2-vg
あります。sda3
sdb
root@apollo2:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 745.2G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 244M 0 part /boot
└─sda3 8:3 0 744.5G 0 part
├─apollo2--vg-root (dm-0) 252:0 0 1.2T 0 lvm /
└─apollo2--vg-swap_1 (dm-1) 252:1 0 255.9G 0 lvm [SWAP]
sdb 8:16 0 745.2G 0 disk
└─apollo2--vg-root (dm-0) 252:0 0 1.2T 0 lvm /
私のパーティションの概要は次のとおりです。
root@apollo2:~# parted -l
Model: ATA LITEON IT ECE-80 (scsi)
Disk /dev/sda: 800GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 800GB 799GB lvm
Model: ATA LITEON IT ECE-80 (scsi)
Disk /dev/sdb: 800GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/apollo2--vg-root: 1325GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 1325GB 1325GB ext4
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/apollo2--vg-swap_1: 275GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 275GB 275GB linux-swap(v1)
問題は、sdb
(2番目のハードドライブ上)現在このエントリがないことです。
root@apollo2:~# pvscan
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
PV /dev/sda3 VG apollo2-vg lvm2 [744.47 GiB / 0 free]
PV unknown device VG apollo2-vg lvm2 [745.21 GiB / 0 free]
Total: 2 [1.45 TiB] / in use: 2 [1.45 TiB] / in no VG: 0 [0 ]
これが確認されましたlvdisplay
。
root@apollo2:~# lvdisplay
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
--- Logical volume ---
LV Path /dev/apollo2-vg/root
LV Name root
VG Name apollo2-vg
LV UUID W7afVo-nWcn-qwDf-hLvB-uFkV-LbEL-iX7FLj
LV Write Access read/write
LV Creation host, time apollo2, 2015-03-14 17:20:12 +0100
LV Status available
# open 1
LV Size 1.20 TiB
Current LE 315847
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/apollo2-vg/swap_1
LV Name swap_1
VG Name apollo2-vg
LV UUID aHegDA-NP47-dkUg-nY3L-HNp7-Y8xM-lflNFs
LV Write Access read/write
LV Creation host, time apollo2, 2015-03-14 17:20:12 +0100
LV Status available
# open 2
LV Size 255.90 GiB
Current LE 65511
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
そしてpvdisplay
:
root@apollo2:~# pvdisplay
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
--- Physical volume ---
PV Name /dev/sda3
VG Name apollo2-vg
PV Size 744.47 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 190584
Free PE 0
Allocated PE 190584
PV UUID 2p7KM5-dWVY-z1uw-auBy-QXHQ-6aVl-mezqAY
--- Physical volume ---
PV Name unknown device
VG Name apollo2-vg
PV Size 745.21 GiB / not usable 1.84 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 190774
Free PE 0
Allocated PE 190774
PV UUID f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe
インターネット上で見つけたアドバイスに基づいて紛失したデバイスを再作成するなど、さまざまな方法を試しました。
root@apollo2:~# pvcreate /dev/sdb --uuid=f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe --norestorefile
Device /dev/sdb not found (or ignored by filtering).
または、ボリュームグループから削除します。
root@apollo2:~# vgreduce --removemissing --verbose apollo2-vg
Finding volume group "apollo2-vg"
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Trying to open VG apollo2-vg for recovery...
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Archiving volume group "apollo2-vg" metadata (seqno 11).
WARNING: Partial LV root needs to be repaired or removed.
There are still partial LVs in VG apollo2-vg.
To remove them unconditionally use: vgreduce --removemissing --force.
Proceeding to remove empty missing PVs.
Creating volume group backup "/etc/lvm/backup/apollo2-vg" (seqno 12).
root@apollo2:~# vgreduce --removemissing --force --verbose apollo2-vg
Finding volume group "apollo2-vg"
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Trying to open VG apollo2-vg for recovery...
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Archiving volume group "apollo2-vg" metadata (seqno 12).
Removing partial LV root.
Logical volume apollo2-vg/root contains a filesystem in use.
残念ながら、私が試した解決策のどれも効果がありませんでした。私はLVMの経験があまりなく、何が起こっているのかを正しく理解していないまま問題を解決し続けると、問題がさらに悪化しないか心配です。
同様の問題を抱えている人がコンピュータを正しく再起動できないことを読んでいましたが、これは最悪のシナリオです。
簡単な解決策があることを願っています。助けてくれてありがとう!
答え1
1か月前、ミラーリングされたボリュームに同じ問題が発生しました。 lvm2-2.02.116-3.fc21.x86_64 lvm2にアップデートしてこの問題を解決しました。
その後、次を実行できます。
vgreduce --removemissing --verbose myVG_NAME
答え2
このリンクSUSEで問題を解決するのに役立ちます。
LVMボリュームグループに「不明なデバイス」が表示されます。
この文書(3803380)は、この文書の最後の免責事項に従って提供されます。
環境 SUSE Linux Enterprise Server 11 SUSE Linux Enterprise Server 10 SUSE Linux Enterprise Server 9 LVM (論理ボリューム管理バージョン 2)
状況LVMボリュームグループを有効にすると、「不明なデバイス」エラーが表示されます。論理ボリュームはアクティブではありません。
# pvscan
Couldn't find device with uuid '56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu'.
Couldn't find device with uuid '56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu'.
PV /dev/sdb VG ops lvm2 [200.00 MB / 0 free]
PV unknown device VG ops lvm2 [200.00 MB / 0 free]
PV /dev/sdd VG sales ops [200.00 MB / 150.00 MB free]
Total: 4 [600.00 MB] / in use: 4 [600.00 MB] / in no VG: 0 [0 ]
部分モードボリュームグループは、複数のディスクを含むボリュームグループから物理ディスクが削除されたときにも作成されます。次の例では、lrgボリュームグループにディスクの1つがないため、部分モードが発生します。
# /sbin/vgs
Couldn't find device with uuid ntc7O9-wevl-ZtXz-xESe-wwUB-G8WZ-6RtjxB.
VG #PV #LV #SN Attr VSize VFree
asm 1 2 0 wz--n- 300.00m 60.00m
ceo 1 1 0 wz--n- 252.00m 12.00m
lrg 4 1 0 wz-pn- 1.19g 716.00m
sys 1 3 0 wz--n- 3.50g 12.00m
通常、このエラーは、物理デバイスが存在しないか、デバイスのLVMメタデータが破損しているか欠落していることを意味します。ボリュームを回復する一般的なプロセスは次のとおりです。
- エラーが発生したか欠落しているディスクの交換
- 失われたディスクのUUIDの回復
- LVMメタデータの復元
- LVMデバイスのファイルシステムの回復
シーン1:
LVMを準備せずにディスクを削除したばかりの場合は、ディスクをサーバーに挿入して再起動します。デバイスを削除するには、まずボリュームグループからディスクを削除し、次にサーバーから削除します。
シナリオ 2:
ディスクがサーバーにマウントされていてもまだ不明な場合は、LVMメタデータが失われる可能性があります。示されているようにデバイスのUUIDを復元pvscan
し、vgcfgrestore
LVMメタデータの復元を実行する必要があります。例えば、
pvcreate --uuid 56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu /dev/sdc
vgcfgrestore ops
vgchange -ay ops
fsck /dev/ops/
注:図のように正しいUUIDを使用していることを確認してくださいpvscan
。それ以外の場合はvgcfgrestore
失敗する可能性があります。
原因:ボリュームグループに含まれている物理ディスクが削除されました。
答え3
--restorefile
何を使うべきかについて質問がある場合は、上記--uuid
のディレクトリを一覧表示して/etc/lvm/archive
vgの最新のディレクトリを見つけます。その後、コマンドの形式は次のようになります。
pvcreate --uuid "your_uuid" --restorefile /etc/lvm/archive/your_restore_file.vg /dev/your_disk