はじめに
間違って proxmox の thin-pool
の領域を消してしまった時のメモ
データは救えないけど、proxmoxから認識できる local-thin
は戻せる
領域を消してしまった過程
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 1G 0 part /boot/efi
└─sda3 8:3 0 464.8G 0 part
├─pve-swap 252:0 0 8G 0 lvm [SWAP]
├─pve-root 252:1 0 96G 0 lvm /
├─pve-data_tmeta 252:2 0 92M 0 lvm
│ └─pve-data 252:4 0 360.6G 0 lvm
└─pve-data_tdata 252:3 0 360.6G 0 lvm
└─pve-data 252:4 0 360.6G 0 lvm
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 476.9G 0 part
└─nvme0n1p9 259:2 0 8M 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data pve twi-a-tz-- <360.58g 0.00 10.42
root pve -wi-ao---- 96.00g
swap pve -wi-ao---- 8.00g
# lvremove /dev/pve/data
Do you really want to remove active logical volume pve/data? [y/n]: y
Logical volume "data" successfully removed.
削除内容の確認
pve-data_tmeta
、pve-data-tdata
がなくなっている。。。
lvs
でも、 data
がなくなっているのがみえる
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 1G 0 part /boot/efi
└─sda3 8:3 0 464.8G 0 part
├─pve-swap 252:0 0 8G 0 lvm [SWAP]
└─pve-root 252:1 0 96G 0 lvm /
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 476.9G 0 part
└─nvme0n1p9 259:2 0 8M 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root pve -wi-ao---- 96.00g
swap pve -wi-ao---- 8.00g
復旧手順
lvcreate で thin-pool
を作るだけ
# lvcreate -n data -l 100%FREE --type thin-pool pve
Thin pool volume with chunk size 256.00 KiB can address at most 63.50 TiB of data.
Logical volume "data" created.
復旧内容の確認
pve-data_tmeta
、pve-data-tdata
が戻っている
lvs
でも、 data
も戻っている
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 1G 0 part /boot/efi
└─sda3 8:3 0 464.8G 0 part
├─pve-swap 252:0 0 8G 0 lvm [SWAP]
├─pve-root 252:1 0 96G 0 lvm /
├─pve-data_tmeta 252:2 0 92M 0 lvm
│ └─pve-data 252:4 0 360.6G 0 lvm
└─pve-data_tdata 252:3 0 360.6G 0 lvm
└─pve-data 252:4 0 360.6G 0 lvm
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 476.9G 0 part
└─nvme0n1p9 259:2 0 8M 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data pve twi-a-tz-- <360.58g 0.00 10.42
root pve -wi-ao---- 96.00g
swap pve -wi-ao---- 8.00g
最初は、 _tdata
を含む領域を lvcreate
で作ろうとしていたが、
LVMが Thin Pool を内部管理するための予約済みサフィックスのため作成できなかった。
# lvcreate -n data_tdata -l 100%FREE pve
Names including "_tdata" are reserved. Please choose a different LV name.
Run `lvcreate --help' for more information.
Proxmox の初期インストール時に見えていた pve-data_tdata や pve-data_tmeta などの「_tdata」「_tmeta」という名前は、LVM では、ユーザが明示的に _tdata や _tmeta を含む名前で LV を作ろうとすると、エラーがでるようになっている。
代わりに、Thin Pool LV(たとえば pve/data)を一括で作成または変換する操作を行うと、LVM が自動的に内部的な _tdata / _tmeta 名の LV を生成してくれる。
さいごに
かんたんでしたね