继上次 "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. Scala基础:闭包、柯里化、隐式转换和隐式参数

    闭包,和js中的闭包一样,返回值依赖于声明在函数外部的一个或多个变量,那么这个函数就是闭包函数. val i: Int = 20 //函数func的方法体中使用了在func外部定义的变量 那func就 ...

  2. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  3. Yii项目开发总结

    学习Yii很久了,一直做的是小案例,自以为学的还不错.直到最近用Yii开发了一个非常简单的CMS,一路下来,磕磕绊绊,才知自己不足.加上最近正学习着偏架构方面的知识.特此总结一下.小白经验,大神轻拍, ...

  4. javascript总结39:DOM 中常用的表单元素的属性

    1 常用操作元素: value 用于大部分表单元素的内容获取(option除外) type 可以获取input标签的类型(输入框或复选框等) disabled 禁用属性 checked 复选框选中属性 ...

  5. javascript总结27 :特殊引用类型String/Number/Boolean

    为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean 1  Number 例如: var s1 = "zhangsan&quo ...

  6. c_c++基础问题(平时读书时笔记)

    1 IP私有地址: 10.0.0.0 -- 10.255.255.255 172.16.0.0 -- 172.31.255.255 192.168.0.0 -- 192.168.255.255 2OS ...

  7. js链式调用

    我们都很熟悉jQuery了,只能jQuery中一种非常牛逼的写法叫链式操作 * $('#div').css('background','#ccc').removeClass('box').stop() ...

  8. C/C++学习的50个经典网站

    C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码.这份清单提供了源代码的链接以及它们的小说明.我已尽力包括最佳的C/C++源代码的网站.这不是一个完整的清 ...

  9. delphi android 录像

    delphi xe系列自带的控件都无法保存录像,经网友帮忙,昨天终于实现了录像功能(但有个问题是录像时无画面显示),程序主要使用了JMediaRecorder,MediaRecorder的使用方法可参 ...

  10. 深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图

    之前写了篇博文,深入理解最强桌面地图控件GMAP.NET --- 百度地图 但是很多回复说百度地图更新了,不能显示百度的离线地图.之前承诺说是国庆节更新,最近才更新.代码已经提交到: https:// ...