The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Удаление физического раздела из LVM
Монитор системы в 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
 
23.11.2009 , Автор: ffsdmad , Источник: http://breys.ru/blog/464.html...
Ключи: linux, ext2, ext3, resize, lvm, disk / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Диагностика и Восстановление после сбоя

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, аноним (?), 17:09, 23/11/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    По-моему, resize2fs умеет правильно уменьшать ext3, без переконвертирования в ext2. Сам уменьшал недавно раздел на CentOS 5.3
     
     
  • 2.6, ffsdmad (ok), 04:22, 24/11/2009 [^] [ответить]    [к модератору]
  • +/
    я пробовал, но затем ПОЧТИ всегда после уменьшения fsck выявлял миллион ошибок и складывал их в lost-found, но если вернуть LVM в до прежнего размера fsck всё восстанавливал
     
  • 1.3, VecH (ok), 21:53, 23/11/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    А не целесообразней все же сначала прогнать fsck прежде чем журнал выносить?
     
     
  • 2.4, ponchick (?), 03:18, 24/11/2009 [^] [ответить]    [к модератору]
  • +/
    Не, resize2fs все равно потребует сначала выполнить fsck перед запуском, так что получим 2 запуска fsck.
     
  • 1.5, ponchick (?), 03:20, 24/11/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Сначала выполняется pvmove, только потом vgreduce. А иначе с большой вероятностью умирает весь /dev/media/media4.
     
     
  • 2.8, ffsdmad (ok), 14:13, 24/11/2009 [^] [ответить]    [к модератору]  
  • +/
    >Сначала выполняется pvmove, только потом vgreduce. А иначе с большой вероятностью умирает
    >весь /dev/media/media4.

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

     
  • 1.7, dev (??), 10:19, 24/11/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >lsof -n|grep media

    man fuser

     
  • 1.9, avb (??), 20:29, 25/11/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    По моему, слишком много лишних телодвижений, LVM тем и хороша, что позволяет переносить экстенты между физическими дисками без каких либо издевательств над файловой системой. Почему нельзя было просто добавить в систему другой диск, добавить его через pvcreate, затем перенести на него экстенты через pvmove и потом сделать pvreduce на сбойный диск после чего спокойно удалять последний из системы? А у вас как-то все наоборот да еще и манипуляции с ФС требуются.
     
     
  • 2.10, avb (??), 20:31, 25/11/2009 [^] [ответить]    [к модератору]  
  • +/
    прошу прощения, удалять диск надо командой vgreduce (не pvreduce)
     
  • 2.11, ffsdmad (ok), 20:31, 25/11/2009 [^] [ответить]    [к модератору]  
  • +/
    >По моему, слишком много лишних телодвижений, LVM тем и хороша, что позволяет
    >переносить экстенты между физическими дисками без каких либо издевательств над файловой
    >системой. Почему нельзя было просто добавить в систему другой диск, добавить
    >его через pvcreate, затем перенести на него экстенты через pvmove и
    >потом сделать pvreduce на сбойный диск после чего спокойно удалять последний
    >из системы? А у вас как-то все наоборот да еще и
    >манипуляции с ФС требуются.

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

     
     
  • 3.12, avb (??), 21:13, 25/11/2009 [^] [ответить]    [к модератору]  
  • +/
    У меня была похожая ситуация, диск в 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.  Собственно это все. Выключаем комп и вынимаем сбойный диск, потом включаем и радуемся. Вот и все. Красиво и изящно.  
     
     
  • 4.13, ffsdmad (ok), 17:03, 26/11/2009 [^] [ответить]    [к модератору]  
  • +/
    вот это
    > 4. Добавляем физические тома в группы: vgextend linux /dev/sdd1, vgextend media /dev/sdd2.
    > 5.Переносим экстенты со старых физических томов на новые: pvmove /dev/sdb2 /dev/sdd1, pvmove /dev/sdb5 /sdd2. С помощью pvscan убеждаемся что sdb2, sdb5 пусты.

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

     
     
  • 5.14, avb (??), 21:26, 26/11/2009 [^] [ответить]    [к модератору]  
  • +/
    ну если купить диск на 250 гигабайт совсем было невозможно, то тогда согласен.
     
  • 1.15, sergei (??), 14:03, 28/11/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    system-config-lvm не проще?
     
     
  • 2.16, locke314 (?), 19:59, 20/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Полтора года прошло с тех пор, а дистрибутивный system-config-lvm в убунте до сих пор ничего подобного не может.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor