Linux下使用LVM管理(扩展/缩小/删除)
LVM的工作原理
- LVM( Logical Volume Manager)逻辑卷管理,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用LVM可以在磁盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越磁盘,当服务器添加了新的磁盘后,管理员不必将原有的文件移动到新的磁盘上,而是通过LVM可以直接扩展文件系统跨越磁盘。
- 它就是通过将底层的物理硬盘封装起来,然后以逻辑卷的方式呈现给上层应用。在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。
LVM常用的术语
- 物理存储介质(The physical media):LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用
- 物理卷PV(physical volume) :物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;
- 卷组VG(Volume Group) :一个LVM卷组由一个或多个物理卷组成
- 逻辑卷LV(logical volume) :LV建立在VG之上,可以在LV之上建立文件系统
- PE(physical extents) :PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB
- LE(logical extent) : LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应
最小存储单位总结:
- 名称 最小存储单位 示例
- 硬盘 扇区(512字节)
- 文件系统 block(1K或4K ) # mkfs.ext4 -b 2048 /dev/sdb1 ,最大支持到4096
- raid chunk (512K) #mdadm -C -v /dev/md5 -l 5 -n 3 -c 512 -x 1 /dev/sde{1,2,3,5}
- LVM PE (4M) # vgcreate -s 4M vg1 /dev/sdb{1,2}
LVM主要元素构成:
LVM优点
- 使用卷组,使多个硬盘空间看起来像是一个大的硬盘
- 使用逻辑卷,可以跨多个硬盘空间的分区 sdb1 sdb2 sdc1 sdd2 sdf
- 在使用逻辑卷时,它可以在空间不足时动态调整它的大小
- 在调整逻辑卷大小时,不需要考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间
- 可以在线对LV,VG 进行创建,删除,调整大小等操作。LVM上的文件系统也需要重新调整大小。
- 允许创建快照,可以用来保存文件系统的备份。
RAID+LVM一起用:LVM是软件的卷管理方式,而RAID是磁盘管理的方法。对于重要的数据,使用RAID用来保护物理的磁盘不会因为故障而中断业务,再用LVM用来实现对卷的良性的管理,更好的利用磁盘资源。
创建LVM的基本步骤:
- (1) 物理磁盘被格式化为PV,(空间被划分为一个个的PE) #PV包含PE
- (2) 不同的PV加入到同一个VG中,(不同PV的PE全部进入到了VG的PE池内) #VG包含PV
- (3) 在VG中创建LV逻辑卷,基于PE创建,(组成LV的PE可能来自不同的物理磁盘) #LV基于PE创建
- (4) LV直接可以格式化后挂载使用 #格式化挂载使用
- (5) LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据
lvm常用的命令
下面的操作会用的一些查看命令:
准备环境
[root@wencheng ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@wencheng ~]# rpm -qa | grep lvm
lvm2-libs-2.02.187-6.el7_9.4.x86_64
lvm2-2.02.187-6.el7_9.4.x86_64
创建并使用LVM逻辑卷
VMware Workstation添加硬盘
- 在"我的计算机"中选择该主机--右键--设置--添加--硬盘--下一步--下一步--下一步--完成 添加硬盘步骤。
- 命令:echo "- - -" > /sys/class/scsi_host/host0/scan
- 1.新增添磁盘,还不能直接显示出来,要想出现要对磁盘进行扫描(实际生产环境中不需要,都是热插拔技术):
- 2.假如 fdisk -l 还是未发现新硬盘,则将上面命令中的host0,替换为host1,host2,....看看;
- 3.我们再查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描,用fdisk -l也看到了新增加的磁盘了。
查看新增的硬盘。
创建分区并设置LVM(8e)类型。
[root@wencheng ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2). 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
Building a new DOS disklabel with disk identifier 0x81cc782c. Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): //回车(默认)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): ////回车(默认)
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x81cc782c Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 83 Linux Command (m for help): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 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 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x81cc782c Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 8e Linux LVM //类型修改成功 Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.
注: 其他新增硬盘分区类似,不再赘述,如下查看最后分区结果。
[root@wencheng ~]# ls -l /dev/sd*1
brw-rw----. 1 root disk 8, 1 Mar 25 10:54 /dev/sda1 //系统分区
brw-rw----. 1 root disk 8, 17 Apr 19 16:48 /dev/sdb1
brw-rw----. 1 root disk 8, 33 Apr 19 16:53 /dev/sdc1
brw-rw----. 1 root disk 8, 49 Apr 19 16:53 /dev/sdd1
brw-rw----. 1 root disk 8, 65 Apr 19 16:53 /dev/sde1
[root@wencheng ~]#
[root@localhost ~]# fdisk -l | grep -e "/dev/sd[b-e]1"
/dev/sdb1 2048 41943039 20970496 8e Linux LVM
/dev/sdc1 2048 41943039 20970496 8e Linux LVM
/dev/sdd1 2048 41943039 20970496 8e Linux LVM
/dev/sde1 2048 20971519 10484736 83 Linux //备用磁盘
创建pv,并查看结果。
[root@wencheng ~]# pvcreate /dev/sd[b,c,d]1
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdd1" successfully created.
[root@wencheng ~]#
[root@wencheng ~]# pvdisplay /dev/sd[b,c,d]1
"/dev/sdb1" is a new physical volume of "<10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size <20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID kZxjyM-Ora3-io5L-J14w-ljlM-TArl-gYQhqm "/dev/sdd1" is a new physical volume of "<10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdd1
VG Name
PV Size <20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID NN1HSf-JQAA-PiMm-MEmm-WocM-9QrD-zcStUf "/dev/sdc1" is a new physical volume of "<10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size <20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID I92jzU-WN1f-zcrW-Mzm7-HuoZ-3hBP-BjJFkG
创建名为'vg01'的卷组,使用/dev/sdb1, /dev/sdc1和/dev/sdb1创建,并查看结果。
[root@wencheng ~]# vgcreate vg01 /dev/sd[b,c,d]1 //指定PE大小用的参数:-s 16M, 如果存储的数据都是大文件,那么PE尽量调大,读取速度快
Volume group "vg01" successfully created
[root@wencheng ~]#
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 3
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 3
Act PV 3
VG Size <59.99 GiB ///dev/sd[b,c]1硬盘总和容量
PE Size 4.00 MiB //默认4MB
Total PE 15357
Alloc PE / Size 0 / 0
Free PE / Size 15357 / <59.99 GiB
VG UUID 0HRkjd-8ccf-Alpe-vhfJ-eOLi-vtnX-0Vl7sR
创建一个名为'lv01'、大小为30G的逻辑卷。
[root@wencheng ~]# lvcreate -n lv01 -L 30G vg01 //-L指定lv大小的SIZE(M,G) (-l:小l 指定LE的数量)
Logical volume "lv01" created.
[root@wencheng ~]#
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID Iwvoxi-Ekrb-8nQ7-QfDt-1jIx-FiXy-srYbbZ
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-04-20 11:17:57 +0800
LV Status available
# open 0
LV Size 30.00 GiB
Current LE 4
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
创建文件系统,并挂载。
[root@wencheng ~]# mkdir /mnt/lv01
[root@wencheng ~]# ls -l /dev/vg01/
total 0
lrwxrwxrwx. 1 root root 7 Apr 20 11:17 lv01 -> ../dm-0 [root@localhost ~]# mkfs.xfs /dev/vg01/lv01
meta-data=/dev/vg01/lv01 isize=512 agcount=1, agsize=4096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=4096, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0 [root@wencheng ~]# mount /dev/vg01/lv01 /mnt/lv01/
[root@wencheng ~]# echo "/dev/vg01/lv01 /mnt/lv01 xfs defaults 0 0" >> /etc/fstab //添加开机自动挂载
[root@wencheng ~]# df -Th /mnt/lv01/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 31G 61M 30G 1% /mnt/lv01
动态调整逻辑卷大小的功能是LVM最有用的功能。
扩展LV首先,确定一下是否有可用的扩容空间,因为空间是从VG里面创建的,并且LV不能跨VG扩容。
- 1.如果VG无剩余空间,则添加新硬盘,这里不再赘述(添加硬盘,分区LVM),再如下操作。
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 3 1 0 wz--n- <30.99g 1012.00m [root@wencheng ~]# pvcreate /dev/sde1
Physical volume "/dev/sde1" successfully created.
[[root@wencheng ~]# vgextend vg01 /dev/sde1 //新增硬盘/dev/sde1为10G
Volume group "vg01" successfully extended
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 4 1 0 wz--n- 30.99g 10.98g
- 2.如果VG有预留空间,则如下操作。
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 3 1 0 wz--n- <59.99g 29.97g //空闲约29G
扩容逻辑卷,用的如下命令。
[root@wencheng ~]# lvextend -L 59G /dev/vg01/lv01
Size of logical volume vg01/lv01 changed from <30.02 GiB (7684 extents) to 59.00 GiB (15104 extents).
Logical volume vg01/lv01 successfully resized. [root@wencheng ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-ao---- 59.00g //LV已扩容成功 [root@wencheng ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID Iwvoxi-Ekrb-8nQ7-QfDt-1jIx-FiXy-srYbbZ
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-04-20 11:17:57 +0800
LV Status available
# open 1
LV Size 59.00 GiB
Current LE 15104
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0 说明:
在指定大小的时候,扩容30m和扩容到30m是不一样的写法
扩容59G ====> -L +59G
扩容到59G =====> -L 59G [root@wencheng ~]# df -Th /mnt/lv01/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 31G 61M 30G 1% /mnt/lv01 //但仍然看不到扩展的容量 注:可以看到LV虽然扩展了,但是文件系统大小还是原来的,下面开始扩容文件系统
ext4文件系统扩容使用命令语法: resize2fs 逻辑卷名称
xfs文件系统扩容使用命令语法: xfs_growfs 挂载点
resize2fs和xfs_growfs 两者的区别是传递的参数不一样的,xfs_growfs是采用的挂载点;resize2fs是逻辑卷名称,而且resize2fs命令不能对xfs类型文件系统使用。 [root@wencheng ~]# xfs_growfs /mnt/lv01/
meta-data=/dev/mapper/vg01-lv01 isize=512 agcount=1921, agsize=4096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=7868416, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7868416 to 15466496
[root@wencheng ~]#
[root@wencheng ~]# df -Th /mnt/lv01/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 59G 119M 59G 1% /mnt/lv01 //扩展完成
注:先扩lv逻辑卷,再扩文件系统。 掌握另一方法:使用lvextend命令钟加参数-r,它是支持多种不同的文件系统,比如ext3,ext4,xfs,…
[root@wencheng ~]# lvextend -L 59G -r /dev/vg01/lv01 #直接扩容到59G空间,一步到位,不用再扩文件系统了
缩减LVM卷,注意事项
- 减少逻辑卷的大小值若小于储存的数据大小,存储在后面的数据会丢失,缩减 LVM 之前,建议先做一个备份。
- 在 GFS2 或者 XFS 文件系统上不支持在线缩小;btrfs文件系统支持在线缩小。
万不得已需要缩减xfs文件系统的lvm分区空间时候,一定要注意顺序。
- 第一步,确认现有环境,并目标数据备份;以/mnt/lv01为例。
[root@wencheng ~]# ls -l /mnt/lv01*
/mnt/lv01:
total 1060
-rw-r--r--. 1 root root 16 Apr 21 10:44 adjtime
-rw-r--r--. 1 root root 1518 Apr 21 10:44 aliases
-rw-r--r--. 1 root root 12288 Apr 21 10:44 aliases.db
-rw-------. 1 root root 541 Apr 21 10:44 anacrontab
-rw-r--r--. 1 root root 55 Apr 21 10:44 asound.conf
-rw-r--r--. 1 root root 2853 Apr 21 10:44 bashrc
-rw-r--r--. 1 root root 38 Apr 21 10:44 centos-release [root@wencheng ~]# df -Th /mnt/lv01
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 50G 170M 50G 1% /mnt/lv01 [root@wencheng ~]# rpm -qa | grep xfsdump
xfsdump-3.1.7-1.el7.x86_64 [root@wencheng ~]# xfsdump -f /mnt/lv01.xfsdump /mnt/lv01 //xfsdump -f "dump文件存放的绝对路径加文件名" "需要缩减容量的目录"
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control ============================= dump label dialog ============================== please enter label for this dump session (timeout in 300 sec)
-> lv01
session label entered: "lv01" --------------------------------- end dialog --------------------------------- xfsdump: level 0 dump of wencheng:/mnt/lv01
xfsdump: dump date: Wed Apr 21 10:59:05 2021
xfsdump: session id: 619c7222-752a-44af-8b7f-411d33fbef15
xfsdump: session label: "lv01"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 143172224 bytes
xfsdump: /var/lib/xfsdump/inventory created ============================= media label dialog ============================= please enter label for media in drive 0 (timeout in 300 sec)
-> lv01
media label entered: "lv01" --------------------------------- end dialog --------------------------------- xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 140934528 bytes
xfsdump: dump size (non-dir files) : 139858712 bytes
xfsdump: dump complete: 32 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /mnt/lv01.xfsdump OK (success)
xfsdump: Dump Status: SUCCESS [root@wencheng ~]# ls -l /mnt/lv01*
-rw-r--r--. 1 root root 140934528 Apr 21 10:59 /mnt/lv01.xfsdump //生成备份 /mnt/lv01:
total 1060
-rw-r--r--. 1 root root 16 Apr 21 10:44 adjtime
-rw-r--r--. 1 root root 1518 Apr 21 10:44 aliases
-rw-r--r--. 1 root root 12288 Apr 21 10:44 aliases.db
-rw-------. 1 root root 541 Apr 21 10:44 anacrontab
-rw-r--r--. 1 root root 55 Apr 21 10:44 asound.conf
-rw-r--r--. 1 root root 2853 Apr 21 10:44 bashrc
-rw-r--r--. 1 root root 38 Apr 21 10:44 centos-release
- 第二步,卸载挂载的目录。
[root@wencheng ~]# umount /mnt/lv01/
- 第三步,把你原来的逻辑卷变成5G是扩大还是缩小它自己会判断,并格式化以更新到最新大小。
[root@wencheng ~]# lvreduce -L 5G /dev/vg01/lv01
WARNING: Reducing active logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg01/lv01? [y/n]: y
Size of logical volume vg01/lv01 changed from 50.00 GiB (12800 extents) to 5.00 GiB (1280 extents).
Logical volume vg01/lv01 successfully resized. [root@wencheng ~]# mkfs.xfs -f /dev/vg01/lv01 //格式化以更新到最新大小(清除所有数据)
meta-data=/dev/vg01/lv01 isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0 [root@wencheng ~]# lvs //lv缩小成功
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-a----- 5.00g
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 4 1 0 wz--n- 69.98g 64.98g
- 第四步,挂载出来空分区 。
[root@wencheng ~]# mount /dev/vg01/lv01 /mnt/lv01
[root@wencheng ~]# df -Th /mnt/lv01
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 5.0G 33M 5.0G 1% /mnt/lv01 [root@wencheng ~]# ls -l /mnt/lv01
total 0
- 第五步,把dump的数据恢复。
[root@wencheng ~]# xfsrestore -f /mnt/lv01.xfsdump /mnt/lv01
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: wencheng
xfsrestore: mount point: /mnt/lv01
xfsrestore: volume: /dev/mapper/vg01-lv01
xfsrestore: session time: Wed Apr 21 10:59:05 2021
xfsrestore: level: 0
xfsrestore: session label: "lv01"
xfsrestore: media label: "lv01"
xfsrestore: file system id: ded6656d-b154-4c48-bda8-2935c5fa8dd8
xfsrestore: session id: 619c7222-752a-44af-8b7f-411d33fbef15
xfsrestore: media id: e4f6c078-14b3-43c3-9ff7-5c847977ca32
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 533 directories and 3574 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /mnt/lv01.xfsdump OK (success)
xfsrestore: Restore Status: SUCCESS
[root@wencheng ~]#
[root@wencheng ~]# ls -l /mnt/lv01 //查看数据是否恢复完成
total 1060
-rw-r--r--. 1 root root 16 Apr 21 10:44 adjtime
-rw-r--r--. 1 root root 1518 Apr 21 10:44 aliases
-rw-r--r--. 1 root root 12288 Apr 21 10:44 aliases.db
-rw-------. 1 root root 541 Apr 21 10:44 anacrontab
-rw-r--r--. 1 root root 55 Apr 21 10:44 asound.conf
-rw-r--r--. 1 root root 2853 Apr 21 10:44 bashrc
-rw-r--r--. 1 root root 38 Apr 21 10:44 centos-release
LVM删除操作
创建LVM流程:pvcreate创建pv -> vgcreate创建卷组 -> lvcreate创建逻辑卷 -> mkfs.xfs lv 格式化-> mount挂载
删除LVM流程:umount卸载 -> lvremove lv移出卷组中所有逻辑卷-> vgremove vg移出卷组-> pvremove 移出pv
- 查看现有lvm状态。
[root@wencheng ~]# df -Th /mnt/lv01
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv01 xfs 5.0G 170M 4.9G 4% /mnt/lv01
[root@wencheng ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-ao---- 5.00g
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 4 1 0 wz--n- 69.98g 64.98g
[root@wencheng ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg01 lvm2 a-- <20.00g <15.00g
/dev/sdc1 vg01 lvm2 a-- <20.00g <20.00g
/dev/sdd1 vg01 lvm2 a-- <20.00g <20.00g
/dev/sde1 vg01 lvm2 a-- <10.00g <10.00g
- 卸载lvm挂载目录。
[root@wencheng ~]# umount /mnt/lv01
[root@wencheng ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 30G 1.2G 29G 4% /
devtmpfs devtmpfs 981M 0 981M 0% /dev
tmpfs tmpfs 992M 0 992M 0% /dev/shm
tmpfs tmpfs 992M 9.5M 982M 1% /run
tmpfs tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/sda1 xfs 297M 107M 191M 36% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
- 删除逻辑卷lv。
[root@wencheng ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-a----- 5.00g
[root@wencheng ~]#
[root@wencheng ~]# lvremove /dev/vg01/lv01
Do you really want to remove active logical volume vg01/lv01? [y/n]: y
Logical volume "lv01" successfully removed
[root@wencheng ~]# lvs
- 删除卷组vg。
[root@wencheng ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 4 0 0 wz--n- 69.98g 69.98g
[root@wencheng ~]#
[root@wencheng ~]# vgremove vg01
Volume group "vg01" successfully removed
[root@wencheng ~]#
[root@wencheng ~]# vgs
- 删除物理机pv。
[root@wencheng ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- <20.00g <20.00g
/dev/sdc1 lvm2 --- <20.00g <20.00g
/dev/sdd1 lvm2 --- <20.00g <20.00g
/dev/sde1 lvm2 --- <10.00g <10.00g
[root@wencheng ~]#
[root@wencheng ~]# pvremove /dev/sde1
Labels on physical volume "/dev/sde1" successfully wiped.
[root@wencheng ~]# pvremove /dev/sdd1
Labels on physical volume "/dev/sdd1" successfully wiped.
[root@wencheng ~]#
[root@wencheng ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- <20.00g <20.00g
/dev/sdc1 lvm2 --- <20.00g <20.00g
- 编辑/etc/fstab,删除对应自动挂载信息 。
UUID=57c4afb5-1953-4695-b173-965f1b12500f / xfs defaults 0 0
UUID=a04da5a6-ddd1-41b8-a9d6-ee5f6b62596e /boot xfs defaults 0 0
UUID=77e1f34d-8161-4b9c-ba1f-240898a695ef swap swap defaults 0 0
#/dev/vg01/lv01 /mnt/lv01 xfs defaults 0 0
- 格式化磁盘。
[root@wencheng ~]# mkfs.xfs /dev/sde1
meta-data=/dev/sde1 isize=512 agcount=4, agsize=655296 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621184, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@wencheng ~]# mkfs.xfs /dev/sdd1
meta-data=/dev/sdd1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Linux下使用LVM管理(扩展/缩小/删除)的更多相关文章
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- 安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
VM tools:方便我们虚拟机和宿主机之间复制数据或移动文件等 安装VMtools 1.菜单栏-虚拟机-安装VM tools 将其选中 2.进入系统,在桌面位置里面有VM tools的光盘,双击进入 ...
- Linux 下权限的管理
Linux 下权限的管理 我们都知道,Linux系统对于用户的权限管理是十分严格的. 那么,我们就来具体了解一下. 一. 用户 在Linux中按照类型用户分为两种:1.超级用户 2.普通用户 那么它们 ...
- linux下Redis与phpredis扩展安装
++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- LINUX逻辑卷(LVM)管理与逻辑卷分区
LINUX之逻辑卷管理与逻辑卷扩展 LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相 ...
- Linux下基于LVM调整分区容量大小的方法
Linux下调整分区容量大小的方法(适用于centos6-7) 说明:以下方法均使用centos6.9和centos7.4进行测试. Centos6分区容量调整方法 1.web分区空间不足,新添加一块 ...
- 学习Linux下的文件目录管理
文件目录管理 一.认识Linux文件系统的架构 在Linux中是没有盘符这个概念的,即Linux中没有C盘和D盘的分盘.那么我们直接通过对目录的操作实现对磁盘的读写,因 ...
- linux 下安装 php kafka 扩展
我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka 下载地址:http://kafka.apache ...
随机推荐
- 谈谈react hooks的优缺点
前言Hook 是 React 16.8 的新增特性.它是完全可选的,并且100%向后兼容.它可以让你使用函数组件的方式,运用类组件以及 react 其他的一些特性,比如管理状态.生命周期钩子等.从概念 ...
- python 迭代器,生成器,表达式
1.迭代器 (1)什么是迭代器: #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复, ...
- Sql server注入一些tips
sql server环境测试: 几个特性: 1.sql server兼容性可以说是最差的. 举例: select x from y where id=1 字符串查询 select x from y w ...
- linux 安装rabbitMQ详细教程
经过第一次的安装失败, 第二次总算是成功了, 这里总结一下. 第一步:下载版本对应的rpm安装包 1. 下载Erlang安装包:RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注: ...
- PAT 乙级 -- 1002 -- 写出这个数
题目: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字 ...
- 关于YiII框架的扩展memcache中set设置时间就get查询失效的解决方案(版本是1.1.20)
0x01 前言 在使用Yii框架的扩展memcache缓存的时候,存储数据有一个set方法,来看一下set方法的原型: public boolean set(string $id, mixed $va ...
- 一个不错的过TP思路,转载CSDN
也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操作: 无法附加进程, 无法打开进程, 游戏进程被隐藏无法在工具中查看到,内存无法读取代码 内存修改后游 ...
- 深入浅出带你玩转sqlilabs(五)-布尔/延时盲注与二次注入
SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 ...
- 【vue-03】组件化开发 component
vue组件化思想 组件化是vue的一个重要思想 它提供了一种抽象,让我们可以开发出一个个独立可复用的小组件来构建我们的应用. 任何的应用都会被抽象成一颗组件树. 注册组件 组件的使用分成三个步骤:创建 ...
- 【mybatis】mybatis分页拦截器搭配bootstrap-table使用
提前说明: 这一种方式已被我自己pass掉了,已经被新的方式迭代了.但是记录下自己曾经的成果还是有必要的,而且里面的思想还是不变的,另外技术不就是在不断地迭代中升级吗.千万不要想着一步完美,那样会让你 ...