Linuxでディスクパーティションに毎日の書き込み制限を適用するには?

Linuxでディスクパーティションに毎日の書き込み制限を適用するには?

私のディスクパーティションに特定の書き込み制限を適用したいと思います。アプリケーションが特定のディスクパーティションに時間、日、または週ごとに書き込むことができるデータ量を制限したいと思います。

Linux上の特定のディスクパーティションに毎時/毎日/毎週の書き込み制限を指定する標準的な方法はLinuxにありますか?cgroupsV2は、特定のパーティションに対して1秒あたりのIO制限のオプションを提供しているように見えますが、毎時/日制限のオプションは表示されません。

答え1

これら2つのリソースを使用すると、ディスクパーティションにタイムアウト書き込みクォータを設定できます。 1つ目はプレインストールされたxfs_quotaユーティリティ、2つ目はGit Hubを介して利用可能な「quotatool」です。

最初のリソース:xfs_quota

xfs_quotaは、対話的にまたはコマンドで使用できるユーティリティです。これにより、特定のユーザー、ユーザーグループ、またはプロジェクトに基づいて特定の時間の書き込みクォータを設定できます。

管理コマンドを使用するには、次のように対話型ユーティリティを実行します。 (コマンドの一部として設定を設定する前に、fスイッチを含めて「パス:外部ファイルシステム。有効にするには、-fを呼び出してxfs_quotaを呼び出してください」というエラーを回避しました。):

#xfs_quotas -xf

xfs_quota> help

df [-bir] [-hN] [-f file] -- show free and used counts for blocks and inodes

disable [-gpu] [-v] -- disable quota enforcement

....

Use 'help commandname' for extended help.

Red Hat コマンドの例、/target/pathファイルシステムのグループアカウントにそれぞれソフトブロック制限1000m、ハードブロック制限1200mを設定するには、次のコマンドを使用します。

xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path

ここでxfs_quotaの詳細を読むことができます。https://linux.die.net/man/8/xfs_quota

2番目のリソース:quotatool

Linux、Mac OS X、FreeBSD、OpenBSD、NetBSD、Solaris、AIX のファイルシステムクォータ用のコマンドラインユーティリティ

時間パラメータ(t)は、オプションの「+」または「-」修飾子、数字、および「秒」、「分」、「時間」、「日」、「週」、および「月」です。

あなたの質問に対する回答の例:/homeでグローバルブロック猶予期間を1週間に設定します。

quotatool -u -b -t "1 week" /home

ここからツールにアクセスできます。https://github.com/ekenberg/quotatool

関連情報