使用 RAID 和 LVM 更改磁盘分区

使用 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。

我有点不知道该如何做,我希望能够在线完成,但我没有物理访问权限。

您能解释或指导我如何实现这一点吗?

附言:

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 文件系统在安装时应该可以调整大小(我不确定其余的文件系统)。lvresizefsadm

相关内容