LVM介绍
- LVM: Logical Volume Manager 可以允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,允许在多个物理设备间重新组织文件系统
LVM可以弹性的更改LVM的容量:
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量<br />
实现过程
将设备指定为物理卷
- 用一个或者多个物理卷来创建一个卷组,物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
- 在物理卷上创建的逻辑卷, 是由物理区域(PE)组成
- 可以在逻辑卷上创建文件系统并挂载
实现逻辑卷
相关工具来自于 lvm2 包
[root@centos8 ~]#yum -y install lvm2
物理卷pv管理工具
#显示pv信息pvspvdisplay#创建pvpvcreate /dev/DEVICE#删除pvpvremove /dev/DEVICE
卷组vg管理工具
#显示卷组信息vgsvgdisplay#创建卷组vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]#示例vgcreate -s 16M vg0 /dev/sdb /dev/sdc # -s指定PE的大小,默认4M#管理卷组vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]#删除卷组(1)先做pvmove(2)再做vgremove
逻辑卷lv管理工具
#显示逻辑卷lvsLvdisplay#创建逻辑卷lvcreate -L #[mMgGtT] -n NAME VolumeGroup#删除逻辑卷lvremove /dev/VG_NAME/LV_NAME
例子:创建逻辑卷
例子:给/dev/sdb 分配一个5G空间做物理卷 ,和sdc整个块设备做物理卷。 两者合成一个逻辑卷
(1)分配5G空间,得到sdb1
[root@centos8 ~]#fdisk /dev/sdbWelcome 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): nPartition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions)Select (default p): pPartition number (1-4, default 1):First sector (2048-41943039, default 2048):Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5GCreated a new partition 1 of type 'Linux' and of size 5 GiB.Command (m for help): wThe partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.[root@centos8 ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 2G 0 part [SWAP]├─sda4 8:4 0 1K 0 part└─sda5 8:5 0 50G 0 part /datasdb 8:16 0 20G 0 disk└─sdb1 8:17 0 5G 0 part #得到sdb1sdc 8:32 0 10G 0 disksr0 11:0 1 8.6G 0 rom
然后将sdb1类型改成“Linux LVM” ,ID为8e
[root@centos8 ~]#fdisk /dev/sdbWelcome 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): pDisk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x781c65fcDevice Boot Start End Sectors Size Id Type/dev/sdb1 2048 10487807 10485760 5G 83 Linux # 当前sdb1的Id是83, type是“Linux”Command (m for help): t #t修改类型Selected partition 1Hex code (type L to list all codes): L #L查看所有的类型列表0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT-4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS accessa OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/Ob W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStorc W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignmente W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fsf W95 Extd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBTHex code (type L to list all codes): 8e # 8e Linux LVMChanged type of partition 'Linux' to 'Linux LVM'.Command (m for help): pDisk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x781c65fcDevice Boot Start End Sectors Size Id Type/dev/sdb1 2048 10487807 10485760 5G 8e Linux LVM #成功将类型改成Linux LVMCommand (m for help): wThe partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.
(2)创建物理卷
#创建两个物理卷 pvcreatepvcreate /dev/sdb1 /dev/sdc#查看物理卷[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 lvm2 --- 5.00g 5.00g/dev/sdc lvm2 --- 10.00g 10.00g[root@centos8 ~]#pvdisplay"/dev/sdb1" is a new physical volume of "5.00 GiB"--- NEW Physical volume ---PV Name /dev/sdb1VG NamePV Size 5.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID 9AegYM-t6pf-N8DS-UZHe-1A7j-qsPg-PUbYFy"/dev/sdc" is a new physical volume of "10.00 GiB"--- NEW Physical volume ---PV Name /dev/sdcVG NamePV Size 10.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UUID DJNagH-p4H4-YCck-7mZJ-D6t5-TnYz-y7XYEF
(3)创建卷组 vgcreate
[root@centos8 ~]#vgcreate vg0 /dev/sdc /dev/sdb1Volume group "vg0" successfully created#或者指定PE大小vgcreate -s 16M vg0 /dev/sdb /dev/sdc # -s指定PE的大小,默认4M#查看信息[root@centos8 ~]#vgsVG #PV #LV #SN Attr VSize VFreevg0 2 0 0 wz--n- 14.99g 14.99g[root@centos8 ~]#vgdisplay--- Volume group ---VG Name vg0System IDFormat lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 14.99 GiBPE Size 4.00 MiBTotal PE 3838Alloc PE / Size 0 / 0Free PE / Size 3838 / 14.99 GiBVG UUID vjvvb9-RXlU-JdwY-Ajrn-J3Np-zsQb-3XyUKi
(3)创建逻辑卷lv
[root@centos8 ~]#lvcreate -n mysql -L 1G vg0 #-L 指定大小 -l以PE为单位指定大小Logical volume "mysql" created.#查看[root@centos8 ~]#lvdisplay--- Logical volume ---LV Path /dev/vg0/mysqlLV Name mysqlVG Name vg0LV UUID fUcq3s-GhSD-YI1U-lhPv-PZCs-naAJ-UGuqpXLV Write Access read/writeLV Creation host, time centos8.3.magedu.com, 2021-07-19 21:22:29 +0800LV Status available# open 0LV Size 1.00 GiBCurrent LE 256Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0[root@centos8 ~]#lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertmysql vg0 -wi-a----- 1.00g
(4)给逻辑卷vg0-mysql创建文件系统,并进行挂着

#创建文件系统[root@centos8 ~]#mkfs.ext4 /dev/vg0/mysql#编辑/etc/fstab块设备文件 增加挂载点[root@centos8 ~]#vim /etc/fstab

#查看挂载是否成功[root@centos8 ~]#mount -a #挂载点/mnt/mysql目录不存在mount: /mnt/mysql: mount point does not exist.[root@centos8 ~]#mkdir /mnt/mysql #创建[root@centos8 ~]#mount -a[root@centos8 ~]#dfFilesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 886960 0 886960 0% /devtmpfs 916500 0 916500 0% /dev/shmtmpfs 916500 9580 906920 2% /runtmpfs 916500 0 916500 0% /sys/fs/cgroup/dev/sda2 104806400 6128280 98678120 6% //dev/sda5 52403200 398404 52004796 1% /data/dev/sda1 999320 203380 727128 22% /boottmpfs 183300 1180 182120 1% /run/user/42tmpfs 183300 0 183300 0% /run/user/0/dev/mapper/vg0-mysql 999320 2564 927944 1% /mnt/mysql #挂载成功
[root@centos8 ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 2G 0 part [SWAP]├─sda4 8:4 0 1K 0 part└─sda5 8:5 0 50G 0 part /datasdb 8:16 0 20G 0 disk└─sdb1 8:17 0 5G 0 partsdc 8:32 0 10G 0 disk├─vg0-mysql 253:0 0 1G 0 lvm /mnt/mysql└─vg0-log 253:1 0 2G 0 lvmsr0 11:0 1 8.6G 0 rom
关于逻辑卷对应的设备名
第一个逻辑卷对应设备名:/dev/dm-#
dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
/dev/vg0/mysql/dev/dm-0
[root@centos8 ~]#ll /dev/vg0/mysqllrwxrwxrwx. 1 root root 7 Jul 19 21:22 /dev/vg0/mysql -> ../dm-0[root@centos8 ~]#ll /dev/dm-0brw-rw----. 1 root disk 253, 0 Jul 19 21:22 /dev/dm-0
扩展逻辑卷
实现方法
#两步实现#第一步实现逻辑卷的空间扩展lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME#第二步实现文件系统的扩展#针对extresize2fs /dev/VG_NAME/LV_NAME#针对xfsxfs_growfs MOUNTPOINT#一步实现容间和文件系统的扩展 使用-r选项lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
- lvextend说明 ```bash lvextend -l +50%free /dev/vg0/mysql #在剩余可用空间里面取 50% 增加到 /dev/vg0/mysql 逻辑卷里
lvextend -l 50%free /dev/vg0/mysql #将/dev/vg0/mysql 逻辑卷扩展到50%
lvextend -L +1G /dev/vg0/log # 给/dev/vg0/log逻辑卷增加 1G 的空间
**例子:拓展逻辑卷: 给/dev/vg0/mysql 增加空间**<br />第一步实现逻辑卷的空间扩展```bash[root@centos8 ~]#lvextend -l +50%free /dev/vg0/mysqlSize of logical volume vg0/mysql changed from 1.00 GiB (256 extents) to <7.02 GiB (1797 extents).Logical volume vg0/mysql successfully resized.[root@centos8 ~]#lvdisplay--- Logical volume ---LV Path /dev/vg0/mysqlLV Name mysqlVG Name vg0LV UUID fUcq3s-GhSD-YI1U-lhPv-PZCs-naAJ-UGuqpXLV Write Access read/writeLV Creation host, time centos8.3.magedu.com, 2021-07-19 21:22:29 +0800LV Status available# open 1LV Size <7.02 GiBCurrent LE 1797Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0--- Logical volume ---LV Path /dev/vg0/logLV Name logVG Name vg0LV UUID x4p6C9-4tyu-SPEV-zKIM-oQK0-b7IM-PXnqtPLV Write Access read/writeLV Creation host, time centos8.3.magedu.com, 2021-07-19 21:27:18 +0800LV Status available# open 1LV Size 1.95 GiBCurrent LE 500Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:1[root@centos8 ~]#vgdisplay--- Volume group ---VG Name vg0System IDFormat lvm2Metadata Areas 2Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 2Act PV 2VG Size 14.99 GiBPE Size 4.00 MiBTotal PE 3838Alloc PE / Size 2297 / 8.97 GiBFree PE / Size 1541 / <6.02 GiBVG UUID vjvvb9-RXlU-JdwY-Ajrn-J3Np-zsQb-3XyUKi
第二步实现文件系统的扩展
[root@centos8 ~]#df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 867M 0 867M 0% /devtmpfs tmpfs 896M 0 896M 0% /dev/shmtmpfs tmpfs 896M 9.4M 886M 2% /runtmpfs tmpfs 896M 0 896M 0% /sys/fs/cgroup/dev/sda2 xfs 100G 5.9G 95G 6% //dev/sda5 xfs 50G 1.2G 49G 3% /data/dev/mapper/vg0-mysql ext4 976M 804M 105M 89% /mnt/mysql #mysql空间未改变/dev/sda1 ext4 976M 199M 711M 22% /boottmpfs tmpfs 180M 1.2M 178M 1% /run/user/42tmpfs tmpfs 180M 0 180M 0% /run/user/0/dev/mapper/vg0-log xfs 2.0G 47M 1.9G 3% /mnt/log#第二步实现文件系统的扩展[root@centos8 ~]#resize2fs /dev/vg0/mysqlresize2fs 1.45.6 (20-Mar-2020)Filesystem at /dev/vg0/mysql is mounted on /mnt/mysql; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 1The filesystem on /dev/vg0/mysql is now 1840128 (4k) blocks long.[root@centos8 ~]#df -hTFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 867M 0 867M 0% /devtmpfs tmpfs 896M 0 896M 0% /dev/shmtmpfs tmpfs 896M 9.4M 886M 2% /runtmpfs tmpfs 896M 0 896M 0% /sys/fs/cgroup/dev/sda2 xfs 100G 5.9G 95G 6% //dev/sda5 xfs 50G 1.2G 49G 3% /data/dev/mapper/vg0-mysql ext4 6.9G 806M 5.8G 12% /mnt/mysql #mysql空间已扩展成功/dev/sda1 ext4 976M 199M 711M 22% /boottmpfs tmpfs 180M 1.2M 178M 1% /run/user/42tmpfs tmpfs 180M 0 180M 0% /run/user/0/dev/mapper/vg0-log xfs 2.0G 47M 1.9G 3% /mnt/log
例子:拓展逻辑卷: 给/dev/vg0/mysql 增加空间 : 一步实现
#使用-r 选项[root@centos8 ~]#lvextend -r -l +100%free /dev/vg0/mysqlSize of logical volume vg0/mysql changed from <7.02 GiB (1797 extents) to <12.04 GiB (3082 extents).Logical volume vg0/mysql successfully resized.resize2fs 1.45.6 (20-Mar-2020)Filesystem at /dev/mapper/vg0-mysql is mounted on /mnt/mysql; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 2The filesystem on /dev/mapper/vg0-mysql is now 3155968 (4k) blocks long.[root@centos8 ~]#df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 867M 0 867M 0% /devtmpfs tmpfs 896M 0 896M 0% /dev/shmtmpfs tmpfs 896M 9.4M 886M 2% /runtmpfs tmpfs 896M 0 896M 0% /sys/fs/cgroup/dev/sda2 xfs 100G 5.9G 95G 6% //dev/sda5 xfs 50G 1.2G 49G 3% /data/dev/mapper/vg0-mysql ext4 12G 807M 11G 7% /mnt/mysql/dev/sda1 ext4 976M 199M 711M 22% /boottmpfs tmpfs 180M 1.2M 178M 1% /run/user/42tmpfs tmpfs 180M 0 180M 0% /run/user/0/dev/mapper/vg0-log xfs 3.0G 54M 2.9G 2% /mnt/log
- 如果当前卷组vg的可用空间不足,但依然需要给逻辑卷lv扩展空间,就需要先增加pv,进而增加vg,再从vg中给lv增加空间
例子:扩展卷组vg
#pv可用空间不足,造成vg空间不足就需要增加pv进而增加vg[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 vg0 lvm2 a-- <5.00g 0/dev/sdc vg0 lvm2 a-- <10.00g 0
**
#利用sdb的剩余空间创建一个新的pv 加入到vg0中[root@centos8 ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 2G 0 part [SWAP]├─sda4 8:4 0 1K 0 part└─sda5 8:5 0 50G 0 part /datasdb 8:16 0 20G 0 disk #剩余15G└─sdb1 8:17 0 5G 0 part└─vg0-mysql 253:0 0 12G 0 lvm /mnt/mysqlsdc 8:32 0 10G 0 disk├─vg0-mysql 253:0 0 12G 0 lvm /mnt/mysql└─vg0-log 253:1 0 3G 0 lvm /mnt/logsr0 11:0 1 8.6G 0 rom[root@centos8 ~]#fdisk /dev/sdb #创建分区Device Boot Start End Sectors Size Id Type/dev/sdb1 2048 10487807 10485760 5G 8e Linux LVM/dev/sdb2 10487808 41943039 31455232 15G 8e Linux LVM #创建了新的分区 类型是Linux LVM#创建新的pv[root@centos8 ~]#pvcreate /dev/sdb2Physical volume "/dev/sdb2" successfully created.[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 vg0 lvm2 a-- <5.00g 0/dev/sdb2 lvm2 --- <15.00g <15.00g/dev/sdc vg0 lvm2 a-- <10.00g 0#扩展vg 利用新的pv扩展vg0[root@centos8 ~]#vgextend vg0 /dev/sdb2Volume group "vg0" successfully extended[root@centos8 ~]#vgs #查看空间是否已扩展成功VG #PV #LV #SN Attr VSize VFreevg0 3 2 0 wz--n- <29.99g <15.00g[root@centos8 ~]#vgdisplay--- Volume group ---VG Name vg0System IDFormat lvm2Metadata Areas 3Metadata Sequence No 7VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 3Act PV 3VG Size <29.99 GiBPE Size 4.00 MiBTotal PE 7677Alloc PE / Size 3838 / 14.99 GiBFree PE / Size 3839 / <15.00 GiBVG UUID vjvvb9-RXlU-JdwY-Ajrn-J3Np-zsQb-3XyUKi
缩减逻辑卷
注意:缩减有数据损坏的风险,建议先备份再缩减,xfs文件系统不支持缩减
缩减逻辑卷的5个步骤
缩减逻辑卷的5个步骤(1)取消挂载 :umount /dev/VG_NAME/LV_NAME(2)检查文件系统完整性e2fsck -f /dev/VG_NAME/LV_NAME(3)缩减文件系统 指定缩减大小resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT](4)缩减逻辑卷 指定大小需要与第3步一致lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME(5)重新挂载mount /dev/VG_NAME/LV_NAME mountpoint
例子:
(1)取消挂载
[root@centos8 ~]#umount /mnt/mysql
(2)检查文件系统完整性
[root@centos8 ~]#e2fsck -f /dev/vg0/mysqle2fsck 1.45.6 (20-Mar-2020)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/vg0/mysql: 137/794624 files (0.0% non-contiguous), 264494/3155968 blocks
(3)缩减文件系统 指定缩减大小
[root@centos8 ~]#resize2fs /dev/vg0/mysql 2Gresize2fs 1.45.6 (20-Mar-2020)Resizing the filesystem on /dev/vg0/mysql to 524288 (4k) blocks.The filesystem on /dev/vg0/mysql is now 524288 (4k) blocks long.
(4)缩减逻辑卷 指定大小需要与第3步一致
[root@centos8 ~]#lvreduce -L 2G /dev/vg0/mysqlWARNING: Reducing active logical volume to 2.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce vg0/mysql? [y/n]: ySize of logical volume vg0/mysql changed from <12.04 GiB (3082 extents) to 2.00 GiB (512 extents).Logical volume vg0/mysql successfully resized.
(5)重新挂载
[root@centos8 ~]#mount -a
删除/迁移物理卷pv
#查看当前的pv 目前需要迁移/dev/sdc[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 vg0 lvm2 a-- <5.00g <5.00g/dev/sdb2 vg0 lvm2 a-- <15.00g <15.00g/dev/sdc vg0 lvm2 a-- <10.00g 5.04g
(1)空间移动(释放)
注意:pvmove移动的是空间。空间移动了,数据也会移动
(2)然后从组卷vg中删除 /dev/sdc ;
(3)再从pv中删除
# 从组卷vg0 删除 /dev/sdc[root@centos8 ~]#vgreduce vg0 /dev/sdcRemoved "/dev/sdc" from volume group "vg0"[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 vg0 lvm2 a-- <5.00g 44.00m/dev/sdb2 vg0 lvm2 a-- <15.00g <15.00g/dev/sdc lvm2 --- 10.00g 10.00g # 可以看到不再是vg0[root@centos8 ~]#vgsVG #PV #LV #SN Attr VSize VFreevg0 2 2 0 wz--n- 19.99g <15.04g#从pvs中删除 /dev/sdc[root@centos8 ~]#pvremove /dev/sdcLabels on physical volume "/dev/sdc" successfully wiped.[root@centos8 ~]#pvsPV VG Fmt Attr PSize PFree/dev/sdb1 vg0 lvm2 a-- <5.00g 44.00m/dev/sdb2 vg0 lvm2 a-- <15.00g <15.00g[root@centos8 ~]#
逻辑卷快照
逻辑卷快照工作原理
- 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
- 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
- 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
实现方法
mkfs.xfs /dev/vg0/datamount /dev/vg0/data/ /mnt/data#为现有逻辑卷创建快照,注意ext4必须使用-p r 实现只读lvcreate -l 64 -s -n data-snapshot /dev/vg0/data#挂载快照,xfs注意要使用-o ro实现只读,访止快照被修改mkdir -p /mnt/snapmount -o ro,nouuid /dev/vg0/data-snapshot /mnt/snap # xfs必须添加nouuid,否则无法挂载成功#恢复快照umount /dev/vg0/data-snapshotumount /dev/vg0/datalvconvert --merge /dev/vg0/data-snapshot#删除快照umount /mnt/snaplvremove /dev/vg0/data-snapshot
