LVM概念

在对虚拟机的磁盘进行区块大小规划分配时,有时会存在分配空间冗余或紧缺。而使用fdisk对磁盘进行分区后,每个分区的大小就已经固定了,如果分区设置的过大,则会浪费磁盘空间;分区设置的过小,就会导致空间不够用的情况。这个时候,就可以用到LVM ---逻辑卷管理。

LVM 逻辑卷管理,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。在Linux上可以对卷组进行任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配

  • LVM基本术语

  • 物理存储设备

系统的存储设备文件,如:/dev/sr0,/dev/nvme0n1p1

  • 物理卷

        简称PV,物理卷可以是整个硬盘、硬盘分区或从逻辑上与磁盘分区具有同样功能的设备,是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

  • 卷组

        简称VG,可以看成单独的逻辑磁盘,建立在PV之上,一个卷组中至少要包括一个PV,在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义。

  • PE

        物理区域:物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小默认为4MB。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。

  • 逻辑卷

        简称LV,相当于物理分区。逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可以属于不同的多个卷组。

  • LE

        逻辑区域:逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域大小。LE的大小和PE的大小一样(4MB)

  • VGDA

        卷组描述符区域:和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的卷组描述符区域中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符和一些PE描述符。

  • 创建和管理逻辑卷

任务

PV

VG

LV

创建

pvcreate

vgcreate

lvcreate

删除

pvremove

vgremove

lvremove

扫描列表

pvscan

vgscan

lvscan

显示属性

pvdisplay

vgdisplay

lvdisplay

显示相关信息

pvs

vgs

lvs

扩展

vgextend

Lvextend

缩减

vgreduce

Lvreduce

对进行容量大小的调整:

lvresize

  • 创建物理分区

//首先添加三个硬盘 ,使用SATA类型的磁盘
//(只有在电源关闭时,才能添加IDE和NVMe类型磁盘,而SCSI需要重启才能识别,所以选择SATA)
//此时查看硬盘情况
[root@lxb ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    6G  0 disk
sdb             8:16   0    7G  0 disk
sdc             8:32   0    5G  0 disk
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   20G  0 disk
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]//进行磁盘分区
[root@lxb ~]# fdisk /dev/sda//sda ---> 一个2G的主分区和3G的逻辑分区设备       启动    起点     末尾    扇区 大小 Id 类型/dev/sda1          2048  4196351 4194304   2G 8e Linux LVM    //主分区/dev/sda2       4196352 12582911 8386560   4G  5 扩展/dev/sda5       4198400 10489855 6291456   3G 8e Linux LVM    //逻辑分区//(在逻辑分区中划分的)此时还需要键入t 修改磁盘类型为8e  --->  LVM逻辑卷//sdb ---> 两个2G大小的逻辑分区   ---修改类型为8e --- > LVM设备       启动    起点     末尾     扇区 大小 Id 类型/dev/sdb1          2048 14680063 14678016   7G  5 扩展/dev/sdb5          4096  4198399  4194304   2G 8e Linux LVM/dev/sdb6       4200448  8394751  4194304   2G 8e Linux LVM//sdc不需要划分空间 //此时查看磁盘分配
[root@lxb ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    6G  0 disk
├─sda1          8:1    0    2G  0 part
├─sda2          8:2    0    1K  0 part
└─sda5          8:5    0    3G  0 part
sdb             8:16   0    7G  0 disk
├─sdb1          8:17   0    1K  0 part
├─sdb5          8:21   0    2G  0 part
└─sdb6          8:22   0    2G  0 part
sdc             8:32   0    5G  0 disk
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   20G  0 disk
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]//分别查看/dev下的sda,sdb,sdc
[root@lxb ~]# fdisk -l /dev/sdb
Disk /dev/sdb:7 GiB,7516192768 字节,14680064 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x02ad1c2f设备       启动    起点     末尾     扇区 大小 Id 类型
/dev/sdb1          2048 14680063 14678016   7G  5 扩展
/dev/sdb5          4096  4198399  4194304   2G 8e Linux LVM
/dev/sdb6       4200448  8394751  4194304   2G 8e Linux LVM
[root@lxb ~]# fdisk -l /dev/sdc
Disk /dev/sdc:5 GiB,5368709120 字节,10485760 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@lxb ~]# fdisk -l /dev/sda
Disk /dev/sda:6 GiB,6442450944 字节,12582912 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xcc0284c0设备       启动    起点     末尾    扇区 大小 Id 类型
/dev/sda1          2048  4196351 4194304   2G 8e Linux LVM
/dev/sda2       4196352 12582911 8386560   4G  5 扩展
/dev/sda5       4198400 10489855 6291456   3G 8e Linux LVM
  • 创建物理卷

//创建物理卷               #扩展磁盘无法创建物理卷 -- sba2 和sdb1
[root@lxb ~]# pvcreate /dev/sda{1,5} /dev/sdb{5,6} /dev/sdcPhysical volume "/dev/sda1" successfully created.Physical volume "/dev/sda5" successfully created.Physical volume "/dev/sdb5" successfully created.Physical volume "/dev/sdb6" successfully created.Physical volume "/dev/sdc" successfully created.
[root@lxb ~]# pvsPV             VG   Fmt  Attr PSize   PFree/dev/nvme0n1p2 rhel lvm2 a--  <19.00g    0 /dev/sda1           lvm2 ---    2.00g 2.00g/dev/sda5           lvm2 ---    3.00g 3.00g/dev/sdb5           lvm2 ---    2.00g 2.00g/dev/sdb6           lvm2 ---    2.00g 2.00g/dev/sdc            lvm2 ---    5.00g 5.00g
  • 创建卷组

//创建卷组vg1和vg2  --- 此时需要前面的物理卷
[root@lxb ~]# vgcreate vg1 /dev/sda{1,5} /dev/sdb5Volume group "vg1" successfully created
[root@lxb ~]# vgcreate vg2 /dev/sdb6 /dev/sdcVolume group "vg2" successfully created//查看卷组
[root@lxb ~]# vgsVG   #PV #LV #SN Attr   VSize   VFree rhel   1   2   0 wz--n- <19.00g     0 vg1    3   0   0 wz--n-  <6.99g <6.99gvg2    2   0   0 wz--n-   6.99g  6.99g
[root@lxb ~]# vgdisplay --- Volume group ---VG Name               vg2System ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               6.99 GiBPE Size               4.00 MiBTotal PE              1790Alloc PE / Size       0 / 0   Free  PE / Size       1790 / 6.99 GiBVG UUID               tTZdQs-yVeO-ozJ7-A50T-mAzU-Woug-6JmGcY--- Volume group ---VG Name               rhelSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               <19.00 GiBPE Size               4.00 MiBTotal PE              4863Alloc PE / Size       4863 / <19.00 GiBFree  PE / Size       0 / 0   VG UUID               sweKdp-4kZk-2DNC-F9jG-K5m5-rUGz-bup5CY--- Volume group ---VG Name               vg1System ID             Format                lvm2Metadata Areas        3Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                3Act PV                3VG Size               <6.99 GiBPE Size               4.00 MiBTotal PE              1789Alloc PE / Size       0 / 0   Free  PE / Size       1789 / <6.99 GiBVG UUID               KoQNoS-yUzm-Sk0Y-1eMI-l4Rn-tUYl-vLuw7S
  • 创建逻辑卷

//创建逻辑卷
[root@lxb ~]# lvcreate -L 6G -n lv1 vg1Logical volume "lv1" created.
[root@lxb ~]# lvcreate -L 5G -n lv2 vg2Logical volume "lv2" created.
[root@lxb ~]# lvcreate -L 100 -n lv3 vg2Logical volume "lv3" created.
[root@lxb ~]# lvsLV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot rhel -wi-ao---- <17.00g                                                    swap rhel -wi-ao----   2.00g                                                    lv1  vg1  -wi-a-----   6.00g                                                    lv2  vg2  -wi-a-----   5.00g                                                    lv3  vg2  -wi-a----- 100.00m         //此时查看挂载情况
[root@lxb ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    6G  0 disk
├─sda1          8:1    0    2G  0 part
│ └─vg1-lv1   253:2    0    6G  0 lvm
├─sda2          8:2    0    1K  0 part
└─sda5          8:5    0    3G  0 part └─vg1-lv1   253:2    0    6G  0 lvm
sdb             8:16   0    7G  0 disk
├─sdb1          8:17   0    1K  0 part
├─sdb5          8:21   0    2G  0 part
│ └─vg1-lv1   253:2    0    6G  0 lvm
└─sdb6          8:22   0    2G  0 part ├─vg2-lv2   253:3    0    5G  0 lvm  └─vg2-lv3   253:4    0  100M  0 lvm
sdc             8:32   0    5G  0 disk
└─vg2-lv2     253:3    0    5G  0 lvm
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   20G  0 disk
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]//此时可以看出lv1是从sda1,sda5和sdb5中划分来 ---sda1为2G + sda5为3G + sdb5的2G -->lv1 6G
//lv2是从sdb6中划分来的    sdb6为2G + sdc的5G ---> sdb6的5G
//lv3则是从sdb6中划分的   
  • 格式化逻辑卷,创建文件系统,并挂载

//分别格式化lv1~3 (lv1和lv2为ext4,lv3为xfs)
[root@lxb /]# mkfs.ext4 /dev/vg1/lv1 [root@lxb /]# mkfs.ext4 /dev/vg2/lv2 [root@lxb /]# mkfs.xfs /dev/vg2/lv3//此时创建挂载目录,并查看挂载情况
[root@lxb /]# mkdir -p /guazai/{lv1,lv2,lv3}
[root@lxb /]# blkid
/dev/nvme0n1: PTUUID="87ea668f" PTTYPE="dos"
/dev/nvme0n1p1: UUID="314f76cd-1f5a-452a-b1f9-efcfce04a878" TYPE="xfs" PARTUUID="87ea668f-01"
/dev/nvme0n1p2: UUID="pMBw2I-Z8P6-aqxY-qIUQ-GCU4-ktEb-C30bOK" TYPE="LVM2_member" PARTUUID="87ea668f-02"
/dev/sr0: UUID="2020-04-04-08-21-15-00" LABEL="RHEL-8-2-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="47055c33" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="2244040b-f854-4906-bbc2-8a7d0791a2c5" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="13d89ceb-aba3-4d89-9af0-3f050aef5562" TYPE="swap"
/dev/sda1: UUID="sSpwzE-7aOa-nT1k-w4LF-FfRK-MVT3-dEIFgr" TYPE="LVM2_member" PARTUUID="cc0284c0-01"
/dev/sda5: UUID="oYejJL-m1wD-ghg7-RRW0-DUSm-7cSB-A5evu9" TYPE="LVM2_member" PARTUUID="cc0284c0-05"
/dev/sdb5: UUID="8YV2fz-7NuN-NhXu-FM4R-LscH-DTA4-ZwSqCd" TYPE="LVM2_member" PARTUUID="02ad1c2f-05"
/dev/sdb6: UUID="QYHwqV-Lbbg-e9rX-Es30-Yzrf-tgQL-5ord3R" TYPE="LVM2_member" PARTUUID="02ad1c2f-06"
/dev/mapper/vg1-lv1: UUID="32372375-4cb2-40ac-881a-ea7780f840aa" TYPE="ext4"
/dev/sdc: UUID="PC7uQm-5aJX-NC2H-7Wwi-TZv2-VevU-YSh38m" TYPE="LVM2_member"
/dev/mapper/vg2-lv2: UUID="4dff14c0-bee8-49d9-b056-bb4be4b86ba2" TYPE="ext4"
/dev/mapper/vg2-lv3: UUID="65403926-a88d-4f37-b197-454fcdb3b383" TYPE="xfs"//此时显示lv1~lv3的uuid和格式化类型
//此时可以去/etc/fstab 编辑默认挂载目录   --- 开机挂载目录
UUID=c47eb7a0-013d-4dc2-8b6c-4441186583e7 /logical/lv1          ext4    defaults 0 0
UUID=1f7f9b71-c99f-41fe-b647-25f3a18e875f /logical/lv2          ext4    defaults 0 0
UUID=baa50c7f-de65-4baa-8bd9-a89f611fd9f3 /logical/lv3          xfs     defaults 0 0//此时挂载,并df-h查看  (我是临时挂载)
[root@lxb /]# mount /dev/mapper/vg1-lv1 /guazai/lv1
[root@lxb /]# mount /dev/mapper/vg2-lv2 /guazai/lv2
[root@lxb /]# mount /dev/mapper/vg2-lv3 /guazai/lv3
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg1-lv1    5.9G   24M  5.6G    1% /guazai/lv1
/dev/mapper/vg2-lv2    4.9G   20M  4.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3     95M  6.0M   89M    7% /guazai/lv3//此时可以查看挂载情况 lv1为6G lv2为5G lv3为100M
  • 修改逻辑卷的大小:

扩大逻辑卷大小需要添加新的物理卷到逻辑卷所在卷组(xfs的文件系统只支持扩大逻辑卷,ext4的文件系统支持扩大和缩小逻辑卷)

        !!!扩大逻辑卷不会产生数据丢失,但是缩小会产生数据丢失!!

  • 缩小ext4文件系统类型的逻辑卷

//缩小逻辑卷lv1为3G
//此时先取消lv1的挂载
[root@lxb /]# umount /guazai/lv1//然后去检查lv1文件的完整性
[root@lxb /]# e2fsck -f /dev/vg1/lv1
e2fsck 1.45.4 (23-Sep-2019)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/vg1/lv1:11/393216 文件(0.0% 为非连续的), 47214/1572864 块//此时先减少lv1的文件系统的大小 --- 文件占用的大小
[root@lxb /]# resize2fs /dev/vg1/lv1 3G
resize2fs 1.45.4 (23-Sep-2019)
将 /dev/vg1/lv1 上的文件系统调整为 786432 个块(每块 4k)。
/dev/vg1/lv1 上的文件系统现在为 786432 个块(每块 4k)。//此时在去缩小lv1的物理大小
[root@lxb /]# lvreduce -L 3G /dev/vg1/lv1 WARNING: Reducing active logical volume to 3.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: ySize of logical volume vg1/lv1 changed from 6.00 GiB (1536 extents) to 3.00 GiB (768 extents).Logical volume vg1/lv1 successfully resized.//挂载lv1
[root@lxb /]# mount /dev/mapper/vg1-lv1 /guazai/lv1//查看挂载点
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg2-lv2    4.9G   20M  4.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3     95M  6.0M   89M    7% /guazai/lv3
/dev/mapper/vg1-lv1    2.9G   18M  2.8G    1% /guazai/lv1
  • 扩大ext4文件系统类型的逻辑卷

//扩大逻辑卷lv2为6G
//查看空闲逻辑卷
[root@lxb /]# vgsVG   #PV #LV #SN Attr   VSize   VFree rhel   1   2   0 wz--n- <19.00g     0 vg1    3   1   0 wz--n-  <6.99g <3.99gvg2    2   2   0 wz--n-   6.99g  1.89g//将lv2扩大到6G    !!!此时的/dev/vg2/lv2也可以为物理磁盘地址/dev/mapper/vg1-lv1!!!
[root@lxb /]# lvextend -L 6G /dev/vg2/lv2Size of logical volume vg2/lv2 changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents).Logical volume vg2/lv2 successfully resized.//更新物理空间     !!!此时的/dev/vg2/lv2也可以为物理磁盘地址/dev/mapper/vg1-lv1!!!
[root@lxb /]# resize2fs /dev/vg2/lv2
resize2fs 1.45.4 (23-Sep-2019)
/dev/vg2/lv2 上的文件系统已被挂载于 /guazai/lv2;需要进行在线调整大小old_desc_blocks = 1, new_desc_blocks = 1
/dev/vg2/lv2 上的文件系统现在为 1572864 个块(每块 4k)。//挂载查看
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg2-lv2    5.9G   20M  5.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3     95M  6.0M   89M    7% /guazai/lv3
/dev/mapper/vg1-lv1    2.9G   18M  2.8G    1% /guazai/lv1
  • 缩小和扩大ext4文件系统的逻辑卷

  不论是扩大还是缩小均可以使用命令lvresize,同时lvresize的一个-r的选项可以实现执行lvresize的时候一并执行resize2fs

//将lv1缩小至2G
[root@lxb /]# lvresize -L 2G -r /dev/vg1/lv1
Do you want to unmount "/guazai/lv1" ? [Y|n] y
fsck,来自 util-linux 2.32.1
/dev/mapper/vg1-lv1:11/393216 文件(0.0% 为非连续的), 47214/1572864 块
resize2fs 1.45.4 (23-Sep-2019)
将 /dev/mapper/vg1-lv1 上的文件系统调整为 524288 个块(每块 4k)。/dev/mapper/vg1-lv1 上的文件系统现在为 524288 个块(每块 4k)。Size of logical volume vg1/lv1 changed from 6.00 GiB (1536 extents) to 2.00 GiB (512 extents).Logical volume vg1/lv1 successfully resized.//挂载查看
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg2-lv2    5.9G   20M  5.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3     95M  6.0M   89M    7% /guazai/lv3
/dev/mapper/vg1-lv1    2.0G   18M  1.8G    1% /guazai/lv1//将lv1扩大至5G
[root@lxb /]# lvresize -L 5G -r /dev/vg1/lv1 Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).Logical volume vg1/lv1 successfully resized.
resize2fs 1.45.4 (23-Sep-2019)
/dev/mapper/vg1-lv1 上的文件系统已被挂载于 /guazai/lv1;需要进行在线调整大小old_desc_blocks = 1, new_desc_blocks = 1
/dev/mapper/vg1-lv1 上的文件系统现在为 1310720 个块(每块 4k)。//挂载查看
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg2-lv2    5.9G   20M  5.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3     95M  6.0M   89M    7% /guazai/lv3
/dev/mapper/vg1-lv1    4.9G   24M  4.7G    1% /guazai/lv1
  • 扩大xfs文件系统的逻辑卷

//扩大lv3的大小为1600M//查看剩余物理卷
[root@lxb /]# vgsVG   #PV #LV #SN Attr   VSize   VFree  rhel   1   2   0 wz--n- <19.00g      0 vg1    3   1   0 wz--n-  <6.99g  <1.99gvg2    2   2   0 wz--n-   6.99g 916.00m//分配800M给lv3
[root@lxb /]# lvextend -L 800M /dev/vg2/lv3Size of logical volume vg2/lv3 changed from 100.00 MiB (25 extents) to 800.00 MiB (200 extents).Logical volume vg2/lv3 successfully resized.//更新xfs的挂载点信息   --- centos7和8的文件后缀不一样 7为文件  8位挂载点信息
[root@lxb /]# xfs_growfs /dev/vg2/lv3
meta-data=/dev/mapper/vg2-lv3    isize=512    agcount=4, agsize=6400 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=25600, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1368, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 204800//扩展物理文件大小
[root@lxb /]# lvresize -L 800M -r /dev/vg2/lv3Size of logical volume vg2/lv3 unchanged from 800.00 MiB (200 extents).Logical volume vg2/lv3 successfully resized.//查看挂载信息
[root@lxb /]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               872M     0  872M    0% /dev
tmpfs                  901M     0  901M    0% /dev/shm
tmpfs                  901M   97M  804M   11% /run
tmpfs                  901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  6.0G   12G   35% /
/dev/nvme0n1p1        1014M  229M  786M   23% /boot
tmpfs                  181M  1.2M  179M    1% /run/user/42
tmpfs                  181M  4.6M  176M    3% /run/user/0
/dev/sr0               7.9G  7.9G     0  100% /mnt
/dev/mapper/vg2-lv2    5.9G   20M  5.6G    1% /guazai/lv2
/dev/mapper/vg2-lv3    795M   13M  783M    2% /guazai/lv3
/dev/mapper/vg1-lv1    4.9G   24M  4.7G    1% /guazai/lv1//如果此时卷组不够,则需要进行扩容,此时查看扩容前的vg卷组
[root@lxb /]# vgsVG   #PV #LV #SN Attr   VSize   VFree  rhel   1   2   0 wz--n- <19.00g      0 vg1    3   1   0 wz--n-  <6.99g  <1.99gvg2    2   2   0 wz-pn-   6.99g 216.00m//此时先fdisk -l 查看那个磁盘还可以扩展内存 !!!只能从扩展磁盘中扩展内存!!!
//此时在/dev/sdb下进行扩容2G[root@lxb ~]# fdisk /dev/sdb
//此时扩容2G ,并修改类型为8e ---> LVM//lsblk查看此时已经分出
[root@lxb ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0    6G  0 disk
├─sda1          8:1    0    2G  0 part
│ └─vg1-lv1   253:2    0    5G  0 lvm  /guazai/lv1
├─sda2          8:2    0    1K  0 part
└─sda5          8:5    0    3G  0 part └─vg1-lv1   253:2    0    5G  0 lvm  /guazai/lv1
sdb             8:16   0    7G  0 disk
├─sdb1          8:17   0    1K  0 part
├─sdb5          8:21   0    2G  0 part
│ └─vg1-lv1   253:2    0    5G  0 lvm  /guazai/lv1
├─sdb6          8:22   0    2G  0 part
│ ├─vg2-lv2   253:3    0    6G  0 lvm  /guazai/lv2
│ └─vg2-lv3   253:4    0  800M  0 lvm  /guazai/lv3
└─sdb7          8:23   0    2G  0 part               ---> 此时2G已经分出来
sdc             8:32   0    5G  0 disk
├─sdc1          8:33   0    2G  0 part
├─sdc2          8:34   0    1G  0 part
└─vg2-lv2     253:3    0    6G  0 lvm  /guazai/lv2
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   20G  0 disk
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]//创建pv物理卷
[root@lxb ~]# pvcreate /dev/sdb7//把/dev/sdb7扩容到vg2卷组下
[root@lxb ~]# vgextend vg2  /dev/sdb7//此时vgs查看
[root@lxb ~]# vgsVG   #PV #LV #SN Attr   VSize   VFree rhel   1   2   0 wz--n- <19.00g     0 vg1    3   1   0 wz--n-  <6.99g <1.99gvg2    3   2   0 wz-pn-  <8.99g <2.21g
  • 假设某个磁盘或者分区被损坏

 如果有磁盘分区损坏,则此时需要准备好一个和该磁盘大小相同的分区,然后将原来损坏的磁盘替换为新磁盘

//将/dev/sdd从卷组中删除
[root@lxb ~]# pvmove /dev/sdd /dev/XXX#将/dev/sdd中的PE全部移动到/dev/XXX中
//缩减/dev/sdd
[root@lxb ~]# vgreduce vg2 /dev/sdd
  • 删除物理卷、卷组和逻辑卷

先删除逻辑卷,再删除卷组,最后再删除物理卷。在删除的同时需要把/etc/fstab里面的相关挂载信息删除或者注释,否则系统会无法正常启动

//删除空间
//①解除挂载
[root@lxb ~]# umount /guazai/{lv1,lv2,lv3}
//②删去逻辑卷
[root@lxb ~]# lvremove /dev/vg1/lv1 /dev/vg2/lv2 /dev/vg2/lv3
//③删去卷组
[root@lxb ~]# vgremove vg1 vg2
//④删除物理卷
[root@lxb ~]# pvremove /dev/sda5 
  • 练习:

//创建一个名为 datastore 的卷组,卷组的PE尺寸为 16 MiB
//逻辑卷的名字为 database ,所属卷组为 datastore,该逻辑卷由 50 个 PE 组成
//将新建的逻辑卷格式化为 xfs 文件系统
//要求系统启动时,该逻辑卷能被自动挂载到 /mnt/database 目录//分析:
卷组为datastore大小为50个PE(1PE = 16MB) 800MB
都为xfs格式化 //先配置一个SATA的磁盘,大小5G(大于800M)
[root@lxb ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdd             8:48   0    5G  0 disk        --- 5G
sr0            11:0    1  7.9G  0 rom  /mnt
nvme0n1       259:0    0   20G  0 disk
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]//此时我就不磁盘分区了,直接创建物理卷
[root@lxb ~]# pvcreate /dev/sddPhysical volume "/dev/sdd" successfully created.
[root@lxb ~]# pvsPV             VG   Fmt  Attr PSize   PFree/dev/nvme0n1p2 rhel lvm2 a--  <19.00g    0 /dev/sdd            lvm2 ---    5.00g 5.00g//配置卷组
[root@lxb ~]# vgcreate datastore /dev/sddVolume group "datastore" successfully created
[root@lxb ~]# vgsVG        #PV #LV #SN Attr   VSize   VFree datastore   1   0   0 wz--n-  <5.00g <5.00grhel        1   2   0 wz--n- <19.00g     0 //然后配置逻辑卷
[root@lxb ~]# lvcreate -L 800M -n database datastore Logical volume "database" created.
[root@lxb ~]# lvsLV       VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertdatabase datastore -wi-a----- 800.00m                                                    root     rhel      -wi-ao---- <17.00g                                                    swap     rhel      -wi-ao----   2.00g                                                    //然后格式化
[root@lxb ~]# mkfs.xfs /dev/datastore/database
meta-data=/dev/datastore/database isize=512    agcount=4, agsize=51200 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=204800, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1566, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0//此时blkid查看uuid
[root@lxb ~]# blkid
/dev/nvme0n1p1: UUID="314f76cd-1f5a-452a-b1f9-efcfce04a878" TYPE="xfs" PARTUUID="87ea668f-01"
/dev/nvme0n1p2: UUID="pMBw2I-Z8P6-aqxY-qIUQ-GCU4-ktEb-C30bOK" TYPE="LVM2_member" PARTUUID="87ea668f-02"
/dev/sr0: UUID="2020-04-04-08-21-15-00" LABEL="RHEL-8-2-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="47055c33" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="2244040b-f854-4906-bbc2-8a7d0791a2c5" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="13d89ceb-aba3-4d89-9af0-3f050aef5562" TYPE="swap"
/dev/nvme0n1: PTUUID="87ea668f" PTTYPE="dos"
/dev/mapper/datastore-database: UUID="e94c1bc8-c033-43b0-a662-98bfc2f73703" TYPE="xfs"
/dev/sdd: UUID="6Bpexg-HznM-T6rH-pauF-TeCT-DOx8-3mHR4X" TYPE="LVM2_member"//然后创建挂载目录并挂载在 /etc/fstab  --- 开机启动
[root@lxb mnt]# cd /
[root@lxb /]# mkdir  -pv  /database
mkdir: 已创建目录 '/database'//此时查看挂载
[root@lxb /]# df -h
文件系统                        容量  已用  可用 已用% 挂载点
devtmpfs                        872M     0  872M    0% /dev
tmpfs                           901M     0  901M    0% /dev/shm
tmpfs                           901M   97M  804M   11% /run
tmpfs                           901M     0  901M    0% /sys/fs/cgroup
/dev/mapper/rhel-root            17G  6.0G   12G   35% /
/dev/nvme0n1p1                 1014M  229M  786M   23% /boot
tmpfs                           181M  1.2M  179M    1% /run/user/42
tmpfs                           181M  4.6M  176M    3% /run/user/0
/dev/sr0                        7.9G  7.9G     0  100% /mnt
/dev/mapper/datastore-database  794M   38M  757M    5% /database

Linux的LVM磁盘卷轴深度学习相关推荐

  1. linux 挂载 lvm磁盘

    linux 挂载 lvm磁盘 查看磁盘情况 扫描卷组,查看卷组信息 发现sda1,sda2,与sdb1,sdb2,UUID完全一致 更新/dev/sdb2的UUID 激活卷组,并挂载使用 检查挂载情况 ...

  2. linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)

    搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...

  3. linux ubuntu安装pytorch(深度学习环境搭建记录,无sudo权限)踩坑全记录

    一些牢骚:深度学习没怎么学习几次,搭建环境已经把我搞秃了哈哈哈. 之前在网上找到的搭建环境的步骤,我没有root权限,很多操作都不行(比如运行.run文件,cuda 和cudnn的安装和修改也需要ro ...

  4. 双系统Linux(Ubuntu20.04)深度学习安装+cuda驱动+cuda+anaconda

    文章可能排布不好 但请你耐心看完 一定对你有所帮助 感觉挺不容易的 所以有感写下了这篇博客 来帮助更多的小白 如有大神还望评论区指教,下面会写出一些我走过的坑,也许我解释不了为什么,但是我能提出解决方 ...

  5. linux 创建LVM磁盘

    LVM添加硬盘和扩容 测试环境:CentOS7 64位(VM虚拟机) LVM版本:lvm2-2.02.105-14.el7.x86_64 1.添加一块硬盘(8GB)到系统中 使用 fdisk –l 查 ...

  6. redhat7扩容linux,vmware中Centos 7 linux的LVM磁盘扩容

    系统是RHEL7(centos7差不多一样) 关闭系统,在vmware.设置.硬盘.扩展.输入数字大于当前系统内存.点击扩展. 开机再查看磁盘信息 fdisk -l 注意:可以看出sda磁盘增加了,但 ...

  7. linux系统LVM磁盘扩容

    ** 系统中磁盘容量告警,新增加了硬件磁盘,因此需要在系统上对原有LVM进行扩容,下面操作需要先确保硬件磁盘已经添加 ** 新添加硬盘添加到现有VG卷里 ls /dev/sd* #查看新添加的磁盘是否 ...

  8. caffe linux跑自己数据,caffe+linux平台——跑深度学习的流程

    大家好,放假在即,来整理一波在Linux上用caffe跑深度学习的流程,免得开学回来忘记. 以下地址均为我自己电脑上的地址,大家要照着跑请自行修改地址哦! 1.将训练和测试的图像放入examples- ...

  9. docker制作深度学习镜像(以windows环境下为例)

    向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习  公众号:datayx 用 Docker 安装深度学习环境,轻量.方便!整个系统大小仅需2~3G,用完还能带着走!一 ...

最新文章

  1. 使用java代码代替xml实现SSM
  2. 道家遁甲式(又名道家奇门)
  3. Android 判断屏幕方向一个大坑
  4. 英特尔虚拟化技术发展蓝图
  5. CAS SSO 单点登录 实例
  6. nodejs的mysql模块_Nodejs的mysql模块学习(一)
  7. git push 提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。的解决办法
  8. 计算机网络第五次笔记
  9. python之MD5加密
  10. 【Linux operation 18】 - SUSE 12 SP5在线安装Docker
  11. 34 WebGL物体的点光源的效果(逐顶点处理光源光照效果)
  12. 开发中常用的网址(快速解决方法)、免费的api接口地址、以及外包的接私活平台
  13. c语言中short作用,详解C语言中整数(short,int,long)
  14. php计算工资的代码,php计算税后工资的方法_PHP
  15. 书单丨跟着院士学区块链:系统理解区块链技术
  16. NOIP2017模拟赛(4) 总结
  17. 基于c语言 自制编程语言,自制编程语言:基于C语言
  18. 供应链安全 | 北京大学软件工程国家工程研究中心 张世琨:软件供应链安全的风险和成因分析
  19. 怎样把纸质试卷扫描成电子版?纸质转电子版教程
  20. bt面板从7.1升级到7.5.2之后网络挂了

热门文章

  1. golang时间字符串转时间戳
  2. 你只会用 split?试试 StringTokenizer,性能可以快 4 倍!!
  3. 随感——冬天走了、微软社区精英会议
  4. Linux中断——request_irq
  5. 【面试题】概率题总结(随机数、抛硬币)
  6. 敏捷项目用户故事地图
  7. 遗传算法(Genetic Algorithm,GA)实现数据排序,python
  8. WideDeep——记忆能力和泛化能力的综合
  9. RHCSA——第四天
  10. 禁止Altium designer(其他软件同样适用)联网的配置操作