すべてのホームディレクトリを移動

すべてのホームディレクトリを移動

/homeがNFSボリューム上のディレクトリへのシンボリックリンク(たとえば/nfsvol/some/other/path/home)になるように設定されたシステムがあります。これをコンピュータ自体のファイルシステムに戻す必要がありますが、最も安全な方法が何であるかよくわかりません。

  1. /homeの内容を/new_homeにコピーし、/homeを削除し、/new_homeの名前を/homeに変更します。
  2. then を使用すると、usermod -d -m /new_home/$USERNAME $USERNAME/new_home の名前が /home に変更されます。しかし、/new_homeの名前を/homeに変更すると後ろに走るとusermod -d -m問題が発生しますか?システムのどの部分で、まだホームディレクトリが/new_homeにあると思いますか?
  3. もっと良い方法がありますか?

また、usermodを使用している場合は、移動操作が完了するまでユーザーアカウントをロックすることを検討する必要がありますか?一部のユーザーは非常に大きなホームディレクトリ(> 100 GB)を持っているため、数分かかることがあります。

答え1

rsyncを使用すると、ユーザーがシステムを使用している間でもデータを安全にコピーできます。その後、短時間で最終更新を実行して変更を完了できます。

mkdir /home1
chmod 755 /home1
rsync -avz /nfsvol/some/other/path/home/ /home1

その後、ユーザーと一緒に停電を準備します。誰もがログアウトしていることを確認し、必要に応じてすべてのログインをブロックしてください。その後、最終同期と変更を行います。

rsync -avz /nfsvol/some/other/path/home/ /home1
rm /home
mv /home1 /home

前述のように、現在nfsボリューム上のすべてのデータをホストするのに十分なローカルディスク容量があることを確認してください。ローカルディスクの残りの部分に影響を与えずに成長できるように、/homeに十分なスペースがあることを確認してください。

可能であれば、リスクを最小限に抑えるために、/homeを/と1つのパーティションに分割するのが最善です。

関連情報