ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LVM逻辑卷创建管理

2019-10-20 11:55:40  阅读:212  来源: 互联网

标签:逻辑 PV CentOS vg 创建 dev LV 64 LVM


本文环境:CentOS7

1.什么是逻辑卷(Logical Volume)?

  逻辑卷是系统的一种磁盘管理方式,目的是把硬盘空间从物理硬盘的管理方式中跳出来,进行更方便的统一管理分配。

  逻辑卷是由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。每个卷可以看作一个逻辑盘,可以是一个物理硬盘的逻辑盘。

图片是网上引用的,

2.逻辑卷的特点和作用

  逻辑卷由下层卷组(Physical Volume),物理卷(Volume Group)格式化组成

  物理卷是将底层的硬盘划分为了一个一个的PE(Physical Extend),我们的LVM磁盘管理中PE的默认大小是4M大小,PE就是我们逻辑卷管理的最基本单位

  允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小

  允许在多个物理设备间重新组织文件系统 

  将设备指定为物理卷 

   物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 

  可以在逻辑卷上创建文件系统 

3 .创建逻辑卷

  3.1 创建逻辑卷,刚刚讲了,逻辑卷是由下层的卷组和物理卷格式化组成,所以先创建物理卷和卷组

    3.1.1 创建物理卷(PV)使用pvcreate

      我的磁盘情况如下

 1 sda      8:0    0  200G  0 disk 
 2 ├─sda1   8:1    0    1G  0 part /boot
 3 ├─sda2   8:2    0  100G  0 part /
 4 ├─sda3   8:3    0   50G  0 part /data
 5 ├─sda4   8:4    0    1K  0 part 
 6 └─sda5   8:5    0    2M  0 part [SWAP]
 7 sdb      8:16   0   20G  0 disk 
 8 sdc      8:32   0   20G  0 disk 
 9 sdd      8:48   0  200G  0 disk 
10 sde      8:64   0   10G  0 disk 
11 sr0     11:0    1 10.3G  0 rom  

  物理卷可以使用磁盘和分区来创建,如果时间分区来创建,对磁盘分区之后在创建物理卷(PV)。

  下面我使用sdb和sde两块磁盘来创建物理卷

  pvcreate /dev/sd{b,e}                            #这样写就是两块一起创建了

1 [root@CentOS-7-64 ~]# pvcreate /dev/sd{b,e}
2   Physical volume "/dev/sdb" successfully created.
3   Physical volume "/dev/sde" successfully created.
4 [root@CentOS-7-64 ~]# 

  然后使用  pvs和lvdisplay  来查看创建好的(物理卷)PV

2 [root@CentOS-7-64 ~]# pvs              #查看简单的信息
3   PV         VG Fmt  Attr PSize  PFree 
4   /dev/sdb      lvm2 ---  20.00g 20.00g
5   /dev/sde      lvm2 ---  10.00g 10.00g
6 [root@CentOS-7-64 ~]# 
 1 [root@CentOS-7-64 ~]# pvdisplay       #查看详细的PV各个信息
 2   "/dev/sdb" is a new physical volume of "20.00 GiB"
 3   --- NEW Physical volume ---
 4   PV Name               /dev/sdb
 5   VG Name               
 6   PV Size               20.00 GiB
 7   Allocatable           NO
 8   PE Size               0   
 9   Total PE              0
10   Free PE               0
11   Allocated PE          0
12   PV UUID               YW3kNy-jMFI-fTW0-2DmX-7KrK-NBP4-kYA0U8
13    
14   "/dev/sde" is a new physical volume of "10.00 GiB"
15   --- NEW Physical volume ---
16   PV Name               /dev/sde
17   VG Name               
18   PV Size               10.00 GiB
19   Allocatable           NO
20   PE Size               0   
21   Total PE              0
22   Free PE               0
23   Allocated PE          0
24   PV UUID               1uiW6y-JQDQ-uA3q-Mryc-kG7R-NX1c-4P96AT
25    
26 [root@CentOS-7-64 ~]# 

  3.2 如上物理卷创建成功了,下面把物理卷组成卷组(vg)使用命令 vgcreate

  vgcreate 部分帮助信息如下

 1   vgcreate - Create a volume group
 2 
 3   vgcreate VG_new PV ...
 4     [ -A|--autobackup y|n ]
 5     [ -c|--clustered y|n ]
 6     [ -l|--maxlogicalvolumes Number ]
 7     [ -p|--maxphysicalvolumes Number ]
 8     [ -M|--metadatatype lvm2|lvm1 ]
 9     [ -s|--physicalextentsize Size[m|UNIT] ]
10     [ -f|--force ]
11     [ -Z|--zero y|n ]

  创建vg

 

1 [root@CentOS-7-64 ~]# vgcreate -s 16M vg /dev/sdb     #-s 指定每个PE(Physical Extend)的大小 默认为4M 
2   Volume group "vg" successfully created

  查看vg

  vgs  和 vgdisplay  命令

1 [root@CentOS-7-64 ~]# vgs  #vgs 查看的显示
2   VG #PV #LV #SN Attr   VSize  VFree 
3   vg   1   0   0 wz--n- 19.98g 19.98g
 1 [root@CentOS-7-64 ~]# vgdisplay        #vgdisplay  查看的显示
 2   --- Volume group ---
 3   VG Name               vg
 4   System ID             
 5   Format                lvm2
 6   Metadata Areas        1
 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                1
15   Act PV                1
16   VG Size               19.98 GiB
17   PE Size               16.00 MiB
18   Total PE              1279
19   Alloc PE / Size       0 / 0   
20   Free  PE / Size       1279 / 19.98 GiB
21   VG UUID               OB7OIp-HK6l-VsN9-YmB0-vk10-vE0M-aL6CWR
22    

  3.3 扩展卷组的大小 vgextend

   下面我把另一个磁盘sde也加入卷组vg中

1 [root@CentOS-7-64 ~]# vgextend vg /dev/sde
2   Volume group "vg" successfully extended

  再次查看卷组vg的信息

 1 [root@CentOS-7-64 ~]# vgdisplay
 2   --- Volume group ---
 3   VG Name               vg
 4   System ID             
 5   Format                lvm2
 6   Metadata Areas        2
 7   Metadata Sequence No  2
 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
15   Act PV                2
16   VG Size               <29.97 GiB
17   PE Size               16.00 MiB
18   Total PE              1918
19   Alloc PE / Size       0 / 0   
20   Free  PE / Size       1918 / <29.97 GiB
21   VG UUID               OB7OIp-HK6l-VsN9-YmB0-vk10-vE0M-aL6CWR
 VG Size 已经改变了  说明已经扩展完成了

3.5 前面准备工作创建了物理卷(PV),卷组(VG),下面创建逻辑卷(LV)
  使用lvcreate 命令
 1   1   lvcreate - Create a logical volume
 2   2 
 3   3   Create a linear LV.
 4   4   lvcreate -L|--size Size[m|UNIT] VG
 5   5         [ -l|--extents Number[PERCENT] ]
 6   6         [    --type linear ]
 7   7         [ COMMON_OPTIONS ]
 8   8         [ PV ... ]
 9 -------------------------常用选项---------------
10   Common options for command:
11 147         [ -a|--activate y|n|ay ]
12 148         [ -A|--autobackup y|n ]
13 149         [ -C|--contiguous y|n ]
14 150         [ -M|--persistent y|n ]
15 151         [ -j|--major Number ]
16 152         [ -k|--setactivationskip y|n ]
17 153         [ -K|--ignoreactivationskip ]
18 154         [ -n|--name String ]
19 155         [ -p|--permission rw|r ]
20 156         [ -r|--readahead auto|none|Number ]
21 157         [ -W|--wipesignatures y|n ]
22 158         [ -Z|--zero y|n ]

  lvcreate -n lv -L 5G vg

1 [root@CentOS-7-64 ~]# lvcreate -n lv -L 5G vg
2 WARNING: xfs signature detected on /dev/vg/lv at offset 0. Wipe it? [y/n]: y
3   Wiping xfs signature on /dev/vg/lv.
4   Logical volume "lv" created.
5 [root@CentOS-7-64 ~]# 

使用 lvs 和lvdisplay查看

 1 [root@CentOS-7-64 ~]# lvdisplay      #  lvdisplay 显示如下
 2   --- Logical volume ---
 3   LV Path                /dev/vg/lv
 4   LV Name                lv
 5   VG Name                vg
 6   LV UUID                BFWlJL-qcFU-OWJk-A3Yb-xTLf-c3cg-utCrnl
 7   LV Write Access        read/write
 8   LV Creation host, time CentOS-7-64, 2019-10-20 10:42:04 +0800
 9   LV Status              available
10   # open                 0
11   LV Size                5.00 GiB
12   Current LE             320
13   Segments               1
14   Allocation             inherit
15   Read ahead sectors     auto
16   - currently set to     8192
17   Block device           253:0

  3.6 既然逻辑卷做完了,下面需要个逻辑卷创建文件系统

  我使用的是xte4 因为ext4创建的逻辑卷可以使用  resize2fs  缩减,而xfs文件系统不可缩减

 1 [root@CentOS-7-64 ~]# mkfs -t ext4 /dev/vg/lv
 2 mke2fs 1.42.9 (28-Dec-2013)
 3 Filesystem label=
 4 OS type: Linux
 5 Block size=4096 (log=2)
 6 Fragment size=4096 (log=2)
 7 Stride=0 blocks, Stripe width=0 blocks
 8 327680 inodes, 1310720 blocks
 9 65536 blocks (5.00%) reserved for the super user
10 First data block=0
11 Maximum filesystem blocks=1342177280
12 40 block groups
13 32768 blocks per group, 32768 fragments per group
14 8192 inodes per group
15 Superblock backups stored on blocks: 
16     32768, 98304, 163840, 229376, 294912, 819200, 884736
17 
18 Allocating group tables: done                            
19 Writing inode tables: done                            
20 Creating journal (32768 blocks): done
21 Writing superblocks and filesystem accounting information: done 
1 [root@CentOS-7-64 ~]# blkid -s TYPE      #查看文件系统 
2 /dev/sda1: TYPE="xfs" 
3 /dev/sda2: TYPE="xfs" 
4 /dev/sda3: TYPE="xfs" 
5 /dev/sda5: TYPE="swap" 
6 /dev/sde: TYPE="LVM2_member" 
7 /dev/sdb: TYPE="LVM2_member" 
8 /dev/mapper/vg-lv: TYPE="ext4"        #文件系统创建成功了
9 [root@CentOS-7-64 ~]# 

  3.7 问价系统创建成功了挂载就能使用了  

1 [root@CentOS-7-64 ~]# mount /dev/mapper/vg-lv /mnt  # 挂载到/mnt

  3.8 扩展逻辑卷

  我的逻辑卷只分配5G,空间不大,和分区不一样的是逻辑卷可以扩展 使用 lvextent  或者 lvresize

  扩展逻辑卷不需要取消挂载,可以在挂载状态扩展,而减少逻辑卷必须先取消挂载,不然直接取消挂载再去缩小会有莫名其实的错误。我已经趟过坑了

1  lvresize -L +5G /dev/vg/lv
2   Size of logical volume vg/lv changed from 5.00 GiB (64 extents) to 10.00 GiB (384 extents).
3   Logical volume vg/lv successfully resized.
 1 [root@CentOS-7-64 ~]# lvdisplay
 2   --- Logical volume ---
 3   LV Path                /dev/vg/lv
 4   LV Name                lv
 5   VG Name                vg
 6   LV UUID                BFWlJL-qcFU-OWJk-A3Yb-xTLf-c3cg-utCrnl
 7   LV Write Access        read/write
 8   LV Creation host, time CentOS-7-64, 2019-10-20 10:42:04 +0800
 9   LV Status              available
10   # open                 0
11   LV Size                10.00 GiB
12   Current LE             3840
13   Segments               2
14   Allocation             inherit
15   Read ahead sectors     auto
16   - currently set to     8192
17   Block device           253:0

这样逻辑卷的扩展就完成了 ,但是还有一个问题,那刚刚扩展的5G没有文件系统,所以还需要一个命令 resize2fs /dev/vg/lv (此命令只针对ext文件系统),如果扩展的是xfs文件系统需使用 xfs_growfs  /dev/vg/lv

在刚刚扩展时 lvextend -r 选项可以自动同步文件系统。部分文件系统类型。

注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。

4.总结
  逻辑卷相比分区可扩展,缩减,读取性能貌似还还好,而且linux系统中逻辑卷可以使用raid
  逻辑卷可以做快照,可以移除,迁移(需要先禁用逻辑卷lvchange,然后导出lvexport)
  假若硬盘或分区出现故障,逻辑卷还可以移动到相同的卷组中(使用pvmove移动空间,但是卷组中的空间必须不小于被移动的空间),
  逻辑卷很方便灵活,可以自由扩展,但是/boot不可以使用逻辑卷。因为这里面是系统中的启动项,逻辑卷是虚拟的,所以把逻辑卷
  放入/boot中系统都起不来。

  

标签:逻辑,PV,CentOS,vg,创建,dev,LV,64,LVM
来源: https://www.cnblogs.com/dreamfreedom/p/11707119.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有