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。
我有点不知道该如何做,我希望能够在线完成,但我没有物理访问权限。
您能解释或指导我如何实现这一点吗?
附言:
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
请注意,有一个分区被排除在输出之外,并且与此操作无关。
答案1
首先确保您不再需要存储在文件系统上的数据/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 GiB 则使用。
指示修改文件系统和逻辑卷;它使用命令来--resizefs
执行此操作。这应该适用于 ext2、ext3、ext4、reiserfs 和 xfs 文件系统。至少 ext3 和 ext4 文件系统在安装时应该可以调整大小(我不确定其余的文件系统)。lvresize
fsadm