服务器是搭建在ESXI之上,安装LAMP环境到MySQL安装时突然报错,查看日志发现文件写入失败磁盘已满。
[root@CentOS]# df -h
[root@CentOS]# df -h
查看了下磁盘容量,果真已无多少剩余空间了,这次选择给磁盘空间作下扩充。
1. 查看挂载点信息
[root@CentOS]# df -h
[root@CentOS]# df -h
显示如下:
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos_centos-root 5G 5G 260K 100% /
……
可见可用只剩260K,使用已经100%。
2. 扩展硬盘空间
首先需要关闭操作系统,然后在设置中将磁盘调整到需要的容量。
如果选项是灰色的,说明虚拟机有快照,将其快照删除再操作。
VMware在虚拟机设置的硬盘里面有“扩展”按钮可以进行设置。
其他虚拟机也差不多的操作,可以百度查看。
物理机直接增加硬盘(接入新硬盘)即可。
3. 对新增加的硬盘(容量)进行分区、格式化
(1)查看一下调整后的磁盘状态
[root@CentOS]# fdisk -l
[root@CentOS]# fdisk -l
显示信息:
磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区
……
说明增加了空间的磁盘是/dev/sda
(2)磁盘分区
[root@CentOS]# fdisk /dev/sda
[root@CentOS]# fdisk /dev/sda
分别键入以下参数:
p 查看已分区数量(我看到有两个 /dev/sda1 和/dev/sda2)
n 新增加一个分区
p 分区类型,选择主分区
分区号选3(1和2已占用,见上)
回车 默认选择(起始扇区)
回车 默认选择(结束扇区)
t 修改分区类型
选分区3
8e 修改为LVM(8e就是LVM)
w 写分区表,完成后退出fdisk命令
使用partprobe重读分区表,或者reboot重启机器。
[root@CentOS]# partprobe
[root@CentOS]# partprobe
格式化/dev/sda3分区
[root@CentOS]# mkfs.ext3 /dev/sda3
[root@CentOS]# mkfs.ext3 /dev/sda3
4. 添加到已有的LVM组,实现扩容
进入lvm管理
[root@CentOS]# lvm
[root@CentOS]# lvm
LVM基础知识:
在lvm>模式下执行命令:
(1)初始化刚才的分区
pvcreate /dev/sda3
(2)将初始化过的分区加入到VG卷组
vgextend centos_centos /dev/sda3
刚才记下的”VG Name”就在这里使用。但是执行到这一步时报错了:
Couldn't create temporary archive name.
Volume group "centos_centos" metadata archive failed.
百度了下,因为磁盘剩余空间实在太小了,无法执行,删除一些数据就可以了。 我删除了/home目录和~目录下的文件。
(3)查看卷和卷组
vgdisplay
要记下”VG Name”,例如这里是centos_centos;再记下”Free PE/Size”的大小,例如这里是2048
(4)扩展已有卷的容量
lvextend -l +2048 /dev/mapper/centos_centos-root
lvextend指令用于在线扩展逻辑卷的空间大小,不中断应用程序对逻辑卷的访问。其后有两个选项
-L 指定逻辑卷的大小,单位为字节,也就是Size
-l 指定逻辑卷的大小,单位为PE数
其余两个参数:2048是上边通过vgdisplay查看的Free PE/Size的大小,后边的目录参数/dev/mapper/centos_centos-root可以通过df -h命令查看。
(5)查看卷容量并退出
pvdisplay
quit
5. 文件系统扩容
上面的步骤只是卷扩容了,文件系统还没实现真正扩容
CentOS 7: 由于使用的是 XFS
xfs_growfs /dev/mapper/centos_centos-root
CentOS 6:
resize2fs /dev/mapper/centos_centos-root
6. 查看新的磁盘空间【扩容完毕】
df -h
注:本文参考felcon的“Esxi中CentOS7 扩展磁盘容量”文章进行操作和记录。