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

转载 http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html

详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE、PV、VG以及LV),这篇随笔将会详细的讲解LVM逻辑卷的创建、使用以及删除.

一、创建LVM逻辑卷

我们通过图文并茂的方式来看看如何创建我们的LVM,在上一篇随笔中,我们已经熟悉了LVM的工作原理,首先是要将我们的物理硬盘格式化成PV,然后将多个PV加入到创建好的VG中,最后通过VG创建我们的LV。所以我们第一步就是将我们的物理硬盘格式化成PV(物理卷)

①将物理硬盘格式化成PV(物理卷)  使用的是 pvcreate 命令

这里我已经事先虚拟化了3快物理硬盘,每块硬盘的大小为8G,通过 fdisk -l 命令可以查看

1[root@xiaoluo ~]# fdisk -l 2 3Disk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylinders 4Units = cylinders of 16065 * 512 = 8225280 bytes 5Sector size (logical/physical): 512 bytes / 512 bytes 6I/O size (minimum/optimal): 512 bytes / 512 bytes 7Disk identifier: 0x00093d90 8 9   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1         523     4194304   82  Linux swap / Solaris 10Partition 1 does not end on cylinder boundary./dev/sda2   *         523        2611    16776192   83  Linux 11 12Disk /dev/sdb: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders 13Units = cylinders of 16065 * 512 = 8225280 bytes 14Sector size (logical/physical): 512 bytes / 512 bytes 15I/O size (minimum/optimal): 512 bytes / 512 bytes 16Disk identifier: 0x00000000Disk /dev/sdc: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders 17Units = cylinders of 16065 * 512 = 8225280 bytes 18Sector size (logical/physical): 512 bytes / 512 bytes 19I/O size (minimum/optimal): 512 bytes / 512 bytes 20Disk identifier: 0x00000000Disk /dev/sdd: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders 21Units = cylinders of 16065 * 512 = 8225280 bytes 22Sector size (logical/physical): 512 bytes / 512 bytes 23I/O size (minimum/optimal): 512 bytes / 512 bytes 24Disk identifier: 0x00000000

这里我们根据上面图所示,我们先将 /dev/sdb、 /dev/sdc 两块硬盘格式化成PV

[root@xiaoluo ~]#  successfully created

创建完PV以后,我们可以使用pvdisplay(显示详细信息)、pvs命令来查看当前pv的信息

1[root@xiaoluo ~]# pvdisplay  "/dev/sdb" is a new physical volume of "8.00 GiB" 2  --- NEW Physical volume --- 3  PV Name               /dev/sdb 4  VG Name                5  PV Size               8.00 GiB 6  Allocatable           NO 7  PE Size               0    8  Total PE              0 9  Free PE               0 10  Allocated PE          0 11  PV UUID               93UEEl-cxBU-A4HC-LNSh-jp9G-uU5Q-EG8LM9    12  "/dev/sdc" is a new physical volume of "8.00 GiB" 13  --- NEW Physical volume --- 14  PV Name               /dev/sdc 15  VG Name                16  PV Size               8.00 GiB 17  Allocatable           NO 18  PE Size               0    19  Total PE              0 20  Free PE               0 21  Allocated PE          0 22  PV UUID               lH1vul-KBHx-H2C6-wbt1-8AdK-yHpr-bBIul5 23    24[root@xiaoluo ~]# pvs 25  PV         VG   Fmt  Attr PSize PFree  /dev/sdb        lvm2 a--  8.00g 8.00g  /dev/sdc        lvm2 a--  8.00g 8.00g

通过这两个命令我们可以看到我们已经创建好的PV的信息,两个PV都是8G,目前还没有使用,PFree都是8G.

②创建卷组(VG),并将PV加入到卷组中  通过 vgcreate 命令

在创建完PV以后,这时候我们需要创建一个VG,然后将我们的PV都加入到这个卷组当中,在创建卷组时要给该卷组起一个名字

[root@xiaoluo ~]#  successfully created

同样,在创建好VG以后,我们也可以使用 vgdisplay 或者 vgs 命来来查看VG的信息

1[root@xiaoluo ~]# vgdisplay  2  --- Volume group --- 3  VG Name               xiaoluo 4  System ID              5  Format                lvm2 6  Metadata Areas        2 7  Metadata Sequence No  1 8  VG Access             read/write 9  VG Status             resizable 10  MAX LV                0 11  Cur LV                0 12  Open LV               0 13  Max PV                0 14  Cur PV                2  // 当前这里有两个PV,分别是我们的 /dev/sdb 和 /dev/sdc 15  Act PV                2 16  VG Size               15.99 GiB  // 当前VG的大小 17  PE Size               4.00 MiB  // 通过这个我们也可以看到我们LVM默认的PE大小就是4M 18  Total PE              4094  // 因为VG里面存放的就是各个PV中的PE,所以PE的数量就是VG大小除以默认PE的大小 19  Alloc PE / Size       0 / 0    20  Free  PE / Size       4094 / 15.99 GiB 21  VG UUID               B8eavI-21kD-Phnm-F1t1-eo4K-wgvg-T5qUbt 22    23[root@xiaoluo ~]# vgs 24  VG      #PV #LV #SN Attr   VSize  VFree  25  xiaoluo   2   0   0 wz--n- 15.99g 15.99g

③基于卷组(VG)创建逻辑卷(LV)  通过 lvcreate 命令

因为创建好的PV、VG都是底层的东西,我们上层使用的是逻辑卷,所以我们要基于VG创建我们的逻辑卷才行

[root@xiaoluo ~]#  created

通过 lvcreate 命令基于VG创建好我们的逻辑卷,名字为mylv,大小为2G,同样我们可以使用 lvdisplay 或者 lvs 命令来查看创建好的逻辑卷的信息

1[root@xiaoluo ~]# lvdisplay  2  --- Logical volume --- 3  LV Path                /dev/xiaoluo/mylv  // 逻辑卷的路径 4  LV Name                mylv  // 逻辑卷的名字 5  VG Name                xiaoluo  // 逻辑卷所属卷组的名字 6  LV UUID                PYuiYy-WpI6-XZB8-IhnQ-ANjM-lcz0-dlk4LR 7  LV Write Access        read/write 8  LV Creation host, time xiaoluo, 2013-05-23 23:45:08 +0800 9  LV Status              available 10  # open                 0 11  LV Size                2.00 GiB  // 逻辑卷的大小 12  Current LE             512 13  Segments               1 14  Allocation             inherit 15  Read ahead sectors     auto  - currently set to     256 16  Block device           253:0 17   [root@xiaoluo ~]# lvs 18  LV   VG      Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert 19  mylv xiaoluo -wi-a---- 2.00g

这样子我们的逻辑卷也就已经创建好了,我们这个时候再通过 vgs 还有 pvs 命令查看一下我们的PV与VG的信息

       wz--n- .99g /dev/sdb   xiaoluo lvm2 a--  .00g /dev/sdc   xiaoluo lvm2 a--  .00g .00g

复制代码

我们发现,当我们每创建完一个LV时,VG与PV的信息都是时时在变化的,并且我们创建LV的大小是根据当前VG的大小来决定的,不能超过当前VG的剩余大小!

我们在上一篇随笔里面有讲过,每创建好一个逻辑卷,都会在 /dev 目录下出现一个以该卷组命名的文件夹,基于该卷组创建的所有的逻辑卷都是存放在这个文件夹下面,我们可以查看一下

[root@xiaoluo ~]# /dev/xiaoluo/mylv

我们每创建一个新的逻辑卷,该VG目录下都会多出这么一个设备。

二、格式化并使用我们的逻辑卷

我们已经创建好了我们的PV、VG以及LV,这时候我们如果要使用逻辑卷,就必须将其格式化成我们需要用的文件系统,并将其挂载起来,然后就可以像使用分区一样去使用逻辑卷了

[root@xiaoluo ~]# . (-May-== (log== (log== blocks, Stripe width= inodes,  blocks (%) reserved == block  blocks per group, , , , ,  blocks):  days, whichever comes first.  Use tune2fs -c or -i to override.

格式化我们的逻辑卷以后,就可以使用 mount 命令将其进行挂载,我们将其挂载到 /mnt 目录下

[root@xiaoluo ~]#  /dev/xiaoluo/mylv /~]# /dev/sda2 on ////dev/pts type devpts (rw,gid=,mode=/dev/shm type tmpfs (rw,rootcontext=/proc/sys/fs//var/lib/nfs//dev/mapper/xiaoluo-mylv on /~]# cd /mnt/++found  xiaoluo.txt

我们看到,我们的卷组已经挂载好了,并且可以像使用分区一样来对其进行文件操作了。

三、删除逻辑卷

我们在创建好逻辑卷后可以通过创建文件系统,挂载逻辑卷来使用它,如果说我们不想用了也可以将其删除掉。

注意:】对于创建物理卷、创建卷组以及创建逻辑卷我们是有严格顺序的,同样,对于删除逻辑卷、删除卷组以及删除物理卷也是有严格顺序要求的

①首先将正在使用的逻辑卷卸载掉  通过 umount 命令

②将逻辑卷先删除  通过 lvremove 命令

③删除卷组  通过 vgremove 命令

④最后再来删除我们的物理卷  通过 pvremove 命令

1[root@xiaoluo /]#  /dev/xiaoluo/mylv /mnt/ 2/]#  /mnt//]# ? [y///]#  successfully wiped

此时我们的刚创建的逻辑卷 mylv,卷组 xiaoluo以及物理卷 /dev/sdb 已经从我们当前操作系统上删除掉了,通过 lvs、vgs、pvs命令可以查看一下

[root@xiaoluo ////dev/sdc        lvm2 a--  .00g .00g  // sdb物理卷已经没有了,只剩下 sdc物理卷了
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

LVM的创建,修改大小,删除以及彻底卸载的操作步骤

首先解释一下几个关键词pv:physicalvolume物理卷,就是用物理磁盘组成的卷,要在物理磁盘上创建。vg:volumegroup卷组,就是物理卷组成的卷组合,要在物理卷基础上创建。lv:logicalvolume逻辑卷,可以理解为逻辑可动态分配的磁盘空间,要在卷组上创建。所以lvm的创建顺序就是,物理磁盘分区(也可以不