web-dev-qa-db-ja.com

/ varディレクトリのサイズを増やす方法は?

最初の質問:

df -hを実行すると、次のように表示されます。

# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    9.7G    8.0G    918M    90%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d    1.8T    6.7G    1.6T     0%    /home
procfs         4.0K    4.0K      0B   100%    /proc
linprocfs      4.0K    4.0K      0B   100%    /usr/compat/linux/proc
devfs          1.0K    1.0K      0B   100%    /var/named/dev

なぜそれは次のようなディレクトリを表示しません:

/var/etc/usr

?以前の専用サーバーでは、使用可能なすべてのパーティションサイズを表示できましたが、ここでは/home/...しか取得できませんでした。

2番目の質問:

/varパーティションサイズを増やすにはどうすればよいですか? 2時間の作業の後、このパーティションはいっぱいになりました...

2
Cyclone

df コマンドは、ファイルシステムごとのディスク領域の使用状況を報告します。 /var/etc/usrは、/ファイルシステムの一部である独立したファイルシステムではありません。ファイルシステムは//homeの2つしかありません。

システムを再インストールできる場合は、パーティションを変更して、適切なサイズの/varファイルシステムを作成できます。

できない場合は、リンク/var-> /home/varを作成してみてください。ただし、これを行う方法の詳細は、システムへのアクセス権によって異なります。

7
user9517

上記のとおり、別のFSでない限り、/varを増やすことはできません。ただし、/から/homeのように、より大きなFS=に移動できます。唯一の提案-dump/restoreを使用して、/ varの現在のコンテンツを新しい場所に移動します代わりにmvまたはtar voodoo。これにより、所有権と権限だけでなく、/ var/emptyのschg/uchgなどのいわゆる「フラグ」も保存されます。また、/homeと/が別のパーティションにある限り、/ home/var->/varをハードリンクします。

  # mkdir /home/var
  # cd /home/var
  # dump 0af - /var | restore rf -
  # chflags -R nouchg,noschg /var
  # rm -r /var
  # ls -s /home/var /var

もちろん、上記すべてにシングルユーザーモードが必要です。それができない場合は、最初に/ varを使用するすべてのデーモン(sendmailやmysqlなど)を停止する必要があります。

他の良い習慣-/ var全体ではなく、大きくなる傾向があるdirsだけを移動します。/var/db/mysql、/ var/log、/ var/mailなどです。私はそれらのために別々のホームを作成することを好みます-/ usr/home/log、/ usr/home/mysqlおよび/ usr/home/mailなど。したがって、dirsは、ソフトウェアの構成を防止するために、/ var内の通常の場所にリンクされます。

3
Kondybas

なぜそれは次のようなディレクトリを表示しません:

このマシンには独自のファイルシステムはありませんが、/のサブディレクトリであるためです。

以前の専用サーバーでは、使用可能なすべてのパーティションサイズを表示できましたが、ここでは/ homeと/ ...しか取得できませんでした。

あなたはそれらしか持っていないので、おそらく。

/ varパーティションサイズを増やすにはどうすればよいですか? 2時間の作業の後、このパーティションはいっぱいになりました...

/varパーティションがないため、できません。

別のディスクを追加する場合は、/varの下にあるすべてのものをこのディスクに移動し、/varとしてマウントできます。

編集:/home/がほとんど空であることを確認しました。したがって、/varの下にあるすべてのものを/home/varに移動し、/varをそこのシンボリックリンクに置き換えます。シングルユーザーモードで、またはレスキューシステムからこれを行う必要がある場合があります。

3
Sven

/var内でのシンボリックリンクが好きではないというだけの理由で、これまでに提案されている方法とは少し異なるアプローチをとります。前と同じように、移動するデータを保持する/homeの下に新しいディレクトリを作成し、データをコピーします。

nullfsマウントポイントを使用して、ソフトウェアが想定する場所に実際のディレクトリ(例:/home/var/db/mysql)をマウントできます。

mount -t nullfs /home/var/db/mysql /var/db/mysql

/etc/fstabでは、次のようになります。

/home/var/db/mysql  /var/db/mysql  nullfs  rw   0    0

このアプローチを機能させるには、カーネルにoptions NULLFSが必要か、nullfsカーネルモジュールを使用可能にする必要があることに注意してください。

システムに関する限り、システムは/home/var/db/mysqlから/var/db/mysqlの内容に通常どおり正確にアクセスできます。このアプローチは、stat(1)やrealpath(1)などのユーティリティが/varの下ではなく/home/varの下にあるパスを報告することも意味します。

2
D_Bye