linux如何扩展磁盘容量(VMware虚拟机)
作者:极创者
一、前置准备工作
扩展虚拟机磁盘前,需要先把虚拟机关机才能进行扩展磁盘操作
- 1.选择虚拟机设置,如下图所示
- 2.输入你想扩展的磁盘容量,以本次实操为例,我这里输入的30G(具体按照实际容量输入)
- 3.点击确定
- 4.启动虚拟机
二、扩展磁盘容量
1.使用root用户登录系统,使用fdisk -l命令查看磁盘分区情况
[root@localhost ~]# fdisk -l
2. 使用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,保存退出
# 实际操作如下: [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查看扩展分区情况
[root@localhost ~]# fdisk -l
4.reboot重启虚拟机
[root@localhost ~]# reboot
5.使用pvcreate命令对新建的分区创建物理分区
[root@localhost ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created.
6.使用vgs查看虚拟卷组
[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,实际的卷组名以你们查询出来的为准)
[root@localhost ~]# vgextend cl /dev/sda3 Volume group "cl" successfully extended
8.使用df -h查看要扩展的文件系统,本例中文件系统为:/dev/mapper/cl-root
[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
[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查看创建后的物理分区
[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,那是因为还缺少最后一步,需要对文件系统进行扩容
[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,具体已实际情况为准
[root@localhost ~]# cat /etc/fstab
13. 使用xfs_growfs(红帽、CentOS使用该xfs_growfs命令,其他系统如Ubuntu等自行查阅一下)命令对文件系统进行扩容,如果是ext4格式的,使用resize2fs
[root@localhost ~]# xfs_growfs /
注意:xfs_growfs用两种用法
- 老版xfs_growfs用法:xfs_growfs [文件系统名]
- 新版xfs_growfs用法:xfs_growfs [挂载点]
如果命令用的不对,会出现如下错误:
[root@localhost ~]# xfs_growfs /dev/mapper/cl-root xfs_growfs: /dev/mapper/cl-root is not a mounted XFS filesystem
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。