linux xfs 磁盘配额,如何在Linux服务器上的XFS文件系统上设置磁盘配额 互联网技术圈 互联网技术圈...

本文主要是介绍linux xfs 磁盘配额,如何在Linux服务器上的XFS文件系统上设置磁盘配额 互联网技术圈 互联网技术圈...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

管理文件系统上的磁盘配额是Linux管理员最常见的日常操作任务之一,在本文中,我们将演示如何在Linux服务器(如CentOS,RHEL,Ubuntu和Debian)上的XFS文件系统/分区上设置磁盘配额。此处磁盘配额意味着实施磁盘使用限制和文件或inode使用限制。

Setup-Disk-Quota-XFS-Linux-Servers.jpg

XFS文件系统上的磁盘配额实现如下:

用户配额

集团配额

项目配额(或目录配额)

要在XFS文件系统上设置磁盘配额,首先我们必须使用以下挂载选项启用配额:

uqnoenforce:启用用户配额和报告使用情况,但不强制使用限制。

gqnoenforce:启用组配额和报告使用情况,但不强制使用限制。

prjquota / pquota:启用项目配额并强制执行使用限制。

pqnoenforce:启用项目配额和报告使用情况,但不强制使用限制。

在文章中我们将在/ home分区上实现用户和组磁盘配额,除此之外,我们还将看到如何在/ home文件系统上设置inode配额和/ var文件系统上的项目配额。

[root@linuxtechi ~]# df -Th /home /var

Filesystem           Type  Size  Used Avail Use% Mounted on

/dev/mapper/Vol-home xfs    16G   33M   16G   1% /home

/dev/mapper/Vol-var  xfs    18G   87M   18G   1% /var

[root@linuxtechi ~]#

在/ home上启用用户和组配额

卸载/ home分区,然后编辑/ etc/fstab文件,

[root@linuxtechi ~]# umount /home/

在/ etc/fstab文件中为/ home分区的default关键字后添加uquota和gquota,示例如下所示

[root@linuxtechi ~]# vi /etc/fstab

……………………………

/dev/mapper/Vol-home   /home    xfs    defaults,uquota,gquota   0 0

……………………………

user-group-quota-fstab-file-1024x268.jpg

现在使用“ mount -a ”命令下面的/ home分区挂载,

[root@linuxtechi ~]# mount -a

[root@linuxtechi ~]#

验证是否在/ home上启用了配额,

[root@linuxtechi ~]# mount | grep  /home

/dev/mapper/Vol-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

[root@linuxtechi ~]#

注意:如果你让/ home忙,你可以在umount / home分区中编辑fstab文件,在/ home分区的默认关键字之后添加uquota和gquota关键字,然后重新启动你的系统。重启后,我们将看到/ home上启用了配额。

XFS文件系统上的配额由名为“ xfs_quota ” 的命令行工具管理。xfs_quota有两种工作模式:

基本模式 - 对于此模式,只需键入xfs_quota然后您将进入基本模式,您可以为用户打印所有文件系统和磁盘配额的磁盘使用情况,示例如下所示

xfs-quota-basic-mode-1024x543.jpg

专家模式 - 在“xfs_quota”命令中使用“-x”选项调用此模式,顾名思义此模式用于在xfs文件系统上为本地用户配置磁盘和文件配额。

要在任何文件系统上打印磁盘配额,让我们说/ home,使用以下命令,

[root@linuxtechi ~]# xfs_quota -x -c 'report -h' /home

User quota on /home (/dev/mapper/Vol-home)

Blocks

User ID      Used   Soft   Hard Warn/Grace

---------- ---------------------------------

root            0      0      0  00 [------]

pkumar        12K      0      0  00 [------]

Group quota on /home (/dev/mapper/Vol-home)

Blocks

Group ID     Used   Soft   Hard Warn/Grace

---------- ---------------------------------

root            0      0      0  00 [------]

pkumar        12K      0      0  00 [------]

[root@linuxtechi ~]#

配置用户配额

假设我们有一个名为“pkumar”的用户,让我们使用“xfs_quota”命令在他的主目录上设置磁盘和文件配额

[root@linuxtechi ~]# xfs_quota -x -c 'limit bsoft=4250m bhard=4550m pkumar' /home

另外,在上述命令,bsoft是以MB块软限制和bhard是阻断的MB硬限制,限制是实现用于特定用户的文件系统上的磁盘或文件限制关键字。

让我们在他的主目录中为用户pkumar设置文件或inode限制,

[root@linuxtechi ~]# xfs_quota -x -c 'limit isoft=400 ihard=500 pkumar' /home

在上面的命令中,isoft是inode或文件软限制,ihard是inode或文件硬限制。

可以使用单个命令应用块(磁盘)限制和Inode(文件)限制,示例如下所示,

root@linuxtechi ~]# xfs_quota -x -c 'limit bsoft=4250m bhard=4550m isoft=400 ihard=500 pkumar' /home

[root@linuxtechi ~]#

现在使用以下xfs_quota命令验证是否在pkumar用户上实现了磁盘和inode限制,

[root@linuxtechi ~]# xfs_quota -x -c "report -bih" /home

User-Quota-Details-xfs-linux.jpg

在上面的xfs_quota命令中,report是关键字,b是用于块报告,i用于inode报告,h用于以人类可读格式显示报告,

配置组配额

假设我们有一个名为“ engineering ” 的组和两个本地用户(shashi&rakesh),其次要组是工程

现在设置以下配额:

软块限制:6 GB(或6144 MB),

硬块限制:8 GB(或8192 MB),

软文件限制:1000

硬文件限制:1200

因此,要在工程组上配置磁盘和文件配额,请使用下面的xfs_quota命令,

[root@linuxtechi ~]# xfs_quota -x -c 'limit -g bsoft=6144m bhard=8192m isoft=1000 ihard=1200 engineering' /home

[root@linuxtechi ~]#

注意:在xfs_quota中,我们还可以指定GB的块限制大小,如“bsoft = 6g和bhard = 8g”

现在使用以下命令验证组工程的配额详细信息,

[root@linuxtechi ~]# xfs_quota -x -c "report -gbih" /home

Group quota on /home (/dev/mapper/Vol-home)

Blocks                            Inodes

Group ID     Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace

---------- --------------------------------- ---------------------------------

root            0      0      0  00 [------]      3      0      0  00 [------]

pkumar        12K      0      0  00 [------]      4      0      0  00 [------]

engineering      0     6G     8G  00 [------]      0   1000   1.2k  00 [------]

shashi        12K      0      0  00 [------]      4      0      0  00 [------]

rakesh        12K      0      0  00 [------]      4      0      0  00 [------]

[root@linuxtechi ~]#

我们可以看到上面的命令输出,磁盘和文件配额是在工程组上实现的,在工程组下,我们有两个用户。

配置项目(或目录)配额

假设我们要在“/var /log ” 上设置项目配额或目录配额,那么首先在/ var文件系统上启用项目配额(prjquota),编辑/ etc/fstab文件,在默认关键字后添加“ prjquota ”/var文件系统,示例如下所示,

[root@linuxtechi ~]# vi /etc/fstab

……………………………….

/dev/mapper/Vol-var     /var     xfs     defaults,prjquota        0 0

…………………………………

保存并退出该文件

要使上述更改生效,我们必须重新启动系统,

[root@linuxtechi ~]# init 6

重启后,我们可以使用下面的mount命令验证/ var文件系统上是否启用了项目配额

[root@linuxtechi ~]# mount | grep /var

/dev/mapper/Vol-var on /var type xfs (rw,relatime,seclabel,attr2,inode64,prjquota)

[root@linuxtechi ~]#

正如我们在上面的输出中看到的那样,项目配额现在已启用,因此要配置quota / var / log目录,首先我们必须在文件/etc/projects中定义目录路径及其唯一ID(在我的情况下,我将151作为/var/log的唯一ID

[root@linuxtechi ~]# vi /etc/projects

51:/var/log

保存并退出该文件

现在将上面的id“151”关联到一个名为“ Logs ” 的项目,创建一个文件/etc/projid并添加以下内容,

[root@linuxtechi ~]# vi /etc/projid

Logs:151

保存并退出该文件

使用xfs_quota命令初始化“Logs”项目目录,

语法:  #xfs_quota -x -c'project -s project_name'project_directory

[root@linuxtechi ~]# xfs_quota -x -c 'project -s Logs' /var

Setting up project Logs (path /var/log)...

Processed 1 (/etc/projects and cmdline) paths for project Logs with recursion depth infinite (-1).

[root@linuxtechi ~]#

假设我们要在/ var / log目录上实现10 GB硬盘限制和8 GB软限制,请运行以下xfs_quota命令,

[root@linuxtechi ~]# xfs_quota -x -c 'limit -p bsoft=8g bhard=10g Logs' /var

[root@linuxtechi ~]#

在上面的命令中,我们在limit关键字之后使用了“-p”,表示我们要实现项目配额

使用下面的xfs_quota命令在/ var / log目录上设置文件或inode限制

[root@linuxtechi ~]# xfs_quota -x -c 'limit -p isoft=1800 ihard=2000 Logs' /var

[root@linuxtechi ~]#

使用以下命令打印项目配额详细信息

[root@linuxtechi ~]# xfs_quota -xc 'report -pbih' /var

Project quota on /var (/dev/mapper/Vol-var)

Blocks                            Inodes

Project ID   Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace

---------- --------------------------------- ---------------------------------

#0         137.6M      0      0  00 [------]   1.5k      0      0  00 [------]

Logs         3.1M     8G    10G  00 [------]     33   1.8k     2k  00 [------]

[root@linuxtechi ~]#

通过在/var/log文件夹下创建大文件来测试项目配额,看看是否可以跨越10GB的块限制,

[root@linuxtechi ~]# cd /var/log/

[root@linuxtechi log]# dd if=/dev/zero of=big_file bs=1G count=9

9+0 records in

9+0 records out

9663676416 bytes (9.7 GB) copied, 37.8915 s, 255 MB/s

[root@linuxtechi log]# dd if=/dev/zero of=big_file2 bs=1G count=5

dd: error writing ‘big_file2’: No space left on device

1+0 records in

0+0 records out

1069219840 bytes (1.1 GB) copied, 3.90945 s, 273 MB/s

[root@linuxtechi log]#

上面的dd错误命令确认配置的项目配额工作正常,我们也可以从xfs_quota命令确认相同的,

xfs-project-quota-details.jpg

这一切都来自本教程,我希望这些步骤可以帮助您了解XFS文件系统上的配额,请在下面的评论部分分享您的反馈和意见。

这篇关于linux xfs 磁盘配额,如何在Linux服务器上的XFS文件系统上设置磁盘配额 互联网技术圈 互联网技术圈...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410361

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、