继上次 "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. Kafka如何保证数据不丢失

    Kafka如何保证数据不丢失 1.生产者数据的不丢失 kafka的ack机制:在kafka发送数据的时候,每次发送消息都会有一个确认反馈机制,确保消息正常的能够被收到,其中状态有0,1,-1. 如果是 ...

  2. cdoj32-树上战争(Battle on the tree) 【记忆化搜索】

    http://acm.uestc.edu.cn/#/problem/show/32 树上战争(Battle on the tree) Time Limit: 12000/4000MS (Java/Ot ...

  3. 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令

    一.HTTP模块的作用是什么? Nginx的HTTP模块用于控制Nginx的HTTP进程. 二.指令 1. alias 含义:指定location使用的路径,与root类似,但不改变文件的跟路径,仅适 ...

  4. SQL Server XML变量转为Json文本

    1 -- create function 2 create function [dbo].[fnXmlToJson] (@XmlData xml) 3 returns nvarchar(max) 4 ...

  5. activeMQ集群搭建及高可用

    三台服务器搭建如下的集群,达到了高可用.也同时达到了负载的目的: /****************************************************************** ...

  6. Linux buffer and cache

    A buffer is something that has yet to be "written" to disk. A cache is something that has ...

  7. [C++] const object

    const  object const 对象只能调用const函数 const函数不能改变一般成员变量的值,但是mutable的变量不受限制

  8. Luogu 4726 【模板】多项式指数函数

    补补补…… 这个题的解法让我认识到了泰勒展开的美妙之处. 泰勒展开 泰勒展开就是用一个多项式型的函数去逼近一个难以准确描述的函数. 有公式 $$f(x)\approx g(x) = g(x_0) + ...

  9. 一个新手后端需要了解的前端核心知识点之margin(二)

    最近以开发自己博客网站为出发点开始决心打牢几个非常重要的前端知识点: margin,这个在我刚刚接触编程的时候留下的困扰的东西,一开始只想着怎么快速开发自己的网站,别人的终归是别人的,想要挖墙脚,必须 ...

  10. Linux Mint 17使用配置

    => 调亮度: 方法一: 每次开机或注销登录之后需要重新设置 > /sys/class/backlight/intel_backlight/brightness #根据自己需要调值,如20 ...