简介
-
概念:
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。
-
lvm的特点:
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。#当采用LVM时:
1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在LVM上,可以跨分区,方便使用;
3.当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
制作LVM逻辑卷
-
做物理卷
下载pv
yum -y install lvm2
pv打标的可以是分区也可以是一整块磁盘
lsblk查看磁盘情况``` [root@localhost ~]# 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 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk sr0 11:0 1 4.4G 0 rom ```
创建pv
命令:pvcreate 磁盘/磁盘分区
[root@localhost ~]# pvcreate /dev/sdb WARNING: dos signature detected on /dev/sdb at offset 510. Wipe it? [y/n]: y Wiping dos signature on /dev/sdb. Physical volume "/dev/sdb" successfully created. [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 /dev/sdb lvm2 --- 10.00g 10.00g
-
创建vg
命令vgcreate 名字 磁盘
[root@localhost ~]# vgcreate vg1 /dev/sdb Volume group "vg1" successfully created [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 1 0 0 wz--n- <10.00g <10.00g
-
创建lv
命令lvcreate -L 2G -n lv名字 卷组名
[root@localhost ~]# lvcreate -L 2G -n lv1 vg1 WARNING: ext4 signature detected on /dev/vg1/lv1 at offset 1080. Wipe it? [y/n]: y Wiping ext4 signature on /dev/vg1/lv1. Logical volume "lv1" created. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-a----- 2.00g
-
制作文件系统并挂载
[root@localhost ~]# mkfs.xfs /dev/vg1/lv1 meta-data=/dev/vg1/lv1 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@localhost ~]# mkdir /mnt/lv{1..2} [root@localhost ~]# mount /dev/vg1/lv1 /mnt/lv1
查看
[root@localhost ~]# 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 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─vg1-lv1 253:2 0 2G 0 lvm /mnt/lv1 sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk sr0 11:0 1 4.4G 0 rom [root@localhost ~]# 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 17G 14G 3.3G 81% / /dev/sda1 xfs 1014M 138M 877M 14% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg1-lv1 xfs 2.0G 33M 2.0G 2% /mnt/lv1
LVM逻辑卷扩容
-
创建pv
[root@localhost ~]# pvcreate /dev/sdc WARNING: dos signature detected on /dev/sdc at offset 510. Wipe it? [y/n]: y Wiping dos signature on /dev/sdc. Physical volume "/dev/sdc" successfully created. [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 /dev/sdb vg1 lvm2 a-- <10.00g <8.00g /dev/sdc lvm2 --- 10.00g 10.00g
-
加到卷组
[root@localhost ~]# vgextend vg1 /dev/sdc Volume group "vg1" successfully extended [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 2 1 0 wz--n- 19.99g 17.99g
-
lv扩容
[root@localhost ~]# lvextend -L +15G /dev/vg1/lv1 Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 17.00 GiB (4352 extents). Logical volume vg1/lv1 successfully resized. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-ao---- 17.00g [root@localhost ~]# 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 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─vg1-lv1 253:2 0 17G 0 lvm /mnt/lv1 sdc 8:32 0 10G 0 disk └─vg1-lv1 253:2 0 17G 0 lvm /mnt/lv1 sdd 8:48 0 10G 0 disk sr0 11:0 1 4.4G 0 rom [root@localhost ~]# 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 17G 14G 3.3G 82% / /dev/sda1 xfs 1014M 138M 877M 14% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg1-lv1 xfs 2.0G 33M 2.0G 2% /mnt/lv1 [root@localhost ~]# xfs_growfs /dev/vg1/lv1 meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=131072 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=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 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 4456448 [root@localhost ~]# 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 17G 14G 3.3G 82% / /dev/sda1 xfs 1014M 138M 877M 14% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg1-lv1 xfs 17G 34M 17G 1% /mnt/lv1 [root@localhost ~]#
-
文件系统扩容
xfs_growfs /dev/vg1/lv1 #xfs扩容 resize2fs /dev/vg1/lv2 #ext4扩容