本章结构
1.LVM概述
2.LVM的管理命令
3.LVM应用实例
4.磁盘配额概述
5.磁盘配额管理
1.LVM概述
Logical Volume Manager,逻辑卷管理
能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建
LVM概念
PV ( Physical volume,物理卷)
物理卷是LVM机制的基木存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录VM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷(例:/dev/sdb1 /dev/sdc1) 。
PE的值可以是4、8、16、32、64。PE越小硬盘利用率高,但是每个vc块的最大数65534,所以PE大小决定了VG卷组大小
VG (volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV ( Logical volume,逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中"切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
2.LVM的管理命令
3.LVM应用实例
LVM操作主要命令步骤
1.关闭主机,添加两块新硬盘,重启主机
或echo "- - - " > /sys/class/scsi_host/host0/scan 扫描
2.先使用fdisk工具讲磁盘设备/dev/sdb、/dev/sdc划分主分区sdb1、sdc1,并且把分区类型的ID标记号改为"8e"
fdisk /dev/sdb
fdisk /dev/sdc
3.创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
4.创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
5.创建逻辑卷,逻辑卷名为lvname1,容量为20GB,生产的文件路劲为/dev/vgname1/
lvname1
lvcreate -L 20G -n lvname1 vgname1
6.对逻辑卷进行格式化,创建XFS文件系统,并且挂载到/opt目录下
mkfs.xfs /dev/vgname1/ lvname1
mount /dev/vgname1/lvname1 /opt 目录下
df -Th
mount -a #刷新
7.再扩容
vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvnamel
xfs_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量
创建LVM 流程:
pvcreate 创建 pv --- vgcreate 创建卷组--- lvcreate 创建逻辑卷----mkfs.xfs lv 格式化---- mount挂载
删除LVM流程:
umount 卸载---- lvremove lv 移出卷组中所有逻辑卷-----vgremove vg 移出卷组-> pvremove移出 pv
缩减5G(一般不要用)
lvreduce -L -5G /dev/mail_store/mail_class
需求扩展卷组
添加硬盘
echo "- - -" > /sys/class/scsi_host/ host1 / scan
卷组扩展
vgextend mail_store /dev/sdd1
卷组缩小
vgreduce mail_store /dev/sdd1
先扩展10G
lvextend -L +10G /dev/mail_store/mail_class
vgreduce mail_store /dev/sdd1
物理卷删除一个磁盘
pvremove /dev/sdd1
快照后期添加
xfs_growfs /dev/mapper/kgc-kgcl
df -Th
调整xfs分区大小(只能增大):
lvextend -L 120G /dev/mapper/centos-root #增大至120G
lvextend -L +20G /dev/mapper/centos-root #增加20G
xfs_growfs /dev/mapper/centos-root #执行调整
注: ext2/ext3/ext4的调整命令是resize2fs,如下:
lvextend -L 120G /dev/mapper/centos-root #增大至120G
lvextend -L +20G /dev/mapper/centos-root #增加20G
lvreduce -L 50G /dev/mapppr/centos-home #减小至50G
lvreduce -L -8G /dev/mapper/centos-home #减小8G
resize2fs /dev/mapper/centos-root #执行调整
修复命令:
xfs_repair /dev/sdb1
注:以下分别是Jfs,Ext2,Ext3的修复命令:
fsck.jfs -y /dev/sdb1
fsck.ext2 -y /dev/sdb1
fsck.ext3 -y /dev/sdb1
调整中遇到的问题:
1、对xfs文件系统使用mke2fs命令后变为ext2,需要修改文件/etc/fstab中对应的文件系统类型
2、不同文件系统类型对应的创建、检查、调整命令不同,要注意区分
#lvextend /dev/vg1/lv1 -L 500M #将LV扩大至500M
#xfs_growfs /dev/vg1/lv1 # xfs文件系统扩展方法
#resize2fs /dev/vg1/lv1 # ext4文件系统扩展方法
调整中遇到的问题:
1、对xfs文件系统使用mke2fs命令后变为ext2,需要修改文件/etc/fstab中对应的文件系统类型
2、不同文件系统类型对应的创建、检查、调整命令不同,要注意区分
#lvextend /dev/vg1/lv1 -L 500M #将Lv扩大至500M
#xfs_growfs /dev/vg1/lv1 #xfs文件系统扩展方法
#resize2fs /dev /vg1/lv1 # ext4文件系统扩展方法
3、未知的文件系统类型"(null) ”
[rootekgc / ]# mount /dev/mapper/web kgc-njzb /opt/
mount: /dev/mapper/web kgc-njzb 写保护,将以只读方式挂载
mount: 未知的文件系统奚型" (null)"
解决方法:重新更新文件系统
mkfs.xfs
4.磁盘配额概述
实现磁盘限额的条件
需要Linux内核支持
安装xfsprogs与quota软件包
Linux磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
1.磁盘配额的作用范围
xfs quota
设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。
2.磁盘配额的限制对象
xfs_quota
主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。
3.磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为KB。
文件数量:限制用户能够拥有的文件个数。在 Linux操作系统中,每一个文件都有一个对应的数字标记,称为 i
结点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此 xfs_quota通过限制i结点的数量来实现对文件数量的限制。
4.磁盘配额的限制方法
软限制:指定一个软性的配额数值(如480MB磁盘空间、180个文件),在固定的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如500MB磁盘空间、200个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。
从以上描述中可以看出,在实施磁盘配额的实际过程中,"只有当用户(或组)、文件系统(分区)及配额数值都满足限额条件时,xfs_quota才会对操作进行限制。
启用磁盘配额支持
5.磁盘配额管理
磁盘配额管理
编辑用户和组账号的配额设置
useradd lisi
passwd lisi
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lisi' /opt/
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
#仅限制磁盘容量
xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /njzb_xm/
#仅限制文件数
xfs quota -x -c 'limit -u isoft=4 ihard=5 lisi' /njzb_xm/
#查看lisi磁盘:容量限制
xfs_quota -c ' quota -uv lisi' /njzb_xm/
#查看zhangsan文件数限制
xfs quota -c 'quota -i -uv lisi' /njzb_xm/
验正磁盘配额功能
chmod 777 /njzb_xm
su lisi
cd /njzb_xm
#验证磁盘容量超限
dd if=/dev/zero of=/njzb_xm/kgc.txt bs=10M count=12
#验证磁盘文件数超限
touch {aa,bb,cc,dd, ee, ff}.txt
touch test{ 1..6}.txt
dd命令是一个设备转换和连续复制命令
"if=”指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs=”指定读取数据块的大小
"count="指定读取数据块的数量
/dev/zero "零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
磁盘配额管理
查看磁盘配额
report常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数
xfs_
本章总结
物理卷管理
卷组管理
逻辑卷管理
磁盘配额的作用范围、限制对象、限制类型、限制方法
磁盘配额管理



