本文最后更新于 2024-08-31,文章内容可能已经过时。

案例需求:

创建一个2.5G大小的逻辑卷

案例思路:

  1. 物理的设备
  2. 将物理设备做成物理卷
  3. 创建卷组并将物理卷加入其中
  4. 创建逻辑卷
  5. 格式化逻辑卷
  6. 挂载使用

案例实现

步骤:
1. 物理设备
[root@zutuanxue ~]# lsblk /dev/sdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb      8:16   0  20G  0 disk 
├─sdb1   8:17   0   2G  0 part /disk1
├─sdb2   8:18   0   2G  0 part 
├─sdb3   8:19   0   2G  0 part 
├─sdb4   8:20   0   2G  0 part 
└─sdb5   8:21   0   2G  0 part 


2. 创建物理卷
[root@zutuanxue ~]# pvcreate /dev/sdb{1,2}
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
查看物理卷:
[root@zutuanxue ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cl lvm2 a--  <19.00g    0 
  /dev/sdb1     lvm2 ---    2.00g 2.00g
  /dev/sdb2     lvm2 ---    2.00g 2.00g
[root@zutuanxue ~]# pvscan 
  PV /dev/sda2   VG cl              lvm2 [<19.00 GiB / 0    free]
  PV /dev/sdb1                      lvm2 [2.00 GiB]
  PV /dev/sdb2                      lvm2 [2.00 GiB]
  Total: 3 [<23.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 2 [4.00 GiB]

[root@zutuanxue ~]# pvdisplay /dev/sdb1 
  "/dev/sdb1" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1       #物理卷名称
  VG Name                                       #卷组名称
  PV Size               2.00 GiB        #大小
  Allocatable           NO                  #是否已分配出去
  PE Size               0                   #PE大小
  Total PE              0                       #PE总数
  Free PE               0                       #空闲PE
  Allocated PE          0                       #可分配PE
  PV UUID               3M4...lT        #UUID


3. 创建卷组并将物理卷加入其中
[root@zutuanxue ~]# vgcreate vg1 /dev/sdb{1,2}
  Volume group "vg1" successfully created
查看卷组信息:
[root@zutuanxue ~]# vgs vg1
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 3.99g 3.99g

[root@zutuanxue ~]# vgscan  #扫描系统中有哪些卷组
  Reading all physical volumes.  This may take a while...
  Found volume group "vg1" using metadata type lvm2
  Found volume group "cl" using metadata type lvm2

 [root@zutuanxue ~]# vgdisplay vg1
  --- Volume group ---
  VG Name               vg1
  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               3.99 GiB        #卷组大小
  PE Size               4.00 MiB        #PE大小
  Total PE              1022                #PE数量
  Alloc PE / Size       0/0         #已分配的PE/容量
  Free  PE / Size       1022/3.99 GiB   #可分配的PE/容量
  VG UUID               CQ6p...K9I

4. 创建逻辑卷
[root@zutuanxue ~]# lvcreate -n lv1 -L 2.5G vg1 
  Logical volume "lv1" created.
在操作系统层面映射两个地方:
[root@zutuanxue ~]# ll /dev/mapper/vg1-lv1 
lrwxrwxrwx 1 root root 7 12月 10 05:47 /dev/mapper/vg1-lv1 -> ../dm-2
[root@zutuanxue ~]# ll /dev/vg1/lv1 
lrwxrwxrwx 1 root root 7 12月 10 05:47 /dev/vg1/lv1 -> ../dm-2
[root@zutuanxue ~]# ll /dev/dm-2 
brw-rw---- 1 root disk 253, 2 12月 10 05:47 /dev/dm-2

lvcreate参数
-n:指定逻辑卷的名字
-L:指定逻辑卷的大小
-l:指定逻辑卷的大小
举例:
-l 100          100个PE,每个PE大小默认4M,故逻辑卷大小为400M
-l 50%free      卷组剩余空间的50%
[root@zutuanxue ~]# vgs vg1 
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   1   0 wz--n- 3.99g 1.49g

创建大小为200M的逻辑卷lv02;每个PE为4M,-l 50指定50个PE,大小为200M
[root@zutuanxue ~]# lvcreate -n lv2 -l 50 vg1
  Logical volume "lv2" created.
[root@zutuanxue ~]# vgs vg1 
  VG  #PV #LV #SN Attr   VSize VFree 
  vg1   2   2   0 wz--n- 3.99g <1.30g

[root@manage01 ~]# lvs /dev/vg01/lv02
  LV   VG   Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv02 vg01 -wi-a----- 200.00m  

创建大小为剩余卷组vg01空间的50%的逻辑卷lv03
[root@zutuanxue ~]# lvcreate -n lv3 -l 50%free vg1
  Logical volume "lv3" created.
[root@zutuanxue ~]# vgs vg1 
  VG  #PV #LV #SN Attr   VSize VFree  
  vg1   2   3   0 wz--n- 3.99g 664.00m

查看逻辑卷的信息:
[root@zutuanxue ~]# lvs /dev/vg1/lv1 
  LV   VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 2.50g                                                    
[root@zutuanxue ~]# lvs /dev/vg1/lv2
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv2  vg1 -wi-a----- 200.00m                                                    
[root@zutuanxue ~]# lvs /dev/vg1/lv3
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv3  vg1 -wi-a----- 664.00m                                                    
[root@zutuanxue ~]# lvdisplay /dev/vg1/lv1 
  --- Logical volume ---
  LV Path                /dev/vg1/lv1
  LV Name                lv1
  VG Name                vg1
  LV UUID                jj9Sj1-zHuo-qpBZ-Dkk1-LVYB-HyUH-LQ6edW
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-12-10 05:46:59 -0500
  LV Status              available
  # open                 0
  LV Size                2.50 GiB
  Current LE             640
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2


5. 格式化逻辑卷
[root@zutuanxue ~]# mkfs.ext4 /dev/vg1/lv1 

6. 挂载使用
1)创建一个空的挂载点
[root@zutuanxue /]# mkdir /lv1
2)挂载使用
[root@zutuanxue /]# mount /dev/vg1/lv1 /lv1/