14-1高级文件系统管理之磁盘配额
配置磁盘配额
一、开启磁盘配额功能
在/etc/fstab磁盘配额的挂载设备那行,挂载选项添加:分区挂载选项:usrquota、grpquota(
重新挂载时修改的,启用磁盘配额功能
例如:
#vim /etc/fstab
UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 default,usrquota,grpquota 0 0
//就是在要启用配额的挂载设备行,挂载选项添加用户配额和组配额功能
注意:磁盘配额必须做在一个独立分区上
二、创建配额数据库
初始化数据库:quotacheck
quotacheck -cug /home
三、启用磁盘配额数据库
开启或者取消配额:quotaon、quotaoff
查看是否启用数据库:
quotaon -p /home
开启磁盘配额功能:
quotaon /home
四、为用户设定配额
内容介绍
是以KB为单位
soft(第一个):警告空间大小
hard (第一个):最大空间大小
inndes:现有文件个数
soft (第二个):警告文件个数
hard (第二个):最大文件个数
编辑配额命令
edquota -u username
edquota -g groupname
在shell中直接编辑,如下:
对用户设置操作
setquota usename 4096 5120 40 50 /home
对组设置操作
edquota -g groupname 100000 80000 30 40 /home
已经给一个用户设置了配额,新加用户也想一样,可以复制user1的配置给user2
edquota -p user1 user2
注意:
1、文件的所有者是谁,文件一直都算谁的,不管移动到哪里,所有者是谁,都算上谁的文件
2、在测试时,一般每个用户创建文件所属组是自己,如果不是设置磁盘配额的组,是不生效的
因此用户目录设置,新建文件组继承,配置磁盘配额的组
例如:磁盘配额的组为group1,用户为user1,家目录为/home/user1
默认在/home/user1下创建文件的所属组是user1,现在如果配置了group1组配额
首先这个用户需要添加到该组,group1是user1的附属组,但是这样user1在/home/user1创建的文件所属组
是user1,不是group1,组磁盘配额是不生效的
则需要设置/home/user1中创建的新文件默认继承group1为所属组
chgrp -R group1 /home/user1
//R表示递归修改所属组,如果里面没有文件直接不用,我这里里面原本有文件,也是user1的文件
chmos g+s /home/user1
五、维护查看
报告配额状态
用户调查:quota username
配额概述:repquota /home
其它工具:warnquota ---------需要安装包quota-warnquota
实验:迁移/Home到新独立分区
1 建立新分区
image.png
2 建立文件系统
image.png
3创建临时挂载点并挂载
mkdir /mnt/home
mount /dev/sdb1 /mnt/home
image.png
4复制用户家目录所有数据到新的设备
cp /home/* /mnt/home -av
image.png
image.png
5备份用户数据并备份到远程主机
tar cvf /app/home.tar /home
scp /app/home.tar 172.18.2.44:
image.png
image.png
6 发个广播告知普通用户退出登陆并断开网络
init 1 断开网络,在远程不要执行
image.png
7删除原先home下的所有数据
rm -rf /home/*
image.png
8设置永久挂载设备/dev/sdb1到/home
vim /etc/fstab
UUID=22f999fd-2f47-4437-90db-fb2218523677 /home ext4 defaults 0 0
image.png
9重新加载永久挂载配置文件
mount -a
image.png
umount /mnt/home
image.png
10 init 3 还到原有模式并测试
image.png
image.png
实验:实现配额
1 启用配额功能
vim /etc/fstab
UUID=22f999fd-2f47-4437-90db-fb2218523677 /home ext4 usrquota,grpquota 0 0
image.png
启用配额功能,挂载的设备没人使用,直接mount -a 就可以,如果有人正在使用,只有重启生效
mount -a
reboot
image.png
2 创建配额数据库
quotacheck -cug /home
image.png
3 启用数据库
quotaon -p /home
quotaon /home
image.png
4 指用户的空间限制
edquota -u wang
Disk quotas for user wang (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 52 200000 300000 0 99 100
image.png
5 测试
image.png
image.png
image.png