TOC
まるごとバックアップ
現時点での我が家のNanoPi M4V2はmicroSDで起動、運用しています。1microSDカードは、書き換え回数に上限があり、それを超えるとある日突然使えなくなってしまいます。2
なので、使えなくなった時に一からやり直すという面倒な作業を減らすためにストレージを別途接続したりする訳ですが、microSD自体もバックアップしておけば、最後に取ったバックアップを他のmicroSDに書き込むことでその時点の環境は元に戻せる訳です。
ということで、今回はファイル単位のバックアップではなくメディアまるごとバックアップします。なお、対象のmicroSDカードはArmbian Bionic serverをインストールして使用しています。
使用コマンドの確認
特に組み込み系の開発ではイメージを作成し、イメージを焼き込むことでリリースすることが多いですが、これの逆でイメージをdd
で書き戻しを行うことでバックアップを取ります。
また、並列動作するgzip
でもあるpigz
、途中経過を表示してくれるpv
を使用するので、ない場合はインストールします。pigzは割とインストールされている場合が多いんじゃないかなと思います。
# apt-get install pigz pv
Ubuntu – bionic の pigz パッケージに関する詳細
Ubuntu – bionic の pv パッケージに関する詳細
microSDの取り外し、別PCへの接続、バックアップ
(NanoPiの電源が入っているならshutdown -h now
で電源を落とし、適当なmicroSDカードリーダーに挿して他のPCに接続します。
今回はRaspberry Pi 2Bで作業します。接続時に該当しそうなログをdmesgで確認します。
[1247930.731277] usb 1-1.2: new high-speed USB device number 6 using dwc_otg
[1247930.831780] usb 1-1.2: New USB device found, idVendor=1908, idProduct=0226
[1247930.831806] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[1247930.833162] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[1247930.834205] scsi host1: usb-storage 1-1.2:1.0
[1247931.860407] scsi 1:0:0:0: Direct-Access Generic Mass-Storage 1.11 PQ: 0 ANSI: 2
[1247931.862608] sd 1:0:0:0: Attached scsi generic sg1 type 0
[1247932.594363] sd 1:0:0:0: [sdb] 15554560 512-byte logical blocks: (7.96 GB/7.42 GiB)
[1247932.594971] sd 1:0:0:0: [sdb] Write Protect is off
[1247932.594993] sd 1:0:0:0: [sdb] Mode Sense: 03 00 00 00
[1247932.595817] sd 1:0:0:0: [sdb] No Caching mode page found
[1247932.601696] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[1247932.615419] sdb: sdb1
[1247932.622225] sd 1:0:0:0: [sdb] Attached SCSI removable disk
今回はmicroSDがsdb、パーティションがsdb1になっています。なので、(圧縮はしますが)8GB以上の空き領域があるところをリダイレクト先に指定してdd
を実行します。圧縮しているので2.4GBになりました。
# dd bs=4M if=/dev/sdb | pv | pigz > /mnt/ssd/ippan/sd_backup/nanopi_`date +%Y%m%d`.gz
7.42GiB 0:19:55 [6.35MiB/s] [ <=> ]
1898+1 records in
1898+1 records out
7963934720 bytes (8.0 GB, 7.4 GiB) copied, 1195.25 s, 6.7 MB/s
# ls -l /mnt/ssd/ippan/sd_backup
total 2434928
-rw-r--r-- 1 root root 2490914793 Apr 11 13:36 nanopi_20200411.gz
pvコマンドを挟むと処理済みのデータ量と毎秒のスループットが表示されるので、何かの作業の裏で実行する場合は終了時刻の大まかな見積もりができます。
1.53GiB 0:04:46 [4.14MiB/s] [ <=> ]
1.86GiB 0:05:59 [5.61MiB/s] [ <=> ]
microSDへの書き戻しは以下の手順で行います。(pvを挟んだ動作は未検証)
# pigz -dc /mnt/ssd/ippan/sd_backup/nanopi_20200411.gz | pv | dd bs=4M of=/dev/sdb
スポンサーリンク
comments powered by Disqus