Linux实验记录:磁盘容量配额

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

目录

前言:

备注:

磁盘容量配额:

Step1:编辑配置文件

Step2:使用xfs_quota命令管理磁盘容量配额 

限制原理:

Step3:edquota命令

VDO(虚拟数据优化)

Step1:添加一块容量为20GB的新SATA硬盘

Step2:使用dnf命令完成VDO的安装

Step3:创建一个全新的VDO卷 

 Step4:对新建卷进行格式化并挂载使用

Step5:设置永久挂载生效


备注:

root管理员需要使用磁盘容量配额服务来限制某位用户或者某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。

可以使用quota技术进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。

软限制:达到限制时会提示用户,但仍允许在限定额度内继续使用。

硬限制:提示并强制终止用户的操作。

RHEL8系统中已经安装了quota磁盘容量配额服务程序包,但存储设备却默认没有开启对quota技术的支持,需要手动编辑配置文件并重启一次系统。

磁盘容量配额:

Step1:编辑配置文件

 RHEL5/6使用的是usrquota参数

RHEL7/8使用的则是uquota参数

重启后:使用mount命令查看/boot目录

 现在/boot目录已经支持quota磁盘配额技术了。

然后创建一个用户tom,用于检查quota磁盘容量配额效果

并针对/boot 目录增加其他人的写权限,保证用户能正常写入数据

Step2:使用xfs_quota命令管理磁盘容量配额 

 语法格式:“xfs_quota [参数]配额 文件系统”

这是一个专门针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令

接下来使用xfs_quota命令来设置用户tom对/boot目录的quota磁盘容量配额。

具体配额限制:

磁盘使用量的软限制和硬限制分别为 3MB 和 6MB

建文件数量的软限制和硬限制分别为:3个 6个

-x参数:专家模式,让运维人员能够对quota服务进行更多复杂的配置

-c参数:用于以参数形式设置要执行的命令

 现在配置好了软硬限制,切换到普通用户,分别尝试创建5MB 和 8MB 的文件:

可以发现:创建8M文件的时候受到了系统限制 

限制原理:

上面所使用的参数分为两组,分别是isoft/ihard 与 bsoft/bhard 。

在Linux系统中每个文件都会使用一个独立的inode信息块来保存文件属性

一个文件对应一个inode信息块

所以isoft和ihard是通过限制系统最大使用的inode个数来限制文件数量。

bsoft和bhard则是代表文件所占用的block大小,即文件占用的最大容量的总统计。

Step3:edquota命令

在为用户设置了quota磁盘容量配额限制后,可以用edquota命令按需修改修改限额 

edquoda命令用于管理系统的磁盘配额,英文全称"edit quota“

语法格式:equota [参数] 用户名

下面把用户tom的硬盘使用量硬限额从5MB 提升到 8MB

VDO(虚拟数据优化)

  VDO(Virtual Data Optimize,虚拟数据优化),是一种通过压缩或删除存储设备上的数据来优化存储空间的技术。

VDO技术的关键是对硬盘内原有的数据进行删重操作,还可以对日志和数据库进行自动压缩。

VDO技术支持本地存储和远程存储,可以作为本地文件系统、iSCSI或Ceph存储下的附加存储层使用。

现进行VDO的练习:

Step1:添加一块容量为20GB的新SATA硬盘

用ls -l命令——以长格式显示文件目录信息

Step2:使用dnf命令完成VDO的安装

RHEL8/CentOS 8系统默认已经启用了VDO技术,下图显示已安装。 

Step3:创建一个全新的VDO卷 

新添加进来的物理设备是用vdo命令来管理的,

其中name参数代表新的设备卷的名称 

device参数代表由哪块磁盘进行操作

vdoLogicalSize参数代表制作后的设备大小

根据redhat推荐原则,这里20G硬盘将翻成200GB的逻辑存储。

创建成功后,使用status参数查看新建卷的概述信息:

可以看到:输出信息中包含了VDO卷的创建时间、主机名、版本、是否压缩、是否删重等。

新建的VDO卷设备被存放在/dev/mapper目录下,并以设备名称命名。

 Step4:对新建卷进行格式化并挂载使用

 图中:

isize表示inode容量,每个有256byte

agcount是储存区群组的个数,共有4个

agsize指每个储存区群组有13107200个bolck,第四行bsize表示每个block设定为4K

sectsz表示逻辑磁区容量设定512bytes

格式化完成后,可以用udevadm settle命令对设备进行一次刷新操作,确保配置生效。

 创建文件夹,进行挂载

查看设备使用情况:

这里的SIze是实际物理存储的空间大小,使用df命令查看逻辑存储空间:

 复制一些大文件来,查看占用容量和空间节省率:

 再复制一次相同的文件,更明显地查看效果:

 原先448MB的文件只占用了不到100MB的容量,空间节省率%55!

Step5:设置永久挂载生效

用blkid命令查看UUID:

 加上_netdev参数,等系统及网络都启动后再挂载VDO设备卷,确保万无一失

相关推荐

  1. Liunx的LVM与磁盘配额

    2024-01-28 12:26:02       68 阅读
  2. Linux实战记录

    2024-01-28 12:26:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 12:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 12:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 12:26:02       82 阅读
  4. Python语言-面向对象

    2024-01-28 12:26:02       91 阅读

热门阅读

  1. 栈的基础知识

    2024-01-28 12:26:02       50 阅读
  2. perl 通过信号控制执行超时

    2024-01-28 12:26:02       57 阅读
  3. 设计模式 :总结篇

    2024-01-28 12:26:02       62 阅读
  4. Spring Cloud Sleuth与Zipkin详解

    2024-01-28 12:26:02       67 阅读
  5. Python在网络安全防御中的应用与实践

    2024-01-28 12:26:02       52 阅读
  6. @Scheduled笔记240124

    2024-01-28 12:26:02       49 阅读
  7. vue el-date-picker 开始日期不能大于结束日期

    2024-01-28 12:26:02       60 阅读
  8. C 练习实例49-宏#define命令练习3

    2024-01-28 12:26:02       59 阅读
  9. Git(7)之提交消息模板

    2024-01-28 12:26:02       53 阅读
  10. MongoDB基本使用

    2024-01-28 12:26:02       49 阅读
  11. leetcode 字符串相关题目

    2024-01-28 12:26:02       53 阅读