PiRLPノードのSDカードバックアップ
Raspberry Piは,SDカードをHDDの代わりに使用していますので,以前のPCベースのIRLPノードのように backup_for_reinstall をしなくても,SDカードそのもののクローンを作っておけば,それを差し替えるだけで全く同じように動作します。万が一の場合のノード復旧が大幅に簡略化されますので,おすすめです。
SDカードのクローンは,Windows PCでは Win32 Disk Imager,Linux であれば dd コマンドを使って簡単に作ることができます。(Raspberry Pi以外の別PCで行います。もちろんSDカードスロット付きPCか,無ければUSBアダプターを用意する必要あります。)
ただし注意点が一点。
SDカードはたとえ同じメーカー,同じ容量のもので揃えたとしても,個々に微妙な容量の差があるようです。もし,オリジナルのSDカードの容量が,クローン用のSDより微妙に大きい場合,上記ツールだけではうまくクローンを作れません。コピー先容量不足のエラーが出ます。特に,Raspeberry Piインストール後,raspi_configを使ってSDカードの容量をフルに使うような設定をした場合,こうなる可能性が高くなります。
このような場合には,クローンを一サイズ上のSDカードに作るか(4GBなら8GB,8GBなら16GB),あるいはオリジナルSDカード上のlinuxファイルシステムとそのパーティションを少し縮小する必要が出てきます。
後者のlinuxファイルシステムとパーティションの縮小は,GPartedというフリーツールで簡単に行う事ができます。Live CDを利用すれば,このCDからブートしますので,どのPCでも利用可能。しかし,後述の理由から,別PCはLinuxを使った方が良いと思います。
RaspbianのSDカード上には,FAT16の小さめのブートパーティションと,ext4の大きいlinuxパーティションの2つが作られています。(以下は fdisk の出力。)
Number Start End Size Type File system Flags
1 4194kB 62.9MB 58.7MB primary fat16 lba
2 62.9MB 3806MB 3743MB primary ext4
GPartedを使って,ブートパーティションの方は一切触らずに,linuxパーティションだけを少々(例えば200MB位。)減らしてあげます。その際,linuxパーティションの始めのfree spaceはいじらず(スタート位置はそのままに),後ろのfree spaceが増えるように(後ろから減らすように),全体サイズを減らします。Gpartedは,ファイルシステムとパーティションの両方を同時に減らしてくれますので,これだけでOK。
その後,Linux上で dd コマンドを使ってクローンを作ります。
dd bs=1M if=/dev/sdx of=/tmp/sdcard.img (オリジナルSDイメージをPCにコピー。その後SDカードを入れ替えます。)
dd bs=1M if=/tmp/sdcard.img of=/dev/sdx (上でコピーしたオリジナルイメージをクローンにコピー。)
(sdxのxは,使うPC環境で変わります。)
2番目のddで(クローンに書込む時に)やはり容量不足のエラーが出るかも知れませんが,それは無視して最後まで続行します。エラーが出たときには,必要な部分は全てコピーが済んでいます。残念ながらWindows上のWin32 Disk Imagerではエラーが生じた時点でコピーが停止してしまってうまく行かないようです。
| 固定リンク
| コメント (2)
| トラックバック (0)
最近のコメント