云主机磁盘存储动态扩容(LVM)方案

1、场景

云主机使用的愈来愈多,如今几乎没有不使用云主机的,常常会碰到须要升级硬盘存储的操做,直接添加磁盘,或动态在原有的分区上扩容,所使用的方案大体有以下:
一、基于lvm格式 在线动态扩容
二、非lvm格式扩容
接下来咱们就结合生产经常使用两种扩容方案及实践linux

2、LVM在线动态扩容

一、lvm原理概述

这里引用鸟哥说明
LVM 的重点在於『能够弹性的调整 filesystem 的容量!』而并不是在於效能与数据保全上面。 须要文件的读写效能或者是数据的可靠性,请参考前面的 RAID 小节。 LVM 能够整合多个实体 partition 在一块儿, 让这些 partitions 看起来就像是一个磁碟同样!并且,还能够在将来新增或移除其余的实体 partition 到这个 LVM 管理的磁碟当中。 如此一来,整个磁碟空间的使用上,实在是至关的具备弹性啊! 既然 LVM 这么好用,那就让咱们来试试centos

什么是 LVM: PV, PE, VG, LV 的意义
LVM 的全名是 Logical Volume Manager,中文能够翻译做逻辑卷轴管理员。之因此称为『卷轴』多是由于能够将 filesystem 像卷轴同样伸长或缩短之故吧!LVM 的做法是将几个实体的 partitions (或 disk) 透过软件组合成为一块看起来是独立的大磁碟 (VG) ,而后将这块大磁碟再通过分割成为可以使用分割槽 (LV), 最终就可以挂载使用了。可是为何这样的系统能够进行 filesystem 的扩充或缩小呢?其实与一个称为 PE 的项目有关! 底下咱们就得要针对这几个项目来好好聊聊!
Physical Volume, PV, 实体卷轴服务器

咱们实际的 partition 须要调整系统识别码 (system ID) 成为 8e (LVM 的识别码),而后再通过 pvcreate 的命令将他转成 LVM 最底层的实体卷轴 (PV) ,以后才可以将这些 PV 加以利用! 调整 system ID 的方是就是透过 fdisk 啦!
Volume Group, VG, 卷轴群组app

所谓的 LVM 大磁碟就是将许多 PV 整合成这个 VG 的东西就是啦!因此 VG 就是 LVM 组合起来的大磁碟!这么想就行了。 那么这个大磁碟最大能够到多少容量呢?这与底下要说明的 PE 有关喔~由于每一个 VG 最多仅能包含 65534 个 PE 而已。 若是使用 LVM 默认的参数,则一个 VG 最大可达 256GB 的容量啊!(参考底下的 PE 说明)
Physical Extend, PE, 实体延伸区块
LVM 默认使用 4MB 的 PE 区块,而 LVM 的 VG 最多仅能含有 65534 个 PE ,所以默认的 LVM VG 会有 4M*65534/(1024M/G)=256G。 这个 PE 颇有趣喔!他是整个 LVM 最小的储存区块,也就是说,其实咱们的文件数据都是藉由写入 PE 来处理的。 简单的说,这个 PE 就有点像文件系统里面的 block 大小啦。 这样说应该就比较好理解了吧?因此调整 PE 会影响到 VG 的最大容量喔!ide

Logical Volume, LV, 逻辑卷轴工具

最终的 VG 还会被切成 LV,这个 LV 就是最后能够被格式化使用的相似分割槽的咚咚了!那么 LV 是否能够随意指定大小呢? 固然不能够!既然 PE 是整个 LVM 的最小储存单位,那么 LV 的大小就与在此 LV 内的 PE 总数有关。 为了方便使用者利用 LVM 来管理其系统,所以 LV 的装置档名一般指定为『 /dev/vgname/lvname 』的样式!测试

如下是lvm原理图:
云主机磁盘存储动态扩容(LVM)方案ui

说了这么多的原理,貌似仍是有点蒙,接下来搞点实践~翻译

二、实践

公司办公室有一套vmwa私有云群,给开发,测试提供虚拟机作环境,常常会有磁盘空间不足,接下来就给一台机器系统磁盘/分区 30G扩容到50G
首先在vmware集群中编辑-->将磁盘扩容到50G 如图:cdn

云主机磁盘存储动态扩容(LVM)方案
接下来到虚拟机上操做步骤以下:
步骤:
1)、格式化新添加的磁盘空间(也能够是单独一块新磁盘)
2)、添加修改分区为8e格式
3)、刷新分区
4)、建立pv ( pvcreate)
5)、扩展VG
6)、lv扩容

实际操做以下:
fdisk -l /dev/sdb
n
p
2
t
8e
w

不重启显示新分区信息
partx -a /dev/sdb2

建立新pv
pvcreate /dev/sdb2
扩展示有VG Name
vgextend vg_daemon6 /dev/sdb2
lv扩容:
#lvextend -L +20G /dev/vg_daemon6/LogVol00 # 注意 /dev/vg_daemon6/LogVol00 是经过df -TH 查询获得 的文件系统路径
Size of logical volume vg_daemon6/LogVol00 changed from 32.20 GiB (14321 extents) to 50.80 GiB (25649 extents).
Logical volume LogVol00 successfully resized.

刷新分区信息:
ext4:
#resize2fs /dev/mapper/vg_daemon6-LogVol00
xfs:
xfs_growfs /dev/mapper/centos-root

以上是基于lvm扩容,有时间服务器并无基于lvm分区,如何是好?

三、扩容方法二

前提也是针对现有分区进行扩容
第一步也是在vmware集群或云平台上给物理机添加磁盘再经过工具在线扩容,可能须要重启

安装工具:
yum install -y cloud-utils
扩容前检测分区,如下是xfs格式化的避ext4使用e2fsck 工具
xfs_repair -f /dev/sda
growpart /dev/sda 1
xfs_growfs /dev/sda1
更多参考请点这里请添加连接描述

结束语:

在扩容前,最好是备份好重要资料,以防不测

相关文章
相关标签/搜索