LVM创建逻辑卷.docx

上传人:b****7 文档编号:10479169 上传时间:2023-02-13 格式:DOCX 页数:10 大小:45.72KB
下载 相关 举报
LVM创建逻辑卷.docx_第1页
第1页 / 共10页
LVM创建逻辑卷.docx_第2页
第2页 / 共10页
LVM创建逻辑卷.docx_第3页
第3页 / 共10页
LVM创建逻辑卷.docx_第4页
第4页 / 共10页
LVM创建逻辑卷.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LVM创建逻辑卷.docx

《LVM创建逻辑卷.docx》由会员分享,可在线阅读,更多相关《LVM创建逻辑卷.docx(10页珍藏版)》请在冰豆网上搜索。

LVM创建逻辑卷.docx

LVM创建逻辑卷

浅谈Linux磁盘存储管理续【逻辑卷管理(LVM)】

一、LVM的基本概念

在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小,而用fdisk对磁盘分区后,每个分区的大小已经固定了,如果分区设置的过大,就白白浪费了磁盘空间,而分区设置的过小,就会导致空间不够用的情形,此时最常见的方法是重新划分磁盘分区,或者通过软连接的方式将此分区的目录链接到另一个分区,虽然能临时解决问题,但是给管理带来了麻烦。

如何能解决这些问题呢,LVM是一个不错的方法。

LVM,是LogicalVolumeManager的缩写,中文意思是逻辑卷管理,它是linux下对磁盘分区进行管理的一种机制,LVM是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态的调整分区的大小。

如果系统新增了一块硬盘,通过LVM就可以将新增的硬盘空间直接扩展到原来的磁盘分区上。

二、LVM的使用术语

 通过LVM技术,屏蔽了磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统,在认识LVM之前,先熟悉下LVM中几个常用的术语,在LVM中主要涉及以下几个概念。

�8�5 物理存储设备(physicalmedia):

指系统的存储设备文件,比如:

/dev/sda、/dev/hdb等等。

�8�5 物理卷(physicalvolume):

简称PV,是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。

�8�5 卷组(VolumeGroup):

简称VG,类似与非LVM系统中的物理硬盘,一个LVM卷组有一个或者多个物理卷组成。

�8�5 逻辑卷(logicalvolume):

简称LV,类似与非LVM系统上的硬盘分区,LV建立在VG上,可以在LV上创建文件系统。

�8�5 PE(physicalextent):

PV中可以分配的最小存储单元称为PE,PE的大小是可指定的,默认为4M。

�8�5 LE(logicalextent):

LV中可以分配的最小存储单元称为LE,在同一个卷组中,LE的大小和PE是一样的,且一一对应。

图1清楚的说明了LVM各个组成部分之间的对应关系:

图1LVM磁盘组织结构图

 

在图1中:

�8�3 有两块物理硬盘组成了LVM的底层结构,这两块硬盘的大小、型号可以不同。

�8�3 PV可以看作是硬盘上的分区,因此,可以说物理硬盘A划分了两个分区,物理硬盘B划分了3个分区。

�8�3 然后将前三个PV组成了一个卷组VG1,后两个PV组成了一个卷组VG2。

�8�3 接着在卷组VG1上划分了两个逻辑卷LV1和LV2,在卷组VG2上划分了一个独立的逻辑卷LV3。

�8�3 最后,在逻辑卷LV1、LV2和LV3上创建文件系统,分别用来挂载/usr、/home和/var分区。

三、安装LVM工具

通过下面的命令确认LVM是否已经安装:

[root@localhost~]#rpm-qa|greplvm

lvm2-2.02.16-3.el5

system-config-lvm-1.0.22-1.0.el5

如果有类似上面的输出,就说明系统中已经安装了LVM,如果没有任何输出,则说明系统中还没有安装LVM,可以从系统安装光盘或者网络上找到对应的rpm包安装即可,安装方法这里不在讲述。

现在默认的linux发行版本内核一般都支持LVM,因此只要安装好LVM工具,即可使用LVM提供的强大功能。

四、 LVM的创建与管理

LVM的创建需要经过以下几个步骤:

1.创建物理分区

在使用LVM之前,需要首先划分磁盘分区,也就是用fdisk命令划分磁盘分区,划分的方法在上个章节已经介绍过,稍微不同的是,在创建分区的时候,需要指定分区类型为linuxLVM,对应的ID为8e(其实LVM也能识别linux默认的分区类型83),

这里我们将所有分区类型都指定为8e,假定linux下新增了两块硬盘,分区后显示如下:

[root@localhost~]#fdisk-l/dev/sdb/dev/sdc

Disk/dev/sdb:

8589MB,8589934592bytes

255heads,63sectors/track,1044cylinders

Units=cylindersof16065*512=8225280bytes

DeviceBoot     Start        End     Blocks  Id System

/dev/sdb1              1       1044    8385898+  5 Extended

/dev/sdb5              1        250    2008062  8e LinuxLVM

/dev/sdb6            251        500    2008093+ 8e LinuxLVM

/dev/sdb7            501        750    2008093+ 8e LinuxLVM

/dev/sdb8            751       1044    2361523+ 8e LinuxLVM

Disk/dev/sdc:

8589MB,8589934592bytes

255heads,63sectors/track,1044cylinders

Units=cylindersof16065*512=8225280bytes

DeviceBoot     Start        End     Blocks  Id System

/dev/sdc1              1       1044    8385898+  5 Extended

/dev/sdc5              1        499    4008154+ 8e LinuxLVM

/dev/sdc6            500       1044    4377681  8e LinuxLVM

由上面输出可知,/dev/sdb硬盘划分了一个扩展分区和四个逻辑分区,分区类型均为LinuxLVM,/dev/sdc磁盘划分了一个扩展分区和两个逻辑分区,分区类型也都是LinuxLVM。

这里以两块硬盘举例的主要目的是为了突出LVM可以跨磁盘操作的概念。

也就是LVM可以操作多块物理硬盘上的不同分区,通过LVM管理磁盘,屏蔽了底层物理设备的异构性。

注意,这里仅仅是进行了分区操作,磁盘分区还没有进行格式化。

2.创建物理卷(PV)

创建物理卷的命令是pvcreate,通过该命令可以将希望添加到卷组(VG)的所有磁盘分区或者整个磁盘创建为物理卷。

使用格式为:

pvcreate 磁盘分区或整个磁盘

这里将第一步中划分的所有磁盘分区创建为物理卷,操作如下:

[root@localhost~]#pvcreate /dev/sdb5/dev/sdb6/dev/sdb7/dev/sdb8/dev/sdc5/dev/sdc6

 Physicalvolume"/dev/sdb5"successfullycreated

 Physicalvolume"/dev/sdb6"successfullycreated

 Physicalvolume"/dev/sdb7"successfullycreated

 Physicalvolume"/dev/sdb8"successfullycreated

 Physicalvolume"/dev/sdc5"successfullycreated

 Physicalvolume"/dev/sdc6"successfullycreated

3.创建卷组

创建卷组的命令是vgcreate,使用格式为:

vgcreate卷组名物理卷

卷组名:

就是要创建的卷组的名称。

物理卷:

指定希望添加到此卷组的所有磁盘分区或者整个磁盘。

这里我们创建两个卷组myvg1和myvg2,同时两个卷组都跨越了不同的磁盘,卷组myvg1由/dev/sdb磁盘的/dev/sdb5、/dev/sdb6和/dev/sdc磁盘的/dev/sdc5分区组成。

同理,卷组myvg2由/dev/sdb磁盘的/dev/sdb7、/dev/sdb8和/dev/sdc磁盘的/dev/sdc6分区组成。

操作如下:

[root@localhost~]#vgcreatemyvg1/dev/sdb5/dev/sdb6/dev/sdc5

 Volumegroup"myvg1"successfullycreated

[root@localhost~]#vgcreatemyvg2/dev/sdb7/dev/sdb8/dev/sdc6

 Volumegroup"myvg2"successfullycreated

4.激活卷组

卷组创建完毕后,可以通过vgchange命令激活卷组,而无需重启系统。

Vgchange使用格式如下:

vgchange-ay卷组名(激活卷组)

vgchange-an卷组名(停用卷组)

这里我们激活卷组myvg1和myvg2,使用如下命令:

[root@localhost~]#vgchange-aymyvg1

 0logicalvolume(s)involumegroup"myvg1"nowactive

[root@localhost~]#vgchange-aymyvg2

 0logicalvolume(s)involumegroup"myvg2"nowactive

5.显示卷组、物理卷属性信息

vgdisplay用于显示创建的卷组信息,同理pvdisplay命令用于显示物理卷组信息,使用格式为:

vgdisplay卷组名

pvdisplay物理卷名

要显示卷组myvg1的信息,执行操作如下:

[root@localhost~]#vgdisplaymyvg1

 ---Volumegroup---

 VGName              myvg1

 SystemID            

 Format               lvm2

 MetadataAreas       3

 MetadataSequenceNo 1

 VGAccess            read/write

 VGStatus            resizable

 MAXLV               0

 CurLV               0

 OpenLV              0

 MaxPV               0

 CurPV               3

 ActPV               3

 VGSize              7.65GB

 PESize              4.00MB

 TotalPE             1958

 AllocPE/Size      0/0  

 Free PE/Size      1958/7.65GB

 VGUUID              H6RMci-9F2C-QlPw-Bnl2-07AP-J0h7-XPq4FQ

从输出可以看出此卷组所有信息,例如卷组大小为7.65GB,每个PE大小为4M,总共的PE数为1958。

6.创建逻辑卷

创建逻辑卷的命令是lvcreate,常用的使用格式为:

lvcreate[-L逻辑卷大小|-lPE数]–n逻辑卷名称 所属的卷组名

其中:

-L:

后面接逻辑卷的大小,可以用K、M、G表示。

例如100M、10G等

-l:

用PE数来计算逻辑卷的大小。

这里我们在卷组myvg1下创建两个逻辑卷mylv11和mylv12,在卷组myvg2下创建一个卷组mylv2:

[root@localhost~]#lvcreate -L4G-nmylv11myvg1  

#在卷组myvg1中创建一个大小为4G的卷组mylv11

 Logicalvolume"mylv11"created

[root@localhost~]#vgdisplaymyvg1|grep"Free PE"  

#检查卷组myvg1中可用的卷组空间

 Free PE/Size      934/3.65GB

[root@localhost~]#lvcreate -l934 -nmylv12myvg1 

#将卷组myvg1中剩余的空间全部分给逻辑卷mylv12   

 Logicalvolume"mylv12"created

[root@localhost~]#vgdisplaymyvg1|grep"Free PE"

#检查卷组myvg1中是否还有剩余空间,从输出可知,空间全部利用,没有浪费。

 Free PE/Size      0/0  

[root@localhost~]#vgdisplaymyvg2|grep"Free PE"  

#检查卷组myvg2的可用空间

 Free PE/Size      2134/8.34GB

[root@localhost~]#lvcreate -l2134 -nmylv2myvg2  

#将卷组myvg2的所有空间分配给逻辑卷mylv2

 Logicalvolume"mylv2"created

7.格式化逻辑卷,创建文件系统

文件系统是创建在逻辑卷上的,这里假定使用linux默认的ext3文件系统,接下来的工作是用mkfs.ext3格式化文件系统:

[root@localhost~]#mkfs.ext3/dev/myvg1/mylv11

[root@localhost~]#mkfs.ext3/dev/myvg1/mylv12

[root@localhost~]#mkfs.ext3/dev/myvg2/mylv2

最后,建立挂载目录,挂载这些逻辑卷即可:

[root@localhost~]#mkdir/mylv11

[root@localhost~]#mkdir/mylv12

[root@localhost~]#mkdir/mylv2

[root@localhost~]#mount/dev/myvg1/mylv11 /mylv11 

[root@localhost~]#mount/dev/myvg1/mylv12 /mylv12

[root@localhost~]#mount/dev/myvg2/mylv2 /mylv2

[root@localhost~]#df-h|grepmylv

Filesystem               Size Used AvailUse% Mountedon

/dev/mapper/myvg1-mylv11 4.0G 137M 3.7G  4%  /mylv11

/dev/mapper/myvg1-mylv12 3.6G  72M 3.4G  3%  /mylv12

/dev/mapper/myvg2-mylv2  8.3G 147M 7.7G  2%  /mylv2

到这里为止,新增的磁盘设备已经可以使用了,如果要开机自动挂载,编辑/etc/fstab文件,加上新增的三个逻辑分区即可。

8.添加新的物理卷到卷组

添加新的物理卷到卷组的命令为vgextend,使用格式为:

vgextend卷组名新加入的物理卷

紧接着上面的讲解实例,假定系统增加了第四块硬盘/dev/sdd,大小为4G,同时通过fdisk进行了磁盘分区,对应的分区为/dev/sdd5,现在要把新增的硬盘分区加入到卷组myvg2,操作如下:

[root@localhost~]#vgdisplaymyvg2|grep“Free PE” #首先检查myvg2卷是否有空闲空间,由输出可知,空间全部用完。

Free PE/Size      0/0 

[root@localhost~]#pvcreate/dev/sdd5          #先将/dev/sdd5转换为物理卷

 Physicalvolume"/dev/sdd5"successfullycreated

[root@localhost~]#vgextendmyvg2/dev/sdd5    #将新增物理卷添加到卷组myvg2中

 Volumegroup"myvg2"successfullyextended

[root@localhost~]#vgdisplaymyvg2|grep"Free PE" #此时剩余卷组空间还有4G,刚好是新增物理卷的大小

 Free PE/Size      1023/4.00GB

9.修改逻辑卷的大小

LVM最主要的功能就是能动态的调整分区的大小,其实也就是修改逻辑卷的大小,修改逻辑卷需要用到的命令有lvextend(扩展逻辑卷)、lvreduce(缩减逻辑卷)以及ext2resize(修改文件系统大小),下面分别进行介绍。

lvextend与lvreduce的使用格式类似,如下所示:

lvextend[-L(+size)–l(+PE数)] 逻辑卷名称

lvreduce[-L(-size)–l(-PE数)] 逻辑卷名称

-L:

“+size”表示给逻辑卷空间增加指定的大小,“-size”表示给逻辑卷空间缩减指定的大小。

size表示将逻辑卷增加(lvextend)或缩减(lvreduce)到指定的空间大小。

例如“+300”表示将逻辑卷空间增大300M,“-2G”表示将逻辑卷的空间缩减2G。

 -l:

与“-L”用法相同,不同的是“-l”选项用PE数来表示逻辑卷的大小。

ext2resize的使用格式如下:

ext2resize设备文件或逻辑卷 空间大小

修改逻辑卷分为扩充逻辑卷大小和减小逻辑卷大小两种情况,下面依次介绍。

(1)扩充逻辑卷空间

扩充逻辑卷大小的一般步骤为:

�8�5 利用扩展逻辑卷命令lvextend扩展逻辑卷空间

�8�5 卸载已经挂载的逻辑卷分区

�8�5 利用ext2resize指令修改文件系统大小以实现空间扩充

�8�5 挂载扩充后的逻辑卷分区

在上个小节中,我们给卷组myvg2增加了一个新的物理卷,现在要将新增的物理卷空间扩充到逻辑卷mylv2中,操作如下:

首先扩充逻辑卷mylv2的大小,执行以下命令:

[root@localhost~]#lvextend-l+1023/dev/myvg2/mylv2

 Extendinglogicalvolumemylv2to12.33GB

 Logicalvolumemylv2successfullyresized

 注意,“-l”选项后面的“+1023”代表的是增加的PE数,这个值是在上个小节中通过命令“vgdisplaymyvg2|grep"Free PE"”得到的,当然这里也可以使用“-L+4G”来代替“-l+1023”。

 接下来的工作是卸载/dev/myvg2/mylv2分区,为修改文件系统大小做准备。

[root@localhost~]#umount/dev/myvg2/mylv2或者执行umount/mylv2

 修改文件系统大小的工具是ext2resize指令,这个指令可能不包含在某些linux发行版中,RedhatLinux就默认没有这个命令,因此需要先安装这个指令对应的rpm包,下载类似ext2resize-1.1.19-1.i386.rpm的rpm文件,安装即可。

[root@localhost~]#rpm-ivhext2resize-1.1.19-1.i386.rpm

Preparing...###########################[100%]

1:

ext2resize##########################[100%]

 安装完毕,系统就会出现一个ext2resize指令,利用这个指令修改文件系统的大小。

第三步,修改文件系统大小,执行如下命令:

[root@localhost~]#ext2resize /dev/myvg2/mylv2

ext2resizev1.1.18-2001/03/18forEXT2FS0.5b

由于已经将扩展的分区加入到逻辑卷mylv2中,因此上面的操作其实就是刷新逻辑卷,使更改生效。

最后,挂载逻辑卷到文件系统即可,执行如下命令:

[root@localhost~]#mount/dev/myvg2/mylv2/mylv2

[root@localhost~]#df-h|grepmylv2

Filesystem                   Size  Used  Avail Use% Mountedon

/dev/mapper/myvg2-mylv2       13G  147M   12G   2%   /mylv2

 可以看到,逻辑卷/dev/myvg2/mylv2的空间已经增加到13G,动态扩展逻辑卷成功。

(2)减小逻辑卷的空间

减小逻辑卷的一般步骤为:

�8�5 卸载已经挂载的逻辑卷分区

�8�5 利用ext2resize指令修改文件系统大小以实现空间缩减

�8�5 利用减小逻辑卷命令lvreduce减小逻辑卷空间

�8�5 挂载缩减后的逻辑卷分区

假定我们要对上面的逻辑卷/dev/myvg2/mylv2缩减2G的空间,可以这么操作。

首先卸载逻辑卷/dev/myvg2/mylv2分区:

umount/mylv2

然后用ext2resize指令缩减文件系统大小:

ext2resize /dev/myvg2/mylv2 11G

接着利用lvreduce指令缩减逻辑卷/dev/myvg2/mylv2到11G,执行此步骤主要目的是将缩减的空间从/dev/myvg2/mylv2释放,从而可以供其它逻辑卷使用。

[root@localhost~]#lvreduce-L11G/dev/myvg2/mylv2 #缩减逻辑卷/dev/myvg2/mylv2到11G

 WARNING:

Reducingactivelogicalvolumeto11.00GB

 THISMAYDESTROYYOURDATA(filesystemetc.)

Doyoureallywantt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1