Linux给磁盘扩容(LVM方式)

打印 上一主题 下一主题

主题 547|帖子 547|积分 1641

Linux给磁盘扩容(LVM方式)

最近测试性能,在本地打数据时,发现磁盘空间不足,于是想手动给/挂载点添加空间。这里介绍通过LVM方式快速给磁盘扩容。
   LVM:是一种技能,方便管理磁盘。假如不消LVM,那么就不好在之前的磁盘底子上扩容,比如我一块硬盘20G被写满了之后,我想将这块硬盘扩容到40G,就无法操纵。只能新开一个磁盘。对于MySQL这种数据保存在本地磁盘路径/var/mysql/data这种就无法正确扩容。
  

  • 有人会说我直接新插一个更大的硬盘,然后把数据从旧磁盘复制到新磁盘上,显然这在数据量大的环境下是不公道的。会耗费大量的时间。
  1 概念

   

  • PV:物理卷,同一磁盘可划分为多个物理卷。
  • VG:卷组,一个到多个PV可组成一个卷组。
  • LV:逻辑卷,卷组可划分为多个逻辑卷。
  • PE:Physical extent物理区域,硬盘可供指派给逻辑卷的最小单位(通常为 4MB)
  

  • 挂载点:lv与挂载点是1:1的关系。

  1.1 物理卷 Physical Volume (PV)

   可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘自己大概回环文件(loopback file)。物理卷包括一个特殊的 header,别的部分被切割为一块块物理区域(physical extents)
  1.2 卷组 Volume group (VG): 将一组物理卷收集为一个管理单元

1.3 逻辑卷 Logical volume (LV): 假造分区,由物理区域(physical extents)组成

1.4 物理区域 Physical extent (PE): 硬盘可供指派给逻辑卷的最小单位(通常为 4MB)

2 实战

   我本地/目次下有50G空间,现在我想扩容到100G。

  2.1 相关底子命令

  1. # 查看挂载点
  2. df -h
  3. # 查看逻辑卷( logical volume)
  4. lvdisplay
  5. # 查看当前的卷组(volume group),输出结果中的VG Size表示当前卷组总大小
  6. vgdisplay
  7. # 查看当前的物理卷组(physical volume)
  8. pvdisplay
  9. # 执行fdisk /dev/vdb给vdb磁盘创建分区
  10. fdisk /dev/vdb
  11. # 格式化分区
  12. mkfs -t xfs /dev/vdb1 # 一般用于centos7及以上
  13. # mkfs -t ext4 /dev/vdb1 # 一般用于centos6
  14. # 创建pv,方便将pv交给vg管理
  15. pvcreate /dev/vdb1
  16. # 给centos这个VG扩容
  17. vgextend centos /dev/vdb1
  18. # 给LV扩容
  19. lvextend -l +100%FREE /dev/centos/root
  20. # 刷新分区
  21. # resize2fs /dev/centos/root # 适用于centos6
  22. xfs_growfs /dev/centos/root # centos7及以后
复制代码
2.2 开始给LVM扩容

1. 查看fdisk:fdisk -l


  1. fdisk -l
复制代码

   可以看到我们当前磁盘的底子信息,以及挂载环境。
  1. # 查询挂载点情况
  2. df -h
复制代码

可以看到我/下可用容量只有50G,现在我需要给它扩容。
2. 查看全部存储设备:fdisk -l
|grep ‘/dev’


  1. # 查看当前全部的存储设备# fdisk -l
  2. |grep '/dev'# 查看当前全部磁盘fdisk -l
  3. |grep '/dev/vd'
复制代码

手动给假造机大概物理机新增一块磁盘,再执行相同命令:
  1. # 查看当前全部磁盘fdisk -l
  2. |grep '/dev/vd'
复制代码

3. 给磁盘创建分区:fdisk /dev/vdb

  1. # 执行fdisk /dev/vdb给vdb磁盘创建分区
  2. fdisk /dev/vdb
  3. ## n:新建分区
  4. ## l: 选择逻辑分区,如果没有,则首先创建主分区(p),然后再添加逻辑分区(硬盘最多四个分区 P-P-P-P 或 P-P-P-E)
复制代码

  1. # 查看是否分区乐成fdisk -l
  2. | grep 'dev/vd'
复制代码

4. 格式化磁盘:mkfs -t xfs /dev/vdb1

   文件系统类型centos6文件系统是ext4,因为设计较早,对于现今动辄上T的海量数据处理,性能较低。 centos7文件系统是xfs,实用于海量数据。
  1. # 格式化分区
  2. mkfs -t xfs /dev/vdb1 # 一般用于centos7及以上
  3. # mkfs -t ext4 /dev/vdb1 # 一般用于centos6
复制代码

5. 创建pv:pvcreate /dev/vdb1

  1. # 创建pv,方便将pv交给vg管理
  2. pvcreate /dev/vdb1
  3. # pvscan查看卷组,观察是否创建成功
  4. pvscan |  grep /dev/vdb1
复制代码

6. 扩容vg:vgextend centos /dev/vdb1

   我现在要给/扩容,所以要知道/属于哪个vg管理
  1. # 查看lv
  2. lvdisplay
复制代码

所以我现在要给centos这个VG扩展容量
  1. # 将/dev/vdb1这个pv交给centos这个vg管理
  2. vgextend centos /dev/vdb1
  3. # 查看vg状态
  4. vgdisplay
复制代码

7.扩容lv:lvextend -l +100%FREE /dev/centos/root


   我们要给/目次扩容,所以需要知道/目次对应的LVPath是什么
  1. # 查看/挂载点对应的信息
  2. df -h
复制代码

  1. # 查看LV虚拟卷信息,可以知道/对应的LVPath为/dev/centos/root
  2. lvdisplay
复制代码

下面就是给LV扩容:
  1. # 按固定大小追加(追加10G给/dev/centos/root这个LVPath)
  2. lvextend -L +10G /dev/centos/root
  3. # 按百分比追加
  4. lvextend -l +100%FREE /dev/centos/root
复制代码
  以百分比追加为例,我将vg中剩下的全部容量全部分配给/
  1. lvextend -l +100%FREE /dev/centos/root
复制代码

  1. # 查看LV是否扩容成功
  2. lvdisplay
复制代码

LV Size乐成由50G扩容到了100G
8. 革新分区:xfs_growfs /dev/centos/root

df 命令参看硬盘信息-T选项, 查看文件系统类型centos6文件系统是ext4,因为设计较早,对于现今动辄上T的海量数据处理,性能较低。 centos7文件系统是xfs,实用于海量数据。
  1. # xfs格式的硬盘使用xfs_growfs
  2. # ext4用resize2fs命令,
  3. df -T # 查看文件系统类型(一般centos6是ext4,centos7及以后是xfs)
  4. # resize2fs /dev/centos/root # 适用于centos6
  5. xfs_growfs /dev/centos/root # centos7及以后
复制代码

9. 验证df -h

扩容前:

扩容后:

注意: 不要卸载扩容的磁盘,可能出现丢失数据或是系统无法启动
   因为多个LV对外提供的是一个VG,假如你卸载了其中一个磁盘导致LV失效,部分数据就可能丢失。类比:ES中的Shard
  2.3 总结

   

  • 新增磁盘
  • fdisk给磁盘创建分区,fdisk /dev/vdb
  • mkfs格式化磁盘,mkfs -t xfs /dev/vdb1
  • pvcreate创建pv,pvcreate /dev/vdb1
  • vgextend扩容vg,vgextend centos /dev/vdb1,给vg扩容(将/dev/vdb1交给centos这个vg管理)
  • lvextend扩容lv,lvextend -l +100%FREE /dev/centos/root
    (将vg剩余的容量全部分配给/dev/centos/root这个lv)
  • xfs_growfs革新分区,# resize2fs /dev/centos/root # 实用于centos6
    xfs_growfs /dev/centos/root # centos7及以后
  • df -h 查看挂载点大小变革,观察是否扩容乐成

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表