一、场景

云主机使用的越来越多,现在几乎没有不使用云主机的,经常会碰到需要升级硬盘存储的操作,直接添加磁盘,或动态在原有的分区上扩容,所使用的方案大致有如下:
1、基于lvm格式 在线动态扩容
2、非lvm格式扩容
接下来我们就结合生产常用两种扩容方案及实践

二、LVM在线动态扩容

1、lvm原理概述

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

什么是 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, 卷轴群组

所谓的 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 的最大容量喔!

Logical Volume, LV, 逻辑卷轴

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

以下是lvm原理图:

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

2、实践

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


接下来到虚拟机上操作步骤如下:
步骤:
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分区,如何是好?

3、扩容方法二

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

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

结束语:

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

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

  1. 制作r710 linux系统盘,记一次云主机系统盘扩容及制作私有镜像的操作步骤

    一.购买弹性云服务器 1.登录华为云,首先购买弹性云服务器 2.选择弹性云主机的规格 按需计费类型,贵阳一区域价格相对便宜一些 3.镜像根据实际情况自行选择 举例:我这里选择公共镜像,CentOS7. ...

  2. Centos 7.5利用LVM实现动态扩容大小

    Centos 7.5 利用LVM实现动态扩容大小 操作系统:Centos 7.5 64位 说明:当有在操作系统时发现磁盘空间不足时,可以通过增加磁盘空间大小来满足,但是以哪种方式来增加可能有不同方法, ...

  3. 数据库面试 - 如何设计可以动态扩容缩容的分库分表方案?

    数据库面试 - 如何设计可以动态扩容缩容的分库分表方案? 面试题 如何设计可以动态扩容缩容的分库分表方案? 面试官心理分析 对于分库分表来说,主要是面对以下问题: 选择一个数据库中间件,调研.学习.测 ...

  4. Linux云主机 监控方案浅析

    1.为何需要监控 监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题. 对于服务器的整个生命周期,都要和监控打交道: 当有服务器上架,都需要加入比如CPU负载.内存.网络.磁盘等基础监控 ...

  5. 动态扩容缩容的分库分表方案

    1.面试题 如何设计可以动态扩容缩容的分库分表方案? 2.面试官心里分析 (1)选择一个数据库中间件,调研.学习.测试 (2)设计你的分库分表的一个方案,你要分成多少个库,每个库分成多少个表,3个库每 ...

  6. 如何设计可以动态扩容缩容的分库分表方案?

    面试题 如何设计可以动态扩容缩容的分库分表方案? 面试官心理分析 对于分库分表来说,主要是面对以下问题: 选择一个数据库中间件,调研.学习.测试: 设计你的分库分表的一个方案,你要分成多少个库,每个库 ...

  7. 用户、配额管理 、 云主机类型管理 、 镜像管理 、 网络管理 、 安全和实例管理 、 计算节点扩容案例

    Top NSD CLOUD DAY03 案例1:管理项目 案例2:新建云主机类型 案例3:上传镜像 案例4:创建网络 案例5:管理浮动IP地址 案例6:创建安全组及规则 案例7:创建云主机 案例8:安 ...

  8. rocketmq docker集群_【解构云原生】RocketMQ高可用方案调研及On K8S设计展望(下)...

    本文由作者授权网易云发布,未经许可,请勿转载. 作者:李海燕,网易杭州研究院云计算技术部工程师 上文链接:[解构云原生]RocketMQ高可用方案调研及On K8S设计展望(上) 四.RocketMQ ...

  9. 云服务器测速脚本_美国云主机哪家好?BlueHost美国云主机性能测评

    随着云计算以及虚拟化技术的融合发展,云主机在IDC行业正变得越来越受欢迎,其中以美国云主机最具代表性.据了解,目前国内站长对美国云主机的需求量快速增加,很多美国主机商为抢占市场先机也都纷纷推出云主机产 ...

最新文章

  1. 用python画皮卡丘画法-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘
  2. 面向对象的用户体验设计(持续更新10.29)
  3. 冲突域 广播域简单解释
  4. CWE4.6标准中加入 OWASP 2021 TOP10
  5. 盘点电商大战背后的技术力量支撑
  6. Myeclipse2017破解:成功解决me Trial expired 0 days ago mgeclipse It's now time to buy the best IDE for yo
  7. 解决小程序图片上传问题
  8. STATUS of v$archive_dest的一些情况
  9. python里面and和or用法
  10. 六大原则之依赖倒转(倒置)原则
  11. 用Python制作一条五彩蟒蛇
  12. 天猫精灵如何和我们聊天?
  13. Docker的安装与基本使用(一)---使用Docker的前提条件和三要素
  14. DEA在科技评价中的指标优化研究
  15. SAAS的概念及优缺点
  16. 单独运行thingsboard ui
  17. 从零开始的java区块链之路(一) 什么是区块链?
  18. 4月从零学习C语言(第26天)——枚举类型
  19. zip压缩包密码破解
  20. Dubbo接口和Http接口的区别

热门文章

  1. 招商银行信用卡中心笔试
  2. 微信小程序开放平台代码部署特约商户
  3. 文章采集软件怎么采集文章?
  4. 基于SDR的智能反射面波束成形设计
  5. html打印指定区域
  6. Java并发编程—并发和并行、线程上下文
  7. 红米5 Android 8.0,红米 5 获得 Android 8.0 稳定版更新:修复大量问题
  8. 物联网开发笔记(30)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示二维码(ST7789芯片)
  9. Win10 下报错 WerFault.exe -解决方法亲测有效
  10. 使用BL0942 计量芯片获取计量数据