linux入门之磁盘管理磁盘配额

author author     2022-08-01     133

关键词:

Linux入门之磁盘管理(6)磁盘配额

linux中使用向磁盘中存入数据时,如果有多个用户对同个磁盘进行操作,其中一个用户放了很大数据的文件导致硬盘容量用光,那么其他用户将无法再存入数据,这时就需要对每个用户进行存入数据大小的限制,linux中提供了一种磁盘配额的功能来实现。

 

初始化:

添加分区挂载选项:usrquota、grpquota

初始化数据库:quotacheck 命令

使用命令

开启或取消配额:quotaon、quotaoff

直接编译配额:edquota  [username]

 

案例说明:

创建配额数据库

#/home目录会存放不同用户的文件,大小会相互受影响,因此需要将/home目录变成分区,这里准备好一个创建好文件系统的分区。

[[email protected] ~]# blkid /dev/sda5
/dev/sda5: LABEL="myhome" UUID="97f71277-7b31-4bb6-ae0f-949cf8c18e6f" TYPE="ext4"

#对其进行挂载使用

[[email protected] ~]# mkdir /mnt/myhome
[[email protected] ~]# mount  /dev/sda5  /mnt/myhome/
[[email protected] ~]# df | grep ‘myhome‘
/dev/sda5             2004852    3096   1896584   1% /mnt/myhome

#先将/home下文件的文件进行迁移

[[email protected] ~]# ls /home/
hadoop  mzf  tom  u1  u2
[[email protected] ~]# mv /home/* /mnt/myhome/
[[email protected] ~]# ls /mnt/myhome/
hadoop  lost+found  mzf  tom  u1  u2

#然后将/dev/sda5再次挂载到/home目录下,并添加用户和组的磁盘配额功能

[[email protected] ~]# mount -L myhome -o usrquota,grpquota /home/
[[email protected] ~]# df | grep ‘home‘
/dev/sda5             2004852    3288   1896392   1% /mnt/myhome
/dev/sda5             2004852    3288   1896392   1% /home

#卸载掉在/mnt/myhome下的挂载点

[[email protected] ~]# umount /mnt/myhome/

#这里我们再次挂载指定的用户磁盘配额和组磁盘配合选项以及添加

[[email protected] ~]# mount | grep ‘home‘
/dev/sda5 on /home type ext4 (rw,usrquota,grpquota)

#当然也可以写入/etc/fstab文件进行重新挂载。如,加入内容:

[[email protected] home]# cat /etc/fstab | grep ‘/home‘

技术分享 

#然后检查分区并创建配额数据库文件

[[email protected] home]# quotacheck -cgu /dev/sda5
quotacheck: Cannot create new quotafile /home/aquota.user.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied
quotacheck: Cannot create new quotafile /home/aquota.group.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied

解析:这里提示没有权限,可能是linux内核中默认开启的selinux安全机制控制导致的,这里我们可以先将其关闭:

#查看当前setlinux是否开启

[[email protected] home]# getenforce
Enforcing#表示已经启用
[[email protected] home]# setenforce 0          #设置参数为0表示禁用
[[email protected] home]# getenforce          #再次查看已经显示为禁用
Permissive

#再次进行磁盘配额数据库文件创建

[[email protected] home]# quotacheck -cug /dev/sda5

#查看指定分区单独挂载点目录下是否生成了磁盘配额数据库文件

[[email protected] home]# ls /home  | grep ‘^aquota.<(user|group)>‘ 
aquota.group
aquota.user

说明:如果要开启磁盘配额,内核模块必须检查该挂载点中是否有磁盘配额数据库文件的存在,否则无法开启或设置成功。

 

启用磁盘配额:

#开启指定分区的磁盘配额

[[email protected] home]# quotaon /dev/sda5

#添加默认磁盘配额成员

[[email protected] home]# edquota -p mzf tom hadoop

#设置指定成员配额

[[email protected] home]# edquota hadoop

#进入vim编辑界面

技术分享 

解析:其中第一行表示为哪个用户设置磁盘配额,下面分为多列,第一列为指定的文件系统,后面6列每3列为一组,blocks表示已经存放的文件大小,默认为kindodes表示为已经创建了多少个文件,soft表示为软限制,存放大小超过soft指定将出现警报,hard为硬限制,如果达到此限制,将无法再次写入数据。


#按文件所占大小设置配额,软限制为5M,硬限制为10M

技术分享 

#切换到设置配额的成员hadoop用户

[[email protected] home]# su - hadoop

#此目录已经用了64K,这里我们添加 5M数据

[[email protected] ~]$ dd if=/dev/zero of=/home/hadoop/temp.log bs=5M  count=1
sda5: warning, user block quota exceeded.
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.130323 s, 40.2 MB/s

注意:这里soft已经超过,开始了警报,显示用户块数据配额,但是如果使用echo进行一些小规模数据追加,磁盘配额是不会警报的:

#显示出文件多少个字节

[[email protected] ~]$ ls -l /home/hadoop/temp.log 
-rw-rw-r--. 1 hadoop hadoop 5242912 Aug 17 23:51 /home/hadoop/temp.log

#追加字节

[[email protected] ~]$ echo "***************" >> /home/hadoop/temp.log

#再次显示大小已经增加,但是磁盘配额没有警报

[[email protected] ~]$ ls -l /home/hadoop/temp.log 
-rw-rw-r--. 1 hadoop hadoop 5242928 Aug 17 23:51 /home/hadoop/temp.log

解析:如果再用dd命令对temp.log文件写入5M是无法写入的,那么再写一个5M的新文件进行测试:

#再创建一个5M,那么应该已经达到了10M

[[email protected] ~]$ dd if=/dev/zero of=/home/hadoop/temp2.log bs=5M  count=1
sda5: write failed, user block limit reached.
dd: writing `/home/hadoop/temp2.log‘: Disk quota exceeded
1+0 records in
0+0 records out
5185536 bytes (5.2 MB) copied, 0.00903 s, 574 MB/s

解析:这里已经显示了写入数据错误,数据块配额已经被使用完

#这时写入一个字节内容的文件都写入不了了

[[email protected] ~]$ echo "1" > file1
-bash: echo: write error: Disk quota exceeded

 

其它磁盘配额管理工具

quota   查看配额信息

[[email protected] home]# quota hadoop
Disk quotas for user hadoop (uid 502): 
    Filesystem  blocks  quota  limit  grace  files  quota  limit  grace
   /dev/sda5   10240*  5120   10240  6days   17   0    0

解析:grace表示为宽限期,及文件大小到到soft指定大小6天后,soft将变成硬限制,将再也无法创建文件和写入数据了。

requota  #查看指定信息

warnquota  #检查警告

 

本文出自 “神剑特兰克斯” 博客,请务必保留此出处http://mengzhaofu.blog.51cto.com/10085198/1844491

linux入门之磁盘管理分区管理

Linux入门之磁盘管理(1)分区管理无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构。当然,目前广泛的还是使用的mbr结构。linux中有很多... 查看详情

linux入门之磁盘管理raid的实现

Linux入门之磁盘管理(7)RAID的实现RAID(RedundantArraysofInexpensiveIndependentDisks)被称为廉价冗余阵列,为了提高磁盘的性能或者保存数据完整,将多个磁盘合成一个“阵列”来提供更好的性能、冗余等。RAID一般使用硬件raid,并配合指定ra... 查看详情

linux入门之磁盘管理文件系统挂载

Linux入门之磁盘管理(3)文件系统挂载当磁盘建立了分区,创建了文件系统,只是说明该设备可以用来存储,但是要想访问设备,就需要通过建立一个或多个挂载点,来提供给用户进行访问,在linux中,提供了强大的命令来用于实... 查看详情

高级文件系统管理之mdadm与lvm的创建

※配置配额系统磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间,比如一些网盘就是基于这个功能来做的,分配给用户固定的空间,花钱买,可以将空间设置的更... 查看详情

linux入门之磁盘管理文件系统

Linux入门之磁盘管理(2)文件系统linux分区构成完成之后,一般需要进行对其创建指定的文件系统,也就是我们常说的格式化,然后对其进行分区挂载,提供指定分区的访问点。不同的分区格式会在文件系统内部提供不同的对该分... 查看详情

linux入门之磁盘管理dd命令使用

Linux入门之磁盘管理(5)dd命令使用在Linux中,经常需要一些数据读写等测试,还有文件以及其它数据的备份迁移,一般使用cp命令可以解决一部分,但是其无法进行控制数据的流向及动作,这时就可以使用dd命令,来进行灵活的数... 查看详情

linux入门之磁盘管理lvm逻辑卷的使用

Linux入门之磁盘管理(8)LVM逻辑卷的使用在Linux中虽然有raid来保证数据的稳定以及磁盘性能的提高,但是其扩展性并不是很好,在很多生产环境中,都是数据正在使用中,在这时如果中断一段时间就会有很大的损失,因此Linux提供... 查看详情

linux入门之磁盘管理lvm逻辑卷案例

Linux入门之磁盘管理(9)LVM逻辑卷案例案例介绍阶段(1):创建一个由两个物理卷组成的大小未20G的卷组myvg,要求其PE大小为16M;而在此卷组中创建一个大小未5G的逻辑卷lvtest,此逻辑卷要能在开机后自动挂载至/mnt/lvtest目录,且... 查看详情

linux入门之磁盘管理/etc/fstab与交换分区

Linux入门之磁盘管理(4)/etc/fstab与交换分区在linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次... 查看详情

磁盘配额

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。功能作用编辑磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造... 查看详情

linux操作系统中lvm磁盘配额

....LVM概述 2. LVM机制3.LVM管理命令4. 盘配额概述5.磁盘配额设置步骤        1.LVM概述   LVM(LogicalVolumeManager)逻辑卷管理能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高... 查看详情

linux的磁盘配额

...和修改配置文件来设置samba服务。但在windows下是可以通过磁盘配额来管理文件服务器的,在linux中,也可以设置磁盘配额来管理文件服务器,而且配置更容易,更简单。我们先大概说明一下磁盘配额的基本步骤,以便在随后的讲... 查看详情

逻辑卷管理和磁盘配额

逻辑卷管理和磁盘配额实验下面为大家介绍逻辑卷的管理和磁盘配额实验的操作步骤,首先在虚拟机上创建两块磁盘,在linux桌面右下角光驱的位置右键点击设置,点击添加选择硬盘,点击下一步点击选择推荐的SCSI类型,点击下... 查看详情

怎么设置磁盘配额

题目是这样为新建拥护Userpy分配磁盘配额为50M,并加人到管理组中。。Linux跟Windos各是怎么做的求高人。。可以加好友。并找师傅。不嫌弃的来注意是Linux谢谢!!!不要什么工具。没有网络可以下载什么工具的。。1、方法如下... 查看详情

redhatenterprise6.5磁盘分区,lvm管理及磁盘配额设置

Linux磁盘分区、LVM管理及磁盘配额设置第一部分:磁盘分区为虚拟机添加一块新的磁盘,重启生效。管理新添加的sdb磁盘。为其创建不同类型的分区,ext4、fat、及swap。2.1创建第一个主分区2.2创建第二个主分区,方法相同。2.3将... 查看详情

linux的磁盘配额问题

设置用户a和b用户的目录大小限制为40M。怎么做?不要贴磁盘配额的教程。解释下大概怎么做,是什么意思就好了参考技术A1。修改/etc/fstab,对所选文件系统激活配额选项;2。重新装载文件系统,使改变生效;3。在该文件系统... 查看详情

磁盘配额步骤简要

磁盘配额: 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。 基本上在linux中可用的地方那就是用户的家目录了,可以对用户进行限额配制,避免用户将恶意或... 查看详情

程序包管理rpmquota磁盘配额

下面介绍的是磁盘配额、quota及相关命令、rpm程序包管理器、rpm命令行工具的功能等。一、磁盘配额1、磁盘配额功能:磁盘配额可以用来构建文件服务器。  文件服务器功能:用来共享存储空间,让用户能够随时存储数据... 查看详情