这次操作可谓是争分夺秒啊~
记录下来,一遍后面忘了能找到。。
在写这篇文章的时候,之前扩容的100G还剩80G,还不够啊~~
操作环境
内网虚拟机
系统:centos 7
硬盘:20G
扩容原因
因为在跑数据,没有提前预算到,硬盘很快就满了
当时发现这个问题的时候数据没办法中断,而且所剩空间大概还有200多M的时候,我迅速上母鸡服务器给虚拟机挂载了一块100G的硬盘,接着就是一顿骚操作。。
操作步骤
大致分为以下几步
- 挂载足够容量的硬盘到服务器上
- 创建分区
- 格式化分区
- 创建物理卷
- 将物理卷加入到要扩容的分区组
- 扩容
好吧,一步一步来。。
1. 挂载硬盘这个就不细说了,很简单的东西
2. 创建分区
首先,我们将硬盘挂载好之后,可以通过
fdisk -l
查看硬盘信息,红色框是之前加的硬盘,蓝色框是才加。对比可以发现,红色框比蓝色框多了一个 /dev/sdb1
的分区
接下来我们就开始创建分区,使用 fdisk 命令创建
fdisk /dev/sdc # 注意哦,这里的 /dev/sdc 是我蓝色框里面硬盘的位置,你们的可能不太一样,注意区分一下
执行以后会进入到如下的操作环境中
可以输入 m 看看有那些操作
等会儿我们就会用到上面的三个功能
首先输入 n ,创建分区。它会提示你是创建主分区还是扩展分区,我们要创建的是主分区,所以输入 p
接下来会提示你设置一个分区号,因为这个硬盘是空的,所以默认就好,直接回车
然后提示你设置扇区,这里也默认
接下来是设置分区大小,默认是使用所有容量,也可以根据自己的情况设定大小,例如:20G啊,100M啊,都可以的。我这里是使用全部,所以用默认的设置
到这里,我已经完成了分区的创建,不过还没完,我们需要更改这个分区的系统编码,所以这里用到了上面提到的三个命令之一,t 命令,输入 t 然后回车
这里输入 8e ,然后确定
提示将
分区“Linux”的类型更改为“Linux LVM”
最后在输入 w 将上面所有的修改写入分区表就创建成功了
格式化分区
格式化分区比较简单,但是需要根据你现有的文件系统格式来格式化,否则会出现用不了的问题。
所以首先就是查看自己当前的文件系统格式
df -hT
会输出类似以下内容
[root@Web-Server ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 117G 35G 83G 30% /
devtmpfs devtmpfs 908M 0 908M 0% /dev
tmpfs tmpfs 920M 48K 920M 1% /dev/shm
tmpfs tmpfs 920M 8.9M 911M 1% /run
tmpfs tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 189M 826M 19% /boot
tmpfs tmpfs 184M 0 184M 0% /run/user/0
[root@Web-Server ~]#
其中“类型”这一列下面的信息就是我们需要的文件系统格式
可以看到我们挂载在我们根路径的文件系统格式是 xfs 格式
也就是这一行
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 117G 35G 83G 30% /
所以我们要把刚才创建的分区格式化为 xfs 。
通过 fdisk -l
查询到我们刚才创建的分区路径为 /dev/sdc1
格式化为 xfs 分区
mkfs.xfs /dev/sdc1
会输出类似以下内容
[root@Web-Server ~]# mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=6553536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26214144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
到这里,分区就格式化好了。
创建物理卷
这一步很简单,直接执行下面的命令即可
pvcreate /dev/sdc1
它会提示你是否要清空这个分区,输入 y 确定即可
[root@Web-Server ~]# pvcreate /dev/sdc1
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdc1.
Physical volume "/dev/sdc1" successfully created
将物理卷加入到要扩容的分区组
首先我们要查看根的分组是什么
lvdisplay # 查看卷的一些信息
[root@Web-Server ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID kg2lNU-Zmhg-Dllf-GbN1-f082-6yxq-s2jKHb
LV Write Access read/write
LV Creation host, time localhost, 2019-03-05 09:20:20 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID ML1fEX-ArTy-Iwrl-1OJB-8mDU-FyNk-U7XHwe
LV Write Access read/write
LV Creation host, time localhost, 2019-03-05 09:20:20 +0800
LV Status available
# open 1
LV Size 116.99 GiB
Current LE 29950
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
可以看到根的分组在 centos 下,所以我们只需要把创建好的分区扩展到该分组下就行了
vgextend centos /dev/sdc1
提示成功
[root@Web-Server ~]# vgextend centos /dev/sdc1
Volume group "centos" successfully extended
最后一步,扩容
先查看一下物理卷的空间情况
vgdisplay
可以很明显的看到,可用空间多了 100G
最后,将所有的可用空间都分配给根
lvextend -l +100%FREE /dev/mapper/centos-root #全部分配/root分区
提示已经重置了根的大小
[root@Web-Server ~]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 116.99 GiB (29950 extents) to <216.99 GiB (55549 extents).
Logical volume centos/root successfully resized.
接下来就直接调整即可
xfs_growfs /dev/mapper/centos-root
可以看到数据块已经更改了
[root@Web-Server ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=28, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=30668800, 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 30668800 to 56882176
确认一下是否扩容成功
df -h
[root@Web-Server ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 217G 35G 183G 16% /
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 48K 920M 1% /dev/shm
tmpfs 920M 8.9M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 189M 826M 19% /boot
tmpfs 184M 0 184M 0% /run/user/0
可以看到已经增加了100G,之前还剩80多G左右吧
最后
说一下为什么标题要加“极限”两字?
因为第一次扩容的时候,系统还剩500多kb左右的容量,虽然导入的数据量很庞大,但是这些数据需要经过一些运算才能写入数据库,所以给我了一点点时间完成了扩容。(要是动作慢一点的话,服务器直接就“炸开”)
写这篇文章的时候是第二次扩容,边写边操作~~
希望记录的这篇文章能帮到需要的人吧~
评论 (0)