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个磁盘要进行 ...
随机推荐
- 【bzoj2480】Spoj3105 Mod
2480: Spoj3105 Mod Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 557 Solved: 210[Submit][Status][ ...
- 解剖Nginx·自动脚本篇(3)源码相关变量脚本 auto/sources
在configure脚本中,运行完auto/options和auto/init脚本后,接下来就运行auto/soures脚本.这个脚本是为编译做准备的. 目录 核心模块 事件模块 OpenSSL 模块 ...
- Java中的对象要怎样才算相等
一.引用相等性与对象相等性 1. 引用相等性 引用到堆上同一个对象的两个引用是相等的,这就是引用的相等性. 如果想要知道两个引用是否相等,可以使用==来比较变量上的字节组合,如果引用到相同的对象,字节 ...
- fastdfs 上传和下载 有用
一.FastDFS解决什么样的问题 1.存储空间可扩展. 2.提供一个统一的访问方式. 使用FastDFS,分布式文件系统.存储空间可以横向扩展,可以实现服务器的高可用.支持每个节点有备份机. 二.什 ...
- 一文读懂HDMI和VGA接口针脚定义
一文读懂HDMI和VGA接口针脚定义 摘自:http://www.elecfans.com/yuanqijian/jiekou/20180423666604.html HDMI概述 HDMI是高清 ...
- 设计模式(java)--中介者模式之同事的关联
转自:http://blog.csdn.net/zhengzhb/article/details/7430098 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使 ...
- git hook 自动部署
1. 当前虚拟站点根目录的 .git/ 权限 2. 当前项目裸仓库创建 hooks/post-receive 文件,并给予x 的权限 3. 复制如下内容 #!/bin/sh unset $(git r ...
- java.lang.NoClassDefFoundError: Could not initialize class com解决方案
编写的时候遇到这样一个bug, java.lang.NoClassDefFoundError: Could not initialize class com 纠结了两天多,但是,没有找到答案,这个问题 ...
- 前端福利之表单input按钮在各浏览器之间的兼容性(转)
从网上看了这篇关于表单input按钮的浏览器兼容性问题,总结的还不错,所以copy下来学习下. input按钮在各个浏览器之间的兼容性问题,看下边这段代码: input.item { backgrou ...
- gitlab 安装提速
因为城墙的问题必须该用国内的taobao源 # 更换源地址gem sources --remove https://rubygems.org/ gem sources -a http://ruby.t ...