逻辑卷管理(LVM)

逻辑卷管理(LVM)


LVM概念

是系统上对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。

安装Linux系统时,最常见的问题是如何评估各分区大小,以分配合适的硬盘空间。随着LVM的出现,这些问题都引刃而解了,用户在无需停机的情况下方便地情况下方便的调整个分区的大小。

LVM重点在于可以弹性的调整文件系统的容量,而并非在于性能与数据安全上面(这些是RAID的功能).通过LVM,可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,在增删分区时无需担心某个硬盘上没有足够的连续空间,可以整合多个物理分区在一起,让这些分区看起来就像是一个磁盘一样,而且,还可以将其他物理分区加入或者从这个LVM管理的磁盘中删除,如此一来,在整个磁盘空间使用上,相当的有弹性。

LVM相关术语

1.物理存储介质

这里指系统的存储设备——硬盘,是存储系统最底层的存储单元。

2.物理卷(PV)

物理卷就是硬盘分区或者从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块。

3.卷组(VG)

LVM卷组类似于非LVM系统中的物理硬盘,由物理卷组成可以在卷组上创建一个或多个逻辑卷,LVM卷组由一个或多个物理卷组成。

4.逻辑卷(LV)

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷上可以创建文件系统。

5.物理区(PE)

每一个物理卷被划分为被称为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。

6.逻辑区(LE)

逻辑卷也被划分为被称为LE的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。 逻辑卷管理(LVM)

PE的大小是加入到VG后才决定的,用PE组成LV,这个过程是不损坏PE中的数据,所以逻辑卷可以动态的伸缩。LE与PE一一对应,大小相同。说白了就是最小基本可寻块PE(物理区)构成了众多PV(物理卷,磁盘分区),然后构成了一个大的卷组(VG,相当于非LVM系统中的硬盘),再对VG进行重新分区分为逻辑卷(LV),其上可以创建文件系统。这样做的好处就是,打破了硬盘固定分区这个概念。可以在不损坏数据的情况下加入或移走分区以改变卷的大小。 可以跨分区,方便使用。

LVM配置和使用

步骤

创建磁盘分区,分区类型选择8e(Linux LVM)
从磁盘分区中创建物理卷
从物理卷中创建卷组
从卷组中创建逻辑卷
格式化逻辑卷,创建文件系统
挂载逻辑卷到指定目录

1、创建磁盘分区

fdisk /dev/sda

2、分区类型选择8e

~】t

3、创建物理卷

~】pvcreate 【device……】
列出物理卷
~】pvscan
显示物理卷属性
~】pvdisplay

4、创建卷组

~】vgcreat vg1 【device……】
列出卷组
~】vgscan
显示卷组属性
~】vgdisplay

5、创建逻辑卷组

~】lvcreat -L 150G -n lv1 vg1
~】lgscan
显示卷组属性
~】lgdisplay

6、格式化逻辑卷,创建文件系统

~】mkfs -t ext4 /dev/vg1/lv1

7、挂载逻辑卷到指定目录

·】mount /dev/vg1/lv1 /mnt/lvm

添加或移除物理卷

1、移除

vgreduce vg1 /dev/sda6 #从卷组vg1中移除物理卷

2、添加

vgextend vg1 /dev/sda6 #从卷组vg1中移除物理卷

LVM容量调整

思路:

添加就是:
    先创建物理卷,再增加卷组的容量,再调节逻辑卷的容量,逻辑卷的容量调整要先增加空间,再调整文件系统大小。
prcreate-->unmount-->lvextent-->resize2f-->mount

删除就是:
    先删除逻辑卷,再删除卷组,再删除物理卷
unmount-->lvremove-->vgchange(设置卷组为非活跃状态)-->vgremove-->pvremove
扩展逻辑卷:
    # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
    # resize2fs /dev/VG_NAME/LV_NAME

缩减逻辑卷:
    # umount /dev/VG_NAME/LV_NAME
    # e2fsck -f /dev/VG_NAME/LV_NAME
    # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
    # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
    # mount

快照:snapshot
    lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name


原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/60358

(0)
N24_yeziN24_yezi
上一篇 2016-11-22
下一篇 2016-11-22

相关推荐

  • Linux下的网络配置方法(一)

        Linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。     常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 一、简介   &nb…

    Linux干货 2015-12-15
  • sed命令的入门与进阶

    sed:Stream EDitor     什么是sed呢?sed被称为linux文本处理三剑客之一,另外两个就是大名鼎鼎的grep和awk。sed是非交互性的流编辑器,在处理文本时一次只读取一行文本,然后基于所给定的编辑脚本对模式空间中的内容做编辑处理并把处理后的结果输出至标准输出。接着处理下一行文本,这样不断重复,直到文件的末尾。se…

    2017-03-16
  • MBR&GPT分区基本原理

    1、磁盘系统为什么要分区?     •     优化I/O性能     •     实现磁盘空间配额限制       &…

    Linux干货 2016-08-30
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d' ' -f1 | uniiq 2、取出最后登录到当前系统的用户的相关信息。 # id $(who | …

    Linux干货 2016-07-12
  • lamp的搭建

    方法一编译安装amp:   1.系统环境:CentOS 6,7       CentOS6:apr,apr-util的版本为1.3.9,不适合httpd-2.4    CentOS7:apr,apr-util的版本为1.4+2.开发环境需要安装:    Developm…

    Linux干货 2016-10-16
  • Shell脚本编程基础

    1编程基础 程序:指令+数据 程序编程分格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 Shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级:编译:高级语言->编译器->目标代码 编译性语言编写的程序通常是需要通过编译器去转换成计算机可以识别的二进制文件,…

    2017-11-27

评论列表(1条)

  • luoweiro
    luoweiro 2016-12-01 00:07

    LVM和RAID可以结合起来一块整理,这部分知识很容易混淆。