Мне любопытно, можно ли создать снимок (например) тома 10 ГБ, а затем изменить размер снимка до 20 ГБ вместе с файловой системой внутри?
С помощью lvresize
или lvextend
изменяет только размер COW-таблицы, размер LV остается равным 10 ГБ, и последующая попытка изменить размер файловой системы терпит неудачу. Например.
# lvextend --size 20G --resizefs /dev/vg_data/bigsize_test
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/mapper/vg_data-bigsize_test: clean, 27/655360 files, 85571/2621440 blocks
Extending logical volume bigsize_test to 20.00 GiB
Logical volume bigsize_test successfully resized
resize2fs 1.42 (29-Nov-2011)
The containing partition (or device) is only 2621440 (4k) blocks.
You requested a new size of 5242880 blocks.
fsadm: Resize ext4 failed
fsadm failed: 1
Это оставляет снимок с большим COW-table size
, но не большой LV Size
к чему я стремился:
# lvdisplay /dev/vg_data/bigsize_test
--- Logical volume ---
LV Name /dev/vg_data/bigsize_test
VG Name vg_data
LV UUID 77uCVJ-Sdml-KlQS-xGkS-mPiT-ITzU-0i7Zwi
LV Write Access read/write
LV snapshot status active destination for /dev/vg_data/origin
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
COW-table size 20.00 GiB
COW-table LE 5120
Allocated to snapshot 0.00%
Snapshot chunk size 4.00 KiB
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:30
Можно ли сделать снимок больше, чем его источник?
Моментальный снимок LVM2 не является клоном, он просто отслеживает состояние раздела, созданного моментальным снимком, в данный момент. Если бы это было 10 ГБ, вы не можете просто это изменить. Если вы хотите создать большую копию содержимого раздела в определенное время, просто создайте новый том 20 ГБ и скопируйте снимок. Хорошо ясно понимать (себе и другим), чего вы хотите достичь.