【nfs】NFSマウントしバックアップメモ【rsync】
はじめに
ボリュームを増設したいと考え、その前にバックアップしたので、その手順です。
- マシンA RAID拡張前にバックアップをしたいマシン
- マシンB バックアップを保管するマシン
NFSマウント
nfs-common をインストール
マシンA に nfs-common をインストールします。
# sudo apt update
# sudo apt install nfs-common
nfs-kernel-server をインストール
マシンBに nfs-kernel-server をインストールします。
# sudo apt update
# sudo apt install nfs-kernel-server
バックアップ保管ディレクトリ作成
マシンBに保管用ディレクトリを作成します。
マシンBの /Home/ がRaidなので、ここに作りました。
ここにバックアップファイルを入れていきます。
NFS の所有権は nobody:nogroup らしいので、設定します。
# sudo mkdir /home/nfs
# sudo chown nobody:nogroup /home/nfs
エクスポートの設定
マシンBにNFSエクスポート設定し、マシンAがマウント出来るようにします。
/etc/exports に設定を追記します。
# sudo vi /etc/exports
/home/nfs 192.168.0.0/24(rw,sync,no_subtree_check)
IP は環境合わせて変更してください。
- rw 読み書きを許可します。
- sync ファイルの同期書き込みを有効にします。転送は安定しますが速度は低下します。
- no_subtree_check リクエストのたびにディレクトリに含まれるかのチェック無効化
この後、マシンBは再起動が必要だっかたもしれません。
マウントする
マシンAにマウント用のディレクトリを作成します。
# sudo mkdir /mnt/to_nfs -p
マシンAの mnt/to_nfs に マシンBの /home/nfs をマウントします。
IP はマシンBのIPを指定してください。192.168.0.200 は仮です。
# sudo mount 192.168.0.200:/home/nfs /mnt/to_nfs
これで マシンAが /mnt/to_nfs にファイルを書き込むと
マシンBの /home/nfs に反映されます。
バックアップする
あとは好きなようにバックアップするだけです。
今回は rsync を使いました。
マシンAで rsync でバックアップします。
仮に /home/mydata をバックアップします。
# sudo rsync -rlOtcv --info=progress2 /home/mydata /mnt/to_nfs/
パラメータですが -a を使用すると パーミッションエラーがでて失敗します。
failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors)
なので -a を分解しパーミションは保持しない設定にします。
- r ディレクトリを再帰的に同期する
- l シンボリックリンクをコピーする
- t タイムスタンプを保持する
- O ディレクトリはタイムスタンプを保持しない
- c チェックサムでファイルの変更の有無をチェックする
- v 詳細表示
- –info=progress2 rsync 全体の進捗を表示する
v と –info=progress2 はバックアップの進捗がわかりやすいよう追加してます。
それでも –info=progress2 はかなり適当な進捗ですが。
アンマウント
バックアップが終われば マシンAでアンマウントします
# sudo umount /mnt/to_nfs
バックアップはかなり時間がかかります。
3日はかかりました。