在没有卷组的情况下扩展 VMWare 中的磁盘空间

在没有卷组的情况下扩展 VMWare 中的磁盘空间

我在 VMWare Fusion 中以访客身份安装了 CentOS7。需要增加我的磁盘大小。下列的本指南。必须迈出一步3) 使用新分区扩展逻辑卷并创建了一个物理卷。然而我的sudo vgdisplay显示如下:

[sudo] password for user:

即布吉斯。看起来我没有任何卷组。

我尝试这样做sudo vgcreate vg1 /dev/sda3 /dev/sda4,但得到了以下结果:

[sudo] password for user: 

  Can't open /dev/sda3 exclusively.  Mounted filesystem?

我在这方面不太懂。有谁知道我该如何进行?将不胜感激任何帮助。

这是输出fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     4810751     2097152   82  Linux swap / Solaris
/dev/sda3         4810752    41943039    18566144   83  Linux
/dev/sda4        41943040   104857599    31457280   8e  Linux LVM

file -sL每个分区的输出

[user@localhost ~]$ sudo file -sL /dev/sda1
/dev/sda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
[user@localhost ~]$ sudo file -sL /dev/sda2
/dev/sda2: Linux/i386 swap file (new style), version 1 (4K pages), size 524287 pages, no label, UUID=<blacked-out>
[user@localhost ~]$ sudo file -sL /dev/sda3
/dev/sda3: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
[user@localhost ~]$ sudo file -sL /dev/sda4
/dev/sda4: LVM2 PV (Linux Logical Volume Manager), UUID: <blacked-out>, size: 32212254720

编辑

输出df -hTP | grep -v tmpfs

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      xfs        18G   18G  257M  99% /
/dev/sda1      xfs       297M  204M   94M  69% /boot
.host:/        vmhgfs    233G  167G   66G  72% /mnt/hgfs

输出lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
├─sda3   8:3    0 17.7G  0 part /
└─sda4   8:4    0   30G  0 part 
sr0     11:0    1 1024M  0 rom  

答案1

如果你想让/dev/sda3更大,你必须删除或移动/dev/sda4。 Mattias 没有明确指出的一点是,当您的磁盘尚未使用 LVM 时,他的指南对您没有帮助。您无法轻松地扩展 /dev/sda3 而不冒破坏数据的风险。可以做到,但是稍微高级一点。

你到底在使用/dev/sda4吗?它似乎是一个未使用的 30GB 分区,您可能已创建该分区并将其标记为 LVM,但尚未配置。

腾出更多空间的最简单方法是在 /dev/sda4 上初始化 LVM。


如何在未使用的分区上设置LVM

警告: 确保 /dev/sda4 没有任何要保留的数据。这些步骤是破坏性的。

伏尔格0是我为卷组使用的任意名称。

日志卷0是我为逻辑卷使用的任意名称。

  1. 将 /dev/sda4 初始化为物理卷pvcreate /dev/sda4
  2. 创建卷组并将步骤 1 中的 PV 分配给它vgcreate volgr0 /dev/sda4
  3. 在新卷组上创建逻辑卷lvcreate -L +20G -n logvol0 volgr0
  4. 初始化(格式化)逻辑卷mkfs.xfs /dev/volgr0/logvol0

您现在有一个 10GB 逻辑卷,可以像常规磁盘分区一样使用(例如 /dev/hda3、/dev/vda2 等)。它的设备映射器路径可能是 /dev/mapper/volgr0-logvol0 或者您可以使用符号链接 /dev/volgr0/lgvol0 (取决于您的确切操作系统和配置,但这对于 Fedora/Cent/RHEL/SciLinux 来说非常典型)

现在只需在该卷上的当前文件系统中安装一个文件夹并使用它即可,例如mount /dev/volgr0/logvol0 /opt。这会将 /opt 目录挂载到您的 lvol0 上。


如何扩展常规分区的大小

警告: 确保 /dev/sda4 没有任何要保留的数据。这些步骤是破坏性的。事实上,备份整个 .vmdk 是个好主意。

  1. 使用 Live OS 映像重新启动 VM。我更喜欢系统救援光盘我自己就喜欢这种事情,但还有很多其他不错的选择。
  2. 使用 fdisk 删除 /dev/sda3 和 /dev/sda4
  3. 使用 fdisk,使用所有可用磁盘空间创建一个新分区 #3(它将是 /dev/sda3)(接受 fdisk 提供的默认值)
  4. 使用本地操作系统重新启动您的虚拟机
  5. 调整 /dev/sda3 文件系统的大小xfs_growfs /dev/sda3(Mattias写博客对这个)

瞧!

是的,使用 fdisk 从救援映像中删除分区是可怕的......但在这种情况下,您所做的只是删除分区表本身中的条目,而不是实际的分区。

因此,最后我喜欢经常重复的一课:当有疑问时,继续使用 LVM。

答案2

消除sda4,记下开始数据传输3,删除 sda3,以相同的起始位置重新创建它,但以 max(默认)结束,再次将类型设置为 Linux 并写入更改。

partprobe /dev/sda

现在在线扩展您的 sda3 文件系统。

相关内容