ディスククォータ
13288 ワード
一、ディスク割り当てとは
ディスク割当額は文字通り1つのディスクに何額を配置するか、quotaは何額の限度額があるかという意味なので、総じてディスク領域の使用量を制限します.Linuxはマルチユーザマルチタスクのオペレーティングシステムなので、多くの人が共通のディスクスペースを持っています.例を挙げると/homeディレクトリは普通のユーザーの家のディレクトリを格納する場所です.私たちはhomeディレクトリに10 Gのスペースがあり、homeの下には3人のユーザーがいます.通常の区分では、一人当たり333 Mのスペースがあるはずです.しかし、中には自宅ディレクトリの下にオーディオファイルが多く格納されて8 Gのスペースを占めているユーザーがいて、他のユーザーには不公平に見えますが、ディスク容量の公平な割り当てを望む場合はquotaで実現します.
二、quotaのよくあるタイプと注意事項
(1)注意事項1.wwwサーバに対して、例えば個人のウェブページ空間の容量限度額.2.mail serverに対して、例えば個人のメールスペースを限度額にする.3.file serverの場合、例えば個人に対して最大の利用可能なネットワークハードディスク領域の限度額.ここでは、ハードディスク(HDD)の空き容量を制限する3つ目の注意点について説明します.コアはquotaをサポートする必要があります:Linuxコアはquotaをサポートする機能を持っていなければなりません.centos 7バージョンではシステムがquota機能をサポートしていますが、自分でコンパイルしたコアであれば、本当にquota機能をオンにしているかどうかに注意してください.そうしないと、後でやることは無駄になる可能性があります.2.ext 2のみに適用する.ext3.ext 4ファイルシステムは、ディレクトリには機能しません.マウントポイントはディレクトリですが、実際にはファイルシステムデバイスです.3.一般ユーザーとグループのみに有効:Linuxシステムではrootアイデンティティが特殊なため、これらの設定はrootには役に立たない.システム全体が他の管理者だからだろう.4.ユーザー・グループに対して使用される限度額とは、グループ内のすべてのメンバーが一緒に使用する限度額であり、個人が使用する限度額ではありません.
quotaのいくつかの構成inodeについて:ユーザーが確立できるファイルの数を制限するblock:inodeでもblockでもソフトウェア/hard、つまりソフト制限とハード制限があり、ユーザーのディスク容量を制限します(デフォルトはKB単位).ソフトウェア:これは最低容量の意味で、ユーザーの猶予期間内に彼の容量はこの値を超えることができますが、ハード制限を超えてはいけません.また、規定の猶予期間内にソフトウェア容量制限の下に容量を下げなければなりません.hard:これは最高の制限で、絶対に超えてはいけません.通常、hard値はソフトウェア値よりも高くなります.ユーザーがhard値を超えた場合、システムはユーザーのディスクの使用権限をロックします.grace time:これが前述の猶予時間です.この猶予時間は、ユーザーのディスク使用量がソフトウェアとhardの間にある場合にのみ発生します.これは、ディスク容量がhardに達すると、ユーザーのディスク使用権限がロックされるため、ユーザーがこの問題に気づかないことを心配するためにソフトウェアが設計されています.ディスクの使用量がソフトウェアを超えてhardに達すると、システムは警告しますが、ユーザーにディスクを自分で管理させる時間も与えられます.一般的には、予め設定された猶予時間は7日ですが、7日以内にディスクを管理しないと、ソフトウェア制限はhard制限に取って代わってquotaの制限になります.
三、quota限度額の操作デモ
1.quotaのインストールパッケージquotaはcentos 7にデフォルトでインストールされていますが、システムにrpmを使用してインストールできない場合は、rpm-q quotaquota-4.01-14にインストールします.el7.x86_642.まず、quotaがrootに対して無効であるため、一般ユーザーを作成します.プレゼンテーションとして一般ユーザーmyquota 1を作成し、プレゼンテーションするディスクがquotaを開くかどうかを確認します.ここでは/dev/sda 6パーティションを操作します.まず、/dev/sda 6がquotaを開くかどうかを確認します.
quotaが開いていないことがわかりますので、再マウントする必要があります.次回の起動も機能するように、/etc/fstabファイルにマウントします.
これで、ディスク割り当てが開始されました.ディスク割当データベースの生成
ここでのパラメータは、それぞれ-aのすべてのパーティション(割り当てがサポートされている)-cが-uユーザ-gグループ4を作成することを意味する.ディスク割り当ての開始
ここでは/dev/sda 6のユーザmyquota 1に対する空間ソフトリミットが5 M、ハードリミットが10 M、作成ファイル数ソフトリミットが5ハードリミットが10
edquota-tがディスクを開く制限日の猶予変更時間は、日、時間、分、秒単位で猶予期間を設定できます.デフォルトは7日間ですが、ここでは/dev/sda 6ディスク領域の制限の猶予期間は5日間ですが、ファイル数の制限の猶予期間は6時間しかありません.6.テスト
myquota 1ユーザーに切り替えて、まず自分の限度額を見てみましょう.
そして効果をテストします
file 4の作成時に警告が表示されたので、割当状況を見てみましょう[myquota1@localhost disk2]$ quota
現在の状況では、最大4つのファイルを作成することができ、最大4 Mのスペースがあります.次に、テストを続け、使用スペースを拡大し続けます.
file 8も作成に成功しましたが、1 Mのデータしかありません.実際のアプリケーションでは3 Mのデータファイルで1 Mだけコピーしても使用できません.このとき、私たちのスペースの限度額は最高に達しました.ファイルの数の限度額がまだ達していないので、空のファイルを作成し続けることができます.
file 9も正常に作成されましたが、ファイルの作成数が1つしか残っていません.11個作成できるかどうか試してみましょう.
file 10の作成に成功し、file 11の作成時に警告が表示されたことがわかります.file 11が作成に成功していないことを確認してから、猶予時間まで削除しないとどうなるかをテストします.まず、いくつかのファイルを削除して、彼のファイル数がハード制限を超えないようにしますが、ソフト制限を超えています.
いくつかのファイルを削除した後、ファイルを作成することができます.次に、時間を変更して、猶予時間を過ぎてどうなるかを見てみましょう.まずrootアイデンティティに切り替えて時間を変更します
時間変更後の猶予時間がnoneになっているのがわかります.私たちはこの時すでに7つのファイルを作成しました.本来のソフト制限は5、ハード制限は10ですが、私たちは今ファイルを作成できません.これは猶予日を超えるとソフト制限がハード制限になり、この時ユーザーはディスクをクリーンアップしなければなりません.
ディスクをクリーンアップした後、*番号がなくなり、猶予時間もなくなりました.
同様に,ユーザグループに対する限度額設定とユーザに対する設定の方法は,dequota userがedquotaグループになっただけである.ただし、単一のメンバーではなく、ユーザー全体のグループの制限です.
四、quotaの実用命令
quotaの効果をテストした後、いくつかのquotaの実用的なコマンドを話します.edquotaでファイルを編集せずにコマンド構成を直接使用
setquota使用形式:setquota user blocks制限inode制限ファイルシステムsetquota myquota 1 2048040960 50 100/dev/sda 62.ディスク割り当てプロファイルを複数のユーザーにコピー
コピーコマンドはeqquota-p user 1 user 2 user 3のためにuser 1のディスク限度額設定をuser 2,user 3にコピーする.ここで注意したいのは、コピーが完了したばかりでquota user 2では割当状況が表示されないことです.-vパラメータ(システムに接続されているすべてのストレージデバイスのスペース制限を表示する)を追加するか、制限ディレクトリに切り替えてファイルを作成してquotaで情報を表示する必要があります.3.ディスク割当レポートの表示
[root@localhost ~]# repquota -a
4.ディスククォータをオフにする
quotaoff-aは、すべてのディスク割り当てをオフにするか、quotaoffの後に指定されたパーティションと指定されたパーティション割り当てをオフにすることができます.
ディスク割当額は文字通り1つのディスクに何額を配置するか、quotaは何額の限度額があるかという意味なので、総じてディスク領域の使用量を制限します.Linuxはマルチユーザマルチタスクのオペレーティングシステムなので、多くの人が共通のディスクスペースを持っています.例を挙げると/homeディレクトリは普通のユーザーの家のディレクトリを格納する場所です.私たちはhomeディレクトリに10 Gのスペースがあり、homeの下には3人のユーザーがいます.通常の区分では、一人当たり333 Mのスペースがあるはずです.しかし、中には自宅ディレクトリの下にオーディオファイルが多く格納されて8 Gのスペースを占めているユーザーがいて、他のユーザーには不公平に見えますが、ディスク容量の公平な割り当てを望む場合はquotaで実現します.
二、quotaのよくあるタイプと注意事項
(1)注意事項1.wwwサーバに対して、例えば個人のウェブページ空間の容量限度額.2.mail serverに対して、例えば個人のメールスペースを限度額にする.3.file serverの場合、例えば個人に対して最大の利用可能なネットワークハードディスク領域の限度額.ここでは、ハードディスク(HDD)の空き容量を制限する3つ目の注意点について説明します.コアはquotaをサポートする必要があります:Linuxコアはquotaをサポートする機能を持っていなければなりません.centos 7バージョンではシステムがquota機能をサポートしていますが、自分でコンパイルしたコアであれば、本当にquota機能をオンにしているかどうかに注意してください.そうしないと、後でやることは無駄になる可能性があります.2.ext 2のみに適用する.ext3.ext 4ファイルシステムは、ディレクトリには機能しません.マウントポイントはディレクトリですが、実際にはファイルシステムデバイスです.3.一般ユーザーとグループのみに有効:Linuxシステムではrootアイデンティティが特殊なため、これらの設定はrootには役に立たない.システム全体が他の管理者だからだろう.4.ユーザー・グループに対して使用される限度額とは、グループ内のすべてのメンバーが一緒に使用する限度額であり、個人が使用する限度額ではありません.
quotaのいくつかの構成inodeについて:ユーザーが確立できるファイルの数を制限するblock:inodeでもblockでもソフトウェア/hard、つまりソフト制限とハード制限があり、ユーザーのディスク容量を制限します(デフォルトはKB単位).ソフトウェア:これは最低容量の意味で、ユーザーの猶予期間内に彼の容量はこの値を超えることができますが、ハード制限を超えてはいけません.また、規定の猶予期間内にソフトウェア容量制限の下に容量を下げなければなりません.hard:これは最高の制限で、絶対に超えてはいけません.通常、hard値はソフトウェア値よりも高くなります.ユーザーがhard値を超えた場合、システムはユーザーのディスクの使用権限をロックします.grace time:これが前述の猶予時間です.この猶予時間は、ユーザーのディスク使用量がソフトウェアとhardの間にある場合にのみ発生します.これは、ディスク容量がhardに達すると、ユーザーのディスク使用権限がロックされるため、ユーザーがこの問題に気づかないことを心配するためにソフトウェアが設計されています.ディスクの使用量がソフトウェアを超えてhardに達すると、システムは警告しますが、ユーザーにディスクを自分で管理させる時間も与えられます.一般的には、予め設定された猶予時間は7日ですが、7日以内にディスクを管理しないと、ソフトウェア制限はhard制限に取って代わってquotaの制限になります.
三、quota限度額の操作デモ
1.quotaのインストールパッケージquotaはcentos 7にデフォルトでインストールされていますが、システムにrpmを使用してインストールできない場合は、rpm-q quotaquota-4.01-14にインストールします.el7.x86_642.まず、quotaがrootに対して無効であるため、一般ユーザーを作成します.プレゼンテーションとして一般ユーザーmyquota 1を作成し、プレゼンテーションするディスクがquotaを開くかどうかを確認します.ここでは/dev/sda 6パーティションを操作します.まず、/dev/sda 6がquotaを開くかどうかを確認します.
[root@localhost ~]# mount
/dev/sda6 on /disk2 type ext4 (rw,relatime,seclabel,data=ordered)
quotaが開いていないことがわかりますので、再マウントする必要があります.次回の起動も機能するように、/etc/fstabファイルにマウントします.
[root@localhost ~]# vim /etc/fstab
/dev/sda6 /disk2 ext4 defaults,usrquota,grpquota 0 0
# , mount ,
[root@localhost ~]# mount -o remount /disk2
[root@localhost ~]# mount
/dev/sda6 on /disk2 type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)
これで、ディスク割り当てが開始されました.ディスク割当データベースの生成
[root@localhost disk2]# quotacheck -acgu
[root@localhost disk2]# ls
aquota.group aquota.user lost+found
ここでのパラメータは、それぞれ-aのすべてのパーティション(割り当てがサポートされている)-cが-uユーザ-gグループ4を作成することを意味する.ディスク割り当ての開始
[root@localhost disk2]# quotaon -a //
5.ディスク割り当てファイルの編集[root@localhost ~]# edquota myquota1
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
/dev/sda6 0 5120 10240 1 5 10
ここでは/dev/sda 6のユーザmyquota 1に対する空間ソフトリミットが5 M、ハードリミットが10 M、作成ファイル数ソフトリミットが5ハードリミットが10
edquota -t
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/sdb1 7days 7days
/dev/sda6 5days 6hours
edquota-tがディスクを開く制限日の猶予変更時間は、日、時間、分、秒単位で猶予期間を設定できます.デフォルトは7日間ですが、ここでは/dev/sda 6ディスク領域の制限の猶予期間は5日間ですが、ファイル数の制限の猶予期間は6時間しかありません.6.テスト
myquota 1ユーザーに切り替えて、まず自分の限度額を見てみましょう.
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 0 5120 10240 1 5 10
そして効果をテストします
[myquota1@localhost disk2]$ touch file2
[myquota1@localhost disk2]$ dd if=/dev/zero of=file2 bs=1M count=2
[myquota1@localhost disk2]$ dd if=/dev/zero of=file3 bs=1M count=2
[myquota1@localhost disk2]$ dd if=/dev/zero of=file4 bs=1M count=2
sda6: warning, user block quota exceeded.
2+0 records in
2+0 records out
2097152 bytes (2.1 MB) copied, 0.00488266 s, 430 MB/s
file 4の作成時に警告が表示されたので、割当状況を見てみましょう[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 6144* 5120 10240 4days 4 5 10
# 6144KB , 6144 * , 4 , , ,
[myquota1@localhost disk2]$ touch file{5,6}
sda6: warning, user file quota exceeded.
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 6144* 5120 10240 4days 6* 5 10 06:00
# ,inode * , 6 。
現在の状況では、最大4つのファイルを作成することができ、最大4 Mのスペースがあります.次に、テストを続け、使用スペースを拡大し続けます.
[myquota1@localhost disk2]$ dd if=/dev/zero of=file7 bs=1M count=3
3+0 records in
3+0 records out
3145728 bytes (3.1 MB) copied, 0.00578637 s, 544 MB/s
[myquota1@localhost disk2]$ dd if=/dev/zero of=file8 bs=1M count=3
sda6: write failed, user block limit reached.
dd: error writing ‘file8’: Disk quota exceeded
2+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00451473 s, 232 MB/s
# , 。
[myquota1@localhost disk2]$ ll
total 10272
-rw-------. 1 root root 7168 Mar 3 01:25 aquota.group
-rw-------. 1 root root 7168 Mar 3 01:25 aquota.user
-rw-rw-r--. 1 myquota1 myquota1 0 Mar 3 01:44 file1
-rw-rw-r--. 1 myquota1 myquota1 2097152 Mar 3 17:04 file2
-rw-rw-r--. 1 myquota1 myquota1 2097152 Mar 3 17:05 file3
-rw-rw-r--. 1 myquota1 myquota1 2097152 Mar 3 17:05 file4
-rw-rw-r--. 1 myquota1 myquota1 0 Mar 3 17:15 file5
-rw-rw-r--. 1 myquota1 myquota1 0 Mar 3 17:15 file6
-rw-rw-r--. 1 myquota1 myquota1 3145728 Mar 3 17:21 file7
-rw-rw-r--. 1 myquota1 myquota1 1048576 Mar 3 17:21 file8
drwx------. 2 root root 16384 Mar 3 00:57 lost+found
file 8も作成に成功しましたが、1 Mのデータしかありません.実際のアプリケーションでは3 Mのデータファイルで1 Mだけコピーしても使用できません.このとき、私たちのスペースの限度額は最高に達しました.ファイルの数の限度額がまだ達していないので、空のファイルを作成し続けることができます.
[myquota1@localhost disk2]$ touch file9
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 10240* 5120 10240 4days 9* 5 10 05:49
file 9も正常に作成されましたが、ファイルの作成数が1つしか残っていません.11個作成できるかどうか試してみましょう.
[myquota1@localhost disk2]$ touch file10
[myquota1@localhost disk2]$ touch file11
sda6: write failed, user file limit reached.
touch: cannot touch ‘file11’: Disk quota exceeded
[myquota1@localhost disk2]$ ls
aquota.group file1 file2 file4 file6 file8 lost+found
aquota.user file10 file3 file5 file7 file9
file 10の作成に成功し、file 11の作成時に警告が表示されたことがわかります.file 11が作成に成功していないことを確認してから、猶予時間まで削除しないとどうなるかをテストします.まず、いくつかのファイルを削除して、彼のファイル数がハード制限を超えないようにしますが、ソフト制限を超えています.
[myquota1@localhost disk2]$ rm -f file{7,8,9,10}
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 6144* 5120 10240 4days 6* 5 10 05:25
[myquota1@localhost disk2]$ touch test1
[myquota1@localhost disk2]$ ls
aquota.group file1 file3 file5 lost+found
aquota.user file2 file4 file6 test1
いくつかのファイルを削除した後、ファイルを作成することができます.次に、時間を変更して、猶予時間を過ぎてどうなるかを見てみましょう.まずrootアイデンティティに切り替えて時間を変更します
[root@localhost ~]# date
Sat Mar 3 18:45:25 CST 2018
[root@localhost ~]# date -s 2018-03-04
Sun Mar 4 00:00:00 CST 2018
[root@localhost ~]# clock -w
[root@localhost ~]# su - myquota1
Last login: Sat Mar 3 18:37:37 CST 2018 on pts/0
[myquota1@localhost ~]$ cd /disk2
[myquota1@localhost disk2]$ ls
aquota.group file1 file3 file5 lost+found
aquota.user file2 file4 file6 test1
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 6144* 5120 10240 4days 7* 5 10 none
[myquota1@localhost disk2]$ touch test2
sda6: write failed, user file quota exceeded too long.
touch: cannot touch ‘test2’: Disk quota exceeded
[myquota1@localhost disk2]$ ls
aquota.group file1 file3 file5 lost+found
aquota.user file2 file4 file6 test1
時間変更後の猶予時間がnoneになっているのがわかります.私たちはこの時すでに7つのファイルを作成しました.本来のソフト制限は5、ハード制限は10ですが、私たちは今ファイルを作成できません.これは猶予日を超えるとソフト制限がハード制限になり、この時ユーザーはディスクをクリーンアップしなければなりません.
[myquota1@localhost disk2]$ rm -rf file{1,2,3,4,5,6}
[myquota1@localhost disk2]$ ls
aquota.group aquota.user lost+found test1
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 0 5120 10240 1 5 10
ディスクをクリーンアップした後、*番号がなくなり、猶予時間もなくなりました.
同様に,ユーザグループに対する限度額設定とユーザに対する設定の方法は,dequota userがedquotaグループになっただけである.ただし、単一のメンバーではなく、ユーザー全体のグループの制限です.
四、quotaの実用命令
quotaの効果をテストした後、いくつかのquotaの実用的なコマンドを話します.edquotaでファイルを編集せずにコマンド構成を直接使用
[myquota1@localhost disk2]$ quota
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 0 5120 10240 1 5 10
[myquota1@localhost disk2]$ exit
logout
[root@localhost ~]# setquota myquota1 20480 40960 50 100 /dev/sda6
[root@localhost ~]# quota myquota1
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 0 20480 40960 1 50 100
setquota使用形式:setquota user blocks制限inode制限ファイルシステムsetquota myquota 1 2048040960 50 100/dev/sda 62.ディスク割り当てプロファイルを複数のユーザーにコピー
[root@localhost ~]# edquota -p myquota1 myquota2
[root@localhost ~]# quota myquota2
Disk quotas for user myquota2 (uid 1003): none
[root@localhost ~]# quota -v myquota2
Disk quotas for user myquota2 (uid 1003):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 0 20480 40960 0 50 100
/dev/sdb1 0 0 0 0 0 0
コピーコマンドはeqquota-p user 1 user 2 user 3のためにuser 1のディスク限度額設定をuser 2,user 3にコピーする.ここで注意したいのは、コピーが完了したばかりでquota user 2では割当状況が表示されないことです.-vパラメータ(システムに接続されているすべてのストレージデバイスのスペース制限を表示する)を追加するか、制限ディレクトリに切り替えてファイルを作成してquotaで情報を表示する必要があります.3.ディスク割当レポートの表示
[root@localhost ~]# repquota -a
*** Report for user quotas on device /dev/sda6
Block grace time: 5days; Inode grace time: 06:00
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
myquota1 -- 0 20480 40960 1 50 100
myquota2 -- 0 20480 40960 1 50 100
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 13 0 0 2 0 0
4.ディスククォータをオフにする
[root@localhost ~]# quotaoff -a
[root@localhost ~]# repquota -a
*** Report for user quotas on device /dev/sda6
Block grace time: 5days; Inode grace time: 06:00
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
myquota1 -- 0 20480 40960 1 50 100
myquota2 -- 0 20480 40960 1 50 100
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 13 0 0 2 0 0
quotaoff-aは、すべてのディスク割り当てをオフにするか、quotaoffの後に指定されたパーティションと指定されたパーティション割り当てをオフにすることができます.