从命令行更改 Centos 7 系统上的分区

从命令行更改 Centos 7 系统上的分区

我刚刚全新安装了包含 3 个磁盘的 Centos 7 系统。最终结果如下:

[root@nas /]# fdisk -l

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000a491f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200  3907028991  1952464896   8e  Linux LVM

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00031210

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  3907028991  1953513472   8e  Linux LVM

Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000839dc

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  3907028991  1953513472   8e  Linux LVM

Disk /dev/mapper/centos_nas-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/centos_nas-swap: 4026 MB, 4026531840 bytes, 7864320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/centos_nas-home: 5942.4 GB, 5942389243904 bytes, 11606228992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

以及一个 fstab:

[root@nas /]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Dec  3 19:45:04 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_nas-root /                       xfs     defaults        0 0
UUID=f62f73ae-52eb-49b8-9d40-2cc274c89112 /boot                   xfs     defaults        0 0
/dev/mapper/centos_nas-home /home                   xfs     defaults        0 0
/dev/mapper/centos_nas-swap swap                    swap    defaults        0 0

最终,我希望第一个磁盘是“系统磁盘”,并带有 / 等的挂载点。

然后我希望第二个 (/dev/sdb) 和第三个磁盘 (/dev/sdc) 作为

/disk-2
/disk-3 

这样我就有了 3 个带有各自文件系统的独立磁盘。

由于我不明白如何在不破坏所有内容的情况下“撤消” LVM,因此我希望有人能够好心地让我调用命令来获取我请求的分区方案?

答案1

如果您需要询问该方法,那么您可能不应该尝试该方法。

该配方(显然没有经过测试,仅供粗略指导,而不是逐字复制)大致如下:

  • 首先备份您的数据并验证/测试您的恢复功能

很大程度上取决于物理磁盘当前如何分配给 LVM 卷组、有多少空间是空闲的或分配给 LVM 逻辑卷的、以及文件系统有多大以及其中有多少数据。(pvdisplay vgdisplay lvdisplay

如果安装程序留下了大量未分配的可用磁盘空间,您可以通过让 LVM 迁移数据来做很多事情,但如果没有,您就会面临额外的困难,因为据我所知,XFS 文件系统只能增大,不能缩小,您将手动备份数据并删除 LVM 分区以创建空白空间。

  • 您需要能够拥有/创建足够的“可用”空间,以便可以从 LVM 中删除 /dev/sda2。然后:

  • /dev/sda2请求 LVM 从底层物理磁盘中删除所有数据pvmove /dev/sda2

  • /dev/sda2使用以下命令从 LVM 中删除 vgreduce centos_nas /dev/sda2pvremove /dev/sda2

  • 为了正确性:更改 sda 上的分区标签,使 /dev/sda2 变为“Linux”,而不是“Linux LVM”,fdisk /dev/sda

  • 创建新的文件系统 mkfs.xfs /dev/sda2

  • 挂载新的文件系统mkdir /mnt/tempmount /dev/sda2 /mnt/temp

  • 将数据从当前根文件系统复制到新的根文件系统:tar --one-file-system -lcf - .|(cd /mnt/temp; tar -xpvf - )或与您选择的备份工具类似

  • 更改 grub 配置/boot和新的 fstab/mnt/temp/etc/fstab以用作/dev/sda2根文件系统

重启

希望最好的

移动根文件系统后,您可以随意移动其他 LVM 卷中的数据

相关内容