Raspberry PiのRocky Linuxのバックアップ&リストア

Linux

SunDisk Micro SD XC I 64GB にRocky LinuxをインストールしてRaspberry Pi 4 4GBで利用している。
何度もPCにLinuxをインストールしているが、毎回ハードディスク障害でいろいろなデータを紛失していた。今回はSDカードのため、バックアップ媒体を用意でできそうなので、真剣にシステムディスクのバックアップを行ってみた。
バックアップ&リストアを数ヶ月悩みましたのでその記録です。

  1. 失敗1
  2. 失敗2
    1. 新SDカードのフォーマット情報を確認する。
    2. 起動しているSDカードのboot領域とswap領域をddコマンドでバックアップする。
    3. 起動しているSDカードの / ファイルシステムをdumpコマンドでバックアップする。
    4. バックアップしたboot領域とswap領域をddコマンドで、新SDカードにリストアする。
    5. 新SDカードに/ ファイルシステムを作成する
    6. 新SDカードの / ファイルシステムを、起動しているLinuxサーバにマウントする。
    7. バックアップした / ファイルシステムを、新SDカードにリストアする。
    8. raspberry pi 4 のMicro SD カードを差し替えて、再起動する
  3. 失敗3
    1. 直接バックアップ&リストア
    2. 再起動
  4. バックアップ成功
    1. 起動ディスクのパーティションを確認する。
    2. リストア先の新SDカードのパーティションを確認する。
    3. 起動ディスクのboot領域とswap領域をddコマンドで、新SDカードに直接リストアする。
    4. リストア先のパ―ティションを確認する。
    5. 新SDカードに / ファイルシステムを作成する。
    6. 新SDカードカードの / ファイルシステムを、起動しているLinuxサーバにマウントする。
    7. 起動している / ファイルシステムを、新SDカードに直接リストアする。
    8. 新SDカードのパティションのUUIDを確認する。
    9. リストア先のfastabファイルを修正する。
    10. 再起動
  5. 結果

失敗1

手持ちのUSBのSDカードリーダで新しく買ったMicro SDカードをRaspberry Piに接続すると、なぜか、ファイルシステムが2つ(sdb、sdc)存在する様に表示される。

WEBにいろいろなバックアップ&リストアの情報が有るため、いろいろ試したが正常に起動するSDカードは作成できなかった。
数ヶ月経った時に、古いカードリーダなので、SD XC に対応のではないのないかと考えて、新しいSDカードリーダを購入しました。

そして、新しいSDカードリーダをRspberry pi に接続してSDカードを確認すると、表示されるファイルシステム(sdb)が正しそうなのでバックアップできそうである。

 

失敗2

Raspberry Piを極限まで無駄なくバックアップする」を参照しバックアップ&リストアを行う。

新SDカードのフォーマット情報を確認する。

やはり、古いSDカードリーダがMicro SD XCに対応していないことを再認識した。

 

起動しているSDカードのboot領域とswap領域をddコマンドでバックアップする。

注)出力先を起動しているSDカードではなく、USB接続の他のデバイスにしている。

 

起動しているSDカードの / ファイルシステムをdumpコマンドでバックアップする。

注)出力先を起動しているSDカードではなく、USB接続の他のデバイスにしている。

 

バックアップしたboot領域とswap領域をddコマンドで、新SDカードにリストアする。

 

新SDカードに/ ファイルシステムを作成する

 

新SDカードの / ファイルシステムを、起動しているLinuxサーバにマウントする。

 

バックアップした / ファイルシステムを、新SDカードにリストアする。

最初のsyncコマンドに時間が掛かったが問題無し。

 

raspberry pi 4 のMicro SD カードを差し替えて、再起動する

boot情報が表示できないのが残念であるが、起動はできた!!!
が、ログインすると何かが変である。
/ ファイルシステムがread onlyでマウントされている。
リストア失敗である。
※後から考えると、起動するSDカードが変わったため/etc/fstabファイル内のUUIDを変更すれば、起動できたかもしれない。

失敗3

ddコマンドでsdカード全体をバックアップ&リストアする。

直接バックアップ&リストア

2時間以上時間が掛かった。

 

再起動

Micro SDカードを差し替えて起動するると「kernel panic」のメッセージで停止する。
本来、一番簡単なバックアップ&リストア方式なのになぜ、起動しないか不明である。

バックアップ成功

時間短縮のため、バックアップデータをファイルに出力せず直接新SDカードにリストアする。

起動ディスクのパーティションを確認する。

 

リストア先の新SDカードのパーティションを確認する。

リストア先なので意味はないが念のため。

 

起動ディスクのboot領域とswap領域をddコマンドで、新SDカードに直接リストアする。

パーティション3の先頭シリンダーの最初の値をcountsパラメータの指定する。

 

リストア先のパ―ティションを確認する。

 

新SDカードに / ファイルシステムを作成する。

 

新SDカードカードの / ファイルシステムを、起動しているLinuxサーバにマウントする。

 

起動している / ファイルシステムを、新SDカードに直接リストアする。

 

新SDカードのパティションのUUIDを確認する。

 

リストア先のfastabファイルを修正する。

新SDカードのfstabファイルを修正する。
注)新SDカードの / ファイルシステムが現在の作業領域のため、etc/fstabとすること。
 /etc/fstabの指定では、起動しているSDカードのfstabを操作してしまいます。

 

再起動

MicroSBカードを差し替えて、電源OFF/ONする。
正常に起動できた。
長期間の対応だったので、「やっとできた」の思いです。
今後、一ヶ月単位くらいで/ ファイルシステムのバックアップ&リストアで対応できるのではないかと思われる。

 

結果

仕事でRedHat Linuxを利用しているため、自宅ではCentOSを利用したいがRaspberry Piで利用できない。
そのためRockey Linuxを利用しているが、Raspberry Pi OSに対するバックアップ&リストア情報は沢山あるが、Rocky Linuxに対するバックアップ&リストア情報が少ない気がする。
Rockey  Linuxe利用者の目に留まればと思ます。