Назад | Перейти на главную страницу

Смена разделов диска с помощью RAID и LVM

TL; DR: Как объединить разделы RAID + LVM онлайн (не трогая rootfs)?

У меня есть сервер, который раньше использовался для чего-то другого, и на нем была создана определенная структура разделов. df -h показывает

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/raid1-rootfs
                       50G   28G   20G  59% /
tmpfs                  16G     0   16G   0% /lib/init/rw
udev                   16G  152K   16G   1% /dev
tmpfs                  16G  624K   16G   1% /dev/shm
/dev/md0              460M   29M  408M   7% /boot
/dev/mapper/raid1-data
                       99G   20G   74G  22% /data
/dev/mapper/raid1-mysql
                       99G  4.6G   89G   5% /data/mysql
/dev/mapper/raid1-backup
                       99G  664M   93G   1% /data/backup
/dev/mapper/raid1-activemq
                       99G  188M   94G   1% /data/activemq
/dev/mapper/raid1-backups
                      1.0T  651G  373G  64% /backup

В принципе мне не нужны разные /data перегородок больше нет. Мне в основном нужно, если хранить резервные копии в последнем разделе, смонтированном в /backup.

Чтобы там было больше места на диске, я хотел бы добавить 4*99G перегородок над ним в /backup. Также неплохо было бы объединить их в отдельный раздел, тогда я мог бы смонтировать к нему какой-то подкаталог.

Диск зеркальный и явно имеет LVM.

Я немного не понимаю, как это сделать, я хотел бы иметь возможность делать это онлайн, у меня нет физического доступа.

Можете ли вы объяснить или посоветовать мне, как этого можно достичь?

PS:

fdisk -l говорит мне:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted

lvdisplay вывод:

  --- Logical volume ---
  LV Name                /dev/raid1/swap
  VG Name                raid1
  LV UUID                gOtYhu-oORL-JZRy-inlb-hlyn-0qGU-SBxYo3
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Name                /dev/raid1/rootfs
  VG Name                raid1
  LV UUID                Y3np5X-IyEn-WMGW-2t51-LIiX-9I8z-rnBXZp
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/raid1/activemq
  VG Name                raid1
  LV UUID                0mGA9R-wi89-adqN-oI2x-W24j-2qzD-pXJdNA
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Name                /dev/raid1/mysql
  VG Name                raid1
  LV UUID                D5dD6A-1TDZ-fKsO-pc1u-Xttm-Wb2K-RjqAJw
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

  --- Logical volume ---
  LV Name                /dev/raid1/backup
  VG Name                raid1
  LV UUID                Brfzgy-nDWG-xyAD-b2a5-sTWf-T7hX-jZRiji
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4

  --- Logical volume ---
  LV Name                /dev/raid1/data
  VG Name                raid1
  LV UUID                JmF16w-jLJz-V3Is-WeTb-K0Qn-uG21-WhLWJY
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6

  --- Logical volume ---
  LV Name                /dev/raid1/storage
  VG Name                raid1
  LV UUID                0qRsZl-Kbix-6dhc-g7UD-xJuG-tK3t-zP04fd
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                25.00 GiB
  Current LE             6400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7

  --- Logical volume ---
  LV Name                /dev/raid1/backups
  VG Name                raid1
  LV UUID                g3VgO6-QkEv-KlD4-Wo7N-0cvn-Aolg-1hz1P1
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.00 TiB
  Current LE             262144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:8

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

Сначала убедитесь, что вам не нужны данные, хранящиеся на /data файловых систем (сделайте резервную копию или скопируйте где-нибудь еще, если вы это сделаете). убедитесь, что никакие процессы не используют файлы в этих файловых системах (lsof -n | grep /data).

размонтировать файловые системы:

# umount /dev/mapper/raid1-backups
# umount /dev/mapper/raid1-activemq
# umount /dev/mapper/raid1-backup
# umount /dev/mapper/raid1-mysql
# umount /dev/mapper/raid1-data

Если какое-либо из этих размонтирований завершится неудачно, проверьте еще раз, используют ли какие-либо процессы файловые системы. Убедитесь, что вы размонтировали /dev/mapper/raid1-data наконец, поскольку остальные монтируются поверх этой файловой системы.

Не забудьте изменить /etc/fstab чтобы удалить строки для этих файловых систем.

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

# lvremove raid1/data
# lvremove raid1/mysql
# lvremove raid1/backup
# lvremove raid1/activemq

Береги себя raid1/backup, у вас также есть raid1/backups что вы хотите сохранить!

Обратите внимание, у вас также есть raid1/storage перечислено в вашем lvdisplay вывод, который, по-видимому, не установлен. Проверьте, нужен ли этот логический том, а если нет, вы также можете удалить его.

Теперь пространство, которое было выделено этим логическим томам, было возвращено как доступное для группы томов (вы можете проверить с помощью vgdisplay raid1). Теперь вы можете увеличить логический том «резервных копий»:

# lvresize --resizefs --size +XXX raid1/backups

Заменить XXX со свободным размером, который вы видите в vgdisplay вывод; например использовать --size +500G если отображается 500 ГиБ.

В --resizefs говорит lvresize изменять файловую систему вместе с логическим томом; он использует fsadm команда для этого. Это должно работать с файловыми системами ext2, ext3, ext4, reiserfs и xfs. По крайней мере, файловые системы ext3 и ext4 должны быть изменены при монтировании (я не уверен в остальном).