如何扩展磁盘容量(VMware虚拟机)
一、前置准备工作
扩展虚拟机磁盘前,需要先把虚拟机关机才能进行扩展磁盘操作
- 1.选择虚拟机设置,如下图所示
- 2.输入你想扩展的磁盘容量,以本次实操为例,我这里输入的30G(具体按照实际容量输入)
- 3.点击确定
- 4.启动虚拟机
二、扩展磁盘容量
1.使用root用户登录系统,使用fdisk -l命令查看磁盘分区情况
1
[root@localhost ~]
# fdisk -l
- 使用fdisk命令重新对/dev/sda磁盘进行分区
使用 fdisk /dev/sda后会进入具体实际分区操作页面,以下为参数说明:
常规
- d 删除分区
- F 列出未分区的空闲区
- l 列出已知分区类型
- n 添加新分区
- p 打印分区表
- t 更改分区类型
- v 检查分区表
- i 打印某个分区的相关信息
输入m,仅是提示获取帮助,在这里可以看到各个命令具体含义
输入p,打印当前有多少分区表,本例中有两个分区表,分别为/dev/sda1和/dev/sda2
输入n,添加新分区,这里输入n以后会让你选择是对主分区扩展还是对扩展分区扩展,请根据实际情况填写,本例中输入p,选择主分区进行扩展。完成后,会让你输入数字,具体的数字根据你实际的情况来,本例中
输入3,完成后此时出现扇区大小确认,直接用默认值,直接敲2次回车
最后输入w,保存退出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 实际操作如下:
[root@localhost ~]
# fdisk /dev/sda
欢迎使用
fdisk
(util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):m
帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v
检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助):p
Disk
/dev/sda
:30 GiB,32212254720 字节,62914560 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I
/O
大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x89f751ac
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1
* 2048 2099199 2097152 1G 83 Linux
/dev/sda2
2099200 41943039 39843840 19G 8e Linux LVM
命令(输入 m 获取帮助):n
分区类型
p 主分区 (2个主分区,0个扩展分区,2空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (3,4, 默认 3): 3
第一个扇区 (41943040-62914559, 默认 41943040):
上个扇区,+sectors 或 +size{K,M,G,T,P} (41943040-62914559, 默认 62914559):
创建了一个新分区 3,类型为“Linux”,大小为 10 GiB。
命令(输入 m 获取帮助):w
分区表已调整。
正在同步磁盘。
[root@localhost ~]
#
3.再次使用fdisk -l查看扩展分区情况
1
[root@localhost ~]
# fdisk -l
4.reboot重启虚拟机
1
[root@localhost ~]
# reboot
5.使用pvcreate命令对新建的分区创建物理分区
1
2
[root@localhost ~]
# pvcreate /dev/sda3
Physical volume
"/dev/sda3"
successfully created.
6.使用vgs查看虚拟卷组
1
2
3
[root@localhost ~]
# vgs
VG
#PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- <19.00g 0
7.使用vgextend命令对卷组进行扩容,将新建的/dev/sda3分区加入到上述第6步骤查询出来的卷组中(本例中查询出来的卷组名为cl,实际的卷组名以你们查询出来的为准)
1
2
[root@localhost ~]
# vgextend cl /dev/sda3
Volume group
"cl"
successfully extended
8.使用df -h查看要扩展的文件系统,本例中文件系统为:/dev/mapper/cl-root
1
2
3
4
5
6
7
8
9
10
[root@localhost ~]
# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0%
/dev
tmpfs 3.9G 0 3.9G 0%
/dev/shm
tmpfs 3.9G 9.8M 3.8G 1%
/run
tmpfs 3.9G 0 3.9G 0%
/sys/fs/cgroup
/dev/mapper/cl-root
17G 14G 3.4G 81% /
/dev/sda1
976M 144M 766M 16%
/boot
tmpfs 779M 1.2M 778M 1%
/run/user/42
tmpfs 779M 4.0K 779M 1%
/run/user/0
9.使用lvextend命令扩展文件系统,本例中为:/dev/mapper/cl-root,注意,本例中是额外扩展了10G磁盘(没扩展磁盘前是20G),在使用lvextend扩展时,不能完全给10G,要比10G小一点作为预留,本次给9G
1
2
3
[root@localhost ~]
# lvextend -L +9G /dev/mapper/cl-root
Size of logical volume cl
/root
changed from <17.00 GiB (4351 extents) to <26.00 GiB (6655 extents).
Logical volume cl
/root
successfully resized.
10.使用pvdisplay查看创建后的物理分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@localhost ~]
# pvdisplay
--- Physical volume ---
PV Name
/dev/sda2
VG Name cl
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable
yes
(but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID DwVhNf-XFeN-Pmwn-Sw9L-nhtd-dmxk-q3qcFf
--- Physical volume ---
PV Name
/dev/sda3
VG Name cl
PV Size 10.00 GiB / not usable 4.00 MiB
Allocatable
yes
PE Size 4.00 MiB
Total PE 2559
Free PE 255
Allocated PE 2304
PV UUID oMd2wT-pJ7h-fXxo-XjPE-rLdj-VP5l-fGA4dT
11.再次使用df -h查看磁盘空间,发现磁盘仍然只有20G,并未增加到30G,那是因为还缺少最后一步,需要对文件系统进行扩容
1
2
3
4
5
6
7
8
9
10
[root@localhost ~]
# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0%
/dev
tmpfs 3.9G 0 3.9G 0%
/dev/shm
tmpfs 3.9G 9.8M 3.8G 1%
/run
tmpfs 3.9G 0 3.9G 0%
/sys/fs/cgroup
/dev/mapper/cl-root
17G 14G 3.3G 81% /
/dev/sda1
976M 144M 766M 16%
/boot
tmpfs 779M 1.2M 778M 1%
/run/user/42
tmpfs 779M 4.0K 779M 1%
/run/user/0
12.查看文件系统/dev/mapper/cl-root格式,此处查询出来是xfs,有的查询出来可能是ext4,具体已实际情况为准
1
[root@localhost ~]
# cat /etc/fstab
- 使用xfs_growfs(红帽、CentOS使用该xfs_growfs命令,其他系统如Ubuntu等自行查阅一下)命令对文件系统进行扩容,如果是ext4格式的,使用resize2fs
1
[root@localhost ~]
# xfs_growfs /
注意:xfs_growfs用两种用法
- 老版xfs_growfs用法:xfs_growfs [文件系统名]
- 新版xfs_growfs用法:xfs_growfs [挂载点]
如果命令用的不对,会出现如下错误:
1
2
[root@localhost ~]
# xfs_growfs /dev/mapper/cl-root
xfs_growfs:
/dev/mapper/cl-root
is not a mounted XFS filesystem
VMware Linux(Centos)虚拟机扩容根目录磁盘空间
1、编辑虚拟机设置,点击[硬盘],选择[扩展] 填写大小
2、启动虚拟机操作系统Centos,查看磁盘情况
$ fdisk -l
显示如下:
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00094582
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 2611 20458496 8e Linux LVM
Disk /dev/mapper/vg_rxf-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_rxf-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
可以看见分区情况如下:
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 2611 20458496 8e Linux LVM
3、创建分区sda3
$ fdisk /dev/sda
根据命令提示创建分区
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n #输入n表示创建新分区
Command action
e extended
p primary partition (1-4)
p #输入p
Partition number (1-4): 3 #输入3,表示sda3,前面已经有2个了
First cylinder (2611-3916, default 2611): #回车,默认值
Using default value 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-3916, default 3916): #回车,默认值
Using default value 3916
Command (m for help): w #输入w保存,退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
再查看分区情况
$ 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 2611 20458496 8e Linux LVM
/dev/sda3 2611 3916 10483750 83 Linux
这时分区已经变成3个了,但是还没有挂载,还不能用。
4、重启操作系统
$ reboot
5、格式化新分区ext3
$ mkfs -t ext3 /dev/sda3
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2620937 blocks
131046 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
6、将物理硬盘分区初始化为物理卷,以便LVM使用,输入指令
$ lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root vg_rxf -wi-ao---- 17.57g
lv_swap vg_rxf -wi-ao---- 1.94g
输入指令:
$ pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7、向卷组中添加物理卷来增加容量
输入df -h 查看lvm组名
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rxf-lv_root 18G 18G 112M 100% /
tmpfs 931M 4.0K 931M 1% /dev/shm
/dev/sda1 485M 35M 425M 8% /boot
其中vg_rxf为根所在组名.
输入指令,增加卷组的容量
$ vgextend vg_rxf /dev/sda3
Volume group "vg_rxf" successfully extended
8、查看可以扩展的空间大小
$ vgdisplay
--- Volume group ---
VG Name vg_rxf
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 29.50 GiB
PE Size 4.00 MiB
Total PE 7553
Alloc PE / Size 4994 / 19.51 GiB
Free PE / Size 2559 / 10.00 GiB
VG UUID KFyuD1-cj5n-cukx-z1Zf-Gg2T-IQLT-v6BD4N
Free PE / Size 就是可以提供分配的自由空间,最多10.00 GiB,在扩展时输入小于该值
9、扩充磁盘空间
$ lvextend -L+9G /dev/mapper/vg_rxf-lv_root /dev/sda3
Extending logical volume lv_root to 26.57 GiB
Logical volume lv_root successfully resized
10、使用e2fsck指令查看检测文件系统错误
$ e2fsck -a /dev/mapper/vg_rxf-lv_root
/dev/mapper/vg_rxf-lv_root is mounted.
e2fsck: 无法继续, 中止.
11、查看分区文件系统
$ df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 751236 0 751236 0% /dev
tmpfs tmpfs 763080 4 763076 1% /dev/shm
tmpfs tmpfs 763080 9756 753324 2% /run
tmpfs tmpfs 763080 0 763080 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 37734400 16848316 20886084 45% /
/dev/sda1 xfs 1038336 166076 872260 16% /boot
tmpfs tmpfs 152620 0 152620 0% /run/user/0
若为xfs系统
$ xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 9436160
否则
$ resize2fs /dev/mapper/vg_rxf-lv_root
Filesystem at /dev/mapper/vg_rxf-lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg_rxf-lv_root to 6965248 (4k) blocks.
The filesystem on /dev/mapper/vg_rxf-lv_root is now 6965248 blocks long.
12、查看扩展空间后的结果
$ df -h
devtmpfs 734M 0 734M 0% /dev
tmpfs 746M 4.0K 746M 1% /dev/shm
tmpfs 746M 9.6M 736M 2% /run
tmpfs 746M 0 746M 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 17G 20G 45% /
/dev/sda1 1014M 163M 852M 16% /boot
tmpfs 150M 0 150M 0% /run/user/0
可以看到,磁盘已扩展成功!
版权归原作者 binqian 所有, 如有侵权,请联系我们删除。