大家好,我是LSF,发现一台虚机上 /dev/mapper/centos-root Use%已经快满了,决定扩容,安全起见,先搞一台闲置的虚机,试验一下。
一、增加虚机容量
在exsi管理web界面中,先关闭虚机,点击 “编辑”,选择扩展后的容量。我这个原先总容量是200G。需要单独给centos-root目录从50G扩展待100G,所以将总容量改成250G。然后启动虚机。
切换 root 用户,fdisk -l 一下,看到 /dev/sda: 空间已经增加了,但是分区还是原来的,还需要添加新分区,才能去扩展指定的系统文件。
二、创建新的分区
fdisk /dev/sda 看一下,命令参考如下,之后根据提示选择相应的命令即可。
Command (m for help): m
Command action
a toggle a bootable flag // 切换一个可引导标志
b edit bsd disklabel // 编辑bsd磁盘标签
c toggle the dos compatibility flag // 切换dos兼容性标志
d delete a partition // 删除分区
g create a new empty GPT partition table // 创建一个新的空GPT分区表
G create an IRIX (SGI) partition table // 创建一个IRIX(SGI)分区表
l list known partition types // 列出已知的分区类型
m print this menu // 查看帮助菜单
n add a new partition // 增加新分区
o create a new empty DOS partition table // 创建一个新的空DOS分区表
p print the partition table // 查看分区表
q quit without saving changes // 不保存更改而退出
s create a new empty Sun disklabel // 创建一个新的空 Sun 磁盘标签
t change a partition's system id // 更改分区的系统id
u change display/entry units // 更改显示/输入单位
v verify the partition table // 验证分区表
w write table to disk and exit // 将表写入磁盘并退出
x extra functionality (experts only) // 额外功能(仅限专家)
过程截图如下
使用以下 fdisk 命令创建新分区
p: (print)可查看现有分区
n:(new)创建新分区
p:(primary)选择主分区
3:选择的分区号(sda1、sda2主分区编号占用,可选3和4)
回车:起始扇区用默认即可
回车:结束删除用默认即可
t: 更改分区的系统id
3: 选择刚创建的分区sda3
8e: 修改成使用ID为8e的LVM (LVM是逻辑盘卷管理机制(Logical Volume Manager))
w:将分区表写入磁盘并退出
过程截图如下
根据最后的提示 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) 让你重启虚机、或者 partprobe 重读分区表、 或者 kpartx 重新挂载虚拟文件系统。我这里使用 partprobe 重读分区表,这样不用重启虚机。再执行 fdisk -l 可以查看到新创建的分区sda3
三、格式化新分区
通过 lsblk -f 查看分区的原先分区的文件系统类型为xfs,centos 7 使用的是xfs文件系统
通过 mkfs.xfs -f /dev/sda3 格式化 sda3 分区。
四、lvm实现卷扩容
查看需要扩展的文件系统目录,df -h 查看目录链接为 /dev/mapper/centos-root,或者 lvdisplay 查看目录为 /dev/centos/root
lvm 管理命令扩展指定卷
lvm 进入 lvm 指令模式
vgdisplay
查看虚机卷组 (包含多个物理卷)我这里卷组为 centos,
pvcreate /dev/sda3
初始化刚创建的分区为物理卷
vgextend centos /dev/sda3
将新创建的物理卷扩展到虚机卷组
centos 为 卷组名称,可通过 vgdisplay 查看
vgdisplay
记住 Free PE:如12800
lvextend -l +12800 /dev/mapper/centos-root
扩展已有文件系统逻辑卷的容量
lvextend 指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。
-l: 指定逻辑卷要扩展大小,单位为PE数(如上面Free PE 的12800)
-L: 指定逻辑卷的大小,单位为Size(如K、M、G、T等)
quit
退出 lvm
lvm 操作截图如下:
-
查看虚机卷组 (包含多个物理卷)我这里卷组为 centos,
-
初始化刚创建的分区为物理卷、将新创建的物理卷扩展到虚机卷组
-
扩展已有文件系统逻辑卷的容量
-
查看扩展结果
五、文件系统的扩容
完成卷扩容,接下来做文件系统的扩容,这一步很简单,xfs_growfs /dev/mapper/centos-root 即可,然后 df -h 查看一下。