容量制限（クォータ）

システムを複数の用途で使っている場合、```ある用途についてファイルシステムの容量を無制限に使えると、他のの用途に使うための容量が足りなくなる``` ことがあります。特にシステム管理処理のための容量が足りなくなると、システム全体が正しく動作しなくなります。
この問題を避けるために用途ごとに使用できるファイルシステムの```容量を制限する```機能があります。この機能は一般に「クォータ」と呼ばれます。

### 気づき
linuxでコマンドが動かなくなることがあった。その時ファイルシステムの容量が１００％になっていたからだった。
あの時はパニックになった。

# クォータの種類
### ユーザクォータ
ファイルの所有者となるユーザごとに容量を制限。
### ディレクトリクォータ（あるいはプロジェクトクォータ）
特定のディレクトリごとに容量を制限。
### サブボリュームクォータ
ファイルシステム内のサブボリュームという単位ごとに容量を制限。概ねディレクトリクォータと使い方は同じ。
Btrfsはサブボリュームクォータ機能を使える

#### サブボリュームクォータとは
btrfsファイル・システムの最上位レベルは、```ディレクトリやファイルを含む名前付きのBツリー構造で構成されたサブボリューム```であり、これにはさらにディレクトリやファイルを含むそれ自体が```名前付きのBツリーであるbtrfsサブボリュームが含まれる```ことがあります。 サブボリュームを作成するには、サブボリュームを作成するbtrfsファイル・システム内の位置にディレクトリを変更し、次のコマンドを入力します。

#### 出典
https://docs.oracle.com/cd/E39368_01/adminsg/ol_use_case3_btrfs.html#:~:text=btrfs%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E6%9C%80%E4%B8%8A%E4%BD%8D%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AF%E3%80%81%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E5%90%8D%E5%89%8D%E4%BB%98%E3%81%8D%E3%81%AEB%E3%83%84%E3%83%AA%E3%83%BC%E6%A7%8B%E9%80%A0%E3%81%A7%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E3%81%93%E3%82%8C%E3%81%AB%E3%81%AF%E3%81%95%E3%82%89%E3%81%AB%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E3%81%9D%E3%82%8C%E8%87%AA%E4%BD%93%E3%81%8C%E5%90%8D%E5%89%8D%E4%BB%98%E3%81%8D%E3%81%AEB%E3%83%84%E3%83%AA%E3%83%BC%E3%81%A7%E3%81%82%E3%82%8Bbtrfs%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8Bbtrfs%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%86%85%E3%81%AE%E4%BD%8D%E7%BD%AE%E3%81%AB%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

Btrfsのファイルシステムは、作成時に```サブボリュームと呼ばれるマウント可能な領域を1つ```持っています。サブボリュームは追加で任意の個数を作れます。各サブボリュームは、ストレージプール内の容量を共有しているため、LVMの論理ボリュームのように、個々のボリュームごとに容量を決める必要はありません。LVMとBtrfsにおいて、それぞれ使用量が同じ論理ボリューム、あるいはサブボリュームを作った場合の例を示します。

#### 出典
https://github.com/satoru-takeuchi/btrfs-thin-book/blob/master/features.md#:~:text=Btrfs%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AF%E3%80%81%E4%BD%9C%E6%88%90%E6%99%82%E3%81%AB%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%A8%E5%91%BC%E3%81%B0%E3%82%8C%E3%82%8B%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E5%8F%AF%E8%83%BD%E3%81%AA%E9%A0%98%E5%9F%9F%E3%82%921%E3%81%A4%E6%8C%81%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%AF%E8%BF%BD%E5%8A%A0%E3%81%A7%E4%BB%BB%E6%84%8F%E3%81%AE%E5%80%8B%E6%95%B0%E3%82%92%E4%BD%9C%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E5%90%84%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%AF%E3%80%81%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%83%97%E3%83%BC%E3%83%AB%E5%86%85%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%85%B1%E6%9C%89%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81LVM%E3%81%AE%E8%AB%96%E7%90%86%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E5%80%8B%E3%80%85%E3%81%AE%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%94%E3%81%A8%E3%81%AB%E5%AE%B9%E9%87%8F%E3%82%92%E6%B1%BA%E3%82%81%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82LVM%E3%81%A8Btrfs%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6%E3%80%81%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E4%BD%BF%E7%94%A8%E9%87%8F%E3%81%8C%E5%90%8C%E3%81%98%E8%AB%96%E7%90%86%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%80%81%E3%81%82%E3%82%8B%E3%81%84%E3%81%AF%E3%82%B5%E3%83%96%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E4%BE%8B%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

#### 気づき
よくわからなかったが、ファイルシステムより小さな区分のものだろう。

# また
特に業務システムにおいては、クォータの設定により、```特定のユーザないしプログラムがストレージ容量を使いすぎないように制御```することがよくあります。

# 出典
https://gihyo.jp/book/2022/978-4-297-13148-7

### 感想
クォータはシステム全体に障害が出ないように一つずつに制限を加えているのか。
ディレクトリクォータは最初怖かった。今でも怖い。