運用管理の一環として、RaspberryPi3のOS部分のバックアップを取ることにしました。
今日はその方法についてご報告します。
ddで簡単に取得することで済ませています。
/dev/sda
以前の<(2/2)ディスクの増設先にddでイメージバックアップ取得 - treedown’s Report>と同じようにddを設定しようと思ったんですが、あれ?
RaspberryPiだと/dev/sdaじゃない?
外付けHDDが/dev/sdaになっていて同じ指定方法だと外付けHDDをddでイメージバックアップしてしまうようです。
RaspberryPi3のOS部分であるSDカードをddイメージバックアップで外付けHDDに取得したいので、どういう指定をすればいいのか、というのでちょっと迷いました。
dfコマンドで確認してみると
「/dev/root 15056 4171 10221 29% /」
ってのがルートで
「/dev/mmcblk0p1 63 21 43 33% /boot」
「/dev/mmcblk0p1」ってのがブートの領域のようです。
となるとmmcblk0p1ってのがあるんですね。lsで/devを見てみると
----------------------------------------------
brw-rw---- 1 root disk 179, 0 9月 30 15:18 mmcblk0
brw-rw---- 1 root disk 179, 1 9月 30 15:18 mmcblk0p1
brw-rw---- 1 root disk 179, 2 9月 30 15:18 mmcblk0p2
----------------------------------------------
「mmcblk0」と「mmcblk0p1」と「mmcblk0p2」てのが確認できました。
念のためdmesgコマンドで確認すると
----------------------------------------------
[ 1.863058] mmcblk0: mmc0:59b4 USD 15.1 GiB
[ 1.865615] mmcblk0: p1 p2
[ 11.884675] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 12.859681] systemd[1]: Expecting device dev-mmcblk0p1.device...
[ 14.393411] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
----------------------------------------------
「mmcblk0: p1 p2」とあって、SDカードの容量である16GBを示す「mmcblk0: mmc0:59b4 USD 15.1 GiB」という記述があるので、「mmcblk0」という指定でよさそうに見えます。
指定の方法
結論としてはこうやって指定します。
cronに以下のようなコマンドをスケジュールに仕掛けて、
----------------------------------------------
03 00 * * 6 dd bs=4M if=/dev/mmcblk0 of=/home/samba/backup/os-sdcard_dd.img
----------------------------------------------
午前3時にイメージバックアップを仕掛けてみます。
当然ですが実行結果はメールで飛んできます。
件名が「Cron <root@hostname> dd bs=4M if=/dev/mmcblk0 of=/home/samba/backup/os-sdcard_dd.img」で完了メールが飛んできました。
----------------------------------------------
3855+1 レコード入力
3855+1 レコード出力
16172187648 バイト (16 GB) コピーされました、 1015.88 秒、 15.9 MB/秒
----------------------------------------------
成功したようです。16GBで16分程度でイメージバックアップが完了するみたいですね。
リストア試験をしたいところですが、すぐにはできないので追々やっておきます。