実際にリストアするため、これまで作っておいたOS領域が全て吹っ飛ぶ。失敗したら、ゼロから作りなおしだ。
でも、これまでほとんど何もカスタマイズしていないため、失敗してたらまたOSから再インストールすればいい。システム構築初期にOSバックアップリストアを検証しておくのは、十分に意味があるのだ。
さて、実際のリストアの流れは以下の通りになる。
- OSインストールメディア(CD/DVD)でブート
- Rescueモードを選択
- 使用する言語等を入力後、メディアのShellモードに入る
- 残っているLVM構成や、ディスクパーティションを削除
(あくまで、SSD/HDDが生きているけどリストアする場合、だ。SSD/HDDが吹っ飛んだため、新しいSSD/HDDを用意した、という場合は不要だ) - CIFSマウントポイントを用意し、バックアップデータやスクリプトが格納されているCIFSをマウントする
(CIFSにバックアップしてなくて、USBメモリ等にバックアップしている場合は、ここではUSBメモリをマウントすることになるが…) - リストアスクリプトがあるディレクトリまで移動し、リストアスクリプトを実行
- リストアが終わったら、Rescueメニューに戻り、ブートローダの設定(uEFIブートメニューの設定)を行う
- メディアを抜いて、システム再起動
- 動作を確認する
1つずつ記事にしていくと、見る側も大変だろう。ここでは全て一気に記載することにする。
長いので、頑張って読んで欲しい。(頑張って書かないと…)
- OSインストールメディア(CD/DVD)でブート
まずは、OSを停止(shutdown)させ、インストールメディアをドライブに入れてブートしよう。
放置していると、内蔵SSDからブートしてしまうかもしれないので、画面をよく見てメディアからブートするようにしよう。(この時、必ずuEFIブートすること。機器によっては、uEFIブートに失敗すると、自動的にレガシーBIOSブートをしてしまうものもあるみたいだ。レガシーBIOSブートしてしまうと、最後の方のブートローダの設定で失敗するぞ) - Rescueモードを選択
メディアでブートすると、以下のようなメニューが出てくるはずだ。
・Install Ubuntu Server
・OEM install (for manufacturers)
・Multiple server install with MAAS
・Check disc for defects
・Rescue a broken system
カーソルキーで、一番最後の「Rescue…」を選んでEnterキーを押せば、Rescueモードに入れるぞ。 - 使用する言語等を入力後、メディアのShellモードに入る
最初に、使用する言語を聞いてくる。英語か日本語にしよう。ここでは日本語(Japanese)を選択する。日本語を選択した場合、「この言語は完全じゃない」と言われるが、気にせず「はい」を選択しよう。
続いて、場所の選択。特に迷うことは無いだろう。
キーボードの選択だ。自分が使っているキーボードのタイプを選んでおこう。検出機能もあるが、失敗すると面倒なので、自分で指定しよう。多分、ほとんどの人がJapanese - Japanese (OADG 109A)を選んでおけば問題ないだろう。
ネットワーク内にDHCPサーバが無い場合は、IPアドレス等の設定画面が出てくると思う。もしその場合は、環境に合わせて入れておこう。(家庭用インターネットルータを使用している場合は、そのインターネットルータがDHCP機能を持っているはずなので、自動設定で完了するはず)
続いてホスト名。リストア時のみに使用されるホスト名なので、特に制限は無い。まぁ、混乱しそうなら、もともと使用している「aquarius」にしよう。
次はタイムゾーンの設定。最初の言語設定で日本語を選んでいたら、多分Asia/Tokyoが選ばれるはず。そのまま、「はい」を選択してしまおう。
この後、ディスクがスキャンされ、今までのファイルシステムが使えるようなら、「マウントするか?」と聞いてくる。リストア作業で全消しするので、「ルートファイルシステムとして使用しない」を選ぼう。(SSD破損等で、新しいSSD/HDDに入れ替えていた場合は、この選択は無いはず)
ここまで来たら、「レスキュー操作」だ。「インストーラ環境内でシェルを実行」を選ぼう。プロンプトが出てくるはずだ。 - 残っているLVM構成や、ディスクパーティションを削除
新しいSSDに入れ替えたわけじゃなく、今まで使用していたSSDに対してリストアする場合、構成情報(LVM情報等)が残っている。これらを一旦クリアしよう。(新しいSSDに入れ替えた場合は、この作業は不要だ)
まずはLVM情報から。
# vgs
SSDに作ったvg-rootというVGが認識されているはずなので、削除してしまおう。(この時点で、全てのデータが飛ぶぞ)
# vgchange -a n vg-root
まずは、vg-rootを非アクティブにする。
# vgremove -f vg-root
-fオプションを使用していないと、「本当に削除していいか?」と聞かれる。細かく聞かれるので、-fオプションを使って、綺麗サッパリ削除する。
VGの削除が終わったら、VGを構成していたPVの削除をしておこう。
# pvs
/dev/sda3 がリストアップされるはずだ。こいつを削除する。
# pvremove /dev/sda3
これで、LVM情報は綺麗に無くなった。
次は、ディスクパーティション情報だ。
# parted /dev/sda
(parted) print
1~3の3つのパーティションが表示されるはずだ。全部削除しよう。
(parted) rm 3
(parted) rm 2
(parted) rm 1
(parted) print
パーティションが綺麗サッパリ無くなったはずだ。
(parted) quit
これで、リストア先のSSDが綺麗になった。 - CIFSマウントポイントを用意し、バックアップデータやスクリプトが格納されているCIFSをマウントする
レスキューモードで立ち上がっている状態(簡易OSで起動している状態)は、メモリの一部をHDDのように使ってOSデータを一時的に配置している。
レスキュー専用のOSのため、バックアップデータを格納しているCIFS領域をマウントするマウントポイントが無い。作ってしまおう。
# mkdir /media/backup
そうしたら、バックアップデータが格納されているCIFS領域をマウントしよう。
ただ、マウントコマンド及びオプションが少し異なるので注意が必要だ。
# mount -t cifs -o user=guest //IPアドレス/バックアップ格納先 /media/backup
# ls /media/backup
無事にマウント出来たら、バックアップデータ(日付ディレクトリ)が見えるはずだ。 - リストアスクリプトがあるディレクトリまで移動し、リストアスクリプトを実行
ここまで来たら、リストア実行だ。
リストアしたいデータの日付ディレクトリを確認し、その下のbinディレクトリまで移動しよう。
# cd /media/backup/YYYYMMDDhhmmss/bin
# ls
バックアップスクリプトと一緒に、リストアスクリプトもあるはずだ。
これを実行しよう。
# ./1000_restore
ファイルシステム作成時、「続けていいか?」という問いが発生するみたいだ。ここは気にせず、yを押そう。
しばらくしたら、プロンプトが戻ってくる。
これでファイルのリストアは完了だ。
プロンプトから抜けて、リストアメニューに戻ろう。
# exit - リストアが終わったら、Rescueメニューに戻り、ブートローダの設定(uEFIブートメニューの設定)を行う
Resqueメニューに戻ったら、すぐに再起動したくなる気持ちを抑えて、「戻る」からメニュー全体に移動しよう。
ファイルシステムのマウントのメニューが出てくる。ルートファイルシステムである、/dev/vg-root/lv-root を選択しよう。
個別の/bootパーティション云々、という画面も出てくる。合わせて「はい」を選択しよう。
次のメニューでは、一旦「/dev/vg-root/lv-root 内でシェルを実行」を選択しよう。リストアしたファイルシステム一式を、マウントしておきたいからだ。
コマンドプロンプトに入ったら、mount -a を実行しよう。mountコマンドを使って、/dev/sda1 等がマウントされているのを確認したら、戻っていい。exitしよう。
(もしかしたら、このブロックの作業は不要かもしれない)
戻ってきた画面には、「GRUB ブートローダの再インストール」というメニューがあるはずだ。これを実行しよう。(多分コレを実行することで、uEFIメニューが出来る…はず)
インストール先は/dev/sdaでいいはずだ。 - メディアを抜いて、システム再起動
ここまで行ったら、メディアを抜いて「システムの再起動」を実行しよう。
Ubuntuが無事に立ち上がってきたら成功だ。 - 動作を確認する
念のため、dmesgや/var/log/syslog等をチェックしておこう。
最後に、念には念を入れて、再起動一発入れておくのもいいかもしれない。
長かったシステムバックアップ・リストアもこれで一区切りついた。
次回からは、OSを16.04にリフレッシュして、いよいよ本格的に実験を始める予定だ。
#今のところ、/ と /usr は分離する方向で考えているので、バックアップ設定ファイルも一部変更が必要だけど…。
0 件のコメント:
コメントを投稿