web-dev-qa-db-ja.com

/ varを新しいディスクセットに移動します

現在、このCentOSボックスにリモートアクセスすることしかできません。プライマリRAIDから/ varを、より多くのスペースがインストールされた新しいディスクセットに移動する必要があります。これを実現する方法についての現在の考えは、新しいRAIDを一時的にマウントすることです。/tmp/var。/varから/ temp/varまですべてをrsyncしてから、fstabを変更して/ varが新しいディスクを指すようにします。

これが私の質問です。新しいディスクをその場所にマウントしたら、プライマリディスクの既存の/ varを削除するにはどうすればよいですか(これがリモートでも可能であると仮定して)?

4
Brandon

これは、実行中のシステムでは重要なタスクです。 /varツリーには、開いているfdを介して継続的に書き込まれている多くの開いているファイルがあります。これらのファイルは、デーモンにログファイルを閉じて再度開くように指示するまで、元のデバイスで開いたままになります。 mysqlを使用していて、デフォルトのdatadirを使用している場合は、これについても特別な準備をする必要があります。

lsof | grep /var 

あなたの仕事の規模のいくつかのアイデアを与えるでしょう。これらの各ファイルは、新しいデバイスに移動するために、ユーザー側で何らかのアクションが必要になります。一部の(ほとんど?)デーモンは、ファイルを閉じて再度開くためにkill -HUPまたはservice servicename restartを必要とするだけで、他のデーモンはより多くの労力を必要とします。デフォルト設定のmysql。

古い/varを完全に回復できるようにするには、システムを再起動できるようになるまで待たなければならない場合があります。

4
user9517

これはライブシステムでは少し注意が必要かもしれません。switcherooアプローチを実行します。

mv /var /var0
mkdir /var
mount --bind /path/to/raid/var /var

当然、起動時にこれが持続するようにfstabが更新されていることを確認する必要があります。

2
thinice