逻辑卷小试
前两周得磁盘管理学的不是太好,所以做了很多磁盘得操作进行操作,这次来试试逻辑卷,也来看看逻辑卷得特性
创建逻辑卷前应该先知道一些关于逻辑卷得最基本的三个参数

pv vg 跟 lv
以我自身浅显的简介来看,pv就是在磁盘上或者分区上添加一个标记,这个标记可以被vg识别,而vg就是某些pv的集合,lv则是某个vg的一部分
废话不多说,直接操刀
- 系统 Centos8 最小化安装
首先先来看看自己的磁盘分区利用率吧
[root@centos8 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00
nvme0n1
├─nvme0n1p1 ext4 2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69 /boot
├─nvme0n1p2 xfs 1c3eaab1-02ff-4f94-8bab-579e52560108 /
├─nvme0n1p3 xfs cd026e8c-baf4-4e4c-9d1d-53684d2978a6 /data
├─nvme0n1p4
└─nvme0n1p5 swap 91b7946d-6ddd-4043-a3ca-f33d5ba4f197 [SWAP]
原来我只放了一块硬盘,一块硬盘操作起来没什么意思,在加一块硬盘吧

在VMware的虚拟机设置里,点击硬盘位置,有添加选项,即可添加硬盘
这里硬盘分了几个类型,但是有几个不可选,剩下两个,它推荐我添加SCSI,那就SCSI吧
一步一步下一步就添加好了默认的20G的SCSI硬盘
那接下来就吧新添加的硬盘扫描出来吧
[root@centos8 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00
nvme0n1
├─nvme0n1p1 ext4 2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69 /boot
├─nvme0n1p2 xfs 1c3eaab1-02ff-4f94-8bab-579e52560108 /
├─nvme0n1p3 xfs cd026e8c-baf4-4e4c-9d1d-53684d2978a6 /data
├─nvme0n1p4
└─nvme0n1p5 swap 91b7946d-6ddd-4043-a3ca-f33d5ba4f197 [SWAP]
没有自动识别出来吗?
那手动扫描一下呢?
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host0/scan
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host1/scan
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host2/scan
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host3/scan
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host4/scan
[root@centos8 ~]# echo '- - -' > /sys/class/scsi_host/host5/scan
#重复32次以后
[root@centos8 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00
nvme0n1
├─nvme0n1p1 ext4 2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69 /boot
├─nvme0n1p2 xfs 1c3eaab1-02ff-4f94-8bab-579e52560108 /
├─nvme0n1p3 xfs cd026e8c-baf4-4e4c-9d1d-53684d2978a6 /data
├─nvme0n1p4
└─nvme0n1p5 swap 91b7946d-6ddd-4043-a3ca-f33d5ba4f197 [SWAP]
还不出来?
记得老师好像还说过一个命令好像叫partprobe? 要不试试?
[root@centos8 ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
#此命令知识用来同步硬盘分区表的,不是来扫名硬盘的
还是不行啊,退出重新连接试试吧
[root@centos8 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7G 0 rom
nvme0n1 259:0 0 200G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
├─nvme0n1p2 259:2 0 100G 0 part /
├─nvme0n1p3 259:3 0 50G 0 part /data
├─nvme0n1p4 259:4 0 1K 0 part
└─nvme0n1p5 259:5 0 4G 0 part [SWAP]
#并没有发生任何变化
放大招吧,重启试试
reboot
然后,然后,欸卧槽,我电脑怎么连接不上了

这时候打开VMware发现弹出了安装向导
内心:???
淡定的点击下一步


这,这,这怎么连我之前的分区也搞没了???
- 这是第一个坑 PS:我也没搞懂是怎么回事,没有scsi的驱动?,跟nvme不兼容??
总之快照恢复出厂,当这一切没发生,再重新来过好吧
这次关机添加一块nvme的硬盘,(只能在关机状态下添加)不在添加SCSI类型的了(关机状态,推荐的类型也变成了nvme了)
开机,查看硬盘
[root@centos8 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00
nvme0n1
├─nvme0n1p1 ext4 2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69 /boot
├─nvme0n1p2 xfs 1c3eaab1-02ff-4f94-8bab-579e52560108 /
├─nvme0n1p3 xfs cd026e8c-baf4-4e4c-9d1d-53684d2978a6 /data
├─nvme0n1p4
└─nvme0n1p5 swap 91b7946d-6ddd-4043-a3ca-f33d5ba4f197 [SWAP]
nvme0n2
嗯,终于正常显示了
那咱就开始吧,分几个分区就开始搞逻辑卷吧
但是在开始之前先给,磁盘分几个分区,用几个创建好的分区来创建逻辑卷
[root@centos8 ~]# fdisk /dev/nvme0n1
#针对第一块硬盘
nvme0n1 nvme0n1p1 nvme0n1p2 nvme0n1p3 nvme0n1p4 nvme0n1p5 nvme0n2
[root@centos8 ~]# fdisk /dev/nvme0n1
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/nvme0n1: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0408fa67
#p显示分区的信息
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 211814399 209715200 100G 83 Linux
/dev/nvme0n1p3 211814400 316671999 104857600 50G 83 Linux
/dev/nvme0n1p4 316672000 419430399 102758400 49G 5 Extended
/dev/nvme0n1p5 316674048 325062655 8388608 4G 82 Linux swap / Solaris
Command (m for help): n
#n创建新分区
All primary partitions are in use.
Adding logical partition 6
First sector (325064704-419430399, default 325064704):
#指定初始扇区
Last sector, +sectors or +size{K,M,G,T,P} (325064704-419430399, default 419430399): +200M
#指定分区空间大小
Created a new partition 6 of type 'Linux' and of size 200 MiB.
Command (m for help): n
All primary partitions are in use.
Adding logical partition 7
First sector (325476352-419430399, default 325476352):
Last sector, +sectors or +size{K,M,G,T,P} (325476352-419430399, default 419430399): +100M
Created a new partition 7 of type 'Linux' and of size 100 MiB.
Command (m for help): p
Disk /dev/nvme0n1: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0408fa67
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 211814399 209715200 100G 83 Linux
/dev/nvme0n1p3 211814400 316671999 104857600 50G 83 Linux
/dev/nvme0n1p4 316672000 419430399 102758400 49G 5 Extended
/dev/nvme0n1p5 316674048 325062655 8388608 4G 82 Linux swap / Solaris
/dev/nvme0n1p6 325064704 325474303 409600 200M 83 Linux
/dev/nvme0n1p7 325476352 325681151 204800 100M 83 Linux
Command (m for help): w
The partition table has been altered.
Syncing disks.
#w存盘退出
- 这样就创建好了第一块硬盘的分区6,分区7,空间分别为200M,100M
这是基于MBR分区方式的,"Disklabel type"这栏写着 DOS 跟扩展分区都出卖了它
不是还有一块硬盘吗,在创建两个tpg的分区?搞
[root@centos8 ~]# fdisk /dev/nvme0n2
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x71144f90.
Command (m for help): g
Created a new GPT disklabel (GUID: 7149CE05-ECBE-8A41-B142-3CE518323C0C).
#创建个GPT的分区格式
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-41943006, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943006, default 41943006): +200M
Created a new partition 1 of type 'Linux filesystem' and of size 200 MiB.
Command (m for help): n
Partition number (2-128, default 2):
First sector (411648-41943006, default 411648):
Last sector, +sectors or +size{K,M,G,T,P} (411648-41943006, default 41943006): +100M
Created a new partition 2 of type 'Linux filesystem' and of size 100 MiB.
Command (m for help): p
Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7149CE05-ECBE-8A41-B142-3CE518323C0C
Device Start End Sectors Size Type
/dev/nvme0n2p1 2048 411647 409600 200M Linux filesystem
/dev/nvme0n2p2 411648 616447 204800 100M Linux filesystem
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
- 成功创建了第二块硬盘的两个分区 也是一个200M,一个100M
查看一下
[root@centos8 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00
nvme0n1
├─nvme0n1p1 ext4 2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69 /boot
├─nvme0n1p2 xfs 1c3eaab1-02ff-4f94-8bab-579e52560108 /
├─nvme0n1p3 xfs cd026e8c-baf4-4e4c-9d1d-53684d2978a6 /data
├─nvme0n1p4
├─nvme0n1p5 swap 91b7946d-6ddd-4043-a3ca-f33d5ba4f197 [SWAP]
├─nvme0n1p6
└─nvme0n1p7
nvme0n2
├─nvme0n2p1
└─nvme0n2p2
成功,那咱就接着往下搞吧,终于可以创建逻辑卷了
第一步是什么来着,哦创建pv 来吧,先看看有有没有定义了的pv
[root@centos8 ~]# pvs
-bash: pvs: command not found
哦,原来最小化安装没有带啊,那就安装一个吧
[root@centos8 ~]# dnf provides pvs
lvm2-8:2.03.05-5.el8.0.1.x86_64 : Userland logical volume management tools
#查看一下pvs这个功能是出自于那个包
Repo : BaseOS
Matched from:
Filename : /usr/sbin/pvs
[root@centos8 ~]# dnf -y install lvm2
Installed:
lvm2-8:2.03.05-5.el8.0.1.x86_64
device-mapper-event-8:1.02.163-5.el8.0.1.x86_64
device-mapper-event-libs-8:1.02.163-5.el8.0.1.x86_64
device-mapper-persistent-data-0.8.5-2.el8.x86_64
libaio-0.3.112-1.el8.x86_64
lvm2-libs-8:2.03.05-5.el8.0.1.x86_64
Complete!
#安装完毕
那就先把分区标记成pv把
[root@centos8 ~]# pvcreate /dev/nvme0n1p6 /dev/nvme0n1p7 /dev/nvme0n2p1 /dev/nvme0n2p2
Physical volume "/dev/nvme0n1p6" successfully created.
Physical volume "/dev/nvme0n1p7" successfully created.
Physical volume "/dev/nvme0n2p1" successfully created.
Physical volume "/dev/nvme0n2p2" successfully created.
#吧这4个分区标记成pv
[root@centos8 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p6 lvm2 --- 200.00m 200.00m
/dev/nvme0n1p7 lvm2 --- 100.00m 100.00m
/dev/nvme0n2p1 lvm2 --- 200.00m 200.00m
/dev/nvme0n2p2 lvm2 --- 100.00m 100.00m
#查看pv
下一步就是把创建vg了
[root@centos8 ~]# vgcreate vg_1 /dev/nvme0n1p6 /dev/nvme0n2p1 /dev/nvme0n2p2
Volume group "vg_1" successfully created
#这里把第一个硬盘的6分区,第二个硬盘的两个分区都放到第一个vg里,打算弄两个vg
[root@centos8 ~]# vgcreate vg_2 /dev/nvme0n1p7
Volume group "vg_2" successfully created
#第二个vg
[root@centos8 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_1 3 0 0 wz--n- 488.00m 488.00m
vg_2 1 0 0 wz--n- 96.00m 96.00m
#查看一下vg情况
这次就可以创建逻辑卷了
[root@centos8 ~]# lvcreate -n lv_1 -L 150M vg_1
Rounding up size to full physical extent 152.00 MiB
Logical volume "lv_1" created.
#-n 指定逻辑卷名字 -L 指定大小 -l指定pe数
[root@centos8 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_1 vg_1 -wi-a----- 152.00m
#lvs查看一下
[root@centos8 ~]# vgdisplay
--- Volume group ---
VG Name vg_2
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 96.00 MiB
PE Size 4.00 MiB
Total PE 24
Alloc PE / Size 0 / 0
Free PE / Size 24 / 96.00 MiB
VG UUID 0L2u2p-EDxC-syEg-rWvj-OprH-bL7X-OeCnIN
--- Volume group ---
VG Name vg_1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 488.00 MiB
PE Size 4.00 MiB
Total PE 122
Alloc PE / Size 38 / 152.00 MiB
Free PE / Size 84 / 336.00 MiB
VG UUID kTKkcs-v2m1-bS90-Yht5-qhah-A8jO-OYiygs
#也可以用vgdisplay来查看更相信的信息 ,可以看到 vg_1这个vg有38个pe被使用了
[root@centos8 ~]# pvdisplay
--- Physical volume ---
PV Name /dev/nvme0n1p7
VG Name vg_2
PV Size 100.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 24
Free PE 24
Allocated PE 0
PV UUID IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT
--- Physical volume ---
PV Name /dev/nvme0n1p6
VG Name vg_1
PV Size 200.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 49
Free PE 11
Allocated PE 38
PV UUID mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u
--- Physical volume ---
PV Name /dev/nvme0n2p1
VG Name vg_1
PV Size 200.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 49
Free PE 49
Allocated PE 0
PV UUID qncFGp-HRp2-rGhp-cyGJ-eFO0-tWbG-4pqjYm
--- Physical volume ---
PV Name /dev/nvme0n2p2
VG Name vg_1
PV Size 100.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 24
Free PE 24
Allocated PE 0
PV UUID cLJac2-ZtIu-uv1v-zntf-V6de-RyWS-9Lelfy
#甚至可以用pvdisplay来查看具体是被那个分区占用了pe,可以看到vg_1使用的是/dev/nvme0n1p6 的38个pe
#还记得我们创建的lv吗 用vg_1的卷组创建的叫lv_1的逻辑卷名,所以,逻辑卷创建成功的时候/dev 下就应该有以下的文件
[root@centos8 ~]# ll /dev/vg_1/lv_1
lrwxrwxrwx. 1 root root 7 May 10 22:06 /dev/vg_1/lv_1 -> ../dm-0
#实际上就是一个软链接
[root@centos8 ~]# blkid
/dev/nvme0n1: PTUUID="0408fa67" PTTYPE="dos"
/dev/nvme0n1p1: UUID="2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69" TYPE="ext4" PARTUUID="0408fa67-01"
/dev/nvme0n1p2: UUID="1c3eaab1-02ff-4f94-8bab-579e52560108" TYPE="xfs" PARTUUID="0408fa67-02"
/dev/nvme0n1p3: UUID="cd026e8c-baf4-4e4c-9d1d-53684d2978a6" TYPE="xfs" PARTUUID="0408fa67-03"
/dev/nvme0n1p5: UUID="91b7946d-6ddd-4043-a3ca-f33d5ba4f197" TYPE="swap" PARTUUID="0408fa67-05"
/dev/nvme0n1p6: UUID="mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u" TYPE="LVM2_member" PARTUUID="0408fa67-06"
/dev/nvme0n1p7: UUID="IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT" TYPE="LVM2_member" PARTUUID="0408fa67-07"
/dev/nvme0n2: PTUUID="f73681fe-0e4c-d54e-b149-e1b3984a4b43" PTTYPE="gpt"
/dev/nvme0n2p1: UUID="qncFGp-HRp2-rGhp-cyGJ-eFO0-tWbG-4pqjYm" TYPE="LVM2_member" PARTUUID="b0f20469-1224-9748-919e-eaf9d3febefb"
/dev/nvme0n2p2: UUID="cLJac2-ZtIu-uv1v-zntf-V6de-RyWS-9Lelfy" TYPE="LVM2_member" PARTUUID="b4525ab0-185b-614f-ac36-03207d1bf370"
/dev/sr0: UUID="2020-01-03-21-42-40-00" LABEL="CentOS-8-1-1911-x86_64-dvd" TYPE="iso9660" PTUUID="087a73cc" PTTYPE="dos"
#我们用blkid也能观察到 /dev/nvme0n*的type类型已经变成了某个逻辑卷的成员
然后就可以创建文件系统了
[root@centos8 ~]# mkfs.xfs /dev/vg_1/lv_1
meta-data=/dev/vg_1/lv_1 isize=512 agcount=4, agsize=9728 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=38912, 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
#格式化成xfs系统
[root@centos8 ~]# blkid
/dev/nvme0n1p1: UUID="2dfd6d3d-0b7a-4e0f-962f-c14f22e3cb69" TYPE="ext4" PARTUUID="0408fa67-01"
/dev/nvme0n1p2: UUID="1c3eaab1-02ff-4f94-8bab-579e52560108" TYPE="xfs" PARTUUID="0408fa67-02"
/dev/nvme0n1p3: UUID="cd026e8c-baf4-4e4c-9d1d-53684d2978a6" TYPE="xfs" PARTUUID="0408fa67-03"
/dev/nvme0n1p5: UUID="91b7946d-6ddd-4043-a3ca-f33d5ba4f197" TYPE="swap" PARTUUID="0408fa67-05"
/dev/nvme0n1p6: UUID="mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u" TYPE="LVM2_member" PARTUUID="0408fa67-06"
/dev/nvme0n1p7: UUID="IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT" TYPE="LVM2_member" PARTUUID="0408fa67-07"
/dev/nvme0n2p1: UUID="qncFGp-HRp2-rGhp-cyGJ-eFO0-tWbG-4pqjYm" TYPE="LVM2_member" PARTUUID="b0f20469-1224-9748-919e-eaf9d3febefb"
/dev/nvme0n2p2: UUID="cLJac2-ZtIu-uv1v-zntf-V6de-RyWS-9Lelfy" TYPE="LVM2_member" PARTUUID="b4525ab0-185b-614f-ac36-03207d1bf370"
/dev/sr0: UUID="2020-01-03-21-42-40-00" LABEL="CentOS-8-1-1911-x86_64-dvd" TYPE="iso9660" PTUUID="087a73cc" PTTYPE="dos"
/dev/nvme0n1: PTUUID="0408fa67" PTTYPE="dos"
/dev/nvme0n2: PTUUID="f73681fe-0e4c-d54e-b149-e1b3984a4b43" PTTYPE="gpt"
/dev/mapper/vg_1-lv_1: UUID="5016fc46-9fbb-4586-8f01-2bd2b583f5e0" TYPE="xfs"
#这时候再用blkid就可以观察到 最后一栏的逻辑卷了
这时候就可以考虑挂载了
[root@centos8 ~]# mkdir /mnt/lvm
#创建一个文件夹,因为打算把逻辑卷挂载到这里
vi /etc/fstab 把下面这行添加进去
UUID=5016fc46-9fbb-4586-8f01-2bd2b583f5e0 /mnt/lvm xfs defaults 0 0
#实现永久挂在,第一栏建议是UUID,不建议是文件名称
[root@centos8 ~]# mount -a
#自动加载可以挂载的挂载点
[root@centos8 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 967M 0 967M 0% /dev
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 983M 17M 966M 2% /run
tmpfs 983M 0 983M 0% /sys/fs/cgroup
/dev/nvme0n1p2 100G 2.1G 98G 3% /
/dev/nvme0n1p3 50G 390M 50G 1% /data
/dev/nvme0n1p1 976M 112M 797M 13% /boot
tmpfs 197M 0 197M 0% /run/user/0
/dev/mapper/vg_1-lv_1 147M 9.0M 138M 7% /mnt/lvm
#df查看一下,发现已经挂载成功了
挂载完成
[root@centos8 lvm]# cp -av /etc/* .
#拷贝点文件过来
[root@centos8 mnt]# dd if=/dev/zero of=/mnt/lvm/123 bs=1024K count=110
110+0 records in
110+0 records out
115343360 bytes (115 MB, 110 MiB) copied, 0.321176 s, 359 MB/s
[root@centos8 mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 967M 0 967M 0% /dev
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 983M 17M 966M 2% /run
tmpfs 983M 0 983M 0% /sys/fs/cgroup
/dev/nvme0n1p2 100G 2.1G 98G 3% /
/dev/nvme0n1p3 50G 390M 50G 1% /data
/dev/nvme0n1p1 976M 112M 797M 13% /boot
tmpfs 197M 0 197M 0% /run/user/0
/dev/mapper/vg_1-lv_1 147M 141M 6.2M 96% /mnt/lvm
写点数据进去,磁盘空间利用率达到了96%
那现在空间不够用了,怎么办?
root@centos8 mnt]# lvextend -l +100%free /dev/vg_1/lv_1
Size of logical volume vg_1/lv_1 changed from 152.00 MiB (38 extents) to 488.00 MiB (122 extents).
Logical volume vg_1/lv_1 successfully resized.
#把vg的所有剩余的pe全部扩展到逻辑卷里,这次在看一下空间
#在查看一下
[root@centos8 mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 967M 0 967M 0% /dev
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 983M 17M 966M 2% /run
tmpfs 983M 0 983M 0% /sys/fs/cgroup
/dev/nvme0n1p2 100G 2.1G 98G 3% /
/dev/nvme0n1p3 50G 390M 50G 1% /data
/dev/nvme0n1p1 976M 112M 797M 13% /boot
tmpfs 197M 0 197M 0% /run/user/0
/dev/mapper/vg_1-lv_1 147M 141M 6.2M 96% /mnt/lvm
#欸?怎么好像没有变化啊?
[root@centos8 mnt]# xfs_growfs /mnt/lvm/
meta-data=/dev/mapper/vg_1-lv_1 isize=512 agcount=4, agsize=9728 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=38912, 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 38912 to 124928
[root@centos8 mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 967M 0 967M 0% /dev
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 983M 17M 966M 2% /run
tmpfs 983M 0 983M 0% /sys/fs/cgroup
/dev/nvme0n1p2 100G 2.1G 98G 3% /
/dev/nvme0n1p3 50G 390M 50G 1% /data
/dev/nvme0n1p1 976M 112M 797M 13% /boot
tmpfs 197M 0 197M 0% /run/user/0
/dev/mapper/vg_1-lv_1 483M 144M 340M 30% /mnt/lvm
#同步文件系统
- 扩展完逻辑卷之后要同步文件系统(添加进来的vg空间没有文件系统) ext系列用resize2fs命令 xfs用xfs_growfs
需要注意的是resize2fs后面跟的是逻辑卷的名字 而xfs_growfs跟的是挂载点的名字
当然,也可以在扩展的时候用 -r 直接同步 lvextend -r
那如果空间有不够用了呢?
[root@centos8 mnt]# dd if=/dev/zero of=/mnt/lvm/234 bs=1024K count=330
330+0 records in
330+0 records out
346030080 bytes (346 MB, 330 MiB) copied, 1.80218 s, 192 MB/s
[root@centos8 mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 967M 0 967M 0% /dev
tmpfs 983M 0 983M 0% /dev/shm
tmpfs 983M 17M 966M 2% /run
tmpfs 983M 0 983M 0% /sys/fs/cgroup
/dev/nvme0n1p2 100G 2.1G 98G 3% /
/dev/nvme0n1p3 50G 390M 50G 1% /data
/dev/nvme0n1p1 976M 112M 797M 13% /boot
tmpfs 197M 0 197M 0% /run/user/0
/dev/mapper/vg_1-lv_1 483M 474M 8.9M 99% /mnt/lvm
#再次往磁盘写入,这次vg也没空间了
[root@centos8 mnt]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_1 3 1 0 wz--n- 488.00m 0
vg_2 1 0 0 wz--n- 96.00m 96.00m
#查看一下vg的空间
[root@centos8 mnt]# vgremove vg_2
Volume group "vg_2" successfully removed
#把vg_2这个vg删除,也可以在添加别的pv,我这里只是把另一个没创建的vg卷组删除了
[root@centos8 mnt]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p6 vg_1 lvm2 a-- 196.00m 0
/dev/nvme0n1p7 lvm2 --- 100.00m 100.00m
/dev/nvme0n2p1 vg_1 lvm2 a-- 196.00m 0
/dev/nvme0n2p2 vg_1 lvm2 a-- 96.00m 0
#这时候就能看到 空闲出来一个pv
[root@centos8 mnt]# vgextend vg_1 /dev/nvme0n1p7
Volume group "vg_1" successfully extended
[root@centos8 mnt]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_1 4 1 0 wz--n- 584.00m 96.00m
#添加成功,如果空间还是不够,再接着添加新的分区到pv,再用vgextend 扩展到卷组
这时候想到个好玩的事情,如果我把文件系统删除会怎么样?
就是vg组里的分区删除了会怎么样?
试一下
[root@centos8 mnt]# fdisk /dev/nvme0n1
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/nvme0n1: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0408fa67
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 211814399 209715200 100G 83 Linux
/dev/nvme0n1p3 211814400 316671999 104857600 50G 83 Linux
/dev/nvme0n1p4 316672000 419430399 102758400 49G 5 Extended
/dev/nvme0n1p5 316674048 325062655 8388608 4G 82 Linux swap / Solaris
/dev/nvme0n1p6 325064704 325474303 409600 200M 83 Linux
/dev/nvme0n1p7 325476352 325681151 204800 100M 83 Linux
Command (m for help): d
Partition number (1-7, default 7):
Partition 7 has been deleted.
Command (m for help): p
Disk /dev/nvme0n1: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0408fa67
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 211814399 209715200 100G 83 Linux
/dev/nvme0n1p3 211814400 316671999 104857600 50G 83 Linux
/dev/nvme0n1p4 316672000 419430399 102758400 49G 5 Extended
/dev/nvme0n1p5 316674048 325062655 8388608 4G 82 Linux swap / Solaris
/dev/nvme0n1p6 325064704 325474303 409600 200M 83 Linux
Command (m for help): d
Partition number (1-6, default 6):
Partition 6 has been deleted.
Command (m for help): p
Disk /dev/nvme0n1: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0408fa67
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 211814399 209715200 100G 83 Linux
/dev/nvme0n1p3 211814400 316671999 104857600 50G 83 Linux
/dev/nvme0n1p4 316672000 419430399 102758400 49G 5 Extended
/dev/nvme0n1p5 316674048 325062655 8388608 4G 82 Linux swap / Solaris
Command (m for help): w
The partition table has been altered.
Failed to remove partition 6 from system: Device or resource busy
The kernel still uses the old partitions. The new table will be used at the next reboot.
Syncing disks.
#提示说内核任然用着就得分区,分区表会在下次重启同步
这时候在看看逻辑卷情况
[root@centos8 lvm]# lvs
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: VG vg_1 is missing PV IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_1 vg_1 -wi-ao---- 488.00m
[root@centos8 lvm]# vgs
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: VG vg_1 is missing PV IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
VG #PV #LV #SN Attr VSize VFree
vg_1 4 1 0 wz-pn- 584.00m 96.00m
[root@centos8 lvm]# lvextend -l +100%free /dev/vg_1/lv_1
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: VG vg_1 is missing PV IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
Cannot change VG vg_1 while PVs are missing.
See vgreduce --removemissing and vgextend --restoremissing.
Cannot process volume group vg_1
#无法扩展逻辑卷
[root@centos8 lvm]# ls
123 exports netconfig security
234 filesystems NetworkManager selinux
adjtime firewalld networks services
aliases fstab nftables sestatus.conf
alternatives fuse.conf nsswitch.conf shadow
anacrontab gcrypt nsswitch.conf.bak shadow-
audit gnupg openldap shells
authselect GREP_COLORS opt skel
bash_completion.d groff os-release ssh
bashrc group pam.d ssl
bindresvport.blacklist group- passwd sssd
binfmt.d grub2.cfg passwd- subgid
centos-release grub.d pkcs11 subgid-
centos-release-upstream gshadow pki subuid
chkconfig.d gshadow- plymouth subuid-
chrony.conf gss pm sudo.conf
chrony.keys haha polkit-1 sudoers
cifs-utils host.conf popt.d sudoers.d
cron.d hostname prelink.conf.d sudo-ldap.conf
cron.daily hosts printcap sysconfig
cron.deny idmapd.conf profile sysctl.conf
cron.hourly init.d profile.d sysctl.d
cron.monthly inittab protocols systemd
crontab inputrc rc0.d system-release
cron.weekly iproute2 rc1.d system-release-cpe
crypto-policies issue rc2.d tcsd.conf
crypttab issue.net rc3.d terminfo
csh.cshrc kdump.conf rc4.d tmpfiles.d
csh.login kernel rc5.d tuned
dbus-1 krb5.conf rc6.d udev
default krb5.conf.d rc.d unbound
depmod.d machine-id rc.local vconsole.conf
dhcp magic redhat-release virc
DIR_COLORS makedumpfile.conf.sample resolv.conf vmware-tools
DIR_COLORS.256color man_db.conf rhsm X11
DIR_COLORS.lightbgcolor microcode_ctl rpc xattr.conf
dnf mke2fs.conf rpm xdg
dracut.conf modprobe.d rsyslog.conf xinetd.d
dracut.conf.d modules-load.d rsyslog.d yum
environment motd rwtab.d yum.conf
ethertypes mtab sasl2 yum.repos.d
[root@centos8 lvm]# rm -rf [a-z]*
[root@centos8 lvm]# ls
123 234
#但仍能进行删除
[root@centos8 lvm]# echo hahah >qqq
[root@centos8 lvm]# ls
123 234 qqq
[root@centos8 lvm]# cat qqq
hahah
#也可以进行文件创建
reboot
#重启试试
不出所料开不开机器了...

输入root口令后发现 df已经不显示逻辑卷分区了

不管怎么说,先让他能开机把,吧之前的fstab文件改回来
吧之前添加的最后一行删除即可重新启动
重启之后发现ll /dev/ 下也不见了逻辑卷的身影
[root@centos8 ~]# vgreduce --removemissing vg_1
WARNING: Couldn't find device with uuid mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: VG vg_1 is missing PV mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: VG vg_1 is missing PV IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: Couldn't find device with uuid mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: Partial LV lv_1 needs to be repaired or removed.
There are still partial LVs in VG vg_1.
To remove them unconditionally use: vgreduce --removemissing --force.
WARNING: Proceeding to remove empty missing PVs.
WARNING: Couldn't find device with uuid mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
[root@centos8 ~]# vgs
WARNING: Couldn't find device with uuid mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: Couldn't find device with uuid IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
WARNING: VG vg_1 is missing PV mN12Yj-EgdS-e9Pk-34Vd-5O2v-pzKY-K7gs0u.
WARNING: VG vg_1 is missing PV IrtVHE-Cuap-m7nt-dI74-FWI1-E3Oc-U1huMT.
VG #PV #LV #SN Attr VSize VFree
vg_1 4 1 0 wz-pn- 584.00m 96.00m
#移除没用的vg
- 如果时像我这样操作,vg虽然不见了,但是/dev/nvme0n1p6这个名称被标记上了,即使在重新创建一个/nvme0n1p6分区,也无法添加PV,会提示,过滤器排除,这时候用dd命令把 新分的nvme0n1p6的前512个自己填成0之后便可以成功添加了
实际上逻辑卷还可以缩减,但自己实在是不知道自己在忙什么,没时间搞完了
- 本来老师说在创建分区时候要把分区的系统改成 逻辑卷的系统 但是我在实验室没改也能正确显示
因为还不太熟悉MD格式,所以把图片上传上了pinterest上,所以图片可能需要正确上网姿势才能显示
浙公网安备 33010602011771号