Linux磁盘管理之LVM详解

LVM逻辑卷管理

一、LVM简介

二、LVM基本术语

三、LVM相关PV,VG,LV相关命令的使用

四、安装LVM

五、创建和管理LVM

1、创建PV

2、创建VG

3、创建LV

4 、LV的格式化及挂载

六、快照卷snapshot的使用介绍

==================================================================================

一、LVM简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

==================================================================================

二、LVM基本术语

LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统。首先我们讨论以下几个LVM术语:

物理存储介质(PhysicalStorageMedia)

指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等

物理卷(Physical Volume,PV)

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

卷组(Volume Group,VG)

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

逻辑卷(Logical Volume,LV)

类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统。

物理块(Physical Extent,PE)

每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

逻辑块(Logical Extent,LE)

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

======================================================================

三、LVM相关PV,VG,LV相关命令的使用

pv管理工具:

pvs:简要显示pv信息

pvdisplay:显示pv的详细信息

pvcreate /dev/device...: 创建pv

pvmove :删除pv

vg管理工具:

vgs:简要显示vg信息

vgdisplay:显示vg的详细信息

vgcreate vgName pv :创建vg

-s #[kKmMgGtTpPeE]:指定pe大小

vgextend :vg扩展

vgreduce :vg缩减,先做pvmove

vgremove :删除vg

lv管理工具:

lvs:简要显示lv信息

lvdisplay:显示lv的详细信息

lvcreate -L #[mMgGtT] -n NAME vgName:创建lv,其中-L指定逻辑卷大小,-n指定逻辑卷名

lvremove /dev/vgName/lvName:删除逻辑卷

lvextend    扩展LV

-L    [+]n    指明要扩展或扩展到的LV容量

lvreduce   缩减LV

-L    [-]n    指明要缩减或缩减到的LV容量

创建LVM快照的方法:

lvcreate -L 大小 -p r -s -n 快照卷名字 原卷名字

-p  权限 。 一般是只读  r

-s :snapshot --意思是创建快照卷

===============================================================================

四、安装LVM并创建磁盘分区

测试环境:CentOS6.5 x64 ;2块磁盘(20G)/dev/sdb,/dev/sdc

[[email protected] ~]# rpm -qa | grep lvm  //检查系统是否安装lvm工具   
[[email protected] ~]# yum list | grep lvm   //查看系统中的lvm软件包
lvm2.x86_64                              2.02.118-3.el6_7.2             updates
[[email protected] ~]# yum install -y lvm2  //安装lvm2
Installed:
  lvm2.x86_64 0:2.02.118-3.el6_7.2                                                                                  
.......
Complete!                            //安装成功

准备2个磁盘,并给其分配10G的磁盘分区


为/dev/sdb划分10G磁盘分区

[[email protected] ~]# fdisk /dev/sdb   //给/dev/sdb分区
Command (m for help): n       //新建分区 
Command action
   e   extended
   p   primary partition (1-4)
p                           //主分区
Partition number (1-4): 1
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G  

Command (m for help): t                   //修改分区类型
Selected partition 1                 //选择分区编号
Hex code (type L to list codes): 8e      
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p       //显示分区信息
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x669de8cf
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  8e  Linux LVM

Command (m for help): w      //保存退出
[[email protected] ~]# partx -a /dev/sdb     //同步到内核
BLKPG: Device or resource busy
error adding partition 1

为/dev/sdc划分10G磁盘分区

[[email protected] ~]# fdisk /dev/sdc       
Command (m for help): n              //新建分区
Command action
   e   extended
   p   primary partition (1-4)
p                                   //主分区
Partition number (1-4): 1
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G 
  
Command (m for help): t            //修改分区类型
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p            //显示分区信息
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x585eb85b
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1306    10490413+  8e  Linux LVM

Command (m for help): w                 //保存退出
[[email protected] ~]# partx -a /dev/sdc      //通知内核读取分区信息
BLKPG: Device or resource busy
error adding partition 1

===================================================================================

五、创建和管理LVM

示例:创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

1、创建PV

[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdc1          //创建pv
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdc1" successfully created
[[email protected] ~]# pvdisplay                     //显示当前系统的pv信息 
  "/dev/sdb1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               W2n9yi-R45E-fO7o-iWlP-3uIo-lk4h-IdwYEj
   
  "/dev/sdc1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               M4qjVw-9Mfx-unh9-z6r9-riXd-voiX-Z7acZe

2、创建VG

[[email protected] ~]# vgcreate -s 16M testvg /dev/sdb1 /dev/sdc1  //创建vg并指定pe大小
  Volume group "testvg" successfully created
[[email protected] ~]# vgdisplay            //显示vg的详细信息

3、创建LV

[[email protected] ~]# lvcreate -L 5G -n testlv testvg  //创建一个5G的lv
  Logical volume "testlv" created.
[[email protected] ~]# lvdisplay       //显示lv的详细信息

4、LV的格式化及挂载

[[email protected] ~]# mke2fs -t ext4 /dev/testvg/testlv //将lv格式化,文件系统为ext4
[[email protected] ~]# mkdir /users
[[email protected] ~]# mount /dev/testvg/testlv /users  //挂载lv到/users目录
[[email protected] ~]# ls /users
lost+found

六、快照卷snapshot的使用介绍

快照(snapshot)是LVM所提供的一个非常有用的特性。它的原理是复制原始卷的元数据(metadata)来创建一个逻辑卷,并没有复制物理卷上的任何数据, 因此它的创建过程是实时瞬间完成的。快照是特殊类型的逻辑卷,它含有创建时刻所指定的原始逻辑卷的完整数据,您可以操作快照而无需担心数据的变更令备份失效。

LVM 快照利用一种称为“写时复制(COW,Copy-On-Write)的技术来跟踪和维持其数据的一致性。它的原理比较简单,就是跟踪原始卷上块的改变, 在这些数据被改变之前将其复制到快照自己的预留空间里。 当对快照进行读取的时候,被修改的数据从快照的预留空间中读取,未修改的数据则重定向到原始卷上去读取,因此在快照的文件系统与设备之间多了一层COW设备。

# lsmod | grep dm   #使用snapshot需要内核模块dm-snapshot
# modprobe dm-snapshot    #如有需要,必须先加载此模块

# lvs;vgs   # 先查看一下目前LV和VG的大小

理论上,您所建立的快照卷的大小应该是原始卷的1.1倍大小,但鉴于创建快照的目的多是为临时备份数据,因此实际使用时可视您的备份速度和数据变更的频繁程度来决定快照卷的大小。例如,您预计完成一个完整备份大概需要1个小时,而在这个时间之内数据变更的大小不会超过100M,那么您就可以安全地创建100M大小的快照卷。

开始建立逻辑卷testvg/testlv的快照(注意这里取1.1倍大小空间):

[[email protected] users]# lvcreate -L 5.5G -p r -s -n testlvs testvg/testlv 
  Reducing COW size 5.50 GiB down to maximum usable size 5.11 GiB.
  Logical volume "testlvs" created.

注意:这时候快照卷看到的文件是快照原卷那一刻的文件,原卷里的文件做任何变化,快照卷中的文件都不会改变!!可以将快照卷的文件备份到其他位置!

卸载快照卷

[[email protected] users]# umount /dev/testvg/testlvs  //卸载快照卷

删除快照卷

[[email protected] users]# lvremove /dev/testvg/testlvs 
 Do you really want to remove active logical volume testlvs? [y/n]: y
 Logical volume "testlvs" successfully removed
时间: 2024-11-15 18:07:24

Linux磁盘管理之LVM详解的相关文章

Linux磁盘分区与LVM详解

内容大纲: 一.磁盘分区是怎样表示的? 二.Linux磁盘分区与文件系统类命令 三.LinuxLVM逻辑卷管理 四.磁盘分区相关命令操作演示 五.磁盘分区及LVM操作演示 一.磁盘分区是怎样表示的? IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始,1,2,3,以此类推) SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IED磁盘命名规则

linux磁盘管理之LVM逻辑卷认识与管理详解(实验详细,可跟做)

Linux磁盘管理之LVM逻辑卷认识与管理详解 前言 本文接着上篇文章作如下延伸:链接:Linux磁盘管理之磁盘管理与文件系统 什么是LVM?为什么需要LVM? 如何具体进行LVM逻辑卷管理? 什么是磁盘配额?为什么需要磁盘配额? 在Linux中进行磁盘配额的条件是什么呢? 如何具体进行磁盘配额? 下面对以上问题逐一讲解,深入实例进行操作,带你深入理解linux磁盘管理之LVM逻辑卷管理. 一.LVM概述 1.什么是LVM?为什么需要LVM? ? 许多 Linux 使用者安装操作系统时都会遇到这

Linux磁盘管理:LVM逻辑卷创建及使用

Linux磁盘管理:LVM逻辑卷创建及使用    一.创建LVM逻辑卷    通过图文并茂的方式来看看如何创建我们的LVM ,首先是要将我们的物理硬盘格式化成PV,然后将多个PV加入到创建好的VG中,最后通过VG创建我们的LV.所以我们第一步就是将我们的物理硬盘格式化成PV(物理卷) ①将物理硬盘格式化成PV(物理卷) 使用的是 pvcreate 命令 这里我已经事先虚拟化了3快物理硬盘,每块硬盘的大小为8G,通过 fdisk -l 命令可以查看 [[email protected] ~]# f

【转载】Linux磁盘管理:LVM逻辑卷管理

Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底

LInux磁盘管理:LVM逻辑卷

Linux磁盘管理:LVM逻辑卷 LVM简介   LVM(Logical Volume Manager 逻辑卷管理),是Linux操作系统的逻辑卷管理器.   LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性.   与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用与用户分配存储空间. 逻辑卷基本术语 物

妈妈再也不用担心我为磁盘管理烦恼了——Linux磁盘管理工具LVM2详解释

一.LVM简介 LVM2(LogicalVolume Manage,Version2):它是Linux环境下对磁盘分区进行管理的一种机制,将一个或多个底层块设备组织成一个逻辑设备.通过LVM管理员可以轻松管理磁盘分区,使用LVM与传统的分区方法相比有很多的优势,如:容量的分配更加灵活.逻辑卷的扩展和缩减更加方便.使用snapshot(快照)来备份数据也非常方便.通过本文你可以快速了解LVM2的使用方法. 二.LVM2使用详解   (该图片来源于网络) PV:Physical Volume 物理卷

Linux磁盘管理及LVM讲解(1)

硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价格昂贵. 硬盘种类 SATA硬盘:用SATA接口的硬盘又叫串口硬盘,是以后PC机的主流发展方向,因为其有较强的纠错能力,错误一经发现能自动纠正,这样就大大的提高了数据传输的安全性.新的SATA 使用了差动信号系统”differential-signal-amplified-system”.这种系统能

Linux磁盘管理之LVM

我想每个人在初次安装Linux系统都遇到过的情况,在当初规划磁盘空间的时候给/home 或者 / 分配很小的磁盘空间,等使用一段时间就发现,df 查看的时候磁盘的使用率已经超过80%以上了.现在你该怎么办呢? 可能再加一块磁盘,然后重新分割.格式化.挂载 ,复制文件到新分区,挂载在卸载! 整个过程太过繁琐.而且,若是第二次分割又不尽如意难道又要重新讲上述流程在来一遍吗?尤其是复制文件,非常的耗费文件哦.有别的办法吗? 有,就是LVM(Logical Volume Manager) LVM(Log

每天进步一点点——Linux磁盘管理之LVM与RAID

转载请说明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,只能通过添加硬盘.创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统.只能让现有磁盘下线,换上新的磁盘之后,再将原来磁盘中的数据导入. 2. LVM LVM(Logical Volume Manager)逻辑卷管理通过将底层物理硬盘抽象