物理卷 -- Physical Volume -- PV

卷组  -- Volume Group  -- VG

逻辑卷 -- Logical Volume -- LV

  1、硬盘设备管理技术虽然能够有效的提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为 RAID 的磁盘阵列之后,再想修改硬盘分区大小就不容易了。当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制,这是需要用到另一一项非常普及的硬盘设备资源管理技术——LVM(逻辑卷管理器),LVM 可以允许用户对硬盘资源进行动态调整。

  2、逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,其创建的初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对系统的硬盘分区进行强制扩容或缩容从理论上讲师可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并,由此用户不必关心物理硬盘设备的底层架构和布局就可以实现对硬盘分区的动态调整。

  

  3、常用LVM部署命令

功能/命令    物理卷管理    卷组管理    逻辑卷管理

扫描       pvscan         vgscan       lvscan

建立       pvcreate         vgcreate     lvcreate

显示       pvdisplay     vgdisplay       lvdisplay

删除       pvremove       vgremove      lvremove

扩展                 vgextend       lvextend

缩小                 vgreduce          lvreduce

  4、环境准备。添加两块新硬盘。

  对这两块硬盘进行创建物理卷的操作可以理解成让硬盘设备支持LVM技术或把硬盘设备加入到LVM技术可用的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户自定义。

  把合并后的卷组切割出一个 150 MB的逻辑卷设备,把这个逻辑卷设备格式化成 ext4 文件系统后挂载使用。

  5、LVM技术部署

  

  (1)让新添加的两块硬盘设备支持LVM 技术。

pvcreate /dev/sdb /dev/sdc

  (2)把两块硬盘设备加入到 storage 卷组中。

vgcreate storage /dev/sdb /dev/sdc 

  (3)查看卷组的状态。

vgdisplay

  (4)切割出一个约为 150MB 的逻辑卷设备。

  注意:切割单位的问题,在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的的参数为-L。例如,使用 -L 150M 生成一个大小为150MB的逻辑卷,另外一种是以基本单元的个数为单位,所使用的参数为 -l 。每个基本单元的大小默认为 4MB。例如,使用 -l 37 可以生成一个大小为 37 ×4MB=148MB 的逻辑卷。

lvcreate -n lv -L 150M storage
# -n 表示指定名字 -L 指定逻辑卷的大小

  (5)将生成好的逻辑卷进行格式化,然后挂载使用。

mkfs.ext4 /dev/storage/lv

  /dev/sdb 和 dev/sdc 做卷组 storage,新生成的卷组为 /dev/storage,从/dev/storage 卷组中切割出逻辑卷lv,lv所在位置 /dev/storage/lv。

  (6)挂载,查看挂载状态。

mkdir /lvm
mount /dev/storage/lv /lvm
df -h

  (7)写入到配置文件中永久生效。

echo "/dev/storage/lv  /lvm ext4 default 0 0">> /etc/fstab  

  6、扩容逻辑卷

  只要卷组中有足够的资源,就可以一直为逻辑卷扩容。扩容前一定要记得卸载设备和挂载点的关联。

umount /lvm

  (1)将逻辑卷的 lv 扩展至 290MB

lvextend -L 290M /dev/storage/lv

  (2)检查硬盘完整性

e2fsck -f /dev/storage/lv

  (3)重置硬盘容量

resize2fs /dev/storage/lv

  (4)重新挂载并查看。

  逻辑卷的容量已经改变。

  7、缩小逻辑卷

  相较于扩容逻辑卷,缩容逻辑卷丢失数据的风险更大。对逻辑卷进行缩容之前,要先检查文件系统的完整性(为了保证数据安全),在执行缩容操作前要先把文件系统卸载。

umount /lvm

  (1)检查文件系统的完整性

e2fsck -f /dev/storage/lv

  (2)把逻辑卷 lv 的容量减小到 120MB

resize2fs /dev/storage/lv 120M
lvreduce -L 120M /dev/storage/lv

  (3)重新挂载文件系统并查看系统状态

mount /dev/storage/lv /lvm
df -h

LVM(逻辑卷管理器)部署、扩容、缩小的更多相关文章

  1. Linux 笔记 - 第十七章 Linux LVM 逻辑卷管理器

    一.前言 在实际生产中,有时会遇到磁盘分区空间不足的情况,这时候就需要对磁盘进行扩容,普通情况下需要新加一块磁盘,重分区.格式化.数据复制.卸载旧分区.挂载新分区等繁琐的步骤,而且有可能造成数据的丢失 ...

  2. LVM逻辑卷管理器

    LVM概述 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...

  3. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

  4. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  5. 逻辑卷管理器LVM

    逻辑卷管理器LVM •将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 • 在物理卷上创建的逻辑卷是由物理区 ...

  6. Linux逻辑卷管理器(LVM)

    LVM基础 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...

  7. 10-3 LVM(逻辑卷管理器)

    LVM(逻辑卷管理器) 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统 将设备指定为物理卷 用一个或者多个物理卷来创建一个卷组 物理卷是用固定大小的物理 ...

  8. Linux系统磁盘管理(lvm逻辑卷管理)

    linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...

  9. 十三、LVM 逻辑卷管理

    http://note.youdao.com/noteshare?id=0252cd5dcf7f2e5f11de5b3672779201&sub=ED011464ADA3467D9424271 ...

随机推荐

  1. 关于C# 语言

    C# 语法高度重视表达,但学习起来也很简单轻松. 任何熟悉 C.C++ 或 Java 的人都可以立即认出 C# 的大括号语法. 通常情况下,了解上述任何一种语言的开发者可以在很短的时间内就开始使用 C ...

  2. 【CPLUSOJ】【动态规划】最短回文串

    题目链接 [问题描述] 如果一个字符串正过来读和倒过来读是一样的,那么这个字符串就被称作回文串.例如abcdcba,abcddbca就是回文串,而abcdabcd不是. 你要解决的问题是:对于任意一个 ...

  3. Reachability的用法 判断用户的网络状态

    - (void)viewDidLoad { [super viewDidLoad]; // 监听网络状态发生改变的通知 [[NSNotificationCenter defaultCenter] ad ...

  4. mysql那些事(2)时间类型数据如何存储

    几乎每次数据库建模的时候,都会遇到时间类型数据存储的问题. mysql存储时间通常选择这四种类型:datetime.timestamp.int和bigint四种方式,到底使用什么类型,需要看具体的业务 ...

  5. Vue组件应用

    Vue的组件是可复用的 Vue 实例,且带有一个名字 .我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用.因为组件是可复用的 Vue 实例,所以它们与 ne ...

  6. 一道题反映Java的类初始化过程

    Java的类初始化过程: 1. 父类的static成员变量,static语句块. 2. 子类的static成员变量,static语句块. 3. 父类的普通成员变量,构造函数. 4. 子类的普通成员变量 ...

  7. oracle开启关闭日志归档

    oracle归档日志开启之后,会产生大量的日志,需要定时清理以及不重要的数据库可以不开启归档模式,下面介绍一下oracle归档开启.关闭以及日志的删除:一.oracle归档日志开启及关闭1.登录服务端 ...

  8. go break的使用

    文章目录 一.踩得坑 二.break的使用 1.break用于for循环 2. break用于select 3.break用于嵌套循环 4.break label . goto label .cont ...

  9. Geoserver2.15.1 配置自带 GeoWebCache 插件发布 ArcGIS Server 瓦片(附配置好的 Geoserver2.15.1 下载)

    之前写过一篇关于 Geoserver2.8.5 版本的部署配置发布 ArcGIS Server 瓦片点击查看,那是下载 Geoserver2.8.5 源码编译,重新打包 jar 来部署配置思路的,版本 ...

  10. 2017 CCPC杭州 题解

    2017CCPC杭州题目PDF Problem A. Super-palindrome 题解: 给你一个字符串,每一步可以将一个字符替换为另一个字符,问你最少多少步可以使得,该字符串任意奇数子串为回文 ...