Rasberry Piでrpi-cloneを使ってバックアップ

microSDカード同士でコピーするのではなく、Rasberry Pi 3で、システムをバックアップします。このバックアップにはrpi-cloneを使用し、Rasberry Pi 3上で、USBに挿されているSDカードリーダのmicroSDカードにシステムバックアップします。Windowsには、Win32 Disk Imagerがありますが、microSDカード同士でコピーをするため、コピー先のSDのサイズが少しでも小さいと”Not enough space on disk”という警告が表示され、コピーを実行できません。rpi-cloneは、システムファイルのみ(microSDカードに記録されているファイルのみ)をコピーするので、サイズが小さくなります。

rpi-cloneのインストール

次のコマンドでrpi-cloneをインストールします。作業場所は、展開したフォルダ「rpi-clone」になります。

$ git clone https://github.com/billw2/rpi-clone.git
Cloning into ‘rpi-clone’…
remote: Counting objects: 58, done.
remote: Total 58 (delta 0), reused 0 (delta 0), pack-reused 58
Unpacking objects: 100% (58/58), done.
Checking connectivity… done.

USB-microSDカードリーダの準備

USBメモリとして認識させます。最初に、USB-microSDカードリーダを認識しているかを次のコマンドで確認します。USB-microSDカードリーダは、「ID 8564:4000」として認識されていました。

$ lsusb
Bus 001 Device 004: ID 8564:4000
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
TranscendのTS-RDF5K
今回使用したUSB-microSDカードリーダは、TranscendのTS-RDF5KでUSB3.0で接続できす。

USB-microSDカードリーダがどこにマウントされたか、次のコマンドでデバイス名を調べます。「/dev/sda」でマウントされていました。

$ sudo fdisk -l
Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    …
    …
Disk /dev/sda: 7.4 GiB, 7969177600 bytes, 15564800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0×00000000

Device Boot Start End Sectors Size Id Type
/dev/sda1 8192 15564799 15556608 7.4G b W95 FAT32

rpi-cloneによるバックアップ

次のコマンドによりバックアップを開始します。

$ sudo ./rpi-clone sda -f

次の問い合わせがあるので、「y」を入力します

Do you want to unmount /media/pi/BOOT? (yes/no):

次の問い合わせがあるので、「y」を入力します

Do you want to initialize the destination disk /dev/sda? (yes/no):

次の問い合わせがあるので、ラベル名を入力します

You may enter a label for the destination rootfs /dev/sda2:

少し待たされます。

(This may take several minutes)...
*** Done with clone to /dev/sda ***
    Started: 15:14:01    Finished: 15:24:53

次の表示があるので、Enterを入力すると、unmountされて、microSDカードへのバックアップが終了します。

Hit Enter when ready to unmount the /dev/sda partitions…

USB-microSDカードリーダからmicroSDカードを抜き、Rasberry Pi 3のカードリーダに挿入して起動すると、Rasberry Pi 3は再ブートして、コピー元と同じimageがRasberry Pi 3にロードされます。

2017/02/27 追加

外山様よりご連絡があり、「SD Card Coier」を使用すれば同じように、バックアップが取れることを教えていただきました。調べてみると、最新OS Raspbianのメニューに、SD Card Copierというツールがついていて、これを使うと自分自身を USBカードリーダー内のSDカードにコピーでき、手軽にバックアップがとれるようです。