どういうわけか、ubuntu 14.04でシンプロビジョニングされたlvmボリュームを台無しにしたので、すべてのボリュームとデータが含まれているシンプールを削除することから始めます。残念ながらこれは失敗し、解決策を見つけることができません。
論理ボリュームは次のようになります。
user@server1:~$ Sudo lvs
dm_report_object: report function failed for field data_percent
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
project2 vg0 Vwi-i-tz- 22.00g mythinpool
project1 vg0 Vwi---tz- 20.00g mythinpool
project3 vg0 Vwi---tz- 21.00g mythinpool
home vg0 -wi-ao--- 140.00g
mythinpool vg0 twi-i-tz- 78.82g 52.15
root vg0 -wi-ao--- 10.00g
swap vg0 -wi-ao--- 4.00g
tmp vg0 -wi-ao--- 5.00g
次に、3つのlvmsが含まれているシンプールを削除します。
Sudo lvremove /dev/vg0/mythinpool
Removing pool mythinpool will also remove 3 thin volume(s). OK? [y/n]: y
Do you really want to remove and DISCARD logical volume project1? [y/n]: y
device-mapper: message ioctl on failed: Invalid argument
Unable to deactivate open vg0-mythinpool_tdata (252:5)
Unable to deactivate open vg0-mythinpool_tmeta (252:4)
Failed to deactivate vg0-mythinpool-tpool
Failed to resume mythinpool.
Failed to update thin pool mythinpool.
Mythinpool内のデータは気にしませんが、ボリュームグループvg0の残りの部分はそのままにしておく必要があります。どうすればこの問題を解決できますか?これについて助けてくれてありがとう.
EDIT 1:shodanshokからの回答に従って、CentOS7を起動して1つのLVMイメージを削除することができましたが、シンプールを含む他の2つのボリュームに問題はありません別のエラーメッセージを返します-transaction_idの不一致:
Lvconvert --repairに使用できるスペースもありません
私は最後に、ここで説明するいくつかの簡単な手順でそれを非常に解決しました: 破損したLVMシンプールを削除
vgcfgbackup -f vg.bak vgname
//edit vg.bak and remove all thinp related volumes
vgcfgrestore -f vg.bak vgname
@shodanshokのアドバイスに従って、USBスティック上のサーバーに固定されたLive CentOS7を起動した後、説明されているコマンドを発行し、最終的に同じ内部にあるルートファイルシステムを損傷することなく、破損したシンプールを取り除くことができました。ボリュームグループ。
最終的に解決策に導いた有益なアドバイスをありがとうございました。
何かが、シンボリュームを開いたままにしています。以下を行ってください:
lsof | grep mountpoint
を使用して、問題のプロセスを見つけることができます。それらを殺し、ファイルシステムをアンマウントしてみてください編集:
ライブイメージは使用できず、レスキューシステムはシンボリュームをサポートしていないため、別のルートを試すことができます。基本的に、シンボリューム/プールに「スキップアクティベーションフラグ」を設定し、マシンを再起動します。次の手順を実行します:
lvchange -ky vg0/project1 ; lvchange -ky vg0/project2 ; lvchange -ky vg0/project3 ; lvchange -ky vg0/mythinpool
lvremove
で削除できますただし、これらのボリュームのいずれかがマシンの起動に必要な場合は、起動できないマシンで終了します。リカバリコンソールなどを使用してマシンを復元するには、必ず「プランB」を用意してください。
編集2
システムが-k
フラグをサポートしていない場合は、lvchange -aay volumename
を使用して再起動できます。これにより、ボリュームが自動アクティベーション用に設定されます。これは、/etc/lvm.conf
で指定されたボリュームに対してのみ機能します