home の容量がいっぱいになった時2007年06月24日 12時38分43秒

ユーザ用のディスク領域が埋まってしまうのは、時々あることだ。個人で使っているのか、仕事で業務として使っているのかで、新しいディスクの調達のしやすさなどもそれなりに変わってくるとは思う。

緊急対策としてみられるのが、home1 や home2 等と、順次追加していくこと。.../home1/uyota、.../home2/uyota などと、あちこちに作るのは止めた方がいい。結局、ぐちゃぐちゃになってしまい、収集が付かなくなるの世の常だ。

これに更に、リンクなどを加えると収集が付かなくなる。個人的には cvs でこの被害にあったことがある。cvs が記録していたディレクトリがリンクを展開した後のパスになっていて、統合したときに全てを変換する必要になったこともある。

本当に臨時の対策だったら、/tmp でも使った方がいい。どうせ無くなっても困らない物だけにするのだ。

緊急対策としてやるのであれば、nullfs や unionfs を駆使した方がいい。管理者の権限が必要にはなるが、どうせ物理的に容量が足りない状況だ。一部のユーザを他のディスクに退避して、mount_nullfs で本来の位置から従来通りにアクセスできるようにする。そうすると、パス自体は変わらないので、大きいディスクを調達した後に全てのユーザを移せばいい。

もし、コピーをする余裕が無かったり、本当に短期間だけだとわかっているなら、unionfs で回避出来ることもある。

まとめると、ファイルシステムの容量が足りないのを一時的に回避する場合は、mount_* などのファイルシステムレベルのコマンドに頼るのが、王道と言うことだ。システムの低レベルのところが処理をするので、ユーザ空間内で一貫性を保てる。それにくらべ、ln や cd など、ユーザ空間のコマンドに頼って回避すると、後々苦労することになる。

コメント

_ jbk ― 2007年06月24日 17時59分51秒

そんな難しい事しなくても、必要な人のホームディレクトリの下にUSBメモリとかをマウントしちゃえばいいんじゃないですか?

_ uyota ― 2007年06月25日 08時49分28秒

個人的な意見ですが、ユーザの home は一つのパーティションに納めるのが、一番だと思っています。

home1の分、home2の分と同一ユーザ内で使う領域が増えていくと、後々になって結局、統合が面倒になり、そのままになってしまう事が多々ありました。このファイルはどこと思ったときに、あちらこちらを探し回ることになるのです。

こういう状況になっていると、バックアップの対象からも抜けてしまうことも。そういう時に限って、必要なファイルがバックアップされていなかったということも。

複数の人が使っていたら、外部ディスクを一人の人のディレクトリにマウントしても、他の人が使える領域が無いのは変わらないので…。

色々な状況があるとは思うので、対処方法はそれによって変わるのは、構わないと思います。それに、私がどの様なことを書いたとしても、ディスクの割り当て等は各個人の自由ですから。

ただ、/home でも /export/home でも、位置を決めたら動かさないほうが得策です。Dual boot なども個人的に良くやっています。昔、特に初期の頃は、ブートする OS やバージョンによって $HOME の場所が変わってしまうような構成になってしまっていたので、大変でした。それ以降、個人的には /export/home に全てを納めるようにしています。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2007/06/24/1600788/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。