Вы здесь

Увеличиваем размер тома в LVM

Увеличиваем размер тома LVM

Недавно понадобилось увеличить размер тома LVM на виртуальном сервере с Debian 7 (VMWare), поэтому решил написать небольшую инструкцию.

  1. Подключаем новый жесткий диск

    Он должен определиться в системе как /dev/sdX ( X - буква диска, может быть разной), например sdb. Посмотреть можно командой

    1. fdisk -l

    Так как я добавил новый HDD через клиент VMWare vSphere-client, и сервер не перезагружал, то диск у меня в системе никак не определился.

    Даем контроллеру команду «перечитать» список устройств, подключенных к тому или иному порту. Если там найдутся новые устройства, ядро их увидит:

    1. echo "- - -" >/sys/class/scsi_host/hostX/scan

    X — номер шины, совпадает с номером SATA порта на материнской плате. Если не знаете, можете смело делать для всех хостов по очереди (host0, host1, host2) ничего страшного, кроме небольшого лага в дисковых операциях, незаметного для софта и файловой системы, не произойдет.

    Обратите внимание, host'ы нумеруются с 0, а не с 1. (в dmesg ata устройства нумеруются с 1).

    после этого еще раз выполняем

    1. fdisk -l

    и видим новый HDD.

    В случае, если вы хотите присоединить в LVM-пространству не весь диск целиком, и только его раздел, то делаем следующее:
    Выполняем команду fdisk /dev/sdX, затем жмем n (создать новый раздел), по умолчанию будет предложено создать раздел на все доступное пространство винта, что нам и нужно. Жмем w - записать изменения и выйти. Таким образом у нас будет создан раздел /dev/sdX1.

    Если же весь диск целиком, то вышеуказанные манипуляции делать необязательно.

    О теории и технологии LVM я уже писал в статье Перенос LVM - раздела на новый жесткий диск, поэтому повторяться не буду.

  2. Инициализация HDD

    Перед использованием диска или раздела (в нашем случае только что созданный /dev/sdX2) в качестве физического тома для LVM его нужно инициализировать:

    1. pvcreate /dev/sdX2

    Либо можно сразу инициализировать целый диск команда:

    1. pvcreate /dev/sdb

    Эта команда создает в начале указанного диска или раздела описание физического тома, включающее дескриптор группы томов.

    На сервере уже создана группа томов LVM, смотрим её название командой:

    1. vgdisplay

    Примерный вывод будет такой:

    1. --- Volume group ---
    2. VG Name vg0
    3. System ID
    4. Format lvm2
    5. Metadata Areas 1
    6. Metadata Sequence No 20
    7. VG Access read/write
    8. VG Status resizable

    Нам нужно имя - vg0

  3. Добавляем наш инициализированный раздел (или жесткий диск целиком) в группу томов vg0

    1. vgextend vg0 /dev/sdX2

    Смотрим какие логические тома (LVM) у нас есть:

    1. lvdisplay

    Сокращенный вывод:

    1. --- Logical volume ---
    2. LV Path /dev/debian7/root
    3. LV Name root
    4. VG Name debian7
    5. LV UUID jhHPG1-36ZH-azBd-a3Nr-WTDu-W1Cu-MuSF04
    6. LV Write Access read/write
    7. LV Creation host, time debian7, 2013-07-11 20:31:51 +0600
    8. LV Status available
    9. # open 1
    10. LV Size 10.04 GiB
    11.  
    12. --- Logical volume ---
    13. LV Path /dev/debian7/home
    14. LV Name home
    15. VG Name debian7
    16. LV UUID Ud0k3v-EEaB-i2W5-dJWx-Nzr6-16py-vACXO5
    17. LV Write Access read/write
    18. LV Creation host, time debian7, 2013-07-11 20:31:52 +0600
    19. LV Status available
    20. # open 1
    21. LV Size 350.00 GiB
  4. Расширяем логический том home на все доступное пространство нового диска:

    Проверяем раздел home на ошибки (не обязательный шаг, проверить получится только отмонтированный раздел):

    1. e2fsck -f /dev/debian7/home

    Увеличиваем размер логического тома

    1. lvextend -l +100%FREE /dev/debian7/home

    Увеличиваем размер файловой системы

    Для файловых систем Ext*:

    1. resize2fs /dev/debian7/home

    Для файловых систем XFS (в основном используются в CentOS):

    1.  
    2. xfs_growfs /dev/debian7/home

UPDATE
В новых версиях LVM для команды xfs_growfs необходимо указать точку монтирования, а не преобразователь LVM.

Вот и все, на обоих типах ФС это можно сделать без перезагрузки.

Также рекомендуем