通过 vSphere 客户端编辑客户虚拟机的设置来增加我的 Ubuntu 12.04 LTS VM 的操作系统磁盘的大小后,当我从操作系统内部检查时,我没有看到磁盘大小的增加(df -h
)。
在 Windows VM 上,我进入磁盘管理器并扩展卷以使用未分配的空间(通过增加磁盘大小创建)。如何确保操作系统在 Linux 中看到此磁盘空间增加?
答案1
扩展的磁盘大小未分配且未分区。您需要先使用fdisk
或对新磁盘空间进行分区diskpart
。之后,您可能需要格式化新分区。根据您使用的文件系统类型,命令会有所不同,但作为示例,对于 ext3,您可以调用mkfs.ext3
然后根据操作系统,您将能够扩大逻辑卷。如果您使用 LVM,您可以在对新空间进行分区/初始化后简单地扩展原始卷。
答案2
以下步骤在运行 Centos 6 EXT4 VPS 的 VMWare EXSi 5.5 上将我的分区从 12G 扩展到 26GB。
1)识别设备名称(默认为 /dev/sda),并通过运行以下命令确认新的大小:
# fdisk -l
2)获取 /dev/sda 设备的分区列表:
# ls -al /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2
3)创建新的主分区
# fdisk /dev/sda
Then type:
n (enter) [create new partition]
p (enter) [primary partition]
3 (enter) [next available number from listed /dev/sda partitions in 2)
(enter) [start cylinder]
(enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
t (enter) [change partition type]
3 (enter) [selecting /dev/sda3 partition]
8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types]
w (enter)
The partition table has been altered!
4)重新启动 Centos 6.X,然后以 root 权限重新登录
# reboot
5)检查新分区是否准备好并输入“8e”:
# fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM
/dev/sda3 2089 3916 14678054 8e Linux LVM
6)创建物理卷:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7)找出卷组名称:
# vgdisplay
--- Volume group ---
VG Name vg_app1
...
8)扩展物理卷:
# vgextend vg_app1 /dev/sda3
Volume group "vg_app1" successfully extended
9) 将现有卷组扩展到新物理卷(+100%FREE 可以更改为所需大小)。由于我们正在扩展根分区,因此指向 vg_app1 卷组中的 lv_root。
# lvextend -l +100%FREE /dev/vg_app1/lv_root
Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized
10)调整逻辑根卷的大小:
# resize2fs /dev/vg_app1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.
注意:如果是 Red Hat 虚拟机,请使用 ext2online 而不是 resize2fs。
11)检查可用空间:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
26G 10G 14G 42% /
tmpfs 9.8G 0 9.8G 0% /dev/shm
/dev/sda1 477M 88M 364M 20% /boot