Linux_LVM管理
一、Ivm的应用场景及其弊端
1、应用场景:
- 随着公司的发展,数据增长较快,最初规划的磁盘容量不够用了
2、弊端:
- 数据不是直接存放在硬盘上,而是在硬盘的.上面又虚拟出来--层逻辑卷存放数据,故而增加了磁盘数据恢复的难度
二、物理卷、卷组、逻辑卷
逻辑卷(LV)、卷组(VG)、物理卷(PV)、基本单元(PE)、逻辑:logic 、卷:volume 、物理:physical
1、物理卷(PV):
- 物理卷(PV):把常规的块设备(硬盘, 分区等可以读写数据的设备)通过pvcreate命 令对其进行初始化,就成了物理卷
2、卷组(VG):
- 把多个物理卷的容量组成一个逻辑整体,可以从里面灵活分配容量
3、逻辑卷(LV):
- 从卷组中划分部分空间成为一个可以读写数据的逻辑单元。需要对其格式化然后挂载使用
三、部署LVM
1、创建LVM步骤:
- 1、创建卷组,将物理卷加入卷组
- 2、创建卷组,将物理卷加入卷组
- 3、在卷组中划分逻辑卷
- 4、格式化逻辑卷
- 5、挂载使用
2、与PV、VG、LV有关的命令
- 与物理卷(PV)有关的命令:
pvcreate //初始化(创建)物理卷(PV)
pvs //查看物理卷(PV)信息
pvdisplay //查看物理卷的详细信息
pvremove //删除物理卷
pvmove //迁移物理卷数据(随机迁移到其他的磁盘)
pvresize //改变物理卷的大小
pvscan //查看活跃的物理卷
- 与卷组(VG)有关命令:
vgcreate //创建卷组(VG)
vgs //查看卷组(VG)信息
vgdisplay //查看卷组的详细信息
vgextend //扩增卷组的容量
vgreduce //缩减卷组的容量
vgremove //删除卷组
vgrename //重命名卷组
vgscan //查看活跃的卷组
- 与逻辑卷(LV)有关的命令:
lvcreate //创建逻辑卷(LV)
lvs //查看逻辑卷(LV)信息
lvdisplay //查看逻辑卷的详细信息
lvextend //扩增逻辑卷的容量
lvreduce //缩减逻辑卷的容量
lvremove //删除逻辑卷
lvrename //重命名逻辑卷
lvsan //查看活跃的逻辑卷
3、实例:创建一个逻辑分区 —— lv1
- 查看已经创建的主分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.3G 0 rom /mnt
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─rhel-home 253:2 0 67G 0 lvm /home
nvme0n2 259:3 0 50G 0 disk
└─nvme0n2p1 259:4 0 20G 0 part //这是创建的主分区
- 初始化物理卷
//初始化物理卷
[root@localhost ~]# pvcreate /dev/nvme0n2p1
Physical volume "/dev/nvme0n2p1" successfully created. //查看物理卷(也可以指定物理卷)
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 lvm2 --- 20.00g 20.00g
或:
[root@localhost ~]# pvs /dev/nvme0n2p1
PV VG Fmt Attr PSize PFree
/dev/nvme0n2p1 lvm2 --- 20.00g 20.00g //查看物理卷的详细信息
[root@localhost ~]# pvdisplay /dev/nvme0n2p1
"/dev/nvme0n2p1" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name /dev/nvme0n2p1
VG Name
PV Size 20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID UVboOM-yr9q-cT7s-Cf7q-D52d-tZC8-Yw8eHr
- 创建卷组vg1,将刚刚创建的物理卷加入到卷组vg1中
//创建卷组vg1
[root@localhost ~]# vgcreate vg1 /dev/nvme0n2p1
Volume group "vg1" successfully created //查看卷组
[root@localhost ~]# vgs (也可以是指定卷组)
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 1 0 0 wz--n- <20.00g <20.00g
或:
[root@localhost ~]# vgs vg1
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- <20.00g <20.00g //查看卷组的详细信息
[root@localhost ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
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 <20.00 GiB
PE Size 4.00 MiB
Total PE 5119
Alloc PE / Size 0 / 0
Free PE / Size 5119 / <20.00 GiB
VG UUID nvvGgQ-zumO-zF40-fCAz-w12t-rnq1-QqZya7
- 创建逻辑卷lv1
语法:
lvcreate -n 逻辑卷名 -L 逻辑卷大小(+10G)卷组名 //创建逻辑卷
[root@localhost ~]# lvcreate -n lv1 -L +10G vg1
Logical volume "lv1" created. //查看逻辑卷
[root@localhost ~]# lvs (也可以指定逻辑卷)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-ao---- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
lv1 vg1 -wi-a----- 10.00g [root@localhost ~]# lvs /dev/vg1/lv1
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a----- 10.00g //查看逻辑卷的详细信息
[root@localhost ~]# lvdisplay /dev/vg1/lv1
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID 14Ja5a-j9bK-IxYQ-QENl-GbE2-2IzO-bCUzkm
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-08-20 19:32:17 +0800
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
- 格式化逻辑卷lv1
//查看已经创建好的逻辑卷lv1
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.3G 0 rom /mnt
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─rhel-home 253:2 0 67G 0 lvm /home
nvme0n2 259:3 0 50G 0 disk
└─nvme0n2p1 259:5 0 5G 0 part
└─vg1-lv1 253:3 0 2G 0 lvm //格式化逻辑卷lv1
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.44.6 (5-Mar-2019)
Creating filesystem with 524288 4k blocks and 131072 inodes
Filesystem UUID: 54afac9f-0363-4fb7-9f8f-d9576c4960b9
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912 Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done //查看格式化后逻辑卷的属性
[root@localhost ~]# blkid /dev/vg1/lv1
/dev/vg1/lv1: UUID="54afac9f-0363-4fb7-9f8f-d9576c4960b9" TYPE="ext4"
- 设置永久挂载逻辑卷lv1
//创建挂载目录
[root@localhost ~]# mkdir /dir //在/etc/fstab文件写入永久挂载信息
[root@localhost ~]# vim /etc/fstab
...........
UUID="54afac9f-0363-4fb7-9f8f-d9576c4960b9" /dir ext4 defaults 0 0 //查看是否挂载成功
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 0 904M 0% /dev/shm
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
/dev/sr0 7.4G 7.4G 0 100% /mnt
/dev/nvme0n1p1 1014M 173M 842M 17% /boot
/dev/mapper/rhel-home 67G 511M 67G 1% /home
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-lv1 2.0G 6.0M 1.8G 1% /dir
四、卷组管理
1、扩展卷组,将新磁盘加入卷组
- 查看已经拥有的卷组
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 1 1 0 wz--n- <5.00g <3.00g //假设空间不够用
- 初始化一块20G大小的物理卷
//查看已经分出来的20G的分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.3G 0 rom
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part
└─nvme0n1p2 259:2 0 119G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─rhel-home 253:2 0 67G 0 lvm
nvme0n2 259:3 0 50G 0 disk
├─nvme0n2p1 259:5 0 5G 0 part
│ └─vg1-lv1 253:3 0 2G 0 lvm
└─nvme0n2p2 259:6 0 20G 0 part
nvme0n3 259:4 0 60G 0 disk //初始化物理卷
[root@localhost ~]# pvcreate /dev/nvme0n2p2
Physical volume "/dev/nvme0n2p2" successfully created. //查看物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 vg1 lvm2 a-- <5.00g <3.00g
/dev/nvme0n2p2 lvm2 --- 20.00g 20.00g //这是刚刚初始化的物理卷
- 将物理卷加入到卷组vg1
//查看卷组
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 1 1 0 wz--n- <5.00g <3.00g //这是需要加入的卷组 //将物理卷加入卷组vg1
[root@localhost ~]# vgextend vg1 /dev/nvme0n2p2
Volume group "vg1" successfully extended //查看物理机是否加入到卷组vg1
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 vg1 lvm2 a-- <5.00g <3.00g
/dev/nvme0n2p2 vg1 lvm2 a-- <20.00g <20.00g //查看卷组vg1容量是否扩增
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 2 1 0 wz--n- 24.99g 22.99g //比原来扩大20G容量
2、缩减卷组,将加入的物理卷从指定的卷组移除
- 查看卷组vg1的容量
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 2 1 0 wz--n- 24.99g 12.99g
- 查看卷组vg1有哪些物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 vg1 lvm2 a-- <5.00g 0
/dev/nvme0n2p2 vg1 lvm2 a-- <20.00g 12.99g
- 将/dev/nvme0n2p2移除卷组vg1
[root@localhost ~]# vgreduce vg1 /dev/nvme0n2p2
Removed "/dev/nvme0n2p2" from volume group "vg1"
- 查看卷组容量大小
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 3 0 wz--n- <119.00g 0
vg1 1 0 0 wz--n- <5.00g <5.00g //卷组容量减少10G
五、逻辑卷管理
1、扩展逻辑卷(逻辑卷扩展,逻辑卷的扩展取决于卷组中的容量,逻辑卷扩展的容量不能超过卷组的容量)
查看已经创建的逻辑卷
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
lv1 vg1 -wi-a----- 2.00g //这是已经创建的逻辑卷,假设空间不够
- 扩展逻辑卷,扩大10G
[root@localhost ~]# lvextend -L +10G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 12.00 GiB (3072 extents).
Logical volume vg1/lv1 successfully resized.
- 查看逻辑卷容量是否扩大10G
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
lv1 vg1 -wi-a----- 12.00g /比原来扩大10G
- 使用df -T查看已经挂载的逻辑卷容量是否也扩大10G
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-lv1 2.0G 6.0M 1.8G 1% /dir //可以看到逻辑卷的容量任然是2G,刚刚扩增的10暂时还不能用,所以需要我们手动去扩充逻辑卷容量
- 使用resize2fs命令在线扩增ext类型的逻辑卷(ext类型的文件系统可以增加容量,也可以减少容量大小)
//查看逻辑卷的文件系统类型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 907316 0 907316 0% /dev
tmpfs tmpfs 924764 8816 915948 1% /run
tmpfs tmpfs 924764 0 924764 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 52403200 1799684 50603516 4% /
tmpfs tmpfs 184952 0 184952 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 1998672 6144 1871288 1% /dir //文件系统类型是ext4 //使用resize2fs命令手动扩充逻辑卷容量
[root@localhost ~]# resize2fs -f /dev/vg1/lv1 // -f:指定文件系统名
resize2fs 1.44.6 (5-Mar-2019)
Filesystem at /dev/vg1/lv1 is mounted on /dir; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vg1/lv1 is now 3145728 (4k) blocks long.
- 再次查看已经挂载的逻辑卷大小
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-lv1 12G 10M 12G 1% /dir //这次才是扩增后逻辑卷容量
2、假设我的逻辑卷的文件系统类型是xfs类型(xfs文件系统类型只能增容量,不能减容量)
- 查看逻辑卷文件系统类型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 907316 0 907316 0% /dev
tmpfs tmpfs 924764 8816 915948 1% /run
tmpfs tmpfs 924764 0 924764 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 52403200 1799724 50603476 4% /
tmpfs tmpfs 184952 0 184952 0% /run/user/0
/dev/mapper/vg1-vg1 xfs 2086912 47680 2039232 3% /dir //逻辑卷文件系统类型是xfs类型
- 查看逻辑卷初始容量
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
vg1 vg1 -wi-ao---- 2.00g //初始容量大小是2G
- 扩增逻辑卷容量大小(+10G)
[root@localhost ~]# lvextend -L +10G /dev/vg1/vg1
Size of logical volume vg1/vg1 changed from 2.00 GiB (512 extents) to 12.00 GiB (3072 extents).
Logical volume vg1/vg1 successfully resized.
- 查看逻辑卷容量大小
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
vg1 vg1 -wi-ao---- 12.00g //逻辑卷容量已经括大10G
- 查看已经挂载逻辑卷,查看逻辑卷容量是否也改变
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-vg1 2.0G 47M 2.0G 3% /dir //逻辑卷大小任然没有发生变化,还是初始的2G
- 使用xfs_growfs命令手动在线扩增逻辑卷容量
//首先尝试在线扩增(使用逻辑卷名)
[root@localhost ~]# xfs_growfs /dev/vg1/lv1
xfs_growfs: /dev/vg1/lv1 is not a mounted XFS filesystem
//发现会报错 //我们需要更改扩增的对象为挂载点
[root@localhost ~]# xfs_growfs /dir/
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=524288, 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
data blocks changed from 524288 to 3145728
- 查看在线扩增后逻辑卷容量是否扩增
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-lv1 12G 120M 12G 1% /dir
xfs_admin: 调整 xfs 文件系统的各种参数
xfs_copy : 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式)
xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等)
xfs_check: 检测 xfs 文件系统的完整性
xfs_bmap: 查看一个文件的块映射
xfs_repair: 尝试修复受损的 xfs 文件系统
xfs_fsr: 碎片整理
xfs_quota: 管理 xfs 文件系统的磁盘配额
xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中
xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统
xfs_growfs: 调整一个 xfs 文件系统大小(只能扩展)
xfs_freeze 暂停(-f)和恢复(-u)xfs 文件系统
xfs_logprint: 打印xfs文件系统的日志
xfs_mkfile: 创建xfs文件系统
xfs_info: 查询文件系统详细信息
xfs_ncheck: generate pathnames from i-numbers for XFS
xfs_rtcp: XFS实时拷贝命令
xfs_io: 调试xfs I/O路径
xfs相关常用命令
3、数据迁移卷组,同一卷组的物理卷磁盘才可以进行在线迁移(卷组内部迁移)
- 查看已经初始化的物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 vg1 lvm2 a-- <5.00g 0
/dev/nvme0n2p2 vg1 lvm2 a-- <20.00g 12.99g
- 在线迁移/dev/nvme0n2p1数据带其他的物理卷(迁移数据是随机的)
[root@localhost ~]# pvmove /dev/nvme0n2p1
/dev/nvme0n2p1: Moved: 1.72%
/dev/nvme0n2p1: Moved: 100.00%
- 查看物理卷容量改变
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <119.00g 0
/dev/nvme0n2p1 vg1 lvm2 a-- <5.00g <5.00g
/dev/nvme0n2p2 vg1 lvm2 a-- <20.00g <8.00g
4、对ext4文件系统的逻辑卷裁剪容量(ext类型的文件系统可以缩减磁盘容量大小;xfs类型的文件系统类型只能扩增次磁盘容量大小)
- 如果挂载了ext4文件系统,必须先卸载
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-lv1 12G 120M 12G 1% /dir [root@localhost ~]# umount /dir
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
- 剪裁容量前,必须检测文件系统类型
[root@localhost ~]# e2fsck -f /dev/vg1/vg1
e2fsck 1.44.6 (5-Mar-2019)
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/vg1/vg1: 11/655360 files (0.0% non-contiguous), 66753/2621440 blocks
- 对裁剪的预判大小
[root@localhost ~]# resize2fs /dev/vg1/lv1 10M
resize2fs 1.44.6 (5-Mar-2019)
resize2fs: New size smaller than minimum (17177)
//预判缩减成10M,提示新缩减的大小小于最小值(实际就是缩小后的大小不能存放原来逻辑卷文件,所以只能缩减到能存放原来文件大小) [root@localhost ~]# resize2fs /dev/vg1/vg1 1G
resize2fs 1.44.6 (5-Mar-2019)
Resizing the filesystem on /dev/vg1/vg1 to 262144 (4k) blocks.
The filesystem on /dev/vg1/vg1 is now 262144 (4k) blocks long.
//上面说明缩减至1G是可以的
- 调整完毕后采取裁剪逻辑卷容量
//查看起始逻辑卷大小
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
lv1 vg1 -wi-a----- 12.00g //裁剪大小到1G
[root@localhost ~]# lvreduce -L 1G /dev/vg1/lv1
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y //按 y 同意
Size of logical volume vg1/lv1 changed from 12.00 GiB (3072 extents) to 1.00 GiB (1280 extents).
Logical volume vg1/lv1 successfully resized.
- 查看裁剪后的逻辑卷容量大小
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rhel -wi-a----- <66.95g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- <2.05g
lv1 vg1 -wi-a----- 1.00g //已经缩减了到1G
- 再次检测文件系统
[root@localhost ~]# e2fsck -f /dev/vg1/vg1
e2fsck 1.44.6 (5-Mar-2019)
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/vg1/vg1: 11/65536 files (0.0% non-contiguous), 25632/262144 blocks
- 最后尝试是否可以挂载
[root@localhost ~]# mount /dev/vg1/vg1 /dir
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
tmpfs 181M 0 181M 0% /run/user/0
/dev/mapper/vg1-vg1 944M 21M 857M 3% /dir
Linux_LVM管理的更多相关文章
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- npm 私有模块的管理使用
你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...
- Spring基于AOP的事务管理
Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...
- Sublime Text 3中文乱码解决方法以及安装包管理器方法
一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- Nhibernate的Session管理
参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...
- .Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加
在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Area ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理
系列目录 前言 本节主要是关注者(即用户)和用户组的管理,微信公众号提供了用户和用户组的管理,我们可以在微信公众号官方里面进行操作,添加备注和标签,以及移动用户组别,同时,微信公众号也提供了相应的接口 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
系列目录 前言 回顾上一节,我们熟悉的了解了消息的请求和响应,这一节我们来建立数据库的表,表的设计蛮复杂 你也可以按自己所分析的情形结构来建表 必须非常熟悉表的结果才能运用这张表,这表表的情形涵盖比较 ...
随机推荐
- Recoil 中多级数据联动及数据重置的合理做法
前情回顾 书接上回,前面引出了在数据存在级联的情况下,各下拉框之间的默认值及值变化的处理.简单回顾一下: 场景是: 地域下拉决定可选的可用区 默认选中第一个地域,通过设置 atom 的 default ...
- redis的主从复制(哨兵模式)
p.p1 { margin: 0; font: 10px ".SF NS Text" } Master以写为主,Slave以读为主 读写分离 容灾恢复 一.一主多从 配置文件修改: ...
- 干掉 Feign,Spring Cloud Square 组件发布
Spring Cloud Square 是什么 谈起 Spring Cloud 生态大家一定对 Feign 不陌生,如下图所示,Feign 可以把底层(okhttp.httpclient)Rest 的 ...
- 集群部署时的分布式session如何实现?
session是啥?浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的sess ...
- mariadb_2 单表的增删改查
命令关键字: 创建表 create 删除表 drop 修改表的内容 update 修改表的结构 alter 删除表中内容 delete 增加表中内容 insert 查询表中内容 select ...
- 【Azure Developer】使用Java代码启动Azure VM(虚拟机)
问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...
- MySQL 储存引擎知识点
一:MySQL 存储引擎概述 1.1 什么是存储引擎: '''MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛 ...
- 【find】linux文件搜索命令find/locate
参考链接:https://mp.weixin.qq.com/s/y8LeZ0-9D56TWsD-ivPaHQ 一.按文件名称查找 按照文件名称查找是 find 最常见的用法,需要注意的是,搜索的文件名 ...
- 【网络协议】 RPC vs Http
- Windows API初练手 -- 疯狂写文件代码
警告:恶作剧软件,慎用!仅供初学者研究代码所用!!! 提示:默认文件创建目录在"D:\test",如果需要使用的话请自行更改目录. 1. Windows API 版本 (调用系统函 ...