バックアップ・リストア

背景

ドライブを丸ごとバックアップ/リストアする手順を記載する。
バックアップファイルから特定のファイルを取り出す手順も記載する。

ターゲットOS:Ubuntu 18.04 LTS

手順

バックアップ

Live CDからブート

バックアップ対象をアンマウントする必要がある。
ブートパーティションを含むデバイス全体をバックアップする場合はLive CDから起動する。
一時的にアンマウント可能なデバイスやパーティションをバックアップする場合はLive CDからブートする必要は無い。

パッケージをインストール

リポジトリuniverseを追加しパッケージをインストール。

パッケージ 用途
pv 進捗表示
pigz gzipの並列実行
sudo add-apt-repository universe
sudo apt install pv pigz

デバイスを調査

バックアップ対象のデバイスのパス(例:/dev/sda)を取得。

lsblk

バックアップ

バックアップコマンドを実行。

sudo dd if=バックアップ対象デバイス iflag=nocache | pv | pigz > 保存ファイル名

バックアップファイルを確認

パーティション情報を表示

fdiskコマンドにより対象イメージファイルのセクタサイズと含まれるパーティションの開始位置を表示させる。
mountコマンドで指定するオフセットは、セクタサイズ×パーティションの開始位置で計算できる。
下図は、セクタサイズ=512、開始位置=92160の例を示す。

fdisk -l -u バックアップファイル

sudo mount -o loop,offset=$((512*92160)) バックアップファイル  マウント先

リストア

下記のコマンドを実行しリストア。
ofで指定するリストア先に注意が必要。

sudo pigz -dc < バックアップファイル名 | pv | dd of=リストア先