LVM 认知与扩容操作
继上次 "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 认知与扩容操作的更多相关文章
- 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 ...
- CentOS LVM 卷在线扩容
场景: vmware 虚拟机,装了CentOS ,更改了虚拟机磁盘的大小:从200G,扩展到320G,可以参考本文写了步骤. 1. 在线扫描虚拟机SCSI新增的容量 # for i in `find ...
- [转] LVM分区在线扩容
[转] LVM分区在线扩容 在线扩容的这台服务器,LV分区格式为xfs,原大小1.2TB.增加了一块硬盘,大小为1.8TB. fdisk /dev/cciss/c0d1 # 创建分区,并指定分区类型为 ...
- docker mysql 容器报too many connections 引发的liunx磁盘扩容操作
症状每次删除mysql容器重启没两分钟又报标题错 df -h 命令查看各个挂载空间应用情况发现root home var 三个文件目录挂载的空间满了 网上百度了一下liunx磁盘扩容操作,fdisk ...
- linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作
Linux MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...
- LVM基础详细说明及动态扩容lvm逻辑卷的操作记录
LVM概念:---------------------------------------------------------------------------------------------- ...
- 动态扩容lvm逻辑卷的操作记录
在进行动态扩容LVM逻辑卷的之前,先看这篇文章:https://www.cnblogs.com/huhyoung/p/9689776.html.以下是我实操记录. 在上班期间,测试经理突然找我,能不能 ...
- lvm的vg扩容
本次扩容的目的是要扩展 / 的整体容量,具体操作如下: 1.首先查看是否存在未分配的磁盘 [root@NH-Test-44 ~]# fdisk -l Disk /dev/vda: 53.7 GB, 5 ...
- ubuntu lvm模式进行扩容
ubuntu的16.04 18.04有lvm的功能(安装的时候的选项),能在磁盘空间用完的时候,无缝增加一个磁盘进去.因为linux系统只有一个盘,所以是非常方便,不会有windows加1个磁盘要进行 ...
随机推荐
- Application.LoadLevel & Object.DontDestroyOnLoad
[Application.LoadLevel] 只有在File->Build Setting中设置了的按钮才能被加载. 当level加载完成后,MonoBehaviour.OnLevelWasL ...
- Python基础:面向对象基础 (一) 类及其属性和魔法方法
定义类,添加和获取对象属性 # 定义类 格式如下 # class 类名: # 方法列表 # 新式类定义形式 # info 是一个实例方法,第一个参数一般是self,表示实例对象本身 class Her ...
- 一个word小技巧
最近在进行word格式重拍的时候发现了一个有些恶心的事,怎么去匹配文档里面所有的中文呢? 后来通过网络搜索发现了答案,在word中的查找和替换中有一个选项,可以使用通配符进行匹配. 当我们使用 ([一 ...
- linux fuser的使用
当进行共享存储的时候,umount可能无法用于卸载某个设备,说是被某个进程所占用,但是又无法找到该进程.这个时候使用fuser -km /data命令杀死所有在使用这个存储设备的进程然后再umount ...
- Metadata Service 最高频的应用 - 每天5分钟玩转 OpenStack(164)
实现 instance 定制化,cloud-init(或 cloudbase-init)只是故事的一半,metadata service 则是故事的的另一半.两者的分工是:metadata servi ...
- cs231n(一)
1.Nearest Neighbor Classifier 计算未分类数据(图片)与已标记类别的训练数据(training set)的距离(L1,L2等距离),然后返回与训练数据(图片)最小距离的图片 ...
- Go语言特性
1.入口,go有且只有一个入口函数,就是main函数 liteide (IDE)的 一个工程(文件夹)只能有且只有一个main函数 package main import "fmt" ...
- 设计模式(java)--状态模式
状态模式(State Pattern)是设计模式的一种,属于行为模式. 定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 状态模式主要 ...
- 认证服务号Thinkphp微信支付
公众号配置 1.微信支付过程中需要获取用户的openid,所以,仍需填写 网页授权域名 2.微信支付授权目录 Thinkphp目录格式为www.xxx.cn/home/wxpay/ 这里目录不能填写 ...
- Shell脚本中$0、$?、$!、$$、$*、$#、$@
1. $$Shell本身的PID(ProcessID) 2. $!Shell最后运行的后台Process的PID 3. $?最后运行的命令的结束代码(返回值) 4. $-使用Set命令设定的Flag一 ...