一.LVM概述
Logical Volume Manager,逻辑卷管理
1.优点
1.能够在保持现有数据不变的情况下
2.动态调整磁盘容量,
3.提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建
2.实现过程
将硬件设备指定为物理卷
用一个或者多个物理卷来创建一个卷组,
物理卷是用固定大小的物理区域(Physical Extent, PE
)来定义的,一个PE默认4M
在物理卷上创建的逻辑卷,是由物理区域(PE)组成
可以在逻辑卷上创建文件系统并挂载
3.LVM机制的基本概念
PV(物理卷)
物理卷是LVM机制的基木存储设备,通常对应为-一个普通分区或整个硬盘。创建物理春时,
会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,
并把存储空间分割成默认大小为4MB的基本单元(PhysicalExtent,PE),从而构成物理卷。
VG (卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV(逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系,
对于逻辑春来说,每一个卷组就是一个整体,从这个整体中切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
4.主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan扫描 | pvcan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdiplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | 无 | vgextend | lvextend |
Reduce 减少 | 无 | vgreduce | lvreduce |
5.实验步骤
1.添加2块硬盘并识别硬盘echo
2.使用fdisk工具进行分区,如果是分区 改8e
3创建物理卷
pvcreate 硬件设备…
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc" successfully created.
4,创建卷组
vgcreate 卷组名 物理卷
[root@localhost ~]# vgcreate zpq /dev/sdb1 /dev/sdc
Volume group "zpq" successfully created
5创建逻辑卷
lvcreate -L 指定大小 -n 逻辑卷名,卷组名
或者
lvcreate -n 逻辑卷名 -L 指定大小 卷组名
[root@localhost ~]# lvcreate -n zpq1 -L 10G zpq
Logical volume "zpq1" created.
6用mkfs格式化硬盘并挂载
mkfs -t xfs /dev/vgnamel/lvname1
mount /dev/vgnamel/lvnamel /opt目录下
df-Th
[root@localhost ~]# mkfs -t xfs /dev/zpq/zpq1
meta-data=/dev/zpq/zpq1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, 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 ~]# mount /dev/zpq/zpq1 /opt
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 24G 179M 24G 1% /boot
/dev/mapper/centos-home xfs 20G 33M 20G 1% /home
/dev/mapper/centos-var xfs 2.0G 1.5G 537M 74% /var
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/zpq-zpq1 xfs 10G 33M 10G 1% /opt
7.再扩容
pvcreat /dev/sdb2
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
vgextend vgname1 /dev/sdb2
[root@localhost ~]# vgextend zpq /dev/sdb2
Volume group "zpq" successfully extended
lvextend -L +10G /dev/vgname1/ lvname1
[root@localhost ~]# lvextend -L +5G /dev/zpq/zpq1
Size of logical volume zpq/zpq1 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
Logical volume zpq/zpq1 successfully resized.
xfs_growfs /dev/vgname1/ lvname1 //刷新xfs文件系统容量
[root@localhost ~]# xfs_growfs /dev/zpq/zpq1
meta-data=/dev/mapper/zpq-zpq1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, 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 2621440 to 3932160
resize2fs /dev/vgname1/ lvname1 //刷新ext4类型文件系统容量
检测是否扩展成功
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 24G 179M 24G 1% /boot
/dev/mapper/centos-var xfs 2.0G 1.5G 536M 74% /var
/dev/mapper/centos-home xfs 20G 33M 20G 1% /home
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/zpq-zpq1 xfs 15G 33M 15G 1% /opt
创建LVM流程
pvcreate创建pv->vgcreate创建卷组->lvcreate创建逻辑卷->mkfs.xfs1v格式化->mount挂载
删除LVM流程
umount 卸载→ lvremove lv 移出卷组中所有逻辑卷→vgremove vg 移出卷组→ pvremove 移出pv
二.磁盘配置
1.实现磁盘限额的条件
需要Linux内核支持
安装xfsprogs与quota软件包
Linux磁盘限额的特点
2.作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
3.操作过程
1.检查是否已安装xfsprogs和xfs_quota软件包
arpm -q xfsprogs quota
yum install -y xfsprogs quota
2、以支持配额功能的方式挂载文件系统
umount /dev/ vgname1/ lvname1 或者umount 路径
mount -o usrquota, grpquota /dev/vgname1/lvname1 /opt
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持
[root@localhost ~]# umont /dev/mapper/zpq-zpq1
[root@localhost ~]# mount -o usrquota,grpquota /dev/zpq/zpq1 /opt
或者
-vim/etc/ fstab
/dev/vgname1/ lvname1/ xfs optdefaults, usrquota, grpquotaxfs 0 0
mount -a #-a选项,将/etc/fstab的所有内容重新加载
3、编辑用户和组账号的配额设置
useradd zpq
passwd zpq
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq’ /opt/
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq' /opt
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
查看xfs_quota -x -c "report -aibh“
[root@localhost ~]# xfs_quota -x -c "report -abih"
User quota on /opt (/dev/mapper/zpq-zpq1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
zpq 0 80M 100M 00 [------] 0 40 50 00 [------]
Group quota on /opt (/dev/mapper/zpq-zpq1)
Blocks Inodes
Group ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
4、验证磁盘配额功能
chmod 777 /opt
5测试
dd if=/dev/zero of=/data/bigfile.img bs=100M count=2
复制 从哪复制 复制到哪里 一次复制大小 复制次数
[zpq@localhost /]$ dd if=/dev/zero of=/opt/z1y.txt bs=70M count=4
dd: 写入"/opt/z1y.txt" 出错: 超出磁盘限额
记录了2+0 的读入
记录了1+0 的写出
104857600字节(105 MB)已复制,0.543191 秒,193 MB/秒
总结
PE最小默认单位4M 所以利用率高
物理卷 pvcreat 分区/硬盘
卷组 vgcreat 卷组名 分区/硬盘
逻辑卷 lvcreat -n 名字 -L ?G 卷组名
格式化mkfs.xfs
挂载
扩容
先查看物理卷是否充足,卷组是否充足,如现实情况充足可不扩容
pvcreat
vgextend 卷组名 设备
lvextend -L +?G /dev/卷组/逻辑卷
xfs_growfs /dev/卷组/逻辑卷
磁盘限额
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq’ /opt/
重复建造一个文件dd if=/dev/zero of=/data/bigfile.img bs=100M count=2
查看xfs_quota -x -c "report -aibh“