1.逻辑卷介绍
lvm概念:LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。
lvm的特点
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。
#当采用LVM时:
1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在LVM上,可以跨分区,方便使用;
3.当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。
#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
lvm制作
#第一步:
做物理卷: pv ------- sdb1、sdb2 打pv的标记。
#第二步:
PV加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
#第三步:
逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
#第四步:
制作文件系统------mkfs.xfs lvm路径
#第五步:
挂载 ------mount 使用lvm
2.实际操作
首先将磁盘分区
[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
# 得到sdb1
更新分区表
[root@bogon ~]# partprobe /dev/sdb
[root@bogon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 22G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─centos-root 253:0 0 22G 0 lvm /
└─sdb2 8:18 0 5G 0 part
sr0 11:0 1 4.4G 0 rom
# 可以看到sdb2分区
创建物理卷(pv)
[root@bogon ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
创建vg卷组
[root@bogon ~]# vgcreate vg2 /dev/sdb2
Volume group "vg2" successfully created
[root@bogon ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 28.99g <5.00g
vg2 1 0 0 wz--n- <5.00g <5.00g
#查看创建情况
[root@bogon ~]# lvcreate -L +2G -n lv2 vg2
Logical volume "lv2" created.
[root@bogon ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <22.00g
swap centos -wi-ao---- 2.00g
lv2 vg2 -wi-a----- 2.00g
#创建逻辑卷,并查看
制作文件系统并挂载
[root@bogon ~]# mkfs.xfs /dev/vg2/lv2
meta-data=/dev/vg2/lv2 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
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
[root@bogon ~]# mkdir /mnt/lv2
[root@bogon ~]# mount /dev/vg2/lv2 /mnt/lv2
[root@bogon ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 22G 1.5G 21G 7% /
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg2-lv2 xfs 2.0G 33M 2.0G 2% /mnt/lv2
# 显示已挂载
3.逻辑卷扩容
[root@bogon ~]# lvextend -L +1G /dev/vg2/lv2
Size of logical volume vg2/lv2 changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
Logical volume vg2/lv2 successfully resized.
[root@bogon ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <22.00g
swap centos -wi-ao---- 2.00g
lv2 vg2 -wi-ao---- 3.00g
# 逻辑卷扩充到3G
4.根分区扩容
磁盘分区制作物理卷
[root@bogon ~]# pvcreate /dev/sdb1
VG组扩容
[root@bogon ~]# vgextend centos /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
Volume group "centos" successfully extended
# 将物理卷sdb1扩容至centos
根分区扩容
[root@bogon ~]# lvextend -L +5G /dev/centos/root
Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <22.00 GiB (5631 extents).
Logical volume centos/root successfully resized.
进行扩容
[root@bogon ~]# xfs_growfs /dev/mapper/centos-root
[root@bogon ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 22G 1.5G 21G 7% /
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
# 发现centos-root扩容5G,至22G.