予備で使っているUbuntuサーバ。ディスク容量が余っているのでバックアップサーバとして用いてみました。
前提
- サーバA(メイン)とサーバB(バックアップ)が同一NW上につながっている。
- 両方ともサーバはUbuntu。
- サーバBの/home/backupディレクトリをバックアップとして用いる。
さっくりとした手順
- サーバBでNFSサーバをインストールします。
- サーバBでサーバAの許可設定を行います。
- サーバAでサーバBのディスクをマウントします。
- 再起動時、自動マウントできるように設定します。
NFSサーバインストール (サーバB)
sudo aptitude update
sudo aptitude install nfs-kernel-server
NFSサーバアクセス許可設定 (サーバB)
教義・信仰に沿ったエディタで以下のファイルを編集・追記します。
/etc/exports
/home/backup <サーバAのIPアドレス>(rw,sync,no_root_squash,no_subtree_check)
NFSサーバの設定反映
sudo systemctl restart nfs-kernel-server
NFSクライアントのインストール(サーバA)
sudo aptitude update
sudo aptitude install nfs-common
マウントするディレクトリの作成(サーバA)
sudo mkdir /mnt/backup
サーバのマウント確認(サーバA)
sudo mount <サーバBのIPアドレス>:/home/backup /mnt/backup
df -h
# サーバBのIPアドレス:/home/backup と見えていれば成功です
sudo mkdir test
sudo chown -R hoge:hoge test
# hogeは任意のユーザ名を指定します
cd test
touch test.txt
ls test.txt
# ファイルが表示されることを確認します
rm test.txt
ls test.txt
# ファイルが表示されないことを確認します
cd
#/mnt/backupにいるとマウント解除できません
sudo umount /mnt/backup
df -h
# サーバBのIPアドレス:/home/backup が消えていればマウント解除できています
fstab編集(サーバA)
サーバAを再起動しても自動的にサーバBのディレクトリをマウントできるようにします。
教義・信仰に沿ったエディタで以下のファイルを編集・追記します。
/etc/fstab
<サーバBのIPアドレス>:/backup /mnt/backup nfs rw,sync 0 0
自動マウント確認(サーバA)
※サーバの再起動を行うので、作業時は注意してください。
sudo reboot
df -h
# サーバBのIPアドレス:/home/backup と見えていれば成功です
rsyncやlsyncと違って、あたかもそのディスクがサーバ上にあるかのように扱えるのがポイントです。
もちろん、NW越しにデータの読み書きをするので、速度はNWの帯域や処理速度に依拠します。過信は禁物です。