Linux基础知识

LVM的配置与使用

2020-04-06  本文已影响0人  Stone_説

0. 逻辑卷的介绍

https://www.jianshu.com/p/a1bb79824b15

1. 准备磁盘

准备将整块磁盘sdc和磁盘分区sdb1制作成一个卷组

[root@centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0   50G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0    5G  0 part 
└─sdb2   8:18   0    5G  0 part 
sdc      8:32   0   20G  0 disk 

2. 制作物理卷

[root@centos7 ~]# pvcreate /dev/sdb1 /dev/sdc
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc" successfully created.
[root@centos7 ~]# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdb1     lvm2 ---   5.00g  5.00g
  /dev/sdc      lvm2 ---  20.00g 20.00g
[root@centos7 ~]# pvdisplay 
  "/dev/sdc" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               KiBce4-GWc0-hIr0-MyWG-FzXy-oqmi-YNWgvc
   
  "/dev/sdb1" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               kqh9OO-9H6p-JCg3-Glwy-P9FT-tvKV-s83P7j

3. 制作卷组

[root@centos7 ~]# vgcreate -s 4M myvg1 /dev/sdc /dev/sdb1
  Volume group "myvg1" successfully created
[root@centos7 ~]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree 
  myvg1   2   0   0 wz--n- 24.99g 24.99g
[root@centos7 ~]# vgdisplay 
  --- Volume group ---
  VG Name               myvg1
  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               24.99 GiB
  PE Size               4.00 MiB
  Total PE              6398
  Alloc PE / Size       0 / 0   
  Free  PE / Size       6398 / 24.99 GiB
  VG UUID               bmpKGY-UiP5-VR9T-xiCQ-UilE-ZRzP-JIs6H5
   
[root@centos7 ~]# blkid
/dev/sr0: UUID="2019-09-11-18-50-31-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="a089259d-63ba-4099-966f-d0e753e08650" TYPE="xfs" 
/dev/sda2: UUID="78e8f470-86be-4e06-9d7a-7f0cc1862827" TYPE="xfs" 
/dev/sda3: UUID="95ef2603-1f60-459d-b931-16bc81a213f6" TYPE="xfs" 
/dev/sda5: UUID="36751366-63ee-42ff-bad6-7517bffe6747" TYPE="swap" 
/dev/sdb1: UUID="kqh9OO-9H6p-JCg3-Glwy-P9FT-tvKV-s83P7j" TYPE="LVM2_member" 
/dev/sdc: UUID="KiBce4-GWc0-hIr0-MyWG-FzXy-oqmi-YNWgvc" TYPE="LVM2_member"

4. 制作逻辑卷

[root@centos7 ~]# lvcreate -n mvlv1 -L 5G myvg1 
  Logical volume "mvlv1" created.
[root@centos7 ~]# lvs
  LV    VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mvlv1 myvg1 -wi-a----- 5.00g                                                    
[root@centos7 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg1/mvlv1
  LV Name                mvlv1
  VG Name                myvg1
  LV UUID                7jMEkK-zzLy-CrTy-ect1-waFq-ZKhP-MkwXm8
  LV Write Access        read/write
  LV Creation host, time centos7, 2020-04-06 14:59:52 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@centos7 ~]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree 
  myvg1   2   1   0 wz--n- 24.99g 19.99g

NOTE:从名称为myvg1的卷组中划分出逻辑卷,设置名称为mylv1,大小为5G左右。
LV的路径为/dev/myvg1/mylv1,这是一个软链接,另一个软链接路路径是/dev/mapper/myvg1-mylv1,它们的实际路径为/dev/dm-0。在创建LV时,要考虑到VG的剩余空间的大小,避免创建LV是VG的空间不足。

[root@centos7 dev]# ll /dev/myvg1/mvlv1 
lrwxrwxrwx. 1 root root 7 Apr  6 14:59 /dev/myvg1/mvlv1 -> ../dm-0
[root@centos7 dev]# ll /dev/mapper/myvg1-mvlv1 
lrwxrwxrwx. 1 root root 7 Apr  6 14:59 /dev/mapper/myvg1-mvlv1 -> ../dm-0

5. 创建ext4文件系统

[root@centos7 ~]# mkfs.ext4 /dev/myvg1/mvlv1 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

[root@centos7 ~]# blkid
/dev/sda5: UUID="36751366-63ee-42ff-bad6-7517bffe6747" TYPE="swap" 
/dev/sdb1: UUID="kqh9OO-9H6p-JCg3-Glwy-P9FT-tvKV-s83P7j" TYPE="LVM2_member" 
/dev/sdc: UUID="KiBce4-GWc0-hIr0-MyWG-FzXy-oqmi-YNWgvc" TYPE="LVM2_member" 
/dev/mapper/myvg1-mvlv1: UUID="7f9d131e-ce66-4bda-8f08-47b69a38d713" TYPE="ext4" 

6. 创建开机挂载

[root@centos7 ~]# mkdir /mnt/mvlvm
[root@centos7 ~]# mount /dev/mapper/myvg1-mvlv1 /mnt/mvlvm
[root@centos7 ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  200G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
├─sda2          8:2    0  100G  0 part /
├─sda3          8:3    0   50G  0 part /data
├─sda4          8:4    0    1K  0 part 
└─sda5          8:5    0    4G  0 part [SWAP]
sdb             8:16   0   20G  0 disk 
├─sdb1          8:17   0    5G  0 part 
└─sdb2          8:18   0    5G  0 part 
sdc             8:32   0   20G  0 disk 
└─myvg1-mvlv1 253:0    0    5G  0 lvm  /mnt/mvlvm

[root@centos7 ~]# umount /mnt/mvlvm
[root@centos7 ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb             8:16   0   20G  0 disk 
├─sdb1          8:17   0    5G  0 part 
└─sdb2          8:18   0    5G  0 part 
sdc             8:32   0   20G  0 disk 
└─myvg1-mvlv1 253:0    0    5G  0 lvm  
[root@centos7 ~]# vim /etc/fstab 
/dev/myvg1/mvlv1       /mnt/mvlvm      ext4    defaults        0 0
[root@centos7 ~]# mount -a 
[root@centos7 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/sr0                 4.4G  4.4G     0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/myvg1-mvlv1  4.8G   20M  4.6G   1% /mnt/mvlvm

7. 扩展逻辑卷

扩展LV时,要分两种情况:情况一,当VG有足够空间时可直接扩展LV;情况二,当VG没有足够空间,需要先扩展VG,才能在扩展LV。
本次就以情况二为例,进行扩展:以此前剩下的sdb2进行创建。

7.1 创建PV
[root@centos7 ~]# pvs
  PV         VG    Fmt  Attr PSize   PFree  
  /dev/sdb1  myvg1 lvm2 a--   <5.00g  <5.00g
  /dev/sdc   myvg1 lvm2 a--  <20.00g <15.00g
[root@centos7 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@centos7 ~]# pvs
  PV         VG    Fmt  Attr PSize   PFree  
  /dev/sdb1  myvg1 lvm2 a--   <5.00g  <5.00g
  /dev/sdb2        lvm2 ---    5.00g   5.00g
  /dev/sdc   myvg1 lvm2 a--  <20.00g <15.00g
[root@centos7 ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               myvg1
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               3839
  Allocated PE          1280
  PV UUID               KiBce4-GWc0-hIr0-MyWG-FzXy-oqmi-YNWgvc
   
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               myvg1
  PV Size               5.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              1279
  Free PE               1279
  Allocated PE          0
  PV UUID               kqh9OO-9H6p-JCg3-Glwy-P9FT-tvKV-s83P7j
   
  "/dev/sdb2" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               RqssYJ-L6Cv-n3vD-Dymv-BQmM-rYWq-ZdVzUd
7.2 扩展VG
[root@centos7 ~]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree 
  myvg1   2   1   0 wz--n- 24.99g 19.99g
[root@centos7 ~]# vgextend myvg1 /dev/sdb2
  Volume group "myvg1" successfully extended
[root@centos7 ~]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree  
  myvg1   3   1   0 wz--n- <29.99g <24.99g
[root@centos7 ~]# vgdisplay 
  --- Volume group ---
  VG Name               myvg1
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <29.99 GiB
  PE Size               4.00 MiB
  Total PE              7677
  Alloc PE / Size       1280 / 5.00 GiB
  Free  PE / Size       6397 / <24.99 GiB
  VG UUID               bmpKGY-UiP5-VR9T-xiCQ-UilE-ZRzP-JIs6H5
7.3 扩展LV并重置文件系统大小
[root@centos7 ~]# lvs
  LV    VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mvlv1 myvg1 -wi-ao---- 5.00g                                                    
[root@centos7 ~]# lvextend -r -L +23G /dev/myvg1/mvlv1 
  Size of logical volume myvg1/mvlv1 changed from 5.00 GiB (1280 extents) to 28.00 GiB (7168 extents).
  Logical volume myvg1/mvlv1 successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/myvg1-mvlv1 is mounted on /mnt/mvlvm; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/mapper/myvg1-mvlv1 is now 7340032 blocks long.

[root@centos7 ~]# lvs
  LV    VG    Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mvlv1 myvg1 -wi-ao---- 28.00g                                                    
[root@centos7 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg1/mvlv1
  LV Name                mvlv1
  VG Name                myvg1
  LV UUID                7jMEkK-zzLy-CrTy-ect1-waFq-ZKhP-MkwXm8
  LV Write Access        read/write
  LV Creation host, time centos7, 2020-04-06 14:59:52 +0800
  LV Status              available
  # open                 1
  LV Size                28.00 GiB
  Current LE             7168
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@centos7 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
tmpfs                    182M   36K  182M   1% /run/user/0
/dev/sr0                 4.4G  4.4G     0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/myvg1-mvlv1   28G   28M   27G   1% /mnt/mvlvm

NOTE:逻辑卷除了扩展,还可以进行缩减,以及从LVM系统中移除硬盘,跨主机迁移逻辑卷,甚至是快照功能。在此就不一一示范,有需要可自行百度。

上一篇下一篇

猜你喜欢

热点阅读