【STEP-24】では、起動中のOS ( Raspbian ) を直接、microSDカードにバックアップしましたが、今回は外部ストレージにmicroSDカードのイメージを圧縮して保存したり、その圧縮ファイルを展開してmicroSDカードにコピーすることで、バックアップとリカバリーを随時に実行する方法を紹介します。
バックアップ毎にmicroSDカードを必要とする【STEP-24】に比べて、目的別、世代別のバックアップをひとつのストレージにファイル名で管理できるのが、この方法のメリットになります。
今回は、バックアップするmicroSDカードとは別に、もうひとつRaspbianをインストールしたmicroSDカードを用意 (【STEP-23】、【STEP-24】等 ) し、そちらを起動して作業を行います。
外部ストレージのフォーマット
外部ストレージをRaspberry Piで初めて使用する場合は、Raspberry Piでフォーマットしておきましょう。
今回使用する外部ストレージにはOS ( Raspbian ) のバックアップイメージを保存する為、ひとつで4GB以上のファイルでも読み書き可能な”ext4″というフォーマット形式でフォーマットします。
今回は外部ストレージとして64GBのUSBメモリーを用意しました。
USBメモリーをRaspberry PiのUSB端子に挿入すると、「リムーバブルメディアの挿入」画面が開くので、「キャンセル」ボタンをクリックします。
フォーマットの前に、コマンド”umount“で、外部ストレージ”sda”をアンマウントしておきます。
umount /dev/sda
コマンド”mkfs.ext4“で、外部ストレージ”sda”を”ext4″でフォーマットします。
sudo mkfs.ext4 /dev/sda
途中で「続行しますか?」と聞かれるので、”y”を入力して「Enter」キーを押します。
y
プロンプトが返ってくれば、フォーマットが終わっているので、USBメモリーをRaspberry PiのUSB端子から取り外します。
外部ストレージ”sda”は既にアンマウントされているので、タスクバーの「Ejector」をクリックする必要はありません。
外部ストレージへのバックアップ
取り外したUSBメモリーを再び、Raspberry PiのUSB端子に挿入すると、「リムーバブルメディアの挿入」画面が開くので、「OK」ボタンをクリックします。
「ファイルマネージャ」画面でフォーマットした外部ストレージが開くので、”/media/pi/”の下にマウントされたUUID“263c4edf-03a7-427c-b814-b557167b9723″の上で右クリックして現れるプルダウンメニューから「パスをコピーする」を左クリックします。
「LXTerminal」画面に戻り、コマンド”cd ( 半角スペース ) “で保存先 ( 外部ストレージ ) のマウント位置に移動します。
cd
マウスカーソルの位置で、右クリックして現れるプルダウンメニューから「貼り付け」を左クリックします。
「Enter」キーを押すと、バックアップの作業ディレクトリ ( 外部ストレージ のマウント位置) に移動します。
バックアップをする対象のmicroSDカードをカードリーダーを介してRaspberry PiのUSB端子に挿入すると、「リムーバブルメディアの挿入」画面が開くので、「キャンセル」ボタンをクリックします。
sudo dd if=/dev/sde bs=4M status=progress | gzip -c -v > 180327_raspbian.gz
「Enter」キーを押したら、「許可がありません」とのこと
仕方がないので、ルートユーザーとして実行します。
sudo su
もう1度、バックアップのコマンドを実行します。
dd if=/dev/sde bs=4M status=progress | gzip -c -v > 180327_raspbian.gz
今度はちゃんとバックアップが始まりました。
バックアップが完了するとプロンプトが返ってきます。16GBのイメージを平均速度5.1MB/Sで3,098秒 (51分38秒 )掛かりました。圧縮率は70.3%です。
「ファイルマネージャ」画面に戻ると、USBメモリーに保存されたバックアップファイルは4.4GBでした。計算では、58GBのUSBメモリーには約13のバックアップが保存できます。
タスクバー右端のアイコン「Ejctor」をクリックして現れるマウントされたストレージのリストから、取り外すmicroSDカードのモデル名をクリックします。
すると、「”BUFFALO BSCR20TU3″が安全に取り外せます」というPOPUPが出るので、これを確認したらUSB端子からmicroSDカードを取り外します。
バックアップからのリカバリー
バックアップイメージを書き込むmicroSDカードをカードリーダーを介してRaspberry PiのUSB端子に挿入すると、「リムーバブルメディアの挿入」画面が開くので、「キャンセル」ボタンをクリックします。
コマンド”gunzip”をルートユーザーとして実行します。”gunzip -c -v”の後にも”半角スペース”を入力しておきます。「Enter」キーはまだ押しません。
gunzip -c -v
「ファイルマネージャ」画面に戻って、バックアップファイルを右クリックして現れるプルダウンメニューから「パスをコピーする」を左クリックします。
「LXTerminal」画面のマウスカーソルの位置で右クリックし、現れたプルダウンメニューから「貼り付け」を左クリックします。
“半角スペース| ( バーティカルバー ) 半角スペース”の後にコマンド”dd”を入力します。書き込み先の”of=”には、USB端子に接続したmicroSDカードのデバイスファイル ( この例では”/dev/sde” ) を入力します。
ここまで入力したら「Enter」キーを押します。
| dd of=/dev/sde bs=4M status=progress conv=fsync
microSDカードにバックアップイメージの書き込みが始まります。
書き込みが完了するとプロンプトが返ってきます。16GBのイメージを平均速度11.3MB/Sで1,412秒 (23分32秒 )掛かりました。
コマンド”sync“で、キャッシュ ( メモリ ) の内容を全てディスクに書き込ませておきます。
sync
コマンド”exit”を2回実行して「LXTerminal」を閉じます。
exit
exit
Raspberry Piを一旦、シャットダウンして、カードスロットのmicroSDカードを今回リカバリーしたものに差替えて起動したら、バックアップしたときと同じRaspbianのデスクトップが表示されました。
次回の【STEP-26】では、OS ( Raspbian ) をUSB接続した外部ストレージ ( SSD等 ) から起動することで、記憶容量の拡大やシステムの安定化を図る方法を紹介します。