我有几个虚拟机,可以通过 VMWare vSphere 客户端 (v 5.1.0) 访问。其中一个空间不足,我正在尝试给它提供更多空间。
我目前所做的:
- 使用“摘要”选项卡中的“编辑设置”增加了配置大小。
- 使用 Linux LVM 系统创建一个新的分区 (/dev/sda3)。
问题是之前的机器上没有卷组,所以我无法按照常规教程操作
vgextend VolGroup00 /dev/sda1
当我这样做时,我收到错误:
No physical volume label read from /dev/sda1
Can't open /dev/sda1/ exclusively. Mounted filesystem?
Unable to add physical volume '/dev/sda1' to volume group 'VolGroup00'.
我已经在 Google 上搜索了一整天,但还是找不到如何将 /dev/sda1 添加到我的卷组。它根本不在任何卷组中...
有人能给出任何提示或指点吗?
编辑:一些额外的数据:
# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 822580 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optional): 512 bytes / 512 bytes
Disk identifier: 0x000d2064
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1998 16043008 83 Linux
/dev/sda2 1998 2089 731137 5 Extended
/dev/sda3 2089 5221 25161490+ 8e Linux LVM
/dev/sda5 1998 2089 731136 82 Linux swap / Solaris
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 16G 14G 754M 95% /
tmpfs 4.0G 0 4.0G 0% /lib/init/rw
udev 4.0G 104K 4.0G 1% /dev
tmpfs 4.0G 0 4.0G 0% /dev/shm
# lbslk
-bash: lsblk: command not found
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 VolGroup00 lvm2 a- 23.99g 23.99g
# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 0 0 ws--n- 23.99g 23.99g
# lvs
#
(no output)
答案1
虽然我对现有的任何答案都没有异议,但我不确定是否有理由用 LVM 来使这个问题复杂化,因为您目前还没有它。如果您不打算再次进行这样的扩展,那么现在引入 LVM 可能不值得。
还有一个替代方法,虽然比较麻烦,但不需要重建机器,除非你把它弄坏了:
- 回滚已完成的 LVM 设置,然后进行完整备份
- 删除分区
/dev/sda3
- 使用 停止现有的交换空间
swapoff
,然后删除/dev/sda[25]
分区 - 重新创建
/dev/sda1
分区以跨越所有现有磁盘,减去顶部的一些交换空间。 不改变分区的起始块。 /dev/sda2
在光盘顶部创建,将其标记为交换,确保您的 反映了从到 的/etc/fstab
更改。sda5
sda2
- 重新启动,然后用于
resize2fs
增大根文件系统就地来填充新的、更大的/dev/sda1
。
答案2
在这个特定的时间,根据您描述的设置,恐怕答案是“抱歉,无法完成”。至少不是您描述的那样。
但真正的问题不是“我如何扩展 sda1” - 而是“鉴于服务器安装时没有卷组,我如何增加用户可用的空间”。这个问题可以用多种方式回答。我给你两个答案,它们不涉及 NAS/SAN 或其他外部存储系统。
在执行以下任何操作之前,请确保您拥有系统的最新备份。请注意,这会导致停机!
简单的方法是查看当前 /dev/sda1 磁盘上有哪些目录。例如,您可能有
/var
/home
/usr
全部位于同一磁盘上。您可以做的一件事是将所有数据从 /home 复制到新磁盘,然后将新磁盘安装为 /home。(这显然需要在没有用户登录到计算机时完成 - 最好在单用户模式下启动!)
复制完成后,重新启动系统并将 /dev/sda3 挂载为 /home。验证一切是否按预期运行。然后卸载 /dev/sda3 并删除旧磁盘上 /home 下的所有目录。
缺点是您现在将被锁定在有限的空间内,只是现在您有两个不可扩展的磁盘而不是一个,因此下次达到上限之前还需要一段时间。
由于 /boot 位于 /dev/sda1 上,所以原始解决方案不起作用,因此编辑了以下内容。
更艰难的道路是重新安装。重新安装时,在 /dev/sda3 上创建一个 VG仅有的. 不要以任何方式对 /dev/sda1 进行分区或触碰。
系统启动后,将 /dev/sda1 挂载到新的挂载点(例如 /mnt/olddisk)。然后从该磁盘复制所有数据(这应该是除实际操作系统之外的所有内容)。完成后,您可以将 VG 扩展到旧的 /dev/sda1。现在您将拥有一个可以通过向卷组添加更多磁盘来扩展的系统。
答案3
您只能在物理卷上创建或扩展 LVM 卷组。
要解决此问题,请在所需分区上创建一个 LVM 物理卷。
pvcreate /dev/sda1
注意:此操作将破坏指定分区上的所有数据。
然后您可以将卷组扩展到物理卷上。
(您可能不是这个意思,/dev/sda1
因为那通常是/boot
分区。由于这是破坏性的,所以要绝对确定您在做什么。)