目录
磁盘容量限额quota技术
磁盘配额分类
对磁盘开启限额服务
xfs_quota管理磁盘配额
edquota 管理磁盘配额
VDO虚拟数据优化
创建VDO卷
vdostats 查看vdo卷的使用情况
磁盘容量限额quota技术
磁盘配额可以限制用户的硬盘可用容量和用户所能创建的最大文件个数
磁盘配额分类
根据限制方式分类
软限制(soft) 达到限制时提醒用户,不过用户还可以在限定的额度内继续使用
硬限制(hard) 达到限制时会提示用户,并且强制终止用户的操作
其中:硬限制必须大于软限制的限额;超级用户不受软、硬限制
根据限制内容分类
限制所有文件加起来的容量(限制文件的block)
限制的所有文件加起来的总个数(限制文件的inode,通过限制inode的个数来限制文件的个数)
bsoft 对文件大小进行软限制
bhard 对文件大小进行硬限制
isoft 对文件大小进行软限制
ihard 对文件大小进行硬限制
对磁盘开启限额服务
RHEL8默认已经安装了quota服务程序包,但是磁盘默认没有开启quota的支持
需要在/etc/fstab文件下对需要做配额的磁盘开启quota服务的支持
配置基于xfs文件系统进行配额
在分区权限字段加入uquota字段(即:defaults,uquota),就表示此磁盘开启磁盘配额
usrquota是老版本的参数,写的时候一定要写为uquota
查看磁盘权限(即磁盘限额是否生效)
mount | grep 挂载点 可以查看磁盘的权限
发现此磁盘已经拥有了磁盘配额权限(如果没发现权限,可以重新挂载或者重启系统)
xfs_quota管理磁盘配额
针对xfs系统管理磁盘限额
xfs_quota -x -c 'limit bsoft=3m bhard=5m isoft=3 ihard=5 用户名' 目录
对于哪个目录,针对哪个用户,做软、硬限制(限制目录下的文件总大小和文件总个数)
-x expert专家模式
-c 使用非交互方式进行配置
配置举例
xfs_quota -x -c 'limit bsoft=3m bhard=5m isoft=3 ihard=5 admin‘ /media/sdb1
对admin用户做限制,admin用户在/media/sdb1目录下做关于文件大小和个数的软硬限制
chmod 777 /media/sdb1 在root更改/media/sdb1的权限,使得其它用户也可以访问
su – admin 登录到admin用户
软限制的提示信息会写入到系统信息中,并不会输出到屏幕上;硬限制的提示信息会输出到屏幕
edquota 管理磁盘配额
使用vim编译器来实现的,只有管理员可以编辑自己以及其它用户的磁盘配额,用户自己无法编辑自己的磁盘配额
edquota -u 用户名 对某个用户设置磁盘限额
-g 对用户组进行磁盘限额
-t 设置宽限期限
配置举例
edquota -u admin 管理admin的磁盘限额
/dev/sdb1 用户被配置限额的目录(即用户在此目录下配限额)
blocks 当前使用的文件总容量(编辑这个值没有意义)
soft 对文件总容量的软限制
hard 对文件总容量的硬限制
inodes 当前使用的文件总个数(编辑这个值没有意义)
soft 对文件总个数的软限制
hard 对文件总个数的硬限制
磁盘限额注意事项
开启限额功能的必须是完整的磁盘、磁盘分区或逻辑卷,无法针对子目录开启权限限额
但是在做限额的时候可以针对挂载目录的子目录进行限额
VDO虚拟数据优化
VDO的作用
VDO(Virtual Data Optimize)虚拟数据优化技术—节省空间
可以通过压缩或删除存储设备上的数据来优化存储空间(对于不同数据的压缩比例不同)
可以对文件查重,当保存多份相同数据的时候,可以极大的节省空间(并且相同数据越多,新产生的数据的压缩比例越高,节省的空间越多)
VDO具体做法
如果一个磁盘的物理大小为2T,可以通过VDO将其转为10T的逻辑大小
逻辑大小与物理大小的比例一般是1:10、1:3等
但是使用时是以实际物理大小为准的
创建VDO卷
安装vdo软件包(默认RHEL已经拥有vdo技术)
dnf install vdo kmod-kvdo
当忘记vdo命令时,搜索这个关键词,可以找到vdo相关命令
man vdo | grep vdo0
创建vdo卷(创建的vdo卷会存放在/dev/mapper/vdo卷名 下)
vdo create --name=vdo0 --device=/dev/sdc --vdoLogicalSize=50G
--name 新建的vdo卷的名称
--device 将哪个磁盘制作为vdo卷
--vdoLogicalSize 制作后vdo卷的逻辑大小
查看vdo卷名为vdo0的状态(也可以通过lsblk查看)
vdo status --name=vdo0
对vdo0卷进行格式化操作(可以根据需要去做分区)
mkfs.xfs /dev/mapper/vdo0
udevadm settle 设备进行刷新,避免上次命令没有生效
对vdo分区挂载
mkdir /media/vdo0
mount /dev/mapper/vdo0 /media/vdo0(临时挂载)
vim /etc/fstab (永久挂载)
/dev/mapper/vdo0 /media/vdo0 xfs defaults 0 0
vdostats 查看vdo卷的使用情况
默认以k为单位
--human-readable 以人类可读的方式显示
显示物理大小为5G(就为硬盘的物理大小)