Linux的LVM磁盘卷轴深度学习
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磁盘卷轴深度学习相关推荐
- linux 挂载 lvm磁盘
linux 挂载 lvm磁盘 查看磁盘情况 扫描卷组,查看卷组信息 发现sda1,sda2,与sdb1,sdb2,UUID完全一致 更新/dev/sdb2的UUID 激活卷组,并挂载使用 检查挂载情况 ...
- linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)
搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...
- linux ubuntu安装pytorch(深度学习环境搭建记录,无sudo权限)踩坑全记录
一些牢骚:深度学习没怎么学习几次,搭建环境已经把我搞秃了哈哈哈. 之前在网上找到的搭建环境的步骤,我没有root权限,很多操作都不行(比如运行.run文件,cuda 和cudnn的安装和修改也需要ro ...
- 双系统Linux(Ubuntu20.04)深度学习安装+cuda驱动+cuda+anaconda
文章可能排布不好 但请你耐心看完 一定对你有所帮助 感觉挺不容易的 所以有感写下了这篇博客 来帮助更多的小白 如有大神还望评论区指教,下面会写出一些我走过的坑,也许我解释不了为什么,但是我能提出解决方 ...
- linux 创建LVM磁盘
LVM添加硬盘和扩容 测试环境:CentOS7 64位(VM虚拟机) LVM版本:lvm2-2.02.105-14.el7.x86_64 1.添加一块硬盘(8GB)到系统中 使用 fdisk –l 查 ...
- redhat7扩容linux,vmware中Centos 7 linux的LVM磁盘扩容
系统是RHEL7(centos7差不多一样) 关闭系统,在vmware.设置.硬盘.扩展.输入数字大于当前系统内存.点击扩展. 开机再查看磁盘信息 fdisk -l 注意:可以看出sda磁盘增加了,但 ...
- linux系统LVM磁盘扩容
** 系统中磁盘容量告警,新增加了硬件磁盘,因此需要在系统上对原有LVM进行扩容,下面操作需要先确保硬件磁盘已经添加 ** 新添加硬盘添加到现有VG卷里 ls /dev/sd* #查看新添加的磁盘是否 ...
- caffe linux跑自己数据,caffe+linux平台——跑深度学习的流程
大家好,放假在即,来整理一波在Linux上用caffe跑深度学习的流程,免得开学回来忘记. 以下地址均为我自己电脑上的地址,大家要照着跑请自行修改地址哦! 1.将训练和测试的图像放入examples- ...
- docker制作深度学习镜像(以windows环境下为例)
向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习 公众号:datayx 用 Docker 安装深度学习环境,轻量.方便!整个系统大小仅需2~3G,用完还能带着走!一 ...
最新文章
- 使用java代码代替xml实现SSM
- 道家遁甲式(又名道家奇门)
- Android 判断屏幕方向一个大坑
- 英特尔虚拟化技术发展蓝图
- CAS SSO 单点登录 实例
- nodejs的mysql模块_Nodejs的mysql模块学习(一)
- git push 提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。的解决办法
- 计算机网络第五次笔记
- python之MD5加密
- 【Linux operation 18】 - SUSE 12 SP5在线安装Docker
- 34 WebGL物体的点光源的效果(逐顶点处理光源光照效果)
- 开发中常用的网址(快速解决方法)、免费的api接口地址、以及外包的接私活平台
- c语言中short作用,详解C语言中整数(short,int,long)
- php计算工资的代码,php计算税后工资的方法_PHP
- 书单丨跟着院士学区块链:系统理解区块链技术
- NOIP2017模拟赛(4) 总结
- 基于c语言 自制编程语言,自制编程语言:基于C语言
- 供应链安全 | 北京大学软件工程国家工程研究中心 张世琨:软件供应链安全的风险和成因分析
- 怎样把纸质试卷扫描成电子版?纸质转电子版教程
- bt面板从7.1升级到7.5.2之后网络挂了