我在 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是我为逻辑卷使用的任意名称。
- 将 /dev/sda4 初始化为物理卷
pvcreate /dev/sda4
- 创建卷组并将步骤 1 中的 PV 分配给它
vgcreate volgr0 /dev/sda4
- 在新卷组上创建逻辑卷
lvcreate -L +20G -n logvol0 volgr0
- 初始化(格式化)逻辑卷
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 是个好主意。
- 使用 Live OS 映像重新启动 VM。我更喜欢系统救援光盘我自己就喜欢这种事情,但还有很多其他不错的选择。
- 使用 fdisk 删除 /dev/sda3 和 /dev/sda4
- 使用 fdisk,使用所有可用磁盘空间创建一个新分区 #3(它将是 /dev/sda3)(接受 fdisk 提供的默认值)
- 使用本地操作系统重新启动您的虚拟机
- 调整 /dev/sda3 文件系统的大小
xfs_growfs /dev/sda3
(Mattias写博客对这个)
瞧!
是的,使用 fdisk 从救援映像中删除分区是可怕的......但在这种情况下,您所做的只是删除分区表本身中的条目,而不是实际的分区。
因此,最后我喜欢经常重复的一课:当有疑问时,继续使用 LVM。
答案2
消除sda4,记下开始数据传输3,删除 sda3,以相同的起始位置重新创建它,但以 max(默认)结束,再次将类型设置为 Linux 并写入更改。
partprobe /dev/sda
现在在线扩展您的 sda3 文件系统。