(2024.9.11 記)
以下の要望に応えた内容をまとめた記事になります。
①さくらVPS上にあるLinuxサーバのバックアップファイルを作成したい
②上記内容を自動的に定時に起動させるようにしたい(定時バッチ化)
③以上の内容を全てフリーツールを用いて行いたい
※ちなみに、さくらVPSの場合はオプション料金を払うとバックアップ機能が使えます(SSDの容量で金額が変わる)ので、お金で解決できる場合はそちらを推奨します。
Linuxのバックアップを取るフリーツールはたくさん転がっていますし、バックアップの方法もいくつか存在します。
さくらVPNの場合、インストールにISOファイルが利用できることに着目し、「ディスクバックアップをISOファイルで出力→ISOファイルからリストア」が可能なフリーツールを選定しました。
ヒットした中で一番多かったのが、「ReaR」というツール。
「リラックス&レスキュー」の略語らしく、「リラックスしながらバックアップ&リストアができますよ~」っていうコンセプトで作られたツールのようです。
Ubuntuで導入している記事が見つからなく(圧倒的にCentOSが多かった)苦戦しましたが、これでいける!というやり方ができましたので、忘備録として残すことにした次第です。
一応Hyper-Vを用いてリストアテストも行い、問題がないことを確認済みです。
更に言うと、OSのアップデートを行っても問題がないことを確認済みです(2024.11.27記)。
リストアの注意点も別記事で紹介しています。
※中級者向け
0.実行環境
■実行環境
・さくらVPN(メモリ:2GB、CPU:3コア、SSD:200GB)
※メモリが2GB以上ないと、レストアの際にメモリ関連のエラーで起動しません
・LinuxOS:Ubuntu18.04、20.04
・Apache:2.4
・MySQL:5.7
・PHP:7.2
1.インストール方法
シンプルに管理者権限でapt-getでパッケージを入手するだけです。
sudo apt install rear
簡単。
バックアップ作成の際、コンフィグファイル保存ディレクトリ、一時出力ディレクトリ、生成ディレクトリについて、ディレクトリに権限が無いとエラーになるため、権限を開放しておくのがポイントです。
ディレクトリ権限については、行程3参照のこと。
2.コンフィグファイルの修正
「出力形式」と「出力先」の指定をコンフィグファイルに設定できます。
コンフィグファイルは以下の場所に格納されていますので、管理者権限でテキストエディタを起動し、修正を行います。
sudo gedit /etc/rear/local.conf
最初は何の設定も記載されていないため、新たにコンフィグデータを記載していく流れになります。
今回は、「ISOファイル」で「backup」フォルダに出力したいので、次のように記載しました。
※ISOファイルで出力はされるが、出力先をどう編集しても指定のフォルダに作ってくれない・・・
OUTPUT=ISO
OUTPUT_URL=file:///tmp
BACKUP=NETFS
BACKUP_URL=iso:///backup/
3.使用ディレクトリの権限変更
バックアップデータの出力先(一時データ含む)の権限を変えておかないと、バックアップ実行時にエラーが発生します。
以下のディレクトリの権限を変更していきます。
※コンフィグファイル保存ディレクトリ(面倒なので全開放しています)
sudo chmod 777 /etc/rear
※一時出力ディレクトリ(面倒なので全開放しています)
sudo chmod 777 /tmp
※生成ディレクトリ(面倒なので全開放しています)
sudo chmod 777 /var/lib/rear/output
上記生成ディレクトリのパスは初期値なので、コンフィグファイルを上記以外のディレクトリで編集した際は、実際のディレクトリに合わせて見てください。
また、生成されたファイルにも、後で権限を開放させてあげるといいかもしれません。(「rear-[コンピュータ名].拡張子」が保存名の初期値)
4.ReaRのバックアップ起動方法
BINディレクトリにあると思いきや、別の場所というトラップ。
今回は直接起動ファイルを参照してキックしていますが、パスを通してあげる方が親切かもしれません(今回は省略)。
sudo /usr/sbin/rear -v mkbackup
定時バッチ処理については次行程参照のこと。
5.ReaRの定時バッチ化
自分の場合は「Webmin」というLinuxサーバの一括管理モジュールを導入しているため、その中の「cronジョブのスケジュール」に組込んでいます。
Webminあるとめっちゃ楽です。
6.ReaRのレストア起動方法
さくらVPSやHyper-Vなど仮想環境で起動する際に、取得したISOファイルを選択してあげます。
※勿論ですが、行程5で取得したISOファイルは外部ファイルに移行してください
立ち上がると、以下のようなReaRのレストア起動画面が出ると思いますので、「Recover xxxx(コンピュータ名)」を選択(Enter)します。
※メモリが2GB以上ないと、Enterを押した後にメモリエラーで落ちます。
次にイーサネットアダプタの設定画面になります。
レストア元のハードウェア情報では●●っていうアダプタがあって、レストア先には▲▲、▼▼っていうアダプタがあるけど、どれを合わせる?みたいな。
アダプタの数が、レストア元 > レストア先 であれば、設定するレストア先がなくなったら「skip」の項番を選択するといいです(1or2)。
入力位置は下図で、何か選択を促されている場合はカーソルが止まるので、注意して見ておきましょう。
基本的にレストア元のアダプタ数だけ聞かれます。
次にディスクのマッピングについて聞かれます。
面倒なので、デフォルトの「1」を選択。
次はディスクのレイアウトをどうするか聞かれます。
これも面倒なので、デフォルトの「1」を選択。
次にパーティションをどうするか聞かれます。
これも面倒なので、デフォルトの「1」を選択。
すると、リストアが開始されます。
144秒でリストアが完了しました。早い。(約6.6GB)
リストア後は、「3」の「Reboot」を選択しましょう。
すると、最初の画面に戻ってきますので、今度は「Boot First Local disk (hd***)」を選択します。
これで、レストアされたOSが起動すれば完了です。
もし初期ブートがCDやISOファイルになっていると、毎回上図の画面になってしまうので、レストア完了後は、初期ブートを任意のドライブに戻してあげましょう。
また、ハードウェアの異なる環境にレストアすると、ネットワークの設定を変更する必要があります。
ネットワークの設定値は以下の場所に作成されてありますので、リストア後のハードウェア環境に変更してください。
sudo gedit /etc/netplan/01-netcfg.yaml
いずれにしてもですが、ハードウェアの異なる環境にレストアする際は、ハードウェアの設定値は移行前と移行後で確認しておき、各種パラメータをどちらかに合わせることに注意してください。
同じ環境にレストアするのであれば、その辺考慮しなくて大丈夫です。
7.最後に
以上、参考になれば幸いです。
企業で利用される場合は、フリーツールの規定があると思いますので、情報管理者はその辺注意していただければと思います。
また、さくらVPSですと有料オプションをつければバックアップ&レストアスクリプトが付いてくるので、本案件同様”どうしても”という事情において利用される方が良いかと思います。
話は変わり、欲を言うと、取得したバックアップデータを外部(例えばGoogleDrive)へ退避させておく方がベストではあるのですが、中々GoogleDriveが導入できず苦戦中です。
うまく行き次第こちらにリンクを貼る予定です。
▼オススメ教本▼
コメント