逻辑卷的创建与移除

一、弹性控制磁盘大小的lvm:

    假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系统的,而且不需要服务器离线就能办到。lvm(logical volume manager),通过名字就很好理解,逻辑卷就是在物理卷之上,再次进行逻辑上的划分,把多个物理卷(可以是硬盘可以是分区)组合成一个卷组,通过划分卷组来进行磁盘的统一划分为逻辑卷,如果某一天逻辑卷不够使用了,可以给卷组添加硬盘或分区,再将逻辑卷进行放大,最后对文件系统进行放大就行了,如果是缩小lvm的话就需要先取消挂载,然后再缩小

二、 LVM相关概念:

pv:物理卷:可以是物理硬盘或分区,通过改变卷标为8e,使用pv命令转化为物理卷

vg:多个物理卷的一个集合,构成了逻辑上存在的卷组,叫逻辑卷

lv:在使用卷组时可以划分出多个逻辑卷,通过格式化

pe:构成卷组的逻辑上的最小块,类似于硬盘的块大小,分配给lvm时也只能是pe的整数倍,默认一个卷组可以有65534个pe,pe默认大小为4MB, 则一个卷组默认最大有256G,当然可以改变pe的大小来改变vg的最大(pe的大小单位可以是小到b大到g,t,p,e都可以指定)

1.png

三者的关系大概是上图的关系

三、逻辑卷的命令:

1. pv相关命令:

pvcreate:创建物理卷

pvdisplay:显示系统的物理卷详细信息

pvs:显示系统物理卷的概要信息

pvremove:移除物理卷

pvmove搬移物理卷,先加源pv后加目标pv,缩小vg时使用

         pvscan:扫描pv

2.  vg相关命令:

vgcreate:创建卷组

vgdisplay:卷组的详细信息

vgs: 卷组的概要信息

vgextend:使用pv扩展卷组

vgreduce:在vg内移除pv

vgremove:移除卷组

vgscan:扫描vg

3. lv相关信息:

lvcreate创建卷组

lvs逻辑卷的概要信息

lvdisplay 逻辑卷详细信息

lvextend 在lv里增加容量

lvresize 调整lv的容量大小

lvremove 移除lv

 

四、逻辑卷的实例:

1. 创建逻辑卷:

需要依次创建物理卷、卷组、逻辑卷:

[root@cnode6_8 ~]# pvcreate /dev/sd{b1,b2,c}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdc" successfully created

#下面创建名字为jack_vg,pe大小为1M,pv添加了一个分区,一块磁盘

 [root@cnode6_8 ~]# vgcreate -s 1M jack_vg /dev/sdb1 /dev/sdc
  Volume group "jack_vg" successfully created
[root@cnode6_8 ~]# vgs  //显示创建的vg
  VG      #PV #LV #SN Attr   VSize  VFree
  jack_vg   2   0   0 wz--n- 20.10g 20.10g
[root@cnode6_8 ~]# vgscan  //显示创建的vg
  Reading all physical volumes.  This may take a while...
  Found volume group "jack_vg" using metadata type lvm2
[root@cnode6_8 ~]# vgdisplay  //显示详细信息
  --- Volume group ---
  VG Name               jack_vg
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               20.10 GiB  //vg大小为20.1G
  PE Size               1.00 MiB
  Total PE              20587  //pe总个数
  Alloc PE / Size       0 / 0  
  Free  PE / Size       20587 / 20.10 GiB
  VG UUID               CvbWjN-q0ew-Uk97-FnFu-iWPM-rl7B-KJ1PNn

#创建lv 指定大小为300个pe,-L可以直接指定大小,-n指定lv名字

[root@cnode6_8 ~]# lvcreate -l 300 -n jack_lv jack_vg
  Logical volume "jack_lv" created.
[root@cnode6_8 ~]# mkfs.ext3 /dev/jack_vg/jack_lv  //格式化逻辑卷
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
……
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 ~]# mkdir /mnt/jack_lv   //创建挂载点,挂载
[root@cnode6_8 ~]# mount /dev/jack_vg/jack_lv /mnt/jack_lv
[root@cnode6_8 ~]# df -h |grep lv  //查看文件系统挂载情况
/dev/mapper/jack_vg-jack_lv  291M   11M  266M   4% /mnt/jack_lv

               

2. 逻辑卷扩展:

逻辑卷扩展需要先扩展物理卷再把物理卷加入卷组之后放大逻辑卷,最后放大文件系统。在前面已经有一个分区未被加入卷组中,可以直接使用,具体步骤如下:

[root@cnode6_8 ~]# vgextend jack_vg /dev/sdb2
  Volume group "jack_vg" successfully extended
[root@cnode6_8 ~]# vgs
  VG      #PV  #LV  #SN  Attr     VSize  VFree
  jack_vg        3   1    0    wz--n- 20.30g 20.01g

#扩展逻辑卷只需指定扩展多少,也可以使用-L直接指定大小,也可以使用-l直接指定一共有多少个pe即可

[root@cnode6_8 ~]# lvresize -l +100 /dev/jack_vg/jack_lv
Size of logical volume jack_vg/jack_lv changed from 300.00 MiB (300 extents) to 400.00 MiB (400 extents).
  Logical volume jack_lv successfully resized.

#此时文件系统还是原来的大小,放大文件系统

[root@cnode6_8 ~]# resize2fs /dev/jack_vg/jack_lv
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/jack_vg/jack_lv is mounted on /mnt/jack_lv; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/jack_vg/jack_lv to 409600 (1k) blocks.
The filesystem on /dev/jack_vg/jack_lv is now 409600 blocks long.

3. 缩小逻辑卷:

缩小逻辑卷应该先缩小文件系统,在缩小逻辑卷,将要移除的分区或硬盘上的数据搬移至没有使用的分区,缩小卷组移除物理卷。

具体步骤如下:

#第一次缩小文件系统大小时系统会提示运行检查文件系统的命令

[root@cnode6_8 ~]# resize2fs   /dev/jack_vg/jack_lv 160M
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/jack_vg/jack_lv' first.
 
[root@cnode6_8 ~]# e2fsck -f /dev/jack_vg/jack_lv
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/jack_vg/jack_lv: 38/101200 files (0.0% non-contiguous), 126124/409600 blocks

#运行完文件系统检查后就可以运行缩小文件系统的命令

[root@cnode6_8 ~]# resize2fs   /dev/jack_vg/jack_lv 160M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/jack_vg/jack_lv to 163840 (1k) blocks.
The filesystem on /dev/jack_vg/jack_lv is now 163840 blocks long.
 
[root@cnode6_8 ~]# lvresize -L 180M /dev/jack_vg/jack_lv
  WARNING: Reducing active logical volume to 180.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce jack_vg/jack_lv? [y/n]: y
  Size of logical volume jack_vg/jack_lv changed from 300.00 MiB (300 extents) to 180.00 MiB (180 extents).
  Logical volume jack_lv successfully resized.

#假如需要移除/dev/sdc 但是发现它已经被使用了一部分,需要移至其他不用移除的分区

[root@cnode6_8 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               jack_vg
  PV Size               109.79 MiB / not usable 1.79 MiB
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              108
  Free PE               108
  Allocated PE          0
  PV UUID               RfUlAj-6mtH-CekP-4BQs-SSVU-MYem-rVj9kS
  
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               jack_vg
  PV Size               20.00 GiB / not usable 0  
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              20479
  Free PE               20299
  Allocated PE          180
  PV UUID               MY3ZK5-do0L-dQCs-2EOH-b1O1-Dhql-oT8Pr8
  
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               jack_vg
  PV Size               203.95 MiB / not usable 1.95 MiB
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              202
  Free PE               202
  Allocated PE          0
  PV UUID               OISzAn-fAZW-OmPV-l8x0-0QPZ-i1xE-rBoEJc
[root@cnode6_8 ~]# pvmove /dev/sdc  /dev/sdb2
  /dev/sdc: Moved: 7.2%
  /dev/sdc: Moved: 100.0%
[root@cnode6_8 ~]# pvdisplay /dev/sdc
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               jack_vg
  PV Size               20.00 GiB / not usable 0  
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              20479
  Free PE               20479
  Allocated PE          0
  PV UUID               MY3ZK5-do0L-dQCs-2EOH-b1O1-Dhql-oT8Pr8

此时分配了/dev/sdc的已经全部收回,可以缩减卷组了移除pv了

[root@cnode6_8 ~]# vgreduce  jack_vg  /dev/sdc
  Removed "/dev/sdc" from volume group "jack_vg"
[root@cnode6_8 ~]# pvremove /dev/sdc
  Labels on physical volume "/dev/sdc" successfully wiped

最后提示移除成功!

[root@cnode6_8 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree 
  jack_vg   2   1   0 wz--n- 310.00m 130.00m
[root@cnode6_8 ~]# lvs
  LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  jack_lv jack_vg -wi-a----- 180.00m                                                   
[root@cnode6_8 ~]# pvs
  PV         VG      Fmt  Attr PSize   PFree 
  /dev/sdb1  jack_vg lvm2 a--u 108.00m 108.00m
  /dev/sdb2  jack_vg lvm2 a--u 202.00m  22.00m

 

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

(0)
jack_cuijack_cui
上一篇 2016-08-30 13:55
下一篇 2016-08-30 13:55

相关推荐

  • 马哥教育网络20期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1 ~]# chmod -R go-r /home/tuser1 2、编辑/etc…

    Linux干货 2016-07-04
  • Linux网络配置

    配置网络 实现网络组测试网络网络工具     基本网络配置将Linux主机接入到网络,需要配置网络相关设置。一般包括如下内容:主机名IP/netmask路由:默认网关DNS服务器主DNS服务器次DNS服务器第三DNS服务器 网络配置方式静态指定:ifcfg: ifconfig, route, netstatip: object {link…

    Linux干货 2017-08-19
  • 笔记–8.4 文本处理工具,正则表达式

    cat 查看文本文件 命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件:cat file1 file2 > fil…

    Linux干货 2016-08-07
  • 马哥linux0801课程内容

    0801课堂笔记 硬链接和软链接最根本的区别 硬链接是同一个文件,而软链接是两个文件 软链接查询到文件的软链接个数.比较麻烦. 而硬链接的个数可以通过链接数就可以看到. 硬链接不能跨分区,而软链接可以跨分区 (因为每个分区都有自己的inode表) ln 创建硬链接 ln–s 创建软链接(软链接如果使用相对路径,对象是相对软链接的路径,而硬…

    Linux干货 2016-08-04
  • Linux新增磁盘分区

    磁盘的分区        主分区与扩展分区最多可以有4个(分区表64字节,每分区占16字节);        扩展分区最多只能有一个;        逻辑分区是由扩展分区持续分出来的分区;       &nbs…

    Linux干货 2016-05-29
  • Linux基本操作:关机 重启

        Linux系统安装完成以后,就要学会一些Linux的基本操作命令,首先是关机和重启命令,如果进入Linux系统之后连关机重启都不会是不是太不应该了,总不能关机或重启的时候直接关闭电源在开机吧,这就显得太不专业了,这样也会对Linux系统主机不太好,一些进程还没有关闭就直接断电,会导致Linux系统的不稳定出现问题,何况也…

    Linux干货 2016-08-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-02 11:50

    文章思路很清晰,理论与实战相结合,实验部分一气合成,如果能对图进行一些详细的解释,对小白来说更易读。