[TOC]
描述:LVM——Logical Volume Manager就是动态卷管理在Linux2.4内核以上实现的磁盘管理技术,它可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。
LVM的工作原理: 通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用;
LVM的特点:可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据,我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷 ,作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性
基本概念:
用途:LVM就是Linux下专门针对我们数据的不断的扩大,在原有动态磁盘的基础上动态的调整磁盘的大小,LVM动态卷管理,一张图片让你深入了解lvm的使用。 四个概念:
WeiyiGeek.
LVM的优点:
LVM的缺点:
工作原理:
WeiyiGeek.原理图
LVM常用操作命令一览:
1) 查看物理卷/卷组/逻辑卷
pvs / pvdisplay #查看物理卷
pes / pedisplay #查看pe的大小(pes==pescan)
vgs / vgdisplay #查看卷组
lvs / lvdisplay #查看逻辑卷
fdisk -l #查看磁盘分区
2) 创建pv/vg/lv
pvcreate 设备路径 创建物理卷
vgcreate 名字 pv路径 创建卷组
lvcreate -n 名字 -L 大小 vg名 创建逻辑卷
格式化:mkfs.ext4 lv完整路径 格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)
挂载:mount lv完整路径 挂载点 挂载使用(可以使用/etc/fstab或autofs)
3) 逻辑卷删除:
1.卸载:umount
2.删lv:lvremove lv完整路径
3.删vg:vgremove vg名
4.删PV:pvremove 设备完整路径 去硬盘
4) 逻辑卷扩展:
1.扩展pv:相当于创建pv
2.扩展vg: vgextend vg名 新增pv路径
3.扩展lv: lvextend -L +扩展量 lv完整名 -r #加-r不用刷新系统
4.刷新文件系统:resize2fs lv完整路径
注意:灵活运用,看实际情况,注意顺序 (支持在线操作)
5) 逻辑卷的缩小: #减小需谨慎,文件系统的减小后大小一定要和lv卷最终大小相等
1.首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
2.减少文件系统:resize2fs lv完整路径 减少到的大小
3.减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
4.挂载使用
测试环境:CentOS release 6.10 (Final) 2.6.32-754.12.1.el6.i686 使用VirtualBOX来模拟我添加了一块1G的磁盘; 1) LVS创建
#1.添加的磁盘状态
$fdisk -l /dev/sdb
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
#2.在上面创建了两个分区sdb1和sdb2各500M。
$fdisk /dev/sdb
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): m
#建立两个主分区:p 分别500MB
Command (m for help): p
Disk identifier: 0x91982288
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 83 Linux
/dev/sdb2 1026048 2050047 512000 83 Linux
Command (m for help): w #写入操作
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#3.用pvcreate命令在新建的分区上创建PV
$pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
#(创建完后我们可以用pvs查看或者pvdisplay查看详细信息)
$pvs
PV VG Fmt Attr(注意属性) PSize PFree
/dev/sda2 vg_weiyigeek lvm2 a--u 19.51g 0
/dev/sdb1 lvm2 ---- 500.00m 500.00m
/dev/sdb2 lvm2 ---- 500.00m 500.00m
$pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_weiyigeek
PV Size 19.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4994
Free PE 0
Allocated PE 4994
PV UUID svdPF0-R72a-NU6n-qrZV-jUwP-cOEz-b9OXnm
"/dev/sdb1" is a new physical volume of "500.00 MiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name #VG那一栏是所属的VG组,因为我们还没有划分VG组,所以这一栏也是空。
PV Size 500.00 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID M5biUE-eaM1-8U6X-gOpd-31iW-cgNC-m1sIG1
#4. 使用vgcreate命令创建一个VG组,并将我们创建的两个PV加入VG组
$vgcreate vgdemo1 /dev/sdb1 /dev/sdb2
Volume group "vgdemo1" successfully created
#(用vgs和vgdisplay命令查看卷组信息及详细信息)
$vgs
VG #PV #LV #SN Attr VSize VFree
vg_weiyigeek 1 2 0 wz--n- 19.51g 0
vgdemo1 2 0 0 wz--n- 992.00m 992.00m #建立的VG组,可以看到他的大小
$vgdisplay vgdemo1
--- Volume group ---
VG Name vgdemo1
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 992.00 MiB #关键点:后面的LV分配大小不能藏此大小
PE Size 4.00 MiB #PE是卷组的最小储存单位默认是4MB,创建的时候我们也可以用-s参数来修改,
#一旦卷组创建成功是没法再去修改PE大小的。
Total PE 248
Alloc PE / Size 0 / 0
Free PE / Size 248 / 992.00 MiB
VG UUID AdWgG1-DkWu-3OrA-skAW-ad3i-n2V9-pTHYWF
#5. 使用lvcreate命令从VG中创建一个逻辑卷
$lvcreate -L 200M -n lv_disk1 vgdemo1
Logical volume "lv_disk1" created.
#-L参数后跟的是你要设定的逻辑卷大小,这个大小必须是你设定的PE值的整数倍,常用(弊端就是有可能用不完vg里面的空间)
#-l参数后跟的是数量,那划分的逻辑卷大小就为 4xn 你划分的数量MiB。-l 127 个PE弊端是需要计算,比如一个PE 4M 127x4M=508M 但是不会出现用不完vg的空间的情况
#-n参数后跟逻辑卷名字,是对创建的卷组命名,最后跟的是卷组名。
#(逻辑卷的查看命令也是lvs和lvsdisplay)
$lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_weiyigeek -wi-ao---- 17.54g
lv_swap vg_weiyigeek -wi-ao---- 1.97g
lv_disk1 vgdemo1 -wi-a----- 200.00m
$lvdisplay vgdemo1 #lvdisplay后跟卷组是查看这个卷组的详细信息,只输入lvdisplay是显示所有逻辑卷的详细信息
--- Logical volume ---
LV Path /dev/vgdemo1/lv_disk1
LV Name lv_disk1
VG Name vgdemo1
LV UUID ohx66h-l1kU-qnTR-bZQH-eWb5-tVhS-3B03Rq
LV Write Access read/write
LV Creation host, time Master-data2, 2019-05-26 13:05:28 +0800
LV Status available
# open 0
LV Size 200.00 MiB
Current LE 50
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
#6.使用mkfs命令对创建的卷组进行格式化并挂载
$mkfs.ext4 /dev/vgdemo1/lv_disk1
mke2fs 1.41.12 (17-May-2010)
#Linux下的文件系统需要被挂载后才能使用,建立一个空目录进行挂载
$mkdir /lvsdisk
#进行挂载,如果要想实现开机自动挂载可以写在fstab表里
$mount /dev/vgdemo1/lv_disk1 /lvsdisk/
$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgdemo1-lv_disk1 190M 1.6M 179M 1% /lvsdisk
2) LV的扩容与缩小 LVM的强大之处不只是它可以扩容压缩,更重要的是它可以支持在线扩容,但我们首先要保证VG中有足够的空闲空间。
#1.使用lvextend命令来对逻辑卷进行扩容
$vgs
VG PV LV SN Attr VSize VFree
vg_weiyigeek 1 2 0 wz--n- 19.51g 0
vgdemo1 2 1 0 wz--n- 992.00m 792.00m #必须要用可用的空间
$lvextend -L +100M /dev/vgdemo1/lv_disk1 #扩展lvs动态卷的大小 +100M是增加100M空间
Size of logical volume vgdemo1/lv_disk1 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).
Logical volume lv_disk1 successfully resized.
#2.lvs卷扫描查看分配后的大小
$lvscan
ACTIVE '/dev/vgdemo1/lv_disk1' [300.00 MiB] inherit
ACTIVE '/dev/vg_weiyigeek/lv_root' [17.54 GiB] inherit
ACTIVE '/dev/vg_weiyigeek/lv_swap' [1.97 GiB] inherit
#3.但这个时候我们用df-h命令查看一下发现挂载的文件系统并没有增大,这就需要我们使用resize2fs命令手动同步一下文件系统
#lvextend -L +100M /dev/vgdemo1/lv_disk1 -r #加上-r参数就此步可用忽略
$resize2fs -f /dev/vgdemo1/lv_disk1
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vgdemo1/lv_disk1 to 307200 (1k) blocks.
The filesystem on /dev/vgdemo1/lv_disk1 is now 307200 blocks long.
$df -h /lvsdisk #挂载完成并查看空间大小
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgdemo1-lv_disk1
287M 2.1M 270M 1% /lvsdisk
############## LVS缩小 ##############
#我们要先缩小文件系统,再去缩小逻辑卷
#逻辑卷扩容可以在线操作但是缩减必须是离线执行,需要先卸载已挂载的逻辑卷。
$umount /lvsdisk #取消挂载
#缩小文件系统前我们要先对文件系统做个扫描检测,如果我们直接使用resize2fs系统会提示让你先对文件系统进行检测,
#这是为了保护缩减文件系统时不对数据损害。
$e2fsck -f /dev/vgdemo1/lv_disk1
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vgdemo1/lv_disk1: 11/14112 files (9.1% non-contiguous), 6921/53248 blocks
#设置减小后的动态卷大小
$resize2fs /dev/vgdemo1/lv_disk1 200
$lvreduce -L 200M /dev/vgdemo1/lv_disk1 -r #将lv_disk1卷组缩小200MB (非常注意缩小后的空间必须是可以整除4的)与下面的参数无关了
$lvscan
ACTIVE '/dev/vgdemo1/lv_disk1' [52.00 MiB] inherit
$mount /dev/vgdemo1/lv_disk1 /lvsdisk/ #分区挂载
$df -h #查看缩小后的空间大小
/dev/mapper/vgdemo1-lv_disk1
47M 1.1M 43M 3% /lvsdisk
注意:
3)VG卷组的扩容与缩小 添加一块新的硬盘,通常我们是需要重启机器的;
WeiyiGeek.disk
#1.使用命令让系统重新扫描SCSI总线来添加设备,因为添加的是SCSI磁盘,所以扫描的是SCSI总线
echo "- - -" > /sys/class/scsi_host/host0/scan
#2.查看磁盘以及分区使用状态
$lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─vg_weiyigeek-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─vg_weiyigeek-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 500M 0 part
│ └─vgdemo1-lv_disk1 (dm-2) 253:2 0 52M 0 lvm /lvsdisk
└─sdb2 8:18 0 500M 0 part
sdc 8:32 0 1G 0 disk #我们新添加的磁盘
#3.首先将要添加的硬盘格式化为PV,再将新的PV添加到指定的卷组中去
$pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
$vgextend vgdemo1 /dev/sdc #将新建立PV扩展到vgdemo1中
Volume group "vgdemo1" successfully extended
$vgs
VG #PV #LV #SN Attr VSize VFree
vg_weiyigeek 1 2 0 wz--n- 19.51g 0
vgdemo1 3 1 0 wz--n- 1.96g 1.91g #扩展pV后的卷大小
########## 缩小卷组的缩减 ##########
$vgreduce vgdemo1 /dev/sdc #用vgreduce去缩小VG卷组的大小
Removed "/dev/sdc" from volume group "vgdemo1"
#缩小VG卷组也就是把一个PV从卷组中移除,但我们要先肯定PV中没有数据,不然就会造成数据的丢失
#然后使用pvremove命令移除PV,这样就让分区又重新变成了普通分区。
$pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped
描述: 由于系统安装的时候一共分了50G系统经过一段时间后发现磁盘资源不足,此时需要通过LVM进行对centos-root进行扩容;
环境准备: 在ESXI主机中找到指定的虚拟机,添加一块磁盘为150G即系统后面识别的/dev/sdb
基础流程:
# 1.查看系统当前磁盘情况
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 150G 0 disk
sr0 11:0 1 1024M 0 rom
sda 8:0 0 50G 0 disk
├─sda2 8:2 0 49G 0 part
│ ├─centos-swap 253:1 0 3.9G 0 lvm
│ └─centos-root 253:0 0 45.1G 0 lvm /
└─sda1 8:1 0 1G 0 part /boot
# 2.进行磁盘分区将分成两个主分区一个50G和一个100G
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
... #默认即可
Last 扇区, +扇区 or +size{K,M,G} (2048-314572799,默认为 314572799):+50G
分区 1 已设置为 Linux 类型,大小设为 50 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
... #默认即可
Last 扇区, +扇区 or +size{K,M,G} (104859648-314572799,默认为 314572799):
将使用默认值 314572799
分区 2 已设置为 Linux 类型,大小设为 100 GiB
命令(输入 m 获取帮助):w # 写入到磁盘中
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
# 3.查看分区信息
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000e9e57
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 104857599 51379200 8e Linux LVM
[[email protected] ~]# lsblk | grep "sdb"
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 150G 0 disk
├─sdb2 8:18 0 100G 0 part
└─sdb1 8:17 0 50G 0 part
# 4.查看系统中pv设备
[[email protected] ~]# pvscan
PV /dev/sda2 VG centos lvm2 [<49.00 GiB / 4.00 MiB free]
Total: 1 [<49.00 GiB] / in use: 1 [<49.00 GiB] / in no VG: 0 [0 ]
# 5.创建一个物理卷PV并且查看PV卷
[[email protected] ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 4.00m
/dev/sdb1 lvm2 --- 50.00g 50.00g
# 6.将创建的PV卷加入到已存在的centos VG卷之中
[[email protected] ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended
# 7.查看PV卷已经分配给Centos VG然后也可以通过vgs查看
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 4.00m
/dev/sdb1 centos lvm2 a-- <50.00g <50.00g
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 98.99g 50.00g
# 8.进行lv卷扩容50G采用lvscan命令查看扩容前后的比对;
[[email protected] ~]# lvscan
ACTIVE '/dev/centos/swap' [<3.88 GiB] inherit
ACTIVE '/dev/centos/root' [<45.12 GiB] inherit
[[email protected] ~]# lvextend -L +50G /dev/centos/root
Size of logical volume centos/root changed from <45.12 GiB (11550 extents) to <95.12 GiB (24350 extents).
Logical volume centos/root successfully resized.
[[email protected] ~]# lvscan
ACTIVE '/dev/centos/swap' [<3.88 GiB] inherit
ACTIVE '/dev/centos/root' [<95.12 GiB] inherit
# 9.此时您会发现lv其大小已经发生改变但是采用 df -h / 其大小并没有增加
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 150G 0 disk
├─sdb2 8:18 0 100G 0 part
└─sdb1 8:17 0 50G 0 part
└─centos-root 253:0 0 95.1G 0 lvm /
sda 8:0 0 50G 0 disk
├─sda2 8:2 0 49G 0 part
│ ├─centos-swap 253:1 0 3.9G 0 lvm
│ └─centos-root 253:0 0 95.1G 0 lvm /
└─sda1 8:1 0 1G 0 part /boot
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 46G 2.4G 43G 6% /
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
...
磁盘 /dev/sdb:161.1 GB, 161061273600 字节,314572800 个扇区
...
磁盘 /dev/mapper/centos-root:102.1 GB, 102131302400 字节,199475200 个扇区 #此处也显示扩容到100G
# 10.然后要解决上面df -h命令查看一下发现根挂载的文件系统并没有增大上,此时采用下面的命令进行更新同步文件系统
# 非常注意不同系统以及分区类型处理方式不同
$ df -Th
# Filesystem Type Size Used Avail Use% Mounted on
# /dev/mapper/centos-root xfs 96G 6.8G 89G 8% /
# /dev/mapper/ubuntu--vg-ubuntu--lv ext4 4.2G 3.7G 269M 94% /
# CentOS
[[email protected] ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=2956800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=11827200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=5775, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# ubuntu / general
# resize2fs -p -F /dev/mapper/ubuntu--vg-ubuntu--lv
# resize2fs 1.45.5 (07-Jan-2020)
# Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
# old_desc_blocks = 1, new_desc_blocks = 10
# The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 19398656 (4k) blocks long.
# - CentOS
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 96G 2.4G 93G 3% / # 文件系统也显示成功扩容
# - Ubuntu
# [[email protected] ~]$ df -hT
# Filesystem Type Size Used Avail Use% Mounted on
# udev devtmpfs 1.9G 0 1.9G 0% /dev
# tmpfs tmpfs 394M 1.2M 393M 1% /run
# /dev/mapper/ubuntu--vg-ubuntu--lv ext4 73G 3.7G 67G 6% /
# 11.将磁盘的另外一个分区挂载到/data目录
[[email protected] ~]# mkfs.xfs /dev/sdb2 #推荐采用XFS格式的分区
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=6553536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26214144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[[email protected] ~]# mkdir /data/
[[email protected] ~]# mkfs.ext4 /dev/sdb2
# mke2fs 1.42.9 (28-Dec-2013)
# 文件系统标签=
# OS type: Linux
# 块大小=4096 (log=2)
# 分块大小=4096 (log=2)
# Stride=0 blocks, Stripe width=0 blocks
# 6553600 inodes, 26214144 blocks
# 1310707 blocks (5.00%) reserved for the super user
# 第一个数据块=0
# Maximum filesystem blocks=2174746624
# 800 block groups
# 32768 blocks per group, 32768 fragments per group
# 8192 inodes per group
# Superblock backups stored on blocks:
# 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
# 4096000, 7962624, 11239424, 20480000, 23887872
# Allocating group tables: 完成
# 正在写入inode表: 完成
# Creating journal (32768 blocks): 完成
# Writing superblocks and filesystem accounting information: 完成
# 12.将格式后的磁盘分区进行挂载到/data目录下,并写入/etc/fstab中永久生效
[[email protected] ~]# mount /dev/sdb2 /data
[[email protected] ~]# echo "/dev/sdb2 /data xfs defaults 0 0" >> /etc/fstab
[[email protected] ~]# mount -l|grep "/dev/sdb2"
PS:我们实际生产操作中很少用到逻辑卷的缩减,因为缩减很容易就会造成数据损坏,这是得不偿失的,所以我们不推荐对逻辑卷进行缩减。
$lvreduce -L 52M /dev/vgdemo1/lv_disk1 -r
fsck from util-linux-ng 2.17.2
/dev/mapper/vgdemo1-lv_disk1: The filesystem size (according to the superblock) is 307200 blocks
The physical size of the device is 258048 blocks
Either the superblock or the partition table is likely to be corrupt!
/dev/mapper/vgdemo1-lv_disk1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
#原因:由于减小的lv卷区大小不能整除4导致
#解决办法:
mkfs.ext4 /dev/vgdemo1/lv_disk1 #格式化分区后重新设置大小lv卷大小可以被四整除
问题原因:由于文件系统(df -h 所看见的)未及时更新导致,所以更新一哈就可以; 解决办法:
$resize2fs -p -F /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 25
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 52164608 (4k) blocks long.
[email protected]:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.2M 393M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 196G 3.5G 185G 2% / # 已更新
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup