Linux中linux 查看磁盘配额额如何分类

扫一扫体验手机阅读
认识Linux的磁盘配额
<span type="1" blog_id="237331" userid='
279篇文章,47W+人气,0粉丝
高并发架构之路
¥51.00127人订阅
新西兰资深网工运维之道
¥51.00425人订阅
前百度高级工程师的架构高可用实战
¥51.00235人订阅
<span type="1" blog_id="237331" userid='下次自动登录
现在的位置:
& 综合 & 正文
Linux系统下的用户磁盘配额
转载自:http://yangzexin07.blog.51cto.com/986/
注:请各位网友在看下面内容之前先看《》,因为以下内容是在《 》基础上实现的。
使用编辑器给需要配额的文件系统添加usrquota或grpquota选项,下面我们对在/etc/sdb1上启用用户和组群配额,截图如下:
重新挂载文件系统,使用命令mount
–a重新挂载文件系统
创建配额文件,在mysdb目录下执行quotacheck
–acug命令,那么执行该命令后会在mysdb目录下创建aquota.user和aquota.group配额文件,截图如下:
为yangzexin这个用户分配配额,最多允许创建六个文件夹,软限制却是为4个
修改/mnt下mysbd文件夹得权限,让其他用户对mysdb拥有全部权限,截图如下:
查看对用户yangzexin是否启用了磁盘配额功能,用命令“quota
–u 用户名”查看(注意:这一步很重要的,很多人都忘记了,总以为到上面那几步就完成了磁盘配额功能了,结果发现总是不成功,其实是磁盘配额功能并没有启用的缘故)
启用磁盘配额功能,采用命令“quotavon
-av”。(如果想关闭掉磁盘配额功能的话就使用命令“quotaoff”),截图如下
用用户yangzexin进行登录,然后在/mnt/mysdb下创建文件,看一下磁盘配额是否起作用了,截图如下:
查看用户yangzexin磁盘配额的情况,截图如下:
碰到问题和解决方法
在弄磁盘配额的时候,发现了下面这么一个问题,截图如下:
解决方法:使用mount查看一下/dev/sdb1上是否启用了磁盘配额功能,结果是下图所示:
那么可以使用一条命令来使/dev/sdb1启用磁盘配额功能,使用mount
–o remount,usrquota,grpquota /dev/sdb1,使用这条命令后在用mount查看一下结果
本文出自 “” 博客,请务必保留此出处
【上篇】【下篇】[Linux实用命令]-11-磁盘配额实例详解| QingSword.COM
这篇文章介绍一下磁盘配额;利用磁盘配额这种技术,系统管理员可以限制某个用户在某个硬盘分区可使用的大小,和可以创建文件数量的多少;目前Linux系统和Windows系统都支持这种技术。
0×1.磁盘配额术语介绍
磁盘配额使用条件:
磁盘配额实施的对象是硬盘分区,并且Linux的内核必须支持磁盘配额这种技术,本例所使用的CentOS7是完全支持的;
磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.user和aquota.group;
磁盘配额只对一般身份用户有效,对root权限用户无效;
磁盘配额的相关术语:
最低限制(软限制,soft):最低限制容量(可以被超过,但会出现警告,超过的部分会保存到宽限时间到期);
最高限制(硬限制,hard): 不能被超越的限制;
宽限时间:当用户使用的空间超过了最低限制但还没到达最高限制时,在这个宽限时间到期前必须将超额的数据降低到最低限制以下(默认为7天),当宽限时间到期,系统将自动清除超出的数据;
0×2.Linux磁盘配额实例
a.实验环境介绍
系统:CentOS7;
所用软件:quota,CentOS7默认已安装,CentOS6可能需要yum在线安装此软件,前面的文章已经介绍过yum的使用方法,这里不再赘述;
硬盘及分区:/dev/sda1(系统所在分区),/dev/sdb1(20G),已经格式化为ext4文件系统;
所有的磁盘配额操作都在/dev/sdb1中进行;
b.修改/etc/fstab添加支持磁盘配额选项
首先在系统新建一个用于挂载分区的目录,然后修改/etc/fstab添加一条自动挂载分区条目:
#使用管理员权限在系统根目录,新建一个目录sdb1(并非一定要在根目录创建挂载目录)
:~$ sudo mkdir /sdb1
#使用vi编辑/etc/fstab,在末尾添加一行自动挂载,支持quota
:~$ sudo vi /etc/fstab
#将下面这一行添加到末尾,第一个字段为被挂载的分区,第二个字段为挂载的目录,第三个字段是被挂载的分区的文件系统类型,后面的几个字段是支持quota的参数。各字段用空格分隔
/dev/sdb1 /sdb1 ext4 defaults,usrquota,grpquota 0 0
#保存,重新启动计算机,查看sdb1挂载信息
:~$ mount | grep /dev/sdb1
#只要括号里面显示"usrquota,grpquota",说明可以使用磁盘配额了
/dev/sdb1 on /sdb1 type ext4 (rw,usrquota,grpquota)
c.创建磁盘配额配置文件
#为了让其他用户可以使用这个分区,先将这个实验用的分区权限修改成777
:~$ sudo chmod 777 /sdb1
#创建磁盘配额配置文件,命令参数解释如下:
#-v 显示扫描过程;
#-u 针对扫描情况与目录的使用情况建立aquota.user;
#-g 针对用户扫描文件与使用情况建立aquota.group;
:~$ sudo quotacheck -vug /sdb1
#接着就能看到分区目录中自动生成了两个配置文件
:~$ ls /sdb1
aquota.group
aquota.user
d.实现磁盘配额限制
#创建普通测试用户qingsword,配置密码
:~$ sudo useradd qingsword
:~$ sudo passwd qingsword
#配置qingsword用户使用/dev/sdb1分区的限额
:~$ sudo edquota -u qingsword
#输入上面的命令后,会进入一个vi编辑界面
#对其中各字段解释如下:
#Filesystem下显示实现磁盘配额的分区;
#blocks下为当前已经使用的大小,不用修改;
#soft为软限制,超出后会给出警告,超出的部分默认会保存7天;
#hard为硬限制,不可超越的限制(软硬限制默认单位都是KB);
#后面的两个相同的soft、hard分别表示分区中这个用户可以创建的文件数目软硬限制;
#本例中设置,qingsword可以使用/dev/sdb1分区的软限制大小10KB,硬限制20KB,可创建的文件个数软限制是3个,硬限制5个;
Disk quotas for user qingsword (uid 500):
Filesystem blocks soft hard inodes soft hard
#修改保存退出后,开启这个分区的磁盘配额
:~$ sudo quotaon /sdb1
如果操作无误,现在磁盘配额就已经开始起作用了,使用qingsword用户登录测试如下:
#切换到qingsword用户
:~$ su qingsword
#进入/dev/sdb1分区
#使用dd命令进行文件写入测试,
# if=/dev/zero 表示从"/dev/zero"文件输出,of=/sdb1/testfile1 表示输入到"/sdb1/testfile1"文件中,也就是,从/dev/zero这个文件中读取垃圾数据写入/sdb1/testfile1这个文件中;
# bs=1K 表示一次读取写入的大小是1KB,count=12 表示读取12次;
#所以理论上最后写入/sdb1/testfile1的数据应该是12KB
:/sdb1$ dd if=/dev/zero of=/sdb1/testfile1 bs=1K count=12
sdb1: warning, user block quota exceeded.
#因为针对qingsword用户在这个分区的软限制设置是10KB,所以这里给出了警告信息
12+0 records in
12+0 records out
12288 bytes (12 kB) copied
#可以查看到testfile1的大小是12KB
:/sdb1$ ls -l testfile1
-rw-rw-r--. 1 qingsword qingsword 12288 Jan 13 16:24 testfile1
#测试向第二个文件/sdb1/testfile2写入10KB垃圾数据
:/sdb1$ dd if=/dev/zero of=/sdb1/testfile2 bs=1K count=10
sdb1: write failed, user block limit reached.
dd: writing `/sdb1/testfile2': Disk quota exceeded
#出现了一个警告,并且下方显示只有8K的数据被复制,这是因为我们设置的硬限制是20KB
9+0 records in
8+0 records out
8192 bytes (8.2 kB) copied
#第一个文件已经占用了12KB的数据,第二个文件仅写入了8KB的数据,硬限制是不能被超越的,而软限制10KB是可以被超越的,超越的数据,会在这个分区中默认保存7天,然后系统将自动删除这些数据
:/sdb1$ ls -l testfile1 testfile2
-rw-rw-r--. 1 qingsword qingsword 12288 Jan 13 16:33 testfile1
-rw-rw-r--. 1 qingsword qingsword
8192 Jan 13 16:33 testfile2
#下面测试文件数量限制,按照前面的介绍和我们的配置,超过3个文件的软限制时会给出警告,而无法超过5个文件的硬限制,使用touch来创建空文件
:/sdb1$ touch testfile3
#超过3个文件时出现了警告
:/sdb1$ touch testfile4
sdb1: warning, user file quota exceeded.
:/sdb1$ touch testfile5
#touch第6个文件的时候提示创建失败
:/sdb1$ touch testfile6
sdb1: write failed, user file limit reached.
touch: cannot touch `testfile6': Disk quota exceeded
#超过文件数量软限制的部分同样会被保存7天,然后被系统自动删除
:/sdb1$ ls
aquota.group
aquota.user
#查看当前用户的磁盘配额使用情况,两个已经超出的配置分别是文件大小和文件数量,宽限时间还有6天
:/sdb1$ quota -vugs
Disk quotas for user qingsword (uid 1002):
Filesystem space quota limit grace files quota limit grace
#可以使用root权限修改宽限时间
:~$ sudo edquota -t
e.关闭磁盘配额
#关闭单个磁盘的磁盘配额
:~$ sudo quotaoff /sdb1
#关闭所有已经开启的磁盘配额
:~$ sudo quotaoff -a
#反之,开启所有磁盘配额
:~$ sudo quotaon -a
#如果不再使用磁盘配额,可以将配置文件也删除
:~$ sudo rm -rf /sdb1/aquota.*
#最后删除/etc/fstab中的自动挂载即可linux磁盘管理下(LVM逻辑卷创建和管理,磁盘配额设置方法以及小技巧) - 系统管理 - 次元立方网 - 电脑知识与技术互动交流平台
linux磁盘管理下(LVM逻辑卷创建和管理,磁盘配额设置方法以及小技巧)
许多Linux 使用者在安装操作系统时都会遇到这样的困境,如何精确分配各个硬盘大小,如果分配不正确,系统不够用 不得不备份不删除一些数据,甚至重装系统很麻烦!
这里教下解决方案。
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制
LVM - 优点:
LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;
2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更
大的分区中;或采用符号连接的方式使用其它分区的空间。
3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。
LVM逻辑卷管理
卷组volume group (VG)
卷组是LVM中最高抽象层,是由一个或多个物理卷所组成的存储器池。
物理卷physical volume (PV)
典型的物理卷是硬盘分区,但也可以是整个硬盘或已创建的Software RAID 卷。
逻辑卷logical volume (LV)
逻辑卷相当于非LVM系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系统
LVM管理命令
功能 pv管理命令 vg管理命令 lv管理命令
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
移除 pvremove vgremove lvremove
扩展 vgextend lvextend
减少 vgreduce lvreduce
首先准备2个2G硬盘
每个硬盘都建一个分区
2个硬盘一样操作然后w保存并退出
fdisk -l 查看硬盘
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc 创建物理卷
写物理卷数据到磁盘&/ dev / sdb1&
  物理卷&/ dev / sdb1&成功创建了
  写物理卷数据到磁盘&/ dev / sdc1就&
  物理卷&/ dev / sdc1就&成功创建了
[root@localhost ~]# vgcreate vg0 /dev/sdb1 /dev/sdc1 创建 VG
Volume group &vg0& successfully created
[root@localhost ~]# lvcreate -n lv01 -L 1G vg0 创建LV 名字就叫lv01 见名知意,大小1g
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv01 格式化
[root@localhost ~]# mkdir -p /mnt/lv01
root@localhost ~]# mount /dev/vg0/lv01 /mnt/lv01/ 挂载
root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 9.7G 3.5G 5.7G 38% /
tmpfs tmpfs 504M 0 504M 0% /dev/shm
/dev/sda3 ext4 9.9G 151M 9.3G 2% /opt
/dev/mapper/vg0-lv01
ext4 4M 4% /mnt/lv01&
用blkid 查看UUID
然后vi编辑器进去编辑
磁盘配额:
所谓磁盘配额就是管理员可以对本域中的每个用户所能使用的磁盘空间进行配额限制,即每个用户只能使用最大配额范围内的磁盘空间。磁盘配额监视个人用户卷的使用情况,因此,每个用户对磁盘空间的利用都不会影响同一卷上其它用户的磁盘配额。磁盘配额具有如下特性:
磁盘配额可以对每个用户的磁盘使用情况进行跟踪和控制。这种跟踪是利用文件或文件夹的所有权来实现的。当一个用户在Linux ext 2/3分区上拷贝或
一个新的文件时,他就拥有对这个文件的所有权,这时磁盘配额程序就将此文件的大小计入这个用户的磁盘配额空间。
当设置了磁盘配额后,分区的报告中所说的剩余空间,其实指的是当前这个用户的磁盘配额范围内的剩余空间。 磁盘配额程序对每个分区的磁盘使用情况是独立跟踪和控制的,而不论它们是否位于同一个物理磁盘。
重新挂载制定的分区,以便增加用户,组配额管理功能支持!
setenforce 0 关闭linux安全服务
检测磁盘配额:
quotacheck -a 所有 -u 用户 -g 组 -v过程 -c 创建
先赋予权限 等会好测试
filesystem 表示配置记录对应的文件类型
blocks 表示用户当前使用的磁盘容量 程序自动计算 无需修改
inodes 表示用当前已经拥有的文件数量 自动计算
soft 对应磁盘容量的软限制数量
hard 对应磁盘容量的硬限制数量
soft 第六列 对应文件数量的软限制数量
hard 第七列 对应文件数量的硬限制数量
限制文件大小500KB,硬限制600K 限制文件数量5,硬限制7个
必须要开启哦
超级管理员用这条命令 可以看到 用户的配额信息 repquota -a
普通用户 用这条命令可以看到 quota -u 用户名字
小技巧:这里 可以用这条命令我们可以直接创建个文件作为交换空间 swap
[root@localhost lv01]# dd if=/dev/zero of=/mnt/lv01/swap bs=500M count=1
正则表达式
直接做成交换分区空间!前面讲过怎么格式化 挂载 交换分区!
延伸阅读:
首先查看vip在各个节点的状态[root@rac2~] ifconfig...
本教程为 李华明 编著的iOS-Cocos2d游戏开发系列教程:教程涵盖关于i......
专题主要学习DirectX的初级编程入门学习,对Directx11的入门及初学者有......
&面向对象的JavaScript&这一说法多少有些冗余,因为JavaScript 语言本......
Windows7系统专题 无论是升级操作系统、资料备份、加强资料的安全及管......Linux系统下如何进行磁盘配额Quota的设置
<a data-traceid="question_detail_above_text_l&&
Linux如何进行磁盘配额quota的设置
通过quota进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户user01、user02分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将/tmp挂载在新的分区。
#fdisk /dev/hda
创建后执行:
#partprobe
重新写分区表
#mkfs –t ext3 /dev/hda7 格式化分区
#mount /dev/hda7 /tmp 将/tmp挂载到hda7分区
修改分区表
#vi /etc/fstab增加usrquota,grpquota
defaults, usrquota,grpquota
#useradd user01
#useradd user02
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp
Quota会在/tmp目录下自动创建quota.user quota.group
对用户user01进行磁盘空间使用限制
#edquota –u user01
修改quota配置文件
Block limits
File limits
Block limits是对磁盘空间使用的限制,以字节为单位,soft是指软限制,hard是指硬限制,如例,soft限制为5MB,hard限制为8MB,当用户user01使用空间超过5MB时,系统会进行提示,但可以继续使用空间,而当用户user01使用空间达到8MB时,就会限制用户user01继续使用/tmp空间
我们可以进行一下测试,手动创建相对大的文件:
#dd if/dev/zero of=user01file bs=1M count=4
将创建成功
#dd if/dev/zero of=user01file bs=1M count=6 将创建成功,但会有提示
#dd if/dev/zero of=user01file bs=1M count=9 将创建失败,超出hard限制
对用户user02进行创建文件使用限制
#edquota –u user02
修改quota配置文件
Block limits
File limits
File limits是对用户创建文件的限制,soft和hard同上是软限制和硬限制,分别是50、80,当用户user02创建文件超过50个时,系统会进行提示,但仍可以继续创建文件,而当用户user02创建文件超过80个文件时,就会限制用户user02继续创建文件,但要注意,因为用户user02是在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建79个文件。
我们可以进行一下测试,手动创建文件:
#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done
创建60个文件,此时quota会进行提示,而当超过80个文件的时候,quota就会限制用户user02继续创建文件
#edquota –t
可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,用户user02创建60个文件,此时会出现quota的提示,但仍可以创建文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效的时间。
其他相关命令
#repquota
重载quota设置
#quota –v
察看quota设置
#quota on/off
quota开启/关闭
这样我们就可以对用户进行相应的限制了。
# mount /dev/hda7 /tmp 将/tmp挂载到hda7分区
这种方法比较巧,可以杜绝任何用户都可以无限制任意使用 /tmp 资源。
(责任编辑:凌云通)}

我要回帖

更多关于 如何查看用户磁盘配额 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信