dumpコマンドとrestoreコマンドの方法でSDカードの複製を作成していたが、SDカードの劣化ためか複製作成に4時間以上掛かる様になってしまった。
短時間に複製が作成できる方法を探していたらddrescureコマンドを見つけた。
ddrescureコマンドをインストールする
パッケージをインストールする。
# dnf -y install ddrescue
不要なプロセスを停止する
私だけの環境かもしれないが、複製したMicroSDカードで立ち上げるとエラーになるため、以下のプロセスを停止して複製の作成を行う。
# systemctl stop mrtg.timer # # systemctl stop redis #
バックアップを実行する
新しい(月ごとに切り替える)SDカードを接続して、複製作成を行う。
sdbがコピー先のMicroSDカードです(sdcも表示されるが何???)。
表示の右下に実行時間と残り時間が表示される。
ddrescueコマンド起動時は残り時間が2~3時間の表示であったが、今回は7時間掛かってしまった。SDカードにエラーは無い。
MicroSDカードの交換時期かもしれない。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1.8T 0 disk
┗sda1 8:1 0 1.8T 0 part /usr/local/dlna
sdb 8:16 1 59.5G 0 disk
┣sdb1 8:17 1 286M 0 part
┣sdb2 8:18 1 488M 0 part
┗sdb3 8:19 1 58.7G 0 part
sdc 8:32 1 0B 0 disk
mmcblk0 179:0 0 59.5G 0 disk
┣mmcblk0p1 179:1 0 286M 0 part /boot
┣mmcblk0p2 179:2 0 488M 0 part [SWAP]
┗mmcblk0p3 179:3 0 58.7G 0 part /
zram0 254:0 0 3.7G 0 disk [SWAP]
#
# ddrescue -b64k -d -f /dev/mmcblk0 /dev/sdb
GNU ddrescue 1.30
Press Ctrl-C to interrupt
ipos: 63864 MB, non-trimmed: 0 B, current rate: 1062 kB/s
opos: 63864 MB, non-scraped: 0 B, average rate: 2513 kB/s
non-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s
rescued: 63864 MB, bad areas: 0, run time: 7h 3m 26s
pct rescued: 100.00%, read errors: 0, remaining time: 0s
time since last successful read: 0s
Copying non-tried blocks... Pass 1 (forwards)
Finished
#
# sync
# sync
# sync
#
まとめ
実行時間と残り時間が明確になるため良いと思われる。
また、バックアップ後に/etc/fstabファイルを修正する必要も無い。
