次のシナリオがあります。
/としてマウントされ、多くのディスク容量を持つ単一パーティション。
さまざまなディレクトリ(/ pg / tbs1、/ pg / tbs2、/ pg / tbs3など)があり、これらのディレクトリの合計サイズを制限したいと思います。
1つのオプションは、いくつかの大きなファイルを作成してからmkfsし、ループバックを介してマウントし、クォータを設定することですが、これにより拡張が少し問題になります。
ディレクトリごとにクォータを機能させる他の方法はありますか?
次のシナリオがあります。
/としてマウントされ、多くのディスク容量を持つ単一パーティション。
さまざまなディレクトリ(/ pg / tbs1、/ pg / tbs2、/ pg / tbs3など)があり、これらのディレクトリの合計サイズを制限したいと思います。
1つのオプションは、いくつかの大きなファイルを作成してからmkfsし、ループバックを介してマウントし、クォータを設定することですが、これにより拡張が少し問題になります。
ディレクトリごとにクォータを機能させる他の方法はありますか?
回答:
ext3を使用せざるを得ない場合は、おそらくLVMを使用することが最善のソリューションです。プロジェクトごとに新しいファイルシステムを作成します。これは次のようになります。
# Create a 10g filesystem for "project1" in volume group "vg0"
lvcreate -L 10g -n project1 vg0
# Create an ext3 filesystem.
mke2fs -j /dev/vg0/project1
# Mount it (obviously you would want this in /etc/fstab)
mount /dev/vg0/project1 /projects/project1
プロジェクトファイルシステムの成長は簡単です。
# Add 2GB to the volume.
lvextend -L +2g /dev/vg0/project1
# Grow the filesystem.
resize2fs /dev/vg0/project1
私は仮想メールユーザー全員のシステムユーザーを作成する必要がなかったので、実際にしばらくの間これをやりたいと思っていました。クォータのあるZFSファイルシステムは素晴らしいものであり、zfs-fuseは毎日進歩していますが、私が欲しかったのは非常に軽量なソリューションでした。最後に、別のファイルシステム上にレイヤーとしてマウントできるFUSEファイルシステムを作成することにしました(実際には任意のベースディレクトリが機能します)。簡単にスクリプト化できるクォータを管理するユーティリティがあり、クォータ値はディレクトリまたはファイルにxattrsとして保存されるため、1つのマウントポイントが任意の数のクォータをサポートできます。
私はしばらくの間メールサーバーでそれをテストしてきましたが、最近、それが思春期に達しており、野生にリリースする準備ができていると判断しました。興味がある場合は、http://code.google.com/p/fusequota/で確認できます。フィードバックをいただければ幸いです。
各共有フォルダの新しいファイルシステムは私見過剰です。共有フォルダーごとに新しいグループを作成し、共有フォルダーの所有者グループをこのグループに設定し、スティッキービットをグループに設定して(すべての新しいファイルとディレクトリがこのグループを所有者として持つように)、ファイルとフォルダーのアクセス許可にaclリストを使用します。次に、これらのグループのクォータを設定します。
resize2fs
してファイルシステムを拡大します。LVMを使用する方が優れたソリューションであると思いますが、提案されたものにはあなたが考える制限はありません。