URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 61252
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Удаление физического раздела из LVM"

Отправлено auto_tips , 23-Ноя-09 17:09 
Монитор системы в Ubuntu 9.10 показал наличие проблемы с одним диском (/dev/sdb), который включён в LVM.

Пришлось исключить этот диск из LVM вот таким образом, все операции опасны и выполняются под root.

   1. Сначала нужно определить на сколько следует уменьшить LVM
   2. Затем преобразовать файловую систему EXT3 в EXT2, и умёньшить
   3. Удалить физический том и извлечь его из VG
   4. Расширить LVM и EXT2 до предела
   5. Восстановить EXT3

Обязательно необходимо соблюдать последовательность выполнения операций

   pvs

   PV         VG      Fmt  Attr PSize   PFree
   /dev/sda5  mediavg lvm2 a-     6,24G    0
   /dev/sda6  mediavg lvm2 a-    48,30G    0
   /dev/sdb2  linux   lvm2 a-    32,49G 5,86G
   /dev/sdb5  media   lvm2 a-   200,20G    0
   /dev/sdc1  media   lvm2 a-   596,17G    0

Видно, что LVM на media нужно уменьшить на более чем 200Gb, иначе не удасться извлечь /dev/sdb5

   vgs

   VG      #PV #LV #SN Attr   VSize   VFree
   linux     1   2   0 wz--n-  32,49G 5,86G
   media     2   1   0 wz--n- 796,36G    0
   mediavg   2   1   0 wz--n-  54,54G    0

   lvs

   LV     VG      Attr   LSize   Origin Snap%  Move Log Copy%
   ubuntu linux   -wi-a-   6,63G                              
   var    linux   -wi-ao  20,00G                              
   media4 media   -wi-a- 796,36G                              
   home   mediavg -wi-ao  54,54G

Первым делам нужно преобразовать EXT3 в EXT2 иначе resize2fs не сможет её правильно уменьшить - удаляем журнал транзакций

   tune2fs -O ^has_journal /dev/media/media4
   fsck -n  /dev/media/media4

Уменьшаем EXT2, эта операция длительная, требует отмонтирования и для неё необходимо достаточно свободного места

   resize2fs /dev/media/media4 590G

Если не удаётся отмонтировать то можно найти программу которая использует этот раздел вот так

   lsof -n|grep media

После уменьшения EXT2 необходима длительная проверка с помощью

   e2fsck -f /dev/media/media4

Затем уменьшаем LVM

   lvreduce -L-205G  /dev/media/media4

На предупреждение приходится отвечать Y

   lvs

   LV     VG      Attr   LSize   Origin Snap%  Move Log Copy%
   ubuntu linux   -wi-a-   6,63G                              
   var    linux   -wi-ao  20,00G                              
   media4 media   -wi-a- 591,36G                              
   home   mediavg -wi-ao  54,54G

   vgs

   VG      #PV #LV #SN Attr   VSize   VFree  
   linux     1   2   0 wz--n-  32,49G   5,86G
   media     2   1   0 wz--n- 796,36G 205,00G
   mediavg   2   1   0 wz--n-  54,54G      0

Выводим его из vg

   vgreduce media /dev/sdb5

и если необходимо выводим физический раздел

   pvmove /dev/sdb5

В случае, если EXT2 не уместилась на одном PV эти команды не сработают и придётся ещё раз уменьшать EXT2

Теперь осталось расширить LVM и EXT2 и конвертировать в EXT3

   lvextend -l +100%FREE  /dev/media/media4
   resize2fs /dev/media/media4
   tune2fs -j /dev/media/media4

URL: http://breys.ru/blog/464.html
Обсуждается: http://www.opennet.me/tips/info/2228.shtml


Содержание

Сообщения в этом обсуждении
"Удаление физического раздела из LVM"
Отправлено аноним , 23-Ноя-09 17:09 
По-моему, resize2fs умеет правильно уменьшать ext3, без переконвертирования в ext2. Сам уменьшал недавно раздел на CentOS 5.3

"Удаление физического раздела из LVM"
Отправлено ffsdmad , 24-Ноя-09 04:22 
я пробовал, но затем ПОЧТИ всегда после уменьшения fsck выявлял миллион ошибок и складывал их в lost-found, но если вернуть LVM в до прежнего размера fsck всё восстанавливал

"Удаление физического раздела из LVM"
Отправлено VecH , 23-Ноя-09 21:53 
А не целесообразней все же сначала прогнать fsck прежде чем журнал выносить?

"Удаление физического раздела из LVM"
Отправлено ponchick , 24-Ноя-09 03:18 
Не, resize2fs все равно потребует сначала выполнить fsck перед запуском, так что получим 2 запуска fsck.

"Удаление физического раздела из LVM"
Отправлено ponchick , 24-Ноя-09 03:20 
Сначала выполняется pvmove, только потом vgreduce. А иначе с большой вероятностью умирает весь /dev/media/media4.

"Удаление физического раздела из LVM"
Отправлено ffsdmad , 24-Ноя-09 14:13 
>Сначала выполняется pvmove, только потом vgreduce. А иначе с большой вероятностью умирает
>весь /dev/media/media4.

а можно подробнее?
не понимаю каким образом vg и собсвенно lvm будет работать без pv


"Удаление физического раздела из LVM"
Отправлено dev , 24-Ноя-09 10:19 
>lsof -n|grep media

man fuser


"Удаление физического раздела из LVM"
Отправлено avb , 25-Ноя-09 20:29 
По моему, слишком много лишних телодвижений, LVM тем и хороша, что позволяет переносить экстенты между физическими дисками без каких либо издевательств над файловой системой. Почему нельзя было просто добавить в систему другой диск, добавить его через pvcreate, затем перенести на него экстенты через pvmove и потом сделать pvreduce на сбойный диск после чего спокойно удалять последний из системы? А у вас как-то все наоборот да еще и манипуляции с ФС требуются.

"Удаление физического раздела из LVM"
Отправлено avb , 25-Ноя-09 20:31 
прошу прощения, удалять диск надо командой vgreduce (не pvreduce)

"Удаление физического раздела из LVM"
Отправлено ffsdmad , 25-Ноя-09 20:31 
>По моему, слишком много лишних телодвижений, LVM тем и хороша, что позволяет
>переносить экстенты между физическими дисками без каких либо издевательств над файловой
>системой. Почему нельзя было просто добавить в систему другой диск, добавить
>его через pvcreate, затем перенести на него экстенты через pvmove и
>потом сделать pvreduce на сбойный диск после чего спокойно удалять последний
>из системы? А у вас как-то все наоборот да еще и
>манипуляции с ФС требуются.

буду рад почитать подробности
самому пришлось по быстрому выводить сбойный диск, эстетничать было не когда


"Удаление физического раздела из LVM"
Отправлено avb , 25-Ноя-09 21:13 
У меня была похожая ситуация, диск в lvm посыпался и надо было его срочно заменять. Правда диск у меня был всего один, и vg была одна, но это не принципиально. Система Centos 5.3, но это тоже не принципиально. В вашем случае я бы сделал так. 1. Добавил новый диск, объемом не меньше sdb. Пусть, например, он в системе определится как sdd. 2. Далее fdisk создал бы там 2 раздела типа 8e (lvm) размером соответсвенно не меньше sdb2 и sdb5. (Пусть будет sdd1 и sdd2) 3. Инициализируем физические тома: pvcreate /dev/sdd1 /dev/sdd2. 4. Добавляем физические тома в группы: vgextend linux /dev/sdd1, vgextend media /dev/sdd2. 5.Переносим экстенты со старых физических томов на новые: pvmove /dev/sdb2 /dev/sdd1, pvmove /dev/sdb5 /sdd2. С помощью pvscan убеждаемся что sdb2, sdb5 пусты. 6. Удаляем ненужные физические тома из групп linux и media: vgreduce linux /dev/sdb2, vgreduce media /dev/sdb5.  Собственно это все. Выключаем комп и вынимаем сбойный диск, потом включаем и радуемся. Вот и все. Красиво и изящно.  

"Удаление физического раздела из LVM"
Отправлено ffsdmad , 26-Ноя-09 17:03 
вот это
> 4. Добавляем физические тома в группы: vgextend linux /dev/sdd1, vgextend media /dev/sdd2.
> 5.Переносим экстенты со старых физических томов на новые: pvmove /dev/sdb2 /dev/sdd1, pvmove /dev/sdb5 /sdd2. С помощью pvscan убеждаемся что sdb2, sdb5 пусты.

интересно, но добавит не откуда было, там и так очень много данных пришлось расскидать в сети, места не было у ни кого


"Удаление физического раздела из LVM"
Отправлено avb , 26-Ноя-09 21:26 
ну если купить диск на 250 гигабайт совсем было невозможно, то тогда согласен.

"Удаление физического раздела из LVM"
Отправлено sergei , 28-Ноя-09 14:03 
system-config-lvm не проще?

"Удаление физического раздела из LVM"
Отправлено locke314 , 20-Мрт-11 19:59 
Полтора года прошло с тех пор, а дистрибутивный system-config-lvm в убунте до сих пор ничего подобного не может.