磁盘配额的具体操作

磁盘配额:

linux的磁盘空间有两个方面:第一个是物理空间,也就是磁盘的容量

第二个inode号耗尽,也无法写入

linux根分区:根分区的空间完全耗尽,服务程序崩溃,系统也无法启动了。

为了防止有人恶意的占用磁盘空间,我们就有了磁盘配额的功能。

一个方面,限制用户占用磁盘的空间

另一个方面,限制用户创建文件的数量

xfs文件系统 xfs_quota进行管理

ext3/4文件 quota进行管理

限制容量:xfs_quota -x -c 'limit -u bsoft=80M bhard=100M cxk' /data1

xfs_quota

-x 表示启用专家模式,配额系统的所有管理命令都可以使用

-c 表示直接调用命令

-u 指定对象用户

bsoft:软限制,即使超过了也可以继续使用80M

bhard:硬限制,到了指定的配置就不可以继续写入了。100M

限制创建文件数:

xfs_quota -x -c 'limit -u isoft=4 ihard=6 cxk' /data1

isoft:创建文件的软限制

ihard:创建文件的硬限制

普通使用分区的磁盘容量限制20G-50G

创建文件数:100-200个。

取消配额:

[root@localhost /]# xfs_quota -x -c 'disable -up' /data1

磁盘配额的具体操作:

1、安装xfsprogs和quota两个软件包

复制代码
[root@localhost ~]# rpm -q xfsprogs quota
xfsprogs-4.5.0-18.el7.x86_64
quota-4.01-17.el7.x86_64
[root@localhost ~]# yum -y install xfsprogs quota

2、有普通挂载先解挂载

复制代码
[root@localhost ~]# umount /dev/zxc/qwe

3、再用支持配额的方式进行挂载

复制代码
[root@localhost ~]# mount -o usrquota,grpquota /dev/zxc/qwe /data1

4、关闭防火墙

复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

5、创建一个名为zxc的用户并设置登录密码

复制代码
[root@localhost ~]# useradd zxc
[root@localhost ~]# passwd zxc
更改用户 zxc 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

6、设置指定用户只能写入不超过100M的文件

复制代码
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zxc' /data1

7、设置文件的权限

复制代码
chmod 777 /data1

8、转换用户

复制代码
su -zxc

9、在data1写入120M大小的文件

复制代码
[zxc@localhost data1]$ dd if=/dev/zero of=/data1/123/txt bs=10M count=12

10、只写入了100M大小的文件

复制代码
[zxc@localhost data1]$ ll -h
总用量 100M
-rw-rw-r--. 1 zxc zxc 100M 5月  28 15:16 123.txt

11、设置指定用户创建的文件数量

复制代码
[root@localhost /]# xfs_quota -x -c 'limit -u isoft=4 ihard=6 zxc' /data1

12、去被指定的用户创建8个文件

复制代码
[zxc@localhost data1]$ touch {1..8}.txt
touch: 无法创建"7.txt": 超出磁盘限额
touch: 无法创建"8.txt": 超出磁盘限额

13、只创建了6个,7和8显示超出限额

复制代码
[zxc@localhost data1]$ ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt

补充:取消配额

复制代码
[root@localhost /]# xfs_quota -x -c 'disable -up' /data1

第二个:缩容

xfs文件系统是不能缩容的。

ext4可以缩容

ext4缩容的具体操作:

1、有挂载先解挂载

复制代码
[root@localhost /]# umount /dev/xz/gege

2、缩去一定的内容

复制代码
[root@localhost /]# lvreduce -L -4G /dev/xz/gege
  WARNING: Reducing active logical volume to 5.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce xz/gege? [y/n]: y
  Size of logical volume xz/gege changed from 9.00 GiB (2304 extents) to 5.00 GiB (1280 extents).
  Logical volume xz/gege successfully resized.

3、显示内存已经减少了4G

复制代码
[root@localhost /]# lvdisplay xz
  --- Logical volume ---
  LV Path                /dev/xz/gege
  LV Name                gege
  VG Name                xz
  LV UUID                OYlc6Z-RYsP-ffHM-qMxL-5oN3-jwhI-OANFvj
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2024-05-28 15:58:21 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 GiB
  Current LE             1280
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
​

重点:第一个:一定要会创建逻辑卷 动态扩容。卷组可以扩容,逻辑卷也可以扩容

第二个:磁盘配额,容量 文件数量

作业:永久挂载实现磁盘配额(有坑!!!)

/dev/cxk/ky27 /opt/data xfs defaults,usrquota,grpquota 0 0

操作:

1、进入/etc/fstab文件

复制代码
vim /etc/fstab

2、在最后一行加入磁盘配额的永久挂载

复制代码
/dev/zxc/qwe /data1 xfs defaults,usrquota,grpquota 0 0

其他操作与上面临时挂载的配额一样

相关推荐
MZWeiei3 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
7yewh18 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
Arenaschi22 分钟前
在Tomcat中部署应用时,如何通过域名访问而不加端口号
运维·服务器
小张认为的测试22 分钟前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
waicsdn_haha30 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
打鱼又晒网30 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
良许Linux44 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维1 小时前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
Hacker_Oldv1 小时前
WPS 认证机制
运维·服务器·wps