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 должны быть изменены при монтировании (я не уверен в остальном).