继上次 "Linux系统如何迁移至LVM磁盘"反响不错,近三百的访问量吧。这次想续写点东西,主要讲的是"LVM认知和扩容操作"。因为网上大多数不准确,可能作者也没有真实服务器可以做实验,然后俺比较幸运合伙搞IDC的,所以这篇文章想给大家带来点帮助!


环境背景介绍,北京峰鸟网络科技有限公司 有多台服务器。现在为了部署openvz环境,将机房中一台大母鸡交给俺进行运维,主要要进行安装和部署。操作系统选择的是"CentOS6.8"(较稳定同时支持Openvz),SSD磁盘大小为250G左右。

但是在部署完成LVM以后,业务比较顺利。原来的大小不足以继续维持业务了,为了满足业务的正常运行。俺需要进行了LVM扩容。

一、预备知识:

1、LVM是什么?

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。

一般磁盘都是以SD开头*(当然还有代表HHD的HD开头),/dev/sda代表了第一快物理磁盘(可能500G、1T甚至3T),/dev/sdb代表管理员向服务器添加了第二快磁盘……以服务器所知识的磁盘接口为极限。同时/dev/sda1代表了磁盘的第一个分区(可以是1G、1T、794M都是有可能的)/dev/sda2代表着第一块磁盘的第二个分区。

这里找到一张图同时解释一下:我们有了四快磁盘...同时都是一个分区(LVM不像RAID对大小有要求,LVM可以每个分区都不一样)!。这样我们就有了PV物理卷(physical volume)(对LVM来说)。再者我们将所有PV物理卷(physical volume)组合再一起作为VG卷组(Volume Group)(LVM逻辑卷(logical volume)圈定的一个组,可以多个组)。如图,这个组最后又分配给了多个分区(这样就是LVM,因为LVM是VG分配下来的,所以LVM也可以增大或减小)。这样就是LVM的大致解释,更多请看:https://en.wikipedia.org/wiki/Logical_volume_management

2、LVM 优缺点?

逻辑卷管理(Logical volume management,LVM),为电脑中的大量存储设备(Mass storage devices)提供更有弹性的硬盘分区方式。它是一种抽象化存储技术,实现的方式,根据操作系统而有所不同。基本上,它是在驱动程序操作系统之间增加一个逻辑层,以方便系统管理硬盘分区系统。

优点:安全,便捷。

缺点:为满足上述"安全",成品高。

这里,说明一个误区。很多人说LVM没有RAID那样安全。其实是因为对LVM没有正真理解,俺做过实验。LVM可以让RAID作为PV加入VG最后做出来的LVM是非常安全的(数据上)。但是这样来说要买更多的磁盘作为支持,并且完成这样的LVM需要更高的人力成本。

二、LVM扩容实战:

注意,为节省读者时间。已经删除了LVM的搭建过程(包括加入磁盘分区,加入PV等)

3、LVM 中VG的加入

vgextend <vgdisplay中查到的vgname> <经过pvcreate的/dev/sd磁盘>

注意:这里俺用红色画出来了。在加入vg是使用的是"vgextend"命令,网上有人说要用"-add"参数,但是俺实践下来并不这样,红色为错误示范。黄色正确

4、 LVM 中过程检验

上面分别是vgs=vgdisplay 卷组(Volume Group以及lvs=lvdisplay 逻辑LVM卷(logical volume)的示结果。

5、LVM 中磁盘"resize2fs"重分配

resize2fs </dev/mapper/vg-lvm> <size>

很多人都死在这里了。注意即便LVM建立完成了,也不能高兴太早。Linux系统并没有认出全部的空间的大小,"partprobe"或者"reboot"都是无效的。一定要resize2fs重新分配大小

LVM 认知与扩容操作的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. CentOS LVM 卷在线扩容

    场景: vmware 虚拟机,装了CentOS  ,更改了虚拟机磁盘的大小:从200G,扩展到320G,可以参考本文写了步骤. 1. 在线扫描虚拟机SCSI新增的容量 # for i in `find ...

  3. [转] LVM分区在线扩容

    [转] LVM分区在线扩容 在线扩容的这台服务器,LV分区格式为xfs,原大小1.2TB.增加了一块硬盘,大小为1.8TB. fdisk /dev/cciss/c0d1 # 创建分区,并指定分区类型为 ...

  4. docker mysql 容器报too many connections 引发的liunx磁盘扩容操作

    症状每次删除mysql容器重启没两分钟又报标题错 df -h 命令查看各个挂载空间应用情况发现root home var 三个文件目录挂载的空间满了 网上百度了一下liunx磁盘扩容操作,fdisk ...

  5. linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作

    Linux  MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...

  6. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

    LVM概念:---------------------------------------------------------------------------------------------- ...

  7. 动态扩容lvm逻辑卷的操作记录

    在进行动态扩容LVM逻辑卷的之前,先看这篇文章:https://www.cnblogs.com/huhyoung/p/9689776.html.以下是我实操记录. 在上班期间,测试经理突然找我,能不能 ...

  8. lvm的vg扩容

    本次扩容的目的是要扩展 / 的整体容量,具体操作如下: 1.首先查看是否存在未分配的磁盘 [root@NH-Test-44 ~]# fdisk -l Disk /dev/vda: 53.7 GB, 5 ...

  9. ubuntu lvm模式进行扩容

    ubuntu的16.04 18.04有lvm的功能(安装的时候的选项),能在磁盘空间用完的时候,无缝增加一个磁盘进去.因为linux系统只有一个盘,所以是非常方便,不会有windows加1个磁盘要进行 ...

随机推荐

  1. Python基础:函数的介绍及应用

    # 函数的定义 def firstFun(): print("----------------------") print("剑来") print(" ...

  2. 【算法】2-sat问题【模板】

    什么是2-sat问题 有n个布尔型变量xi,另外m个需要满足的条件.每个条件都是“xi为真/假或者xj为真/假”.这句话中的“或者”意味着两个条件中至少有一个正确.2-sat问题的目标是给每个变量赋值 ...

  3. Flume NG 配置详解

    配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式,是Java属性文件格式.在相同的配置文件,可以指定一个或多个代理的配置.配置文件包括每个源,接收器和通道,把它们连接在一起, ...

  4. SpringBoot29 登录逻辑、登录状态判断

    1 知识点扫盲 浏览器和服务器之间时通过session来确定连接状态的,浏览器第一次请求时服务端会自动生成一个session,并将这个sessionId传回给浏览器,浏览器将这个sessionId存放 ...

  5. DBArtist之Oracle入门第4步: Oracle创建数据库

    刚开始进去后,我是懵逼的状态,不知道要干嘛,之前常用的是MSSQL,感觉两者还是有区别的: oracle中:1.查询数据库名:select name,dbid from v$database;或者sh ...

  6. a Concise Sparse Matrix package

    简明稀疏矩阵包 https://github.com/kulhanek/csparse https://github.com/kulhanek/csparse

  7. Use formatter to format your JAVA code

    In order to make the codes looks unified and make it easy to understand, it's better to use the same ...

  8. [SoapUI] SoapUI+Groovy中"org.apache.xmlbeans.XmlException: error:

    把 def holder = groovyUtils.getXmlHolder("Get Token#Response") 改为 def holder = groovyUtils. ...

  9. idea 提示Resource registered by this uri is not recognized (Settings | Languages & Frameworks | Schemas and DTDs)

    idea出现如上图所示的错误提示时,可以用如下方式解决 点击红色代码部分,鼠标悬停后出现红色灯泡,如下图所示 点击灯泡后,选择第一个选项就可以解决了

  10. redis 通配符 批量删除key

    Redis 中 DEL指令支持多个key作为参数进行删除 但不支持通配符,无法通过通配符批量删除key,不过我们可以借助 Linux 的管道和 xargs 指令来完成这个动作. 比如要删除所有以use ...