lvm邏輯卷的操作--學習筆記

本次實驗環境是redhat7.0系統

邏輯卷管理器是linux系統用於對硬盤分區進行管理的一種機制,初衷是爲了解決硬盤設備在創建分區後不易修改分區大小的缺陷。它提供了一個抽象的卷組,可以把多塊硬盤進行卷組合並,用戶不必關係物理硬盤設備的底層架構和佈局,就可以實現對硬盤分區的動態調整。
lvm邏輯卷的操作--學習筆記

常用的命令

作用 物理卷管理 卷組管理 邏輯卷管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴展 vgextend lvextend
縮小 vgreduce lvreduce

創建pv

將/dev/sdb /dev/sdc創建成pv

[root@localhost mnt]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created

查看pv

[root@localhost mnt]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               vg1
  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               7HM45W-ceIl-sEFh-9uj3-cz4W-jZ5Z-cWavvd

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               vg1
  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               B1oEjB-UJcE-l1Lk-9DTI-BWy3-2FdC-dmdgbI

創建vg

創建一個vg,命名爲vg1

[root@localhost mnt]# vgcreate vg1 /dev/sdb /dev/sdc
  Volume group "vg1" successfully created

查看vg

[root@localhost mnt]# vgdisplay 
  --- 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               9.99 GiB
  PE Size               4.00 MiB
  Total PE              2558
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2558 / 9.99 GiB
  VG UUID               m3pfeB-v3os-itGn-RYKz-gYLi-dHqY-fRAQ2L

創建一個lv

創建一個大小爲150M的邏輯卷
對邏輯捲進行切割時有兩種計量單位:

  • 以容量爲單位,所使用的參數爲-L。例如:-L 150M
  • 以基本單元的個數爲單位,使用的參數爲-l,默認基本單元是4MB。例如 -l 10 爲4MB x 10 =40MB
[root@localhost mnt]# lvcreate -n lv1 -L 150M vg1
 Logical volume "lv1" created

查看lv

[root@localhost mnt]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg1/lv1
  LV Name                lv1
  VG Name                vg1
  LV UUID                EuYC0s-eXZo-3Vlq-xOQF-Suej-AkLY-vkQbv2
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-02-25 17:06:06 +0800
  LV Status              available
  # open                 0
  LV Size                152.00 MiB
  Current LE             38
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

對lv進行格式化,掛載使用

[root@localhost mnt]# mkfs.ext4  /dev/vg1/lv1 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
38912 inodes, 155648 blocks
7782 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
19 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
    8193, 24577, 40961, 57345, 73729

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

[root@localhost mnt]# mkdir lv1
[root@localhost mnt]# mount /dev/vg1/lv1 /mnt/lv1/
[root@localhost mnt]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        18G  3.0G   15G  17% /
devtmpfs              devtmpfs  1.5G     0  1.5G   0% /dev
tmpfs                 tmpfs     1.5G  140K  1.5G   1% /dev/shm
tmpfs                 tmpfs     1.5G  8.9M  1.5G   1% /run
tmpfs                 tmpfs     1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sr0              iso9660   3.5G  3.5G     0 100% /media/cdrom
/dev/sda1             xfs       497M  119M  379M  24% /boot
/dev/mapper/vg1-lv1   ext4      144M  1.6M  132M   2% /mnt/lv1

將掛載目錄寫入到/etc/fstab,永久生效

[root@localhost mnt]# vim /etc/fstab 
/dev/vg1/lv1 /mnt/lv1 ext4 defaults 0 0

對lv擴容

擴容之前,先卸載lv

[root@localhost mnt]# umount /dev/vg1/lv1

擴容到200M

[root@localhost mnt]# lvextend -L 200M /dev/vg1/lv1 
  Extending logical volume lv1 to 200.00 MiB
  Logical volume lv1 successfully resized

檢查硬盤完整性

[root@localhost mnt]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
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/vg1/lv1: 11/38912 files (0.0% non-contiguous), 10567/155648 blocks

重置硬盤容量

[root@localhost mnt]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.

重新掛載,查看狀態

[root@localhost mnt]# mount -a
[root@localhost mnt]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        18G  3.0G   15G  17% /
devtmpfs              devtmpfs  1.5G     0  1.5G   0% /dev
tmpfs                 tmpfs     1.5G  140K  1.5G   1% /dev/shm
tmpfs                 tmpfs     1.5G  8.9M  1.5G   1% /run
tmpfs                 tmpfs     1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sr0              iso9660   3.5G  3.5G     0 100% /media/cdrom
/dev/sda1             xfs       497M  119M  379M  24% /boot
/dev/mapper/vg1-lv1   ext4      190M  1.6M  175M   1% /mnt/lv1

對lv縮容

縮容之前,做好數據備份,先卸載lv

[root@localhost mnt]# umount /dev/vg1/lv1 

檢查硬盤完整性

[root@localhost mnt]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
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/vg1/lv1: 11/51200 files (0.0% non-contiguous), 12115/204800 blocks

容量減小到100M

[root@localhost mnt]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.

[root@localhost mnt]# lvreduce -L 100M /dev/vg1/lv1 
  WARNING: Reducing active logical volume to 100.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
  Reducing logical volume lv1 to 100.00 MiB
  Logical volume lv1 successfully resized

重新掛載,查看狀態

[root@localhost mnt]# mount -a
[root@localhost mnt]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        18G  3.0G   15G  17% /
devtmpfs              devtmpfs  1.5G     0  1.5G   0% /dev
tmpfs                 tmpfs     1.5G  140K  1.5G   1% /dev/shm
tmpfs                 tmpfs     1.5G  8.9M  1.5G   1% /run
tmpfs                 tmpfs     1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sr0              iso9660   3.5G  3.5G     0 100% /media/cdrom
/dev/sda1             xfs       497M  119M  379M  24% /boot
/dev/mapper/vg1-lv1   ext4       93M  1.6M   85M   2% /mnt/lv1

創建邏輯卷快照

快照特點:

  • 快照卷的容量必須等同於邏輯卷的容量
  • 快照卷僅一次有效,一旦執行還原操作後會被刪除

查看vg狀態,確保有足夠的容量創建快照

[root@localhost mnt]# vgdisplay 
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               9.99 GiB
  PE Size               4.00 MiB
  Total PE              2558
  Alloc PE / Size       25 / 100.00 MiB
  Free  PE / Size       2533 / 9.89 GiB
  VG UUID               m3pfeB-v3os-itGn-RYKz-gYLi-dHqY-fRAQ2L

對lv1創建快照, -s 創建快照;-n 快照名稱;-L 快照的容量
創建快照時,不用卸載lv

[root@localhost mnt]# lvcreate -s -n snap-lv1 -L 100M /dev/vg1/lv1
  Logical volume "snap-lv1" created

恢復快照,恢復之前先卸載lv

[root@localhost mnt]# umount /dev/vg1/lv1 
[root@localhost mnt]# lvconvert --merge /dev/vg1/snap-lv1 
  Merging of volume snap-lv1 started.
  lv1: Merged: 100.0%
  Merge of snapshot into logical volume lv1 has finished.
  Logical volume "snap-lv1" successfully removed

重新掛載lv,查看數據

刪除lv、vg、pv

如果不再使用lvm,執行刪除操作,刪除的順序是:lv-vg-pv,順序不能錯,不然刪除不了,刪除之間先卸載lv

[root@localhost mnt]# lvremove /dev/vg1/lv1 
Do you really want to remove active logical volume lv1? [y/n]: y
  Logical volume "lv1" successfully removed

[root@localhost mnt]# vgremove vg1
  Volume group "vg1" successfully removed

[root@localhost mnt]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped
  Labels on physical volume "/dev/sdc" successfully wiped
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章