Linux逻辑盘卷办理LVM详解ITeye - AG环亚娱乐

Linux逻辑盘卷办理LVM详解ITeye

2019年02月20日10时44分48秒 | 作者: 昆卉 | 标签: 逻辑,办理,物理 | 浏览: 1708

   摘要: Linux用户装置Linux操作体系时遇到的一个最常见的难以决议的问题就是怎么正确地给评价各分区巨细,以分配适宜的硬盘空间。而遇到呈现某个分区空间耗尽时,处理的办法通常是运用符号链接,或许运用调整分区巨细的东西(比方Patition Magic等),但这都仅仅暂时处理办法,没有底子处理问题。跟着Linux的逻辑盘卷办理功用的呈现,这些问题都便利的处理,本文就深化评论LVM技能,使得用户在无需停机的状况下便利地调整各个分区巨细。
一、 前语
每个Linux运用者在装置Linux时都会遇到这样的窘境:在为体系分区时,怎么精确评价和分配各个硬盘分区的容量,因为体系办理员不但要考虑到当时某个分区需求的容量,还要预见该分区今后或许需求的容量的最大值。因为假如估量不精确,当遇到某个分区不行用时办理员或许甚至要备份整个体系、铲除硬盘、从头对硬盘分区,然后康复数据到新分区。
尽管现在有许多动态调整磁盘的东西能够运用,例如Partation Magic等等,可是它并不能彻底处理问题,因为某个分区或许会再次被耗尽;别的一个方面这需求从头引导体系才干完成,关于许多要害的服务器,停机是不行承受的,并且关于添加新硬盘,期望一个能跨过多个硬盘驱动器的文件体系时,分区调整程序就不能处理问题。
因而完美的处理办法应该是在零停机条件下能够自若对文件体系的巨细进行调整,能够便利完成文件体系跨过不同磁盘和分区。走运的是Linux供给的逻辑盘卷办理(LVM,Logical Volume Manager)机制就是一个完美的处理方案。
LVM是逻辑盘卷办理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行办理的一种机制,LVM是树立在硬盘和分区之上的一个逻辑层,来进步磁盘分区办理的灵活性。通过LVM体系办理员能够轻松办理磁盘分区,如:将若干个磁盘分区衔接为一个整块的卷组(volume group),构成一个存储池。办理员能够在卷组上随意创立逻辑卷组(logical volumes),并进一步在逻辑卷组上创立文件体系。办理员通过LVM能够便利的调整存储卷组的巨细,并且能够对磁盘存储依照组的办法进行命名、办理和分配,例如依照运用用处进行界说:“development”和“sales”,而不是运用物理磁盘名“sda”和“sdb”。并且当体系添加了新的磁盘,通过LVM办理员就不必将磁盘的文件移动到新的磁盘上以充分运用新的存储空间,而是直接扩展文件体系跨过磁盘即可。
二、 LVM根本术语
前面谈到,LVM是在磁盘分区和文件体系之间添加的一个逻辑层,来为文件体系屏蔽基层磁盘分区布局,供给一个笼统的盘卷,在盘卷上树立文件体系。首要咱们评论以下几个LVM术语:
* 物理存储介质(The physical media)
这儿指体系的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储体系最低层的存储单元。
* 物理卷(physical volume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有相同功用的设备(如RAID),是LVM的根本存储逻辑块,但和根本的物理存储介质(如分区、磁盘等)比较,却包括有与LVM相关的办理参数。
* 卷组(Volume Group)
LVM卷组类似于非LVM体系中的物理硬盘,其由物理卷组成。能够在卷组上创立一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
* 逻辑卷(logical volume)
LVM的逻辑卷类似于非LVM体系中的硬盘分区,在逻辑卷之上能够树立文件体系(比方/home或许/usr等)。
* PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的根本单元,具有仅有编号的PE是能够被LVM寻址的最小单元。PE的巨细是可装备的,默以为4MB。
* LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的根本单位。在同一个卷组中,LE的巨细和PE是相同的,并且一一对应。
[myimg]upload/lvm-1.png[/myimg]
首要能够看到,物理卷(PV)被由巨细同等的根本单元PE组成。
[myimg]upload/lvm-2.png[/myimg]
一个卷组由一个或多个物理卷组成,
[myimg]upload/lvm-3.png[/myimg]
从上图能够看到,PE和LE有着一一对应的联系。逻辑卷树立在卷组上。逻辑卷就相当于非LVM体系的磁盘分区,能够在其上创立文件体系。
下图是磁盘分区、卷组、逻辑卷和文件体系之间的逻辑联系的示意图:
[myimg]upload/lvm-4.png[/myimg]
和非LVM体系将包括分区信息的元数据保存在坐落分区的开始方位的分区表中相同,逻辑卷以及卷组相关的元数据也是保存在坐落物理卷开始处的VGDA(卷组描绘符区域)中。VGDA包括以下内容: PV描绘符、VG描绘符、LV描绘符、和一些PE描绘符 。
体系启动LVM时激活VG,并将VGDA加载至内存,来辨认LV的实践物理存储方位。当体系进行I/O操作时,就会依据VGDA树立的映射机制来访问实践的物理方位。
三、 装置LVM
首要断定体系中是否装置了lvm东西:
[root@www root]# rpm –qa|grep lvm
lvm-1.0.3-4
假如指令成果输入类似于上例,那么阐明体系现已装置了LVM办理东西;假如指令没有输出则阐明没有装置LVM办理东西,则需求从网络下载或许从光盘装LVM rpm东西包。
装置了LVM的RPM软件包今后,要运用LVM还需求装备内核支撑LVM。RedHat默许内核是支撑LVM的,假如需求从头编译内核,则需求在装备内核时,进入Multi-device Support 
(RAID and LVM)子菜单,选中以下两个选项:
Multiple devices driver support (RAID and LVM)
Logical volume manager (LVM) Support
然后从头编译内核,即可将LVM的支撑添加到新内核中。
为了运用LVM,要保证在体系启动时激活LVM,走运的是在RedHat7.0今后的版别,体系启动脚本现已具有对激活LVM的支撑,在/etc/rc.d/rc.sysinit中有以下内容:
# LVM initialization
if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then
action $"Setting up Logical Volume Management:" /sbin/vgscan /sbin/vgchange -a y
fi
其间要害是两个指令,vgscan指令完成扫描一切磁盘得到卷组信息,并创立文件卷组数据文件/etc/lvmtab和/etc/lvmtab.d/*;vgchange -a y指令激活体系一切卷组。
四、 创立和办理LVM
要创立一个LVM体系,一般需求通过以下过程:
1、 创立分区
运用分区东西(如:fdisk等)创立LVM分区,办法和创立其他一般分区的办法是相同的,差异仅仅是LVM的分区类型为8e。
2、 创立物理卷
创立物理卷的指令为pvcreate(也即初始化物理卷),运用该指令将期望添加到卷组的一切分区或许磁盘创立为物理卷。将整个磁盘创立为物理卷的指令为:
# pvcreate /dev/hdb
将单个分区创立为物理卷的指令为:
# pvcreate /dev/hda5
   扫描一切的块设备,运用lvmdiskscan指令:
   # lvmdiskscan
  /dev/ram0                    [       16.00 MB]
  /dev/sda                     [       17.15 GB]
  /dev/root                    [       13.69 GB]
  /dev/ram                     [       16.00 MB]
  /dev/sda1                    [       17.14 GB] LVM physical volume
  /dev/VolGroup00/LogVol01     [      512.00 MB]
  /dev/ram2                    [       16.00 MB]
  /dev/new_vg/lvol0            [       52.00 MB]
  /dev/ram3                    [       16.00 MB]
  /dev/pkl_new_vg/sparkie_lv   [        7.14 GB]
  /dev/ram4                    [       16.00 MB]
  /dev/ram5                    [       16.00 MB]
  /dev/ram6                    [       16.00 MB]
  /dev/ram7                    [       16.00 MB]
  /dev/ram8                    [       16.00 MB]
  /dev/ram9                    [       16.00 MB]
  /dev/ram10                   [       16.00 MB]
  /dev/ram11                   [       16.00 MB]
  /dev/ram12                   [       16.00 MB]
  /dev/ram13                   [       16.00 MB]
  /dev/ram14                   [       16.00 MB]
  /dev/ram15                   [       16.00 MB]
  /dev/sdb                     [       17.15 GB]
  /dev/sdb1                    [       17.14 GB] LVM physical volume
  /dev/sdc                     [       17.15 GB]
  /dev/sdc1                    [       17.14 GB] LVM physical volume
  /dev/sdd                     [       17.15 GB]
  /dev/sdd1                    [       17.14 GB] LVM physical volume
  7 disks
  17 partitions
  0 LVM physical volume whole disks
  4 LVM physical volumes
    3、 创立卷组
创立卷组的指令为vgcreate,后边能够加-v参数来显现更多的信息。(一切的lvm指令都支撑-v,-vv,-vvv,-vvvv参数,其间-vvvv显现的更全面),将运用pvcreate树立的物理卷创立为一个完好的卷组:
# vgcreate web_document /dev/hda5 /dev/hdb
vgcreate指令第一个参数是指定该卷组的逻辑名:web_document。后边参数是指定期望添加到该卷组的一切分区和磁盘。vgcreate在创立卷组 web_document 以外,还设置运用巨细为4 MB的PE(默以为4MB),这表明卷组上创立的一切逻辑卷都以 4 MB 为增量单位来进行扩大或减缩。因为内核原因,PE巨细决议了逻辑卷的最大巨细,4 MB 的PE决议了单个逻辑卷最大容量为 256 GB,若期望运用大于256G的逻辑卷则创立卷组时指定更大的PE。PE巨细规模为8 KB 到 512 MB,并且有必要总是 2 的倍数(运用-s指定,详细请参阅man vgcreate)。
4、 激活卷组
为了当即运用卷组而不是从头启动体系,能够运用vgchange来激活卷组:
# vgchange -a y web_document
5、 添加新的物理卷到卷组中
当体系装置了新的磁盘并创立了新的物理卷,而要将其添加到已有卷组时,就需求运用vgextend指令:
# vgextend web_document /dev/hdc1
这儿/dev/hdc1是新的物理卷。
6、 从卷组中删去一个物理卷
要从一个卷组中删去一个物理卷,首要要承认要删去的物理卷没有被任何逻辑卷正在运用,就要运用pvdisplay指令观察一个该物理卷信息:
[myimg]upload/lvm-5.png[/myimg]
假如某个物理卷正在被逻辑卷所运用,就需求将该物理卷的数据备份到其他地方,然后再删去。删去物理卷的指令为vgreduce:
# vgreduce web_document /dev/hda1
7、 创立逻辑卷
创立逻辑卷的指令为lvcreate:
# lvcreate -L1500 –nwww1 web_document
该指令就在卷组web_document上创立姓名为www1,巨细为1500M的逻辑卷,并且设备进口为/dev/web_document/www1 (web_document为卷组名,www1为逻辑卷名)。假如期望创立一个运用悉数卷组的逻辑卷,则需求首要观察该卷组的PE数,然后在创立逻辑卷时指定:
# vgdisplay web_document| grep "Total PE"
Total PE 45230
# lvcreate -l 45230 web_document -n www1
8、 创立文件体系
笔者引荐运用reiserfs文件体系,来代替ext2和ext3:
[myimg]upload/lvm-6.png[/myimg]
创立了文件体系今后,就能够加载并运用它:
# mkdir /data/wwwroot
# mount /dev/web_document/www1 /data/wwwroot
假如期望体系启动时主动加载文件体系,则还需求在/etc/fstab中添加内容:
/dev/web_document/www1 /data/wwwroot reiserfs defaults 1 2
9、 删去一个逻辑卷
删去逻辑卷曾经首要需求将其卸载,然后删去:
# umount /dev/web_document/www1
# lvremove /dev/web_document/www1
lvremove do you really want to remove "/dev/web_document/www1"? [y/n]: y
lvremove doing automatic backup of volume group "web_document"
lvremove logical volume "/dev/web_document/www1" successfully removed
10、 扩展逻辑卷巨细
LVM供给了便利调整逻辑卷巨细的才能,扩展逻辑卷巨细的指令是lvcreate:
# lvextend -L12G /dev/web_document/www1
lvextend extending logical volume "/dev/web_document/www1" to 12 GB
lvextend doing automatic backup of volume group "web_document "
lvextend logical volume "/dev/web_document/www1" successfully extended
上面的指令就完成将逻辑卷www1的巨细扩招为12G。
# lvextend -L+1G /dev/web_document/www1
lvextend extending logical volume "/dev/web_document/www1" to 13 GB
lvextend doing automatic backup of volume group "web_document "
lvextend logical volume "/dev/web_document/www1" successfully extended
上面的指令就完成将逻辑卷www1的巨细添加1G。
添加了逻辑卷的容量今后,就需求修正文件体系巨细以完成运用扩大的空间。笔者引荐运用reiserfs文件体系来代替ext2或许ext3。因而这儿仅仅评论reiserfs的状况。Reiserfs文件东西供给了文件体系巨细调整东西:resize_reiserfs。关于期望调整被加载的文件体系巨细:
# resize_reiserfs -f /dev/web_document/www1
一般主张最好将文件体系卸载,调整巨细,然后再加载:
# umount /dev/web_document/www1
# resize_reiserfs /dev/web_document/www1
# mount -treiserfs /dev/web_document/www1 /data/wwwroot
关于运用ext2或ext3文件体系的用户能够考虑运用东西
ext2resize。

11、 削减逻辑卷巨细
运用lvreduce即可完成对逻辑卷的容量,相同需求首要将文件体系卸载:
# umount /data/wwwroot
# resize_reiserfs -s-2G /dev/web_document/www1
# lvreduce -L-2G /dev/web_document/www1
# mount -treiserfs /dev/web_document/www1 /data/wwwroot
五、 总结
依据上面的评论能够看到,LVM具有很好的可伸缩性,运用起来十分便利。能够便利地对卷组、逻辑卷的巨细进行调整,更进一步调整文件体系的巨细。假如期望了解更多信息,请参阅LVM-HOWTO。
一LVM的根本概念
LVM(logical volume manager) 逻辑卷办理器
其间首要分为这几个概念
1物理卷-简称PV
物理卷在逻辑卷办理器中归于最底层的,任何的逻辑卷和卷组都必需依托物理卷来树立,物理卷能够是一个完好的硬盘,也能够是硬盘中的莫一个分区
2卷组-简称VG
卷组是树立在物理卷之上,一个物理卷中能够有1个或多个卷组
3逻辑卷-简称LV
逻辑卷是树立在卷组之上的,卷组中的空间能够树立多个逻辑卷,并且逻辑卷能够随意从卷组的闲暇空间中增减,逻辑卷能够归于一个卷组,也能够归于不同的多个卷组
4 物理区域-简称PE
物理区域是物理卷中最小的可分配贮存单元
5 逻辑区域-简称-LE
逻辑区域是逻辑卷中可用于分配的最小贮存单元
6 卷组描绘区域-简称VGDA
用于描绘物理卷,卷组,逻辑卷分配的所由信息
一个树立逻辑卷的流程如下
PV-VG-LV
物理卷包括卷组,卷组包括逻辑卷
二redhat9中运用逻辑卷办理器
1运用vgscan生成默许的装备文件,装备文件在/etc下的lvmconf 和lvmtab 2个文件
2 为逻辑卷办理器分配物理卷
我这儿运用一个分区来作/dev/hda9
#fdisk hda
t
9
8e (为LVM分区)
w
重起
#pvcreate /dev/hda9
运用
#pvdisplay /dev/hda9检查是否树立
这样就树立好了物理卷
    #pvscan 扫描体系中一切支撑lvm物理卷的块设备
    PV /dev/sdb2   VG vg0   lvm2 [964.00 MB / 0   free]
    PV /dev/sdc1   VG vg0   lvm2 [964.00 MB / 428.00 MB free]
    PV /dev/sdc2            lvm2 [964.84 MB]
    Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
3在物理卷中树立卷组
#vgcreate vg0 /dev/hda9 其间vg0为要树立的卷组名程.这儿的PE值咱们运用默许的4M如需求增大能够运用-L 选想,记住一旦设定今后不行更改PE的值
#vgdisplay 检查是否树立成功
4 在卷组中树立逻辑卷
#lvcreate -L 100M -n vg1 vg0
其间-L 选项表明你想的逻辑卷巨细,今后能够用指令增减 -n指定逻辑卷的名程和卷组的名程,也能够运用绝对途径来到达上述意图
#lvdisplay /dev/vg0/vg1
检查是否树立成功
5 为逻辑卷树立文件体系
#mkfs.ext3 /dev/vg0/vg0
然后挂载测验是否树立成功
#mount /dev/vg0/vg1 /home
这样一个逻辑卷就根本成型了
三 逻辑卷的办理
1添加新的物理卷到卷组
当卷组中没有满足的空间分配给逻辑卷时,能够用给卷组添加物理卷的办法来添加卷组的空间
# vgextend vg0 /dev/hda8
这儿留意hda8必需为LVM分区
2 扩大和减小逻辑卷的容量
#e2fsadm -L +100M /dev/vg0/vg1
-L 表明增减空间 +表明加 -表明建
#e2fsadm -L -100M /dev/vg0/vg1
这儿要留意文件体系必需是ext2或ext3,并且需求卸载文件体系来履行,减小的时分需求知道剪掉空间的巨细,否则会形成丢掉
在reiserfs文件体系中未作测验
3 删去逻辑卷-卷组-物理卷 (必需依照先后顺序来履行删去)
#lvremove /dev/vg0/vg1 删去逻辑卷
#vgremove /dev/vg0 删去卷组
这儿有一个问题,假如树立的卷组是活动的,他就不能删去
这儿需求运用一个指令来是他变成固定的,以便删去
#vgchage -a n /dev/vg0
-a 参数指定卷组是否是活动的,n表明固定,y表明活动
#vgremove /dev/vg0
成功
物理卷的删去,移除/etc下的lvmconf 和lvmtab的两个文件,然后将分区转换为linux的就能够了
四 检查物理卷,卷组,逻辑卷
别离运用3个指令
1pvscan 检查物理卷
2vgscan 检查卷组
3lvscan 检查逻辑卷
这儿仅仅介绍了逻辑卷办理器的根本树立和删去
应为今日时刻有限,明日积储弥补,期望此文对你有所协助
明日内容
怎么备份逻辑卷
怎么用LVM作镜像卷
怎么改动逻辑卷的特点
五 为逻辑卷作备份
1当你要备份你的卷组信息是,你就需求为卷组作备份,运用vgcfgbackup来备份
#vgcfgbackup vg0
备份的信息就是咱们前面说到的VGDA备份到/etc/lwmconf/VG.conf
2当你的卷组信息意外丢掉时,你能够运用这个文件来康复你的卷组信息,条件是你要备份了的
#vgcfgrestor -n vg0 /dev/hda8
或许
#vgcfgrestor -f /etc/lvmconf/XXX.conf
重卷组vg0中康复物理卷的VGDA信息 -n参数指定卷组的名程 -f 拟定备份文件途径
3 康复了物理卷及卷组的信息后咱们还要康复本来的树立的卷组和逻辑卷的设备文件
#vgmknods
这样假如物理卷,卷组,逻辑卷的信息丢掉或许设备文件被损坏是就能够用来及时康复
六 卷组的兼并于拆分
当你想兼并2个卷组时能够运用一下指令
这儿有2个条件条件 1 卷组的PE(物理区域)巨细持平 2 2个卷组必需对错活动的,这个能够用前面说到的vgchange指令来更改,做到以上2个条件就能够了
#vgmerge vg1 vg2
其间vg1为原始卷组,vg2是你想兼并到到vg1的卷组
七 逻辑卷办理器办理指令(针对整个逻辑卷办理器,不针对物理卷,卷组,逻辑卷,是大局指令)注:大局指令都是以lvm最初的
1复位逻辑卷办理器(大局指令)
#lvmchange -R
这个指令用来复位逻辑卷办理器,也就是reset,该指令会使所由的卷组和逻辑卷处于非活动状况,也就是不能运用卷组和逻辑卷,所以运用时必定当心
2 检查逻辑卷办理器日志
# lvmsadc
指令能够直接输出到规范输出,也就是屏幕上,也可输出到文件中
# lvmsadc 1.txt
运用lvmsar 指令可一检查lvmsdac生成的日志文件
#lnmsar 1.txt
日志文件显现逻辑卷办理器中设备的读写计算信息
显现如下
total read :12 total write :222
3 运用LVM作逻辑卷的镜像卷或成快照卷
快照卷不需求和父卷巨细共同,咱们假定不需求保存太多的快照文件,能够设置成10M
#lvcreate -s -L 10M -n kuaizhao /dev/vg0/vg1
这样就从逻辑卷vg1中分出快照卷/dev/vg0/kuaizhao
这儿又有一个问题,redhat9默许快照卷是以只读办法挂载的,只读办法的快照卷是不能和父卷同步数据的
这儿需求运用lvchange指令使快照卷为读写办法挂载
#lvchange -p rw /dev/vg0/kuaizhao
然后
#mount /dev/vg0/vg1 /home
#mount /dev/vg0/kuaizhao /opt
目录随意,我这儿仅仅测验
#cd /home
#touch test
#cd /opt
#ls
祝贺你能够看到文件数据现已同步了
注:如快照卷不能包容超越本身设置的容量时,将被LVM办理器主动删去
处理的办法:
1及时整理不必要的快照文件
2 设置逻辑快照卷和父逻辑卷巨细共同

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章