磁盘容量配额(转)

如前面介绍章节讲到的类Unix系统最初设计理念就让许多人一起使用,多任务的操作系统,但是硬件的资源是固定有限的,如果出现个小破坏份子不断的创建文件或下载电影,那么硬盘空间总有一天会被占满的吧,这时就需要quota服务帮助我们为每个用户限制可以使用的硬盘空间,一旦超出预算就不再允许他们使用。

quota的磁盘配额可以限制用户的硬盘可用空间或最大创建文件数量,并且还有软/硬限制的区别:

软限制:当达到软限制时会提示用户,但允许用户在规定期限内继续使用。

硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。

查看内核是否支持quota功能:

[[email protected] ~]# dmesg | grep quota
[ 3.140241] VFS: Disk quotas dquot_6.5.2

查看quota程序包是否已经安装:

[[email protected] ~]# rpm -q quota
quota-4.01-11.el7.x86_64

查看boot目录是否支持quota功能(noquota表示暂时不支持):

[[email protected] ~]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

让/boot目录支持quota功能:

[[email protected] ~]# vim /etc/fstab
UUID=6e97ef8f-51f1-4781-8f1c-0acb9f631b32 /boot xfs defaults,uquota 0 0

重启主机后即可生效:

[[email protected] ~]# reboot

查看boot目录是否支持quota功能(usrquota表示已经支持):

[[email protected] Desktop]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)

创建两个用于quota实验的用户tom:

[[email protected] ~]# useradd tom

需要允许其他用户对/boot目录写入文件操作:

[[email protected] ~]# chmod -Rf o+w /boot

xfs_quota命令用于管理XFS文件系统的quota硬盘配额,格式为:“quota [参数] 配额 文件系统”。

参数 作用
-c 命令 以交换式或参数的形式设置要执行的命令。
-p 设置提示或报错信息的程序名称,默认为xfs_quota。
-x 专家模式,能够对quota做更多复杂的配置。

使用xfs_quota命令设置对tom用户在/boot目录的磁盘配额,具体要求如下:

使用quota专家模式限制磁盘软限制为3m、磁盘硬限制为6m、文件软限制为3个且文件硬限制为6个。

[[email protected] ~]# xfs_quota -x -c ‘limit bsoft=3m bhard=6m isoft=3 ihard=6 tom‘ /boot

获取当前/boot目录上的quota配额限制:

[[email protected] ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1)   Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]

切换至tom用户:

[[email protected] ~]# su - tom

正常创建了一个为5M的文件:

[[email protected] ~]$ dd if=/dev/zero of=/boot/tom bs=5M count=1
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.123966 s, 42.3 MB/s

创建8M文件时强制终止并报错了:

[[email protected] ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
6291456 bytes (6.3 MB) copied, 0.0201593 s, 312 MB/s

查看当前用户的quota限制(显示硬盘配额已占满):

[[email protected] ~]$ quota
Disk quotas for user tom (uid 1001):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda1 6144* 3072 6144 6days 1 3 6

edquota命令用于超级用户编辑其他用户的quota配额限制,格式为:“edquota [参数] [用户]”。

参数 作用
-u 编辑用户的配额限制。
-g 编辑用户组的配额限制。
-r 通过RPC协议编辑远程的配额。

编辑tom的配额限制,将硬盘的硬限制修改为8m(8192k):

[[email protected] ~]# edquota -u tom
Disk quotas for user tom (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 6144 3072 8192 1 3 6

切换至tom用户:

[[email protected] ~]# su - tom
Last login: Mon Sep 7 16:43:12 CST 2015 on pts/0

再来创建8m的文件就不会有问题了:

[[email protected] ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
1+0 records in
1+0 records out
8388608 bytes (8.4 MB) copied, 0.0268044 s, 313 MB/s
时间: 2024-11-05 04:52:22

磁盘容量配额(转)的相关文章

磁盘管理配额和raid配置

磁盘管理配额和raid配置 磁盘结构 <img src="E:\博客文本\磁盘配额和raid配置\1572923009298.png" alt="1572923009298" style="zoom:67%;" /> MBR与磁盘分区表示 主引导记录(MBR:Master Boot Record) MBR位于硬盘第一个物理扇区处 MBR中包含硬盘的主引导程序和硬盘分区表 分区表有4个分区记录区,每个分区记录区占16个字节 Linux中

VMware Workstation 12 增加磁盘容量 Windows Server 2012 系统 扩展

1.安装虚拟机后,检查C盘容量大小,发现C盘现在的空间是59.9GB,如下图: 2.使用window+R键,出现运行窗口,输入'cmd'-->'cd C:\Program Files (x86)\VMware\VMware Workstation',回车键,进入该路径. 3.在命令提示符后输入"vmware-vdiskmanager",无任何参数,按回车键.可以看到该命令的所有参数说明. 4.参考说明,执行类似下面的命令:vmware-vdiskmanager -x 80Gb 参

VMware Workstation 12 增加磁盘容量 Windows Server 2012 系统

1.安装虚拟机后,检查C盘容量大小,发现C盘现在的空间是59.9GB,如下图: 2.使用window+R键,出现运行窗口,输入'cmd'-->'cd C:\Program Files (x86)\VMware\VMware Workstation',回车键,进入该路径. 3.在命令提示符后输入"vmware-vdiskmanager",无任何参数,按回车键.可以看到该命令的所有参数说明. 4.参考说明,执行类似下面的命令:vmware-vdiskmanager -x 80Gb 参

C# 获取磁盘容量

原文:C# 获取磁盘容量 /// 获取指定驱动器的空间总大小(单位为B) /// </summary> /// <param name="str_HardDiskName">只需输入代表驱动器的字母即可 </param> /// <returns> </returns> public static long GetHardDiskSpace(string str_HardDiskName) { long totalSize=

【Linux】df命令 ,查看磁盘容量。

Oracle 导库时,失败,原因为磁盘满了, 记录下查看磁盘容量的指令 1.命令格式: df [选项] [文件] -a 全部文件系统列表 -h 方便阅读方式显示 -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024 -i 显示inode信息 -k 区块为1024字节 -l 只显示本地文件系统 -m 区块为1048576字节 --no-sync 忽略 sync 命令 -P 输出格式为POSIX --sync 在取得磁盘信息前,先执行sync命令 -T 文件系统类型 格式: df -

指令篇:磁盘容量的查看和查看文件夹大小___ df、du

磁盘容量的查看: df 显示的是已挂载的文件系统 df -h 以人类更适合的方式查看 df -T  同时显示文件系统的类型 查看文件夹的大小:  du 查看文件夹的大小和里面所有每个内容的大小  du -s 值查看文件夹的大小 du -sh    以人类可读的方式显示

RAID5容量计算方式:单块磁盘容量*(n-1)

RAID 5因为要容错.并行读取,就是少一个盘符的容量(容错备份用了),话说RAID 0更是减少一半盘符容量.具体的懒得自己打了,copy过来了:RAID5的可用磁盘数为:n-1.也就是说磁盘做RAID5后系统可使用容量为:单块磁盘容量*(n-1)所以你4块盘的RAID5,可用容量为:500G*(4-1)=1500G=1.5T RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就

Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Windows Server虚拟机 2.需要挂载额外的数据磁盘,一开始我初始化数据磁盘的容量为500G 3.经过一段时间以后,500GB容量不够了,我需要将这块数据磁盘扩容 注意:Azure A系列和D系列的虚拟机,磁盘容量是用多少算多少.比如我们挂载了1TB的数据磁盘,但是实际只使用1GB的存储空间. 微软只会

VM增加centos6.5磁盘容量

参考博文:http://www.cnblogs.com/sixiweb/p/3360008.html 编辑设置,修改硬盘大小 [[email protected] ~]# fdisk -l  #查看磁盘分区情况 Disk /dev/sda: 59.1 GB, 59055800320 bytes  #现有的磁盘容量 255 heads, 63 sectors/track, 7179 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes