当前位置: 代码迷 >> 综合 >> CentOS7 扩展磁盘容量(虚拟机及物理机同理)
  详细解决方案

CentOS7 扩展磁盘容量(虚拟机及物理机同理)

热度:131   发布时间:2023-09-14 04:06:10.0

服务器是搭建在ESXI之上,安装LAMP环境到MySQL安装时突然报错,查看日志发现文件写入失败磁盘已满。

[root@CentOS]# df -h 

查看了下磁盘容量,果真已无多少剩余空间了,这次选择给磁盘空间作下扩充。

1. 查看挂载点信息
[root@CentOS]# df -h 

显示如下:

文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos_centos-root 5G 5G 260K 100% /
……

可见可用只剩260K,使用已经100%。

2. 扩展硬盘空间

首先需要关闭操作系统,然后在设置中将磁盘调整到需要的容量。
如果选项是灰色的,说明虚拟机有快照,将其快照删除再操作。
VMware在虚拟机设置的硬盘里面有“扩展”按钮可以进行设置。
其他虚拟机也差不多的操作,可以百度查看。
物理机直接增加硬盘(接入新硬盘)即可。

3. 对新增加的硬盘(容量)进行分区、格式化
(1)查看一下调整后的磁盘状态
[root@CentOS]# fdisk -l 

显示信息:

磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区
……

说明增加了空间的磁盘是/dev/sda

(2)磁盘分区
[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 

格式化/dev/sda3分区

[root@CentOS]# mkfs.ext3 /dev/sda3 
4. 添加到已有的LVM组,实现扩容

进入lvm管理

[root@CentOS]# lvm 

LVM基础知识:http://blog.csdn.net/wuweilong/article/details/7565530

在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 扩展磁盘容量”文章进行操作和记录。