一、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管理的更多相关文章

  1. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  2. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  3. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  4. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...

  5. js实现前端分页页码管理

    用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...

  6. Nhibernate的Session管理

    参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...

  7. .Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加

    在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Area ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理

    系列目录 前言 本节主要是关注者(即用户)和用户组的管理,微信公众号提供了用户和用户组的管理,我们可以在微信公众号官方里面进行操作,添加备注和标签,以及移动用户组别,同时,微信公众号也提供了相应的接口 ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理

    系列目录 前言 回顾上一节,我们熟悉的了解了消息的请求和响应,这一节我们来建立数据库的表,表的设计蛮复杂 你也可以按自己所分析的情形结构来建表 必须非常熟悉表的结果才能运用这张表,这表表的情形涵盖比较 ...

随机推荐

  1. 用RUST写流媒体服务器实战——rtmp chunk 深入解析

    用RUST写流媒体服务器实战--rtmp chunk 深入解析 最近几个月断更了,把精力放在了新的开源项目上,一个用rust写的流媒体服务xiu. 实现过程中踩了不少坑,今天说下rtmp中的chunk ...

  2. JAVAEE_Servlet_07_设置网站欢迎页面

    Web站点的欢迎页面的设置 * 欢迎页面怎么设置? - 假设在WebContent下创建login.html,想让login.html作为站点的欢迎页面. - 打开web.xml文件,添加<we ...

  3. python对BP神经网络实现

    python对BP神经网络实现 一.概念理解 开始之前首先了解一下BP神经网络,BP的英文是back propagationd的意思,它是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称 ...

  4. python进阶(17)协程

    协程 协程(Coroutine),又称微线程,纤程.(协程是一种用户态的轻量级线程)   作用:在执行 A 函数的时候,可以随时中断,去执行 B 函数,然后中断B函数,继续执行 A 函数 (可以自动切 ...

  5. Vue入门学习

    目录 Vue 简介 第一个Vue程序 Vue基本语法 双向绑定 组件 Axios异步通信 计算属性 Slot 自定义事件 第一个Vue-cli程序 webpack学习使用 Vue-Router路由 v ...

  6. NumPy之:数据类型对象dtype

    目录 简介 dtype的定义 可转换为dtype的对象 dtype对象 None 数组标量类型 通用类型 内置Python类型 带有.dtype属性的对象 一个字符的string对象 数组类型的Str ...

  7. 1090 Highest Price in Supply Chain

    A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...

  8. 17- web测试面试题

  9. jQuery+AJAX实现纯js分页功能

    使用jQuery的AJAX技术,在bootstrap的框架下搭建的纯js分页 bootstrap作为Twitter推的一款前端框架,效果个人还是觉得很不错的.这次只是拿来作为网页元素的css样式表使用 ...

  10. hdu2846 字典树(带id的)

    题意:      给你一些模式串,然后给你一些提问,每个提问是给你一个串,问你这个串在上 面的模式串中出现的次数. 思路:       一开始想到hash,但是因为用的是map,所以超时了,map的操 ...