成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux磁盤配額的設置與檢測

系統 Linux
學習如何設置和檢測 Linux 文件系統的磁盤配額,防止個體用戶使用超過允許范圍的空間,避免造成整個文件系統的意外擁堵。您可以使用本文中的資料來準備 Linux 系統管理員認證的 LPI 101 考試,或者只是探究配額。

本文幫助您了解 Linux 系統管理任務相關知識。對 Linux Professional Institute Certification 級別 1(LPIC-1)考試的資料準備有所幫助。下面我們就開始學習如何管理用戶的磁盤配額。

概述

在本文中,了解如何管理用戶的磁盤配額。學習:

  • 設置一個文件系統的磁盤配額
  • 設置配額限制
  • 檢查配額
  • 生成配額報告

除非有特殊說明,本文中的例子都使用 2.6.34 內核的 Fedora 13。您在其他系統上的結果可能有所不同。

本文幫助您準備 Linux Professional Institute's Junior Level Administration(LPIC-1)考試 101 中主題 104 下的目標 104.4。該目標的權值為 1。

先決條件

為了最有效地利用本系列中的文章,您應該具有基本的 Linux 知識,并需要準備一個 Linux 系統,用于練習本文介紹的命令。有時候不同版本的程序輸出格式不同,因此您所得到的結果未必總是與這里所示的清單和圖相同。

配額簡介

配額允許您控制用戶或者組織的磁盤使用。它能防止個體用戶和組織使用文件系統中超過自己所允許的部分,或者造成系統完全擁堵。XFS 文件系統也支持項目配額,它限制了一個項目所能使用的空間大小,無論哪個用戶在項目的目錄樹中創建文件。

配額必須由 root 用戶或者有 root 權限的用戶啟用和管理。它們往往用于多用戶系統,不常用于單一用戶的工作站。

有 3 種不同的配額支持:

1、vfsold,或者版本 1 配額

2、vfsv0,或者版本 2 配額

3、xfs,XFS 文件系統上的配額

本文包括非 XFS 文件系統上的版本 2 配額和 XFS 文件系統上的 xfs 配額。請注意,LPI 101 考試以版本 2 配額為重點。

配額需要 2.4 內核之后引入的內核支持。2.6 內核也有您所需的支持。

XFS 配額往往是日志化的。內核 2.6.11 及以上版本支持日志化版本 2 配額。

測試設置

首先要說明本文使用的測試分區設置,這樣您就能更好地理解部分例子。如果您已經理解了文件所有權和權限,也已經安裝了配額包,那么您可以直接跳到 配額的啟用 部分。參考 學習 Linux,101:LPIC-1 路線圖,獲得該系列提供更多命令詳細信息的其他文章鏈接,本文此處只提供簡單說明。

測試分區和用戶

我們使用 110GB ext4 分區(/dev/sda7)和 40GB XFS 分區(/dev/sda8)來演示。它們分別安裝在 /quotatest/ext4 和 /quotatest/xfs。

清單 1. 設置分區

[root@echidna ~]# mkfs -t ext4 /dev/sda7
mke2fs 1.41.10 (10-Feb-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
7159808 inodes, 28637862 blocks
1431893 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
874 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@echidna ~]# mkfs -t xfs /dev/sda8
meta-data=/dev/sda8              isize=256    agcount=4, agsize=2622108 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=10488429, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=5121, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@echidna ~]# mkdir -p /quotatest/ext4
[root@echidna ~]# mkdir -p /quotatest/xfs
[root@echidna ~]# mount /dev/sda7 /quotatest/ext4
[root@echidna ~]# mount /dev/sda8 /quotatest/xfs


在這個例子中,我們希望普通用戶能夠在新的文件系統中創建文件。這樣創建,文件系統歸 root 所有,一般用戶不能在系統上創建文件或者目錄。我們變更所有權,這樣新的文件系統就由擁有名為 development 的專用組的用戶 development 所有。我們變更權限,這樣在 development 組中的用戶就能夠創建文件和目錄。 清單 2 顯示了我們如何設置所有權和權限。

清單 2. 變更測試分區的所有權和權限

				
[root@echidna ~]# # Show default ownership and permissions
[root@echidna ~]# ls -l /quotatest/
total 4
drwxr-xr-x. 3 root root 4096 Nov 18 22:43 ext4
drwxr-xr-x. 2 root root    6 Nov 18 22:43 xfs
[root@echidna ~]# # Change user and group ownership to development
[root@echidna ~]# chown development:development /quotatest/*
[root@echidna ~]# # Allow group members to create files and directories
[root@echidna ~]# chmod g+w /quotatest/*
[root@echidna ~]# ls -l /quotatest/
total 4
drwxrwxr-x. 3 development development 4096 Nov 18 22:43 ext4
drwxrwxr-x. 2 development development    6 Nov 18 22:43 xfs
[root@echidna ~]# # Set default group of new files and directories
[root@echidna ~]# # to development
[root@echidna ~]# chmod g+s /quotatest/ext4/
[root@echidna ~]# ls -l /quotatest/
total 4
drwxrwsr-x. 3 development development 4096 Nov 19 11:39 ext4
drwxrwxr-x. 2 development development    6 Nov 18 22:43 xfs

我們利用 3 位用戶,ian、gretchen 和 tom,他們每人都擁有和用戶名一樣的專用組,同時也是 development 組的成員。
#p#

檢查配額包

如果您正在使用一個桌面系統,那么您可能無法安裝配額包,因為配額不是普通的默認桌面系統安裝的。使用 dpkg 或者 rpm 確認您是否安裝了包,如清單 3。

清單 3. 檢查配額包

# On Debian-based systems
ian@pinguino:~$ dpkg -l quota
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  quota          4.00~pre1-3    implementation of the disk quota system

# On systems that use RPM
[ian@echidna ~]$ rpm -q quota
quota-3.17-11.fc13.x86_64
如果您沒有如本文所述安裝配額包,在安裝頁 “學習 Linux,101:Debian 包管理” 和 學習 Linux,101:RPM 和 YUM 包管理 獲取幫助。

配額的啟用

添加配額支持到 /etc/fstab

啟用配額的下一步是根據您是否想實現用戶配額、組配額,或者兩者兼有,添加適當選項到 /etc/fstab 的文件系統定義。XFS 文件系統也支持項目配額。

編寫時,啟用配額的選項不是集中記錄在一個明顯的手冊頁中。表 1 顯示了可用的選項,以及它們適用的配額系統類型。

表 1. /etc/fstab 中的配額選項

選項 適用于

使用

usrquota 所有類型

啟用用戶配額

usrjquota=filename vfsv0

啟用日志化的用戶配額;需要一個配額數據庫文件名(通常為 aquota.user)和 jqfmt 選項的規格

uquota xfs

相當于 usrquota

grpquota 所有類型

支持組配額

grpjquota=filename vfsv0

啟用日志化組配額;需要一個配額數據庫文件名(通常為 aquota.group)和 jpfmt 選項的規格

gquota xfs

相當于 grpquota

prjquota xfs

啟用項目配額

pquota xfs

相當于 prjquota

jqfmt=format vfsv0

當 usrjquota 或者 grpjquota 被指定時使用的配額格式;目前只有 vfsv0 是受支持的格式

quota vfsold,vfsv0

相當于 usrquota

noquota vfsold,vfsv0

不啟用配額

uqnoenforce xfs

啟用用戶配額審計,但是不能啟用強制措施

gqnoenforce xfs

啟用組配額審計,但是不能啟用強制措施

pqnoenforce xfs

啟用項目配額審計,但是不能啟用強制措施

我們使用一個 ext4 分區和一個 XFS 分區進行演示。我們將會在這些文件系統中添加用戶和組配額,這樣您就可以看到配額如何在兩個不同的文件系統中運行。我們的 /etc/fstab 輸入如清單 4 所示。

清單 4. 啟用 /etc/fstab 中的配額支持

/dev/sda7  /quotatest/ext4  ext4    defaults,usrquota,grpquota          1 2
/dev/sda8  /quotatest/xfs   xfs     defaults,usrquota,grpquota          1 2

 

重新安裝文件系統

編輯 /etc/fstab 和添加配額之后,您需要重新安裝文件系統。對 XFS 文件系統來說,配額數據是文件系統元數據的一部分。對其他文件系統來說,用戶配額信息存儲在文件系統 root 的 aquota.user 文件,組配額也同樣存儲在 aquota.group。版本 1 配額使用 quota.user 和 quota.group。對這些文件系統來說,重新安裝完文件系統之后,您必須創建配額文件,并啟用配額進行檢測。quotacheck 命令檢查所有文件系統上的配額,如果 aquota.user 和 aquota.group 文件不存在,就會創建所需的 aquota.user 和 aquota.group 文件。它還能修復損壞的配額文件。查看手冊頁獲得更多信息。

以下是通常和 quotacheck 命令一起使用的部分常用選項:

-a or --all

檢查所有安裝在 /etc/mtab(除了 NFS 文件系統)的文件系統

-c or --create-files

忽略當前的配額文件。運行新的掃描,將結果寫到磁盤

-u or --user

檢查用戶配額(默認的)

-g or --group

檢查組配額

-v or --verbose

Verbose 輸出

清單 5 顯示了在我們新安裝的文件系統上運行 quotacheck 命令的結果。如果您沒有使用 -a 選項,就必須指定您想要檢查的文件系統。

清單 5. 創建 vfsold 和 vfsv0 的配額數據庫文件

[root@echidna ~]# quotacheck -augvc
quotacheck: Skipping /dev/sda8 [/quotatest/xfs]
quotacheck: Your kernel probably supports journaled quota but you are not using it.
Consider switching to journaled quota to avoid running quotacheck after an unclean
shutdown.
quotacheck: Scanning /dev/sda7 [/quotatest/ext4] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 2 directories and 1 files
quotacheck: Old file not found.
quotacheck: Old file not found.


請注意,來自 quotacheck 命令的警告建議我們轉而使用日志化的配額。將 /dev/sda7 上 ext4 文件系統 /etc/fstab 中的選項由

defaults,usrquota,grpquota

改為

defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,就能完成此變更。

還需要注意的是,XFS 文件系統可由 quotacheck 命令跳過,因為 XFS 配額結構包含在元數據和日志中。#p#

開始或者停止配額檢測

要強制實施 vfsold 和 vfsv0 配額檢測,您必須使用 quotaon 命令將其啟用。常用選項 -a,-g,-u 和 -v 與 quotacheck 命令 有相同意思。類似的,如果您沒有指定 -a 選項,就必須指定文件系統。如果只是想要顯示配額的開啟和關閉,您可以使用 -p 選項。使用 quotaoff 命令關閉配額檢測。清單 6 顯示了這些命令的例子。

清單 6. 開始 vfsold 和 vfsv0 配額的配額檢查

[root@echidna ~]# quotaon -p /quotatest/ext4/
group quota on /quotatest/ext4 (/dev/sda7) is off
user quota on /quotatest/ext4 (/dev/sda7) is off
[root@echidna ~]# quotaon -uagv
/dev/sda7 [/quotatest/ext4]: group quotas turned on
/dev/sda7 [/quotatest/ext4]: user quotas turned on
[root@echidna ~]# quotaoff -ugv /quotatest/ext4/
/dev/sda7 [/quotatest/ext4]: group quotas turned off
/dev/sda7 [/quotatest/ext4]: user quotas turned off
[root@echidna ~]# quotaon -ugv /quotatest/ext4/
/dev/sda7 [/quotatest/ext4]: group quotas turned on
/dev/sda7 [/quotatest/ext4]: user quotas turned on

對 XFS 文件系統來說,配額檢查是默認啟動的,除非文件安裝了 uqnoenforce,gqnoenforce 或者 pqnoenforce 設置。使用 xfs_quota 命令和 -x(適用于 專家)選項控制 xfs 配額。沒有 -x 選項,您顯示配額信息會受到限制。命令還有一些子命令,包括 help,用于顯示可用的子命令清單,state,用于顯示整體狀況,enable,用于啟用配額檢測,還有 disable,用于停止。選項 -u、-g 和 -p 分別限制用戶、組或項目的行為。使用 -v 獲得 verbose 輸出。您可以在命令行模式運行命令,命令行中獨立的子命令由 -c 選項指明。您可以多次指定多種子命令的該選項。如果您將指定子命令的選項,可能就需要引用命令。清單 7 中顯示了一些例子。

清單 7. 開始 xfs 配額的配額檢測

[root@echidna ~]# xfs_quota -x
xfs_quota> state
User quota state on /quotatest/xfs (/dev/sda8)
  Accounting: ON
  Enforcement: ON
  Inode: #131 (3 blocks, 3 extents)
Group quota state on /quotatest/xfs (/dev/sda8)
  Accounting: ON
  Enforcement: ON
  Inode: #132 (3 blocks, 3 extents)
Project quota state on /quotatest/xfs (/dev/sda8)
  Accounting: OFF
  Enforcement: OFF
  Inode: #132 (3 blocks, 3 extents)
Blocks grace time: [7 days 00:00:30]
Inodes grace time: [7 days 00:00:30]
Realtime Blocks grace time: [7 days 00:00:30]
xfs_quota> disable
xfs_quota> quit
[root@echidna ~]# xfs_quota -x  -c "enable -gu -v"  /quotatest/xfs
User quota state on /quotatest/xfs (/dev/sda8)
  Accounting: ON
  Enforcement: ON
  Inode: #131 (3 blocks, 3 extents)
Group quota state on /quotatest/xfs (/dev/sda8)
  Accounting: ON
  Enforcement: ON
  Inode: #132 (3 blocks, 3 extents)
Blocks grace time: [7 days 00:00:30]
Inodes grace time: [7 days 00:00:30]
Realtime Blocks grace time: [7 days 00:00:30]


在啟動上檢查 vfsold 和 vfsv0 配額

雖然不在本文范圍內,quotacheck 和 quotaon 命令通常包含在初始化腳本中,這樣無論您何時啟動系統,都能同時啟用配額。Quota Mini HOWTO(見 參考資料 的鏈接)有額外的信息。如果您使用日志配額,就不需要在啟動時運行 quotacheck。

設置配額限制

正如您所見,配額不是通過文件系統 root 中的二進制文件控制,就是通過文件系統元數據控制。為特定用戶設置一個配額,要使用 edquota 命令。這個命令會為用戶從啟用配額的各種文件系統中提取配額信息,創建一個臨時文件,并為您打開編輯器來調整配額。通過默認設置,edquota 使用 vi 編輯器。如果您想使用不同的編輯器,設置 EDITOR 或者 VISUAL 變量。編輯用戶配額,使用 -u 選項(默認)和一個或者多個用戶名。編輯組配額,使用 -g 和一個或者多個組名。

您必須是 root 用戶,才可以編輯配額。使用 vi 作為編輯器,顯示的信息類似清單 8 所示。

清單 8. 運行 edquota

Disk quotas for user ian (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda7                         0          0          0          0        0        0
  /dev/sda8                         0          0          0          0        0        0
~
~

正如您在清單 8 中所見,edquota 顯示了我當前的使用,包括配額啟用中的每個文件系統上的 1K 模塊和索引節點。對模塊和索引節點的使用還有軟、硬件上的限制。在這個例子中,它們都是 0,意味著沒有配額限制。

軟件限制就是一個值,這個值就是用戶超過配額時將會收到郵件警告的次數。硬件限制用戶不能超過的次數。您可以將模塊限制想成用戶能夠存儲的數據量的適當限制,索引節點限制想成文件和目錄數的限制。

變更配額限制

您可以更改臨時文件中的值,然后保存文件來變更配額限制。如果您不想變更,就不保存直接關閉文件。我們在例子中使用了非常小的限制,這樣您就能很容易就見到效果了。假設您想將配額設置為每個測試文件系統上 10MB 的數據和 50 個文件。允許額外 10% 的硬件限制,您可以如清單 9 所示設置值。

清單 9. 設置限制

Disk quotas for user ian (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda7                         0      10240      11264          0       50       55
  /dev/sda8                         0      10240      11264          0       50       55

保存文件,新的配額就會生效。請注意,您對使用的模塊或者索引節點值所作出的任何修改都會被忽略。

配額的復制

現在您就要為附加開發人員創建 id。假設您有用戶 gretchen 和 tom,而且您希望他們兩個都和 ian 有相同的配額。您可以使用 edquota 的 -p 選項,它使用 ian 的配額為其他用戶配額的 原型,如清單 10 所示。

清單 10. 從原型設置配額

root@pinguino:~# edquota -p ian gretchen tom

組限制

您還可以根據文件的組所有權,使用 edquota 限制磁盤空間的分配。比如,上面提到的三位開發人員是 development 組的成員。要把組中所有成員所能使用的總量設置為 250MB 和 100 文件,使用命令 edquota -g development 并設置值,如清單 11 所示。

清單 11. 為一個組設置配額

Disk quotas for group development (gid 505):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda7                         4      25600      28160          1      100      110
  /dev/sda8                         0      25600      28160          0      100      110

您可能會想,為什么在 /dev/sda7 的 ext4 文件系統上已經有被使用的模塊和索引節點。請回想一下,在清單 2 中,我們使用 chown 和 chmod 來設置所有新文件的默認組為 development 組?這也適用于兩個配額數據庫文件。您可以將它們改回到 root 的中的值,如清單 12 所示。請保證在關閉配額檢查之后進行變更,然后再將它開啟。

清單 12. 重新設置配額數據庫文件的組所有人

				
[root@echidna ~]# quotaoff /quotatest/ext4/
[root@echidna ~]# chown :root /quotatest/ext4/aquota.*
[root@echidna ~]# quotaon /quotatest/ext4/


寬限期

用戶或者組可能會超出軟件限制的 寬限期,默認值為 7 天。寬限期之后,軟件限制就會作為硬件限制執行。一旦達到硬件限制,就必須在創建新文件之前刪除部分文件。使用 edquota 的 -t 選項設置寬限期。您再一次回到編輯器中,會見到類似清單 13 中的數據。和之前一樣,保存變更來更新值。請確保給用戶留有足夠時間接收警告郵件、相應地刪除部分文件。

清單 13. 設置寬限期

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sda7                     7days                  7days
  /dev/sda8                     7days                  7days

檢查配額

沒有選項的 quota 命令顯示了任何文件系統上激活用戶的配額,如果用戶在這個系統上有文件,就會在其上設置配額。-v 選項顯示了啟用配額的所有文件系統的信息。root 用戶可以給命令添加一個用戶名來查看特定用戶的配額。在清單 14 中,我們在 ext4 文件系統上創建一個 1MB 文件,并說明了有無 -v 選項的 quota 命令的使用。

清單 14. 顯示配額

[ian@echidna ~]$ dd if=/dev/zero of=/quotatest/ext4/ianfile1 bs=1024 count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.00793796 s, 132 MB/s
[ian@echidna ~]$ quota
Disk quotas for user ian (uid 1000):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda7    1024   10240   11264               1      50      55
[ian@echidna ~]$ quota -v
Disk quotas for user ian (uid 1000):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda7    1024   10240   11264               1      50      55
      /dev/sda8       0   10240   11264               0      50      55

根據當前使用的統計數據,您可以看到顯示的軟硬件配置限制。如果在創建文件之后立刻運行 quota 命令,您就會在短時間內見到略大的模塊數顯示。清單 15 顯示了如果您超過軟件限制會出現什么情況,以及如果超過硬件限制會出現什么情況。在這個例子中,我們在已創建的 1MB 中添加 9.5MB 的文件,這很顯然超出了軟件限制。請注意軟件限制如何獲得一個星號,除了它表示用戶超出配額。還要注意的是,寬限期列標明了用戶要在多長時間內解決問題。***,當我們嘗試復制 1MB 文件時,因為它會超出用戶 ian 的硬件限制,所以操作失敗。

清單 15. 超過配額

[ian@echidna ~]$ dd if=/dev/zero of=/quotatest/ext4/ianfile2 bs=1024 count=9500
9500+0 records in
9500+0 records out
9728000 bytes (9.7 MB) copied, 0.0754223 s, 129 MB/s
[ian@echidna ~]$ quota
Disk quotas for user ian (uid 1000):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda7   10552*  10240   11264   7days       2      50      55
[ian@echidna ~]$ cp /quotatest/ext4/ianfile1 /quotatest/ext4/ianfile3
cp: writing `/quotatest/ext4/ianfile3': Disk quota exceeded

 

#p#     配額報告 

一次檢查一個用戶的配額很沒有效率,所以您會想要使用 repquota 命令生成配額報告。清單 16 顯示了如何查看 /quotatest/ext4/ 上所有用戶和組的配額。

清單 16. 生成配額報告

[root@echidna ~]# repquota -ug /quotatest/ext4/
*** Report for user quotas on device /dev/sda7
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      24       0       0              2     0     0
ian       +-   11260   10240   11264  6days       3    50    55
gretchen  --    2080   10240   11264             44    50    55
tom       -+     660   10240   11264             55    50    55  6days
development --       4       0       0              1     0     0


*** Report for group quotas on device /dev/sda7
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      24       0       0              2     0     0
development -+   14004   25600   28160            103   100   110  7days

請注意,清單 16 中用戶 ian、tom 和組 development 的加號,它表明現在每個都超出了配額。用戶 ian 有過多的數據。用戶 tom 有過多的文件。組 development 也有過多文件。

正如使用其他配額命令一樣,-a 選項生成啟用配額的已安裝的文件系統的報告。-v 選項生成一個更詳細的輸出。-n 選項生成數字用戶的編號,而不是將用戶編號解析為名稱。這個會對龐大的報告提供一個性能提升,但對讀者并沒有那么有用。

XFS 文件系統上的項目配額

XFS 配額系統還支持項目配額,它是組配額的替換。您不能在 XFS 文件系統上同時使用組和項目配額。項目配額要通過在 /etc/fstab 中添加 prjquota(或者 pquota)啟用。

項目配額使用數字 id 的概念和更具描述性的項目名稱。文件 /etc/projects 用于映射數字項目識別符到目錄樹,而文件 /etc/projid 映射數字項目識別符到項目名稱??梢圆皇褂?/etc 中的這兩個文件進行操作,但是這樣較為不方便。查看映射頁面獲取詳細信息。

要設置項目配額,您必須在專家模式(-x 選項)使用 xfs_quota 命令。首先您必須使用 project 子命令和 -s 選項,通過標記所有受影響的索引節點作為項目一部分來設置項目配額。然后使用 limit 子命令來設置硬件或者軟件限制。清單 17 顯示了如何在 /quotatest/xfs/proj-dir1 下設置一個 15MB 項目硬件限制的項目樹。我們還將設置一個沒有限制的并行 /quotatest/xfs/proj-dir2 進行說明。

清單 17. 設置 xfs 項目配額

[root@echidna ~]# mkdir -m ag+w /quotatest/xfs/proj-dir{1,2}
[root@echidna ~]# chown development:development /quotatest/xfs/proj-dir*
[root@echidna ~]# echo "50:/quotatest/xfs/proj-dir1" >> /etc/projects
[root@echidna ~]# echo "dev-projects:50" >> /etc/projid
[root@echidna ~]# xfs_quota -x
xfs_quota> path
      Filesystem          Pathname
000  /quotatest/xfs      /dev/sda8 (uquota, pquota)
[001] /quotatest/xfs/proj-dir1 /dev/sda8 (project 50, dev-projects)
xfs_quota> project -s dev-projects
Setting up project dev-projects (path /quotatest/xfs/proj-dir1)...
Processed 1 (/etc/projects and cmdline) paths for project dev-projects with recursion
depth infinite (-1).
xfs_quota> limit -p bhard=15m dev-projects
xfs_quota> q


我們將通過使用戶 chris 創建幾個文件來說明項目配額。用戶 chris 不是 development 組的成員,也沒有為自己和組設置配額。清單 18 顯示了 chris 不能在 /quotatest/xfs/proj-dir1 創建大于 15MB 的數據,但在 /quotatest/xfs/proj-dir2 中沒有限制。

清單 18. 行動中的項目配額

[chris@echidna xfs]$ id chris
uid=1010(chris) gid=1010(chris) groups=1010(chris)
[chris@echidna xfs]$ dd if=/dev/zero of=proj-dir1/chris1 bs=1024 count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB) copied, 0.0379557 s, 270 MB/s
[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir1/chris2
cp: writing `proj-dir1/chris2': No space left on device
[chris@echidna xfs]$ ls -l proj-dir1
total 15356
-rw-rw-r--. 1 chris chris 10240000 Nov 23 13:16 chris1
-rw-rw-r--. 1 chris chris  5484544 Nov 23 13:16 chris2
[chris@echidna xfs]$ # Note: second copy was truncated at hard limit
[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris1
[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris2
[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris3
[chris@echidna xfs]$ du -sh *
15M     proj-dir1
30M     proj-dir2

用戶警告

warnquota 命令用于對超出配額的用戶發出郵件警告。當組超出配額時,就會發郵件給 /etc/quotagrpadmins 中組的指定用戶。郵件格式由文件 /etc/warnquota.conf 控制。文件 /etc/quotatab 用于映射名稱,例如 /dev/sda7 映射為用戶更容易理解的描述,如 “Shared EXT3 filesystem”。通常 warnquota 作為一個 cron 工作定期運行。查看用戶手冊頁面,了解更多 cron 和 warnquota 的信息。

Linux 上的配額介紹就到此為止。

原文鏈接:http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-104-4/index.html?ca=drs-

【編輯推薦】

  1. Linux管理之磁盤管理
  2. Linux管理之進程管理
  3. Linux管理之用戶管理
責任編輯:黃丹 來源: IBMdeveloperWorks
相關推薦

2010-03-10 17:37:48

Linux磁盤配額

2009-12-14 13:44:49

Linux磁盤配額

2009-10-22 15:27:20

linux磁盤配額

2009-10-22 09:25:28

linux磁盤配額

2010-03-25 12:53:28

CentOS磁盤

2011-09-06 17:59:14

2011-08-01 17:30:06

ActiveDirec組策略磁盤配額

2021-06-21 11:11:29

LinuxIO磁盤IO

2013-10-16 10:39:25

磁盤檢測工具WindowsMac

2011-03-02 17:31:39

Pureftpd

2009-11-24 09:28:11

linux分區大磁盤分區

2020-11-14 11:27:00

LinuxLUNSCSI

2010-12-31 10:56:13

Windows Ser管理磁盤配額

2014-07-28 09:22:46

Linux運維磁盤

2010-03-01 16:13:06

Linux磁盤管理命令

2011-08-03 16:36:07

Win7磁盤配額

2014-06-09 10:09:31

Linux磁盤分區

2024-02-04 00:00:03

運維Linux磁盤

2022-04-08 10:09:41

Linux技術

2014-06-06 13:51:36

磁盤分區IO分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩午夜精品 | 国产高清一区二区 | 雨宫琴音一区二区在线 | 91性高湖久久久久久久久_久久99 | 亚洲成av片人久久久 | 中文字幕精品一区久久久久 | 国产乱码精品一区二三赶尸艳谈 | 国产精品久久 | 国产精品久久7777777 | 日韩视频精品在线 | 懂色一区二区三区免费观看 | 国产精品视频免费播放 | 国产亚洲精品美女久久久久久久久久 | 黄视频免费在线 | 欧美激情精品久久久久久 | 欧美日韩国产一区二区三区 | 精品一区二区在线看 | 成人区一区二区三区 | 国产欧美日韩一区二区三区在线 | 欧美中文字幕一区二区三区 | 在线播放国产一区二区三区 | 亚洲激情专区 | 视频一区二区三区四区五区 | 久久免费精品 | 91av在线免费播放 | 午夜欧美日韩 | 日韩一区二区三区在线观看 | 欧美一区日韩一区 | 亚洲精品一区二区三区蜜桃久 | 在线观看成年人视频 | 成年人黄色一级毛片 | 免费在线视频一区二区 | 天堂资源 | 日韩精品免费在线观看 | 亚洲黄色一级 | 欧美一级在线观看 | 成年免费大片黄在线观看一级 | 欧美极品在线 | 怡红院免费的全部视频 | 欧美一区二区二区 | 日本超碰 |