Я как-то испортил несколько томов lvm с тонкой подготовкой в ubuntu 14.04, и теперь я хочу начать все заново, удалив тонкий пул со всеми его томами и данными внутри. К сожалению, это не удается, и я не могу найти решение.
Логические тома выглядят так:
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
Теперь я хочу удалить тонкий бассейн с тремя уровнями внутри:
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 ДОЛЖНА оставаться нетронутой. Как я мог решить эту проблему? Спасибо за любую помощь по этому поводу.
РЕДАКТИРОВАТЬ 1: После ответа от shodanshok я смог удалить один LVM-образ, загрузившись в CentOS7, но, к сожалению, два других тома, включая тонкий пул, возвращают другое сообщение об ошибке - transaction_id mismatch:
Также нет места для lvconvert --repair
Я, наконец, решил это очень с помощью нескольких простых шагов, как описано здесь: удалить поврежденный тонкий пул LVM
vgcfgbackup -f vg.bak vgname
//edit vg.bak and remove all thinp related volumes
vgcfgrestore -f vg.bak vgname
Следуя совету @shodanshok по загрузке в Live CentOS7, прикрепленного к серверу на USB-накопителе, я смог выполнить описанные команды и в конечном итоге избавиться от поврежденного тонкого пула, не повредив корневую файловую систему, которая находится внутри того же группа томов.
Спасибо всем за ваш полезный совет, который в конечном итоге привел к решению.
Что-то держит ваши тонкие тома открытыми. Пожалуйста, сделайте следующее:
lsof | grep mountpoint
найти нарушающие процессы. Убейте их и попробуйте размонтировать файловые системыРЕДАКТИРОВАТЬ:
Поскольку вы не можете использовать живое изображение, а ваша система спасения не поддерживает тонкие тома, мы можем попробовать альтернативный путь. Обычно мы устанавливаем «флаг пропуска активации» на тонких томах / пуле и перезагружаем машину. Следуй этим шагам:
lvchange -ky vg0/project1 ; lvchange -ky vg0/project2 ; lvchange -ky vg0/project3 ; lvchange -ky vg0/mythinpool
lvremove
Однако, если какой-либо из этих томов необходим для загрузки машины, вы получите незагружаемую машину. Убедитесь, что у вас есть план Б по восстановлению машины с помощью консоли восстановления или чего-то подобного.
РЕДАКТИРОВАТЬ 2
Если ваша система не поддерживает -k
флаг, вы можете попробовать использовать lvchange -aay volumename
и перезагрузитесь. Это установит громкость для автоактивации, которая работает только для томов, указанных на /etc/lvm.conf