「ディスククォータ」の版間の差分
(ページの作成:「Category:セキュリティ Category:ファイルシステム en:Disk quota Wikipedia より: :'''ディスククォータ'''とは...」) |
Kusanaginoturugi (トーク | 投稿記録) (資源をリソースに修正) |
||
(2人の利用者による、間の2版が非表示) | |||
3行目: | 3行目: | ||
[[en:Disk quota]] |
[[en:Disk quota]] |
||
[[Wikipedia:Disk quota|Wikipedia]] より: |
[[Wikipedia:Disk quota|Wikipedia]] より: |
||
− | :'''ディスククォータ'''とはシステムの管理者によって設定されるファイルシステムの使用量の制限である。ディスクにクォータを設定することで限られたディスク |
+ | :'''ディスククォータ'''とはシステムの管理者によって設定されるファイルシステムの使用量の制限である。ディスクにクォータを設定することで限られたディスクリソースを効果的に活用できる。 |
この記事ではディスククォータのインストールと設定方法について説明します。 |
この記事ではディスククォータのインストールと設定方法について説明します。 |
||
34行目: | 34行目: | ||
{{Tip| |
{{Tip| |
||
+ | コマンドを実行すると |
||
− | If the command returns with |
||
− | * {{ic|[...]Quotafile $FILE was probably truncated. Cannot save quota settings...}} |
+ | * {{ic|[...]Quotafile $FILE was probably truncated. Cannot save quota settings...}} となる場合は、以前に作成した {{ic|aquota*}} を削除してください。 |
− | * {{ic|quotacheck: Mountpoint (or device) /home not found or has no quota enabled. quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.}} |
+ | * {{ic|quotacheck: Mountpoint (or device) /home not found or has no quota enabled. quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.}} となり、かつカスタムカーネルを使っている場合は、カーネルがクォータをサポートしていることを確認してください。 |
− | + | エラーが発生し続けているなら、 {{ic|-F vfsold}} または {{ic|-F vfsv0}} オプションを追加で試してみてください。なおカーネル 3.1.6-1 時点で、Arch では {{ic|vfsv1}} をもはやサポートしていません。 |
|
+ | ファイルシステムを再マウントするときに |
||
− | If trying to remount the filesystem returns with |
||
− | * {{ic|mount: /home not mounted already, or bad option}} |
+ | * {{ic|mount: /home not mounted already, or bad option}} となるなら、クォータがすでに有効かもしれません。{{ic|quotaoff /home}} を root で実行してからもう一度再マウントを試してみてください。 |
}} |
}} |
||
63行目: | 63行目: | ||
{{note|グループクォータを編集する場合、{{ic|edquota -g $GROUP}} を使ってください。}} |
{{note|グループクォータを編集する場合、{{ic|edquota -g $GROUP}} を使ってください。}} |
||
;blocks: {{ic|$USER}} によって現在使われている 1k ブロック数。 |
;blocks: {{ic|$USER}} によって現在使われている 1k ブロック数。 |
||
− | {{note|ファイルシステムのブロックサイズとは無関係にブロックサイズは 1k に固定して設定されています。詳しくは [ |
+ | {{note|ファイルシステムのブロックサイズとは無関係にブロックサイズは 1k に固定して設定されています。詳しくは [https://stackoverflow.com/questions/2506288/detect-block-size-for-quota-in-linux/2506311#2506311] を参照。}} |
;inodes: {{ic|$USER}} によって使われているディレクトリ・ファイルのエントリ数。 |
;inodes: {{ic|$USER}} によって使われているディレクトリ・ファイルのエントリ数。 |
||
;soft: {{ic|$USER}} がパーティション上に作成できるブロック/inode の最大数。この数に達すると警告が表示され猶予時間のカウントダウンが開始します。"0" (ゼロ) に設定されている場合、制限無しです。 |
;soft: {{ic|$USER}} がパーティション上に作成できるブロック/inode の最大数。この数に達すると警告が表示され猶予時間のカウントダウンが開始します。"0" (ゼロ) に設定されている場合、制限無しです。 |
2024年6月28日 (金) 22:24時点における最新版
Wikipedia より:
- ディスククォータとはシステムの管理者によって設定されるファイルシステムの使用量の制限である。ディスクにクォータを設定することで限られたディスクリソースを効果的に活用できる。
この記事ではディスククォータのインストールと設定方法について説明します。
目次
インストール
quota-tools パッケージをインストールしてください。
使用方法
まずは、/etc/fstab
を編集してファイルシステムのクォータマウントオプションを有効にしてください。例えば以下のエントリがあった場合:
/dev/sda1 /home ext4 defaults 1 1
以下のように変更します:
/dev/sda1 /home ext4 defaults,usrquota 1 1
または、グループクォータマウントオプションも有効にする場合:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 1 1
オプションを追加したら再マウントしてください:
# mount -vo remount /home
そしてクォータインデックスを作成してください:
# quotacheck -vgum /home
複数のパーティションでクォータオプションを追加した場合、root で quotacheck -vguma
を使うこともできます。
最後に、クォータを有効にしてください:
# quotaon -av
上記の設定を行うと systemd ユニットの quotaon.service
と systemd-quotacheck.service
がディスククォータのチェックを行ってくれます [1]。/etc/fstab
のクォータマウントオプションがパースされると、両方のサービスが自動的に起動します。
設定
$USER
は適当なユーザーに置き換えてください:
# edquota $USER
Disk quotas for user $USER (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda1 1944 0 0 120 0 0
- blocks
$USER
によって現在使われている 1k ブロック数。
- inodes
$USER
によって使われているディレクトリ・ファイルのエントリ数。- soft
$USER
がパーティション上に作成できるブロック/inode の最大数。この数に達すると警告が表示され猶予時間のカウントダウンが開始します。"0" (ゼロ) に設定されている場合、制限無しです。- hard
$USER
がパーティション上に作成できるブロック/inode の最大数。"0" (ゼロ) に設定されている場合、制限無しです。
soft
リミットの猶予期間を設定するには:
# edquota -t
設定例
例えば以下の user1 の設定の場合:
# edquota user1
Disk quotas for user user1 (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda1 695879 10000 15000 6741 0 0
user1 の使用容量が soft
リミットの 10MB を超えたときに、edquota -t
で設定した時間が経過した後、ソフトリミットが発動します。
hard
リミットはさらに厳しい制限を課します。ハードリミットまで達したらユーザーはデータを全く書き込めなくなります。
管理
クォータの制限と高度な操作。
基本
以下のコマンドを使うことで指定したパーティションのクォータを確認できます:
# repquota /home
ユーザーに適用されている全てのクォータを確認するには以下のコマンドを使ってください:
# quota -u $USER
グループの場合:
# quota -g $GROUP
クォータの設定のコピー
別のユーザーにコピー
user1
から user2
にクォータの設定をコピーするには:
# edquota -p user1 user2
クォータの設定を複数のユーザーにコピーしたい場合、コマンドの末尾に user3
, user4
とユーザーを追加することができます。
グループの設定をコピーする場合は edquota -g -p group1 group2 ...
とします。
全てのユーザーにコピー
user1
のクォータを設定してから999以上の UID を持つユーザー全てにクォータを適用:
# edquota -p user1 $(awk -F: '$3 > 999 {print $1}' /etc/passwd)
他のコマンド
便利なコマンドが存在します:
repquota -a
はディスクの使用状況を表示します。warnquota
は/etc/warnquota.conf
の設定に基づいて、クォータについてユーザーに警告します。setquota
はスクリプトから使うときに便利なクォータの設定コマンドです。quotastats
はクォータシステムに関する情報を表示します:
$ quotastats
Number of dquot lookups: 101289 Number of dquot drops: 101271 Number of still active inodes with quota : 18 Number of dquot reads: 93 Number of dquot writes: 2077 Number of quotafile syncs: 134518740 Number of dquot cache hits: 7391 Number of allocated dquots: 90 Number of free dquots: 2036 Number of in use dquot entries (user/group): -1946