前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LVM扩容操作

LVM扩容操作

作者头像
全栈程序员站长
发布2022-08-31 13:00:38
5.4K0
发布2022-08-31 13:00:38
举报

大家好,又见面了,我是你们的朋友全栈君。

文章目录

一、测试环境

我是在virtualbox上安装的测试环境:centos。其具体硬盘配置如下

代码语言:javascript
复制
df -Th
在这里插入图片描述
在这里插入图片描述

磁盘情况: fdisk -l

在这里插入图片描述
在这里插入图片描述

今天主要是分别操作下给lvm根分区扩容

二、给lvm分区扩容(加硬盘)

可以看到,现有系统是一块硬盘sda,共64G,并分成两个分区,sda1直接挂载到/boot目录,sda2分区则交给了LVM来管理,并挂载到根目录/和/home目录

1.新增硬盘

我是用virtualbox来模拟的,关闭linux系统。点击“设置-存储-控制器SATA右边的+号图标“,创建新的虚拟盘

在这里插入图片描述
在这里插入图片描述

选择“文件位置,文件类型为VHD虚拟硬盘”点击 创建。

在这里插入图片描述
在这里插入图片描述

创建之后,可以看到有两个硬盘了

在这里插入图片描述
在这里插入图片描述

2.给新的硬盘分区

代码语言:javascript
复制
fdisk -l 
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
lsblk
在这里插入图片描述
在这里插入图片描述

可以看到多了一个硬盘sdb了,现在给sdb分区,注意要选择分区类型为8e。 执行命令: fdisk -l /dev/sdb

在这里插入图片描述
在这里插入图片描述

这里需要注意,在依次输入 n p 1之后,输入p查看了下分区格式,显示出的Id那一栏是83,这是默认的分区格式,但我们需要将这个分区后面交给lvm来管理,就需要修改分区格式,输入 t , 8e 修改完分区格式之后,我们再输入p看一下,Id从83变成8e了。输入w保存

在这里插入图片描述
在这里插入图片描述

具体83代表什么,8e代表什么,可以参考下图

在这里插入图片描述
在这里插入图片描述

这就分区完成了。我们再输入fdisk -l 和 lsblk看看:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、Lvm操作

其实主要的操作流程就是: 创建物理卷 ->> 将物理卷加入到卷组 ->> 扩展逻辑卷 –>刷新文件系统。 (这里已经有卷组了,不需要再创建卷组)

查看卷组状态:vgdisplay
在这里插入图片描述
在这里插入图片描述
创建物理卷:pvcreate /dev/sdb1
扩展卷组: vgextend 卷组名 物理卷路径
在这里插入图片描述
在这里插入图片描述
扩展逻辑卷: lvextend

先看下逻辑卷状态: lvdisplay

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们是想扩展根目录,也就是对应逻辑卷: lv_root

代码语言:javascript
复制
lvextend  /dev/VolGroup/lv_root /dev/sdb1
在这里插入图片描述
在这里插入图片描述

注意:lvextend的第一个参数是逻辑卷路径,不是名称。当然也可以把卷组中剩余的空间都分配给该逻辑卷

代码语言:javascript
复制
lvextend -l +100%FREE /dev/VolGroup/lv_root
拉伸文件系统:xfs_growfs 或者 resize2fs
代码语言:javascript
复制
xfs_growfs /dev/VolGroup/lv_root 

如果报错,换

代码语言:javascript
复制
resize2fs /dev/VolGroup/lv_root

4、验证结果:

现在再看下目录大小:

在这里插入图片描述
在这里插入图片描述

扩容完成!

三、给lvm分区扩容(不加硬盘,直接加容量)

在上面的操作中,我新增了一块8G的硬盘,并且把这个新硬盘成功的扩充到根目录中。那如果我现在把这个8G的硬盘,扩展为20G的容量。(实际生产环境中,有可能客户使用的就是虚拟系统,可以不加实体硬盘而直接增加虚拟硬盘容量) 那怎么把这剩余的20G也放到根目录下呢

给硬盘加容量

打开virtualbox ,管理 –> 虚拟介质管理–>找到需要扩充的虚拟硬盘文件,调整大小

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个硬盘的容量已经扩展到20GL ,但是现在还是不被系统所识别的,系统还只认识之前的8G。

代码语言:javascript
复制
fdisk -l 
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sdb虽然总共有20G,但是使用的之后sdb1分区8G。 首先先要对分区sdb1进行扩容

调整分区大小 fdisk

从上面截图可以看到,sdb1 的起始磁柱号是1(这只是测试,一般情况下不一定),结束磁柱好为1044,但实际上整个硬盘有2610个磁柱,所以需要调整分区。其主要操作步骤是: 1.查看起始磁柱号 a 2.删除分区(注意这时候千万不能保存) 3.重新创建分区,并且开始磁柱号设置为第1步的起始磁柱号 a 4.保存

代码语言:javascript
复制
fdisk /dev/sdb
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

让系统核心重新捕捉分区表

代码语言:javascript
复制
partprobe

再来看 /dev/sdb磁盘,分区大小已经调整到最大了

在这里插入图片描述
在这里插入图片描述

扩展物理卷 /dev/sdb1

我们用 pvdisplay查看物理卷状态,发现还是原来的8G大小

在这里插入图片描述
在这里插入图片描述

所以需要先把物理卷的容量扩大,才好调整逻辑卷

代码语言:javascript
复制
pvresize /dev/sdb1
在这里插入图片描述
在这里插入图片描述

扩展逻辑卷 lvextend

代码语言:javascript
复制
vgdisplay
在这里插入图片描述
在这里插入图片描述

可以看到卷组已经多了12G的可分配空间。

代码语言:javascript
复制
lvdisplay
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
lvextend -l +100%FREE 卷路径
在这里插入图片描述
在这里插入图片描述

拉伸文件系统:xfs_growfs 或者 resize2fs

代码语言:javascript
复制
resize2fs /dev/VolGroup/lv_root
在这里插入图片描述
在这里插入图片描述

可以看到根目录大小已经扩大了12G

参考文档

https://www.cnblogs.com/cyrus0w/p/13194028.html https://linux.cn/article-3218-1.html?pr https://blog.csdn.net/l675655077/article/details/80229901 https://www.jianshu.com/p/273daea17b2a

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151484.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、测试环境
  • 二、给lvm分区扩容(加硬盘)
    • 1.新增硬盘
      • 2.给新的硬盘分区
        • 3、Lvm操作
          • 查看卷组状态:vgdisplay
          • 创建物理卷:pvcreate /dev/sdb1
          • 扩展卷组: vgextend 卷组名 物理卷路径
          • 扩展逻辑卷: lvextend
          • 拉伸文件系统:xfs_growfs 或者 resize2fs
        • 4、验证结果:
        • 三、给lvm分区扩容(不加硬盘,直接加容量)
          • 给硬盘加容量
            • 调整分区大小 fdisk
              • 让系统核心重新捕捉分区表
                • 扩展物理卷 /dev/sdb1
                  • 扩展逻辑卷 lvextend
                    • 拉伸文件系统:xfs_growfs 或者 resize2fs
                    • 参考文档
                    相关产品与服务
                    对象存储
                    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档