Как вы запускаете lvm's thin_dump или thin_check? метаданные не могут быть живыми, но какой вариант вы используете?
Я хочу бежать thin_dump
, а также thin_check
, Они говорят, что они не могут быть запущены на живых метаданных. Это нормально для меня. Проблема в том, что я не знаю, как заставить метаданные не жить, но я все еще могу дать thin_dump
а также thin_check
аргумент о том, что нужно бежать.
Я вижу, что есть альтернативный способ использовать снимок метаданных для живых метаданных, но я не хочу делать это таким образом. Я не хочу ничего менять на диске в это время.
# lvs -a
disk1thin lvm twi-aot--- <4.53t 92.10 83.47
[disk1thin_tdata] lvm Twi-ao---- <4.53t
[disk1thin_tmeta] lvm ewi-ao---- 640.00m
# # Need to de-activate the metadata - this is the only way I know how, but must not be right
# lvchange -an lvm/disk1thin
# lvs -a
disk1thin lvm twi---t--- <4.53t
[disk1thin_tdata] lvm Twi------- <4.53t
[disk1thin_tmeta] lvm ewi------- 640.00m
# thin_dump <uhh, what goes here?>
# thin_dump lvm/disk1thin
Couldn't stat path
# thin_dump lvm/disk1thin_tdata
Couldn't stat path
# thin_dump lvm/disk1thin_tmeta
Couldn't stat path
# thin_dump lvm/disk1thin-tpool
Couldn't stat path
# ls -la /dev/mapper
# crw------- 1 root root 10, 236 May 31 00:28 control
# # Not listed
# ls -la /dev/lvm/
ls: cannot access '/dev/lvm/': No such file or directory
# lvchange -ay lvm/disk1thin_tmeta
Operation not permitted on hidden LV lvm/disk1thin_tmeta
# # Nope, that didn't work...
Я также пытался после того, как они активны, работает dmsetup suspend
на них, но это приостанавливает все чтения от них, как говорится в его man-странице, поэтому, хотя они существуют в /dev/lvm
, thin_dump
а также thin_check
на них нельзя бегать.
Я также попробовал, как только тонкий пул деактивируется:
# thin_dump /dev/sdh3
bad checksum in superblock, wanted 3832019051
И это говорит плохую контрольную сумму для любого другого устройства, у которого есть тонкий объем на нем. Я знаю, что все диски не испортились, поэтому я уверен, что это неправильный вариант. Хотя тонкий пул находится на этом устройстве, устройство запускается с меньшего не тонкого lv, поэтому опция не говорит ему, чтобы искать в нужном месте тонкий объем.
1 ответ
Я не собираюсь отмечать это как ответ, потому что я думаю, что это ужасно. И я не могу рекомендовать это. Это сработало для меня.
Но должен быть лучший способ. Надеюсь, кто-то знает это.
Убедитесь, что АБСОЛЮТНО НИЧЕГО не использует тонкий бассейн. Вы не можете загрузиться на нем. Если это ваш корневой том, вы должны работать с ISO. umount
любые петлевые устройства, которые вы можете использовать, остановить обмен файлами и т. д. lvchange -an
все лв находятся в тонком бассейне, чтобы деактивировать их. (Но не деактивируйте сам тонкий том.)
# dmsetup info -c
Name Maj Min Stat Open
lvm-disk1thin-tpool 253 10 L--w 1...
lvm-disk1thin_tdata 253 9 L--w 0...
lvm-disk1thin_tmeta 253 8 L--w 0...
Убедитесь, что открыт 0 _tdata
а также _tmeta
, Я не знаю, почему открыт 1 для -tpool
, Я не мог понять, как сделать это 0.
# dmsetup remove lvm-disk1thin-tpool
device-mapper: remove ioctl on lvm-disk1thin-tpool failed: Device or resource busy
Итак, ради безопасности, выясните, как сделать это 0. Или, если вы авантюрный:
# dmsetup remove -f lvm-disk1thin-tpool
device-mapper: remove ioctl on lvm-disk1thin-tpool failed: Device or resource busy
Command failed
Но сделал это?
# lvs -a
disk1thin lvm twi-XXt-X- <4.53t
[disk1thin_tdata] lvm Twi------- <4.53t
[disk1thin_tmeta] lvm ewi-a----- 640.00m
Эти X для неизвестного состояния, открытость устройства неизвестна, объем здоровья неизвестен.
# thin_dump lvm-disk1thin_tmeta
(YAY, output!)
Затем, чтобы снова активировать тонкий пул:
# lvchange -ay lvm/disk1thin
(Вам нужно будет повторно активировать все деактивированные lv, перемонтировать и запустить все, что вы остановили и т. Д.)
@user1902689 решение (работает на Ubuntu 18.04):
# Reserve the metadata snapshot
dmsetup message /dev/mapper/volg-volg--thinpool-tpool 0 reserve_metadata_snap
# Run the dump (the -m is the crtical part here)
thin_dump --format xml -m /dev/mapper/volg-volg--thinpool_tmeta
# Release the metadata snapshot
dmsetup message /dev/mapper/volg-volg--thinpool-tpool 0 release_metadata_snap
Я считаю, что снимок метаданных находится в памяти, поэтому вы не хотите долго его хранить.
К вашему сведению - volg - это моя группа томов - thinpool - это объем thinpool - tpool скрыт.
# lvs -a
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
[lvol0_pmspare] volg ewi------- 12.00m
thin_volume volg Vwi-a-tz-- 6.00g volg-thinpool 31.96
thin_volume_snap1 volg Vwi---tz-k 6.00g volg-thinpool thin_volume
thin_volume_snap2 volg Vwi---tz-k 6.00g volg-thinpool thin_volume
thin_volume_snap3 volg Vwi---tz-k 6.00g volg-thinpool thin_volume
volg-thinpool volg twi-aotz-- 9.80g 20.51 9.41
[volg-thinpool_tdata] volg Twi-ao---- 9.80g
[volg-thinpool_tmeta] volg ewi-ao---- 12.00m