Linux磁盘扩容 之 LVM 扩容之路

Linux磁盘扩容 之 LVM 扩容之路引言众所周知,我们大多数服务都是跑在Linux上的,因为Linux命令行形式的特性,也导致了很多开发者只喜欢把Linux当做跑服务的机器,并不作为日常的使用。这样导致了我们只能记得常用的部署命令,但遇到一些复杂的Linux运维就不知如何下手了。这不,我这两天就遇到了服务器磁盘不足的问题,一开始只想Google一下快速搞定,结果还是得补补Linux中LVM的这块知识点才可以。为了方便后人快速扩容,特此记录。LVM是什么LVM(LogicalVolumeManager)翻译过来是逻辑卷管理器,大家可

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

引言

众所周知,我们大多数服务都是跑在 Linux上的,因为Linux命令行形式的特性,也导致了很多开发者只喜欢把Linux当做跑服务的机器,并不作为日常的使用。这样导致了我们只能记得常用的部署命令,但遇到一些复杂的Linux运维就不知如何下手了。这不,我这两天就遇到了服务器磁盘不足的问题,一开始只想Google一下快速搞定,结果还是得补补Linux中LVM的这块知识点才可以。为了方便后人快速扩容,特此记录。

LVM是什么

LVM(Logical Volume Manager)翻译过来是逻辑卷管理器,大家可以把它认为是一种“RAID”形式的统一将多个磁盘当一块来用的中间层(可以暂时这么理解,但其实原理不是一回事)。就是说假如我们有3块4T的硬盘,我们可以用LVM组成一个12T的硬盘来用,后期也可以非常安全的在线扩容。ps:现在Linux安装的时候其实默认就采用了LVM的形式。

LVM的组成

LVM从上至下主要由三部分组成:

  • Physical Volumes 物理卷:通过物理存储设备来创建,就是我们的磁盘;
  • Volume Group 卷组:有了PV(特指物理卷)后,我们就可以创建VG(特指卷组);
  • Logical Volume 逻辑卷:那么有了VG后,就可以创建可供我们最终存储文件挂载所使用的LV(逻辑卷)。
    在这里插入图片描述
    为了方便大家理解,我就举个炸油条的例子。我们最底层的物理卷就相当于我们的一带面粉,从JD买回来两袋面粉后,我们需要对面粉进行和面,我们一袋面和一盆,和了两盆(这两盆就是PV)。然后我们可以把这两盆醒好的面放到一个大缸里待使用(大缸就是VG)。那炸油条的操作员就可以通过拿大缸里和好的面(LV),然后制作油条 。操作员想拿多少拿多少,对不对,这一缸面想怎么用就怎么用。至于这一缸面是从那个面粉里来的,不重要好吧,直接用!ps:其实PV在创建的时候会默认将面粉分成4M一份的形式,这个4M的最小单元叫PE(Physical Extend)。

开始扩容

那么了解了基本概念后,我们就要开始扩容了,我们先使用df -h看看我的服务器的可用空间:
在这里插入图片描述
太惨了吧!只有不到30G可用,这能干点啥,但现在硬盘至少都500G了怎么才这么点可用空间,应该是没用起来导致的。所以我们用lsblk来看看磁盘情况:
在这里插入图片描述
果然,可以看到我最大的一块LV分区(cach3-lvcache3)拥有484.2G的存储并没有使用。那么我们先来看看这台机器的油条生产线的情况如何:
首先看看PV面盆,使用pvs命令(精简)pvdisplay命令(详细):
在这里插入图片描述
我这个机器一共有三盆面粉,分别是:/dev/sda3 [54 G]、/dev/sda6 [279 G]、/dev/sda7 [204 G],还记得我们上面说的PE嘛,可以看到都是4M。
我们再来看看我的面缸:使用vgs命令(精简)vgdiplay命令(详细):
在这里插入图片描述
这里就比较明确了,我们原来没有把面盆和好的面放到一个缸里,而是放到了两个缸里:cache3centos。我空闲的那484 G的面缸原来一直都没用起来,我直接就是给他降级,注意:我们所有逆操作必须把比自己高一级或者同级的降一级再操作。这里我想把同为LG的cache3centos放到一起,也就是把cache3合并到centos里,就需要先把cache3降级。删除VG的指令是:vgremove cache3
在这里插入图片描述
好啦,这就把cache3这个缸给删了,放到了面盆里了。
在这里插入图片描述
我们现在知道面粉已经在dev/sda6dev/sda7盆里了,我们现在就要把这俩盆里的面给放到缸里。使用:vgextend centos /dev/sda6 命令。添加后可以看到VG(面缸)已经合并为一个,总大小是539G了,可以用的是484G。
在这里插入图片描述
我把这484G可用空间分别给到了现有home LV 380G、root LV 100G。这个时候再看我们的操作室LV就已经扩容啦!
在这里插入图片描述
咦~但我们的文件系统为啥还是这么小呢?这是因为逻辑卷是一个底层的东西,操作系统要使用这个东西都要进行一个格式化也就是创建文件系统,而文件系统在创建的时候大小已经固定了,我们拉伸了底层的逻辑卷却没有更新这个文件系统。这个时候操作系统还没法识别到这个新的空间,所以我们要更新一下让操作系统知道我们已经扩容啦!不同格式的分区更新文件系统的方式也不一样。需要查看一下你的文件系统是ext4还是xfs。如果是ext4使用:resize2fs /dev/centos/root来更新,如果是xfs 使用:xfs_growfs /dev/mapper/centos-root命令。怎么查看自己分区的格式呢?使用:cat /etc/fstab | grep centos-home命令
在这里插入图片描述
可以看到,这里我是xfs,所以我使用:xfs_growfs /dev/mapper/centos-root命令。
在这里插入图片描述
Yeah~ 终于搞定了!

总结

整体来说LVM还是非常方便的,可以非常安全的对我们的文件系统进行调整。希望对你有帮助!
See you~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151521.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Ubuntu18.04搭建源码搜索引擎Opengrok

    Ubuntu18.04搭建源码搜索引擎OpengrokTableofContents1OpenGrok介绍2安装OpenGrok2.1安装JAVA运行环境2.2安装Web服务器-Tomcat2.3安装OpenGrok2.4配置OpenGrok2.5安装 universal-ctags2.6建立源码索引2.6更新源码索引1OpenGrok介绍OpenGrok isafastand…

  • mysql一次查询,返回多个统计结果

    mysql一次查询,返回多个统计结果

  • string转map_中将转业可以任省长吗

    string转map_中将转业可以任省长吗暴力的直接Map对象toString()存,后面取出是就是用再转换为MapString转Map:JSONObjectjsonobject=JSONObject.fromObject(str);rMap=(Map<String,Object>)jsonobject;但很多时候并不能直接将Map对象的toString()而是应该转换为JsonObject后再调用toString()后存入就正常了Map<String,Object>map=newHashMa

  • 使用 JSONPath 解析 JSON 完整内容详解

    使用 JSONPath 解析 JSON 完整内容详解jsonpath的介绍:JsonPath是一种简单的方法来提取给定JSON文档的部分内容。JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。 github上有它的应用:https://github.com/json-path/…

  • c++中CreateEvent函数「建议收藏」

    c++中CreateEvent函数「建议收藏」http://blog.csdn.net/chenyujing1234/article/details/8572921函数原型:[cpp] viewplain copyHANDLE CreateEvent(    LPSECURITY_ATTRIBUTES lpEventAttributes, // SD    BO

  • 死链检测工具Xenu的操作及使用方法

    死链检测工具Xenu的操作及使用方法在网站SEO优化中,免不了经常检测网站的死链(404页面),使用死链检测工具可以起到事半功倍的效果,个人比较喜欢使用死链检测工具Xenu这款工具,具有界面简洁、操作方便等特性。死链检测工具Xenu的操作及使用方法1、下载Xenu软件并且打开Xenu程序,启动程序.exe文件名称为Xenu或者死链接检查,不同的压缩包解压出来不一致,以自己文件名称为准。双击“死链接检查”。2、点击导航栏中的“…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号