Linuxにおけるddコマンドでの簡単OSバックアップ方法

Linuxサーバ

RHEL系(CentOS)
---
ddコマンドを利用してOSバックアップを簡単に実施できます。
※WindowsのOSバックアップも取得可能

そのコマンドが

#dd if=/dev/sdX of=/dev/sdY bs=バイト数

sdXsdYの箇所
  -->OK: sda・sdbと指定
  -->NG: sda1・sdb1と指定
if=コピー元のデバイス名

of=コピー先のデバイス名
bs=1回に読み書きするブロックサイズ

注意事項

デバイスのディスク容量はコピー元と合わせること

背景

 1.OSデータをcpコマンドで別のファイルシステムにコピーしても
   そのデバイスでOSを起動させることはできません。
   それは、grub、mbr(マスターブートレコード)の設定ができて
   いないからです。
 2.ddコマンドでコピーすれば、それらを気にせずにOSデバイス
   としてコピーができます。完全一致のすなわちクローンを作成
   することができます。

用途

  1.  OSのバックアップ(クローン)をLinux標準コマンドで
     簡単に作成が可能
  2.  OSのバックアップツールが不要
  3.  障害対応で一時的にOSバックアップを作成して検証に
     利用すことが可能
     (使い終わったらすぐに削除ができる)

コマンド実行例

#dd if=/dev/sde of=/dev/sdd bs=256M

※bsオプションによりdd実行処理速度が大きく変わります。
 下記、参考情報にてご確認ください

実際にddコマンドを利用したOSバックアップ(Linux)とOS起動(Linux)までの流れを紹介

下記「3.」にてddコマンドを利用

上記、図の「補足」のようにサーバを起動する場合
「3.」でコピー後に/dev/sdd1を仮に「/mnt」でマウントして
「/mnt/etc/fstab」ファイルで不要なマウントポイントを「#」でコメントアウト
をしてからご利用ください。
※「/etc/fstab」ファイルと間違わないように注意

fstabの修正を実施しておかないと、メンテナンスモードで起動してきたり
起動に時間がかかったりして、正しくOSが起動しない場合があります。

実際の画面で確認

1.コピー元とディスク容量を合わせてデバイスを準備
  コピー元(sde)、コピー先(sdd)となりディスク容量が同じ

※上記「3.」の詳細を解説

2.ddコマンドを実行
  「if=」がコピー元(sde)、「of=」がコピー先(sdd)

3.ファイルシステムを含めてコピーが完成

参考情報(bsオプションのチューニングによるddコマンド実行速度)

bsオプション誤ると実行速度が遅くなります。
また、bsの値のメモリを最低でも利用されてしまうのでメモリの空き状況
にも注意してチューニングしてください。

計測環境
CPU:インテル(i7-9750H) 6コア/12スレッド/2.60GHz
メモリ:32G
SSD:512G NVMeSSD

1位
[root@isleofhoso03 datasdc1]# dd if=/dev/sde of=/dev/sdd bs=256M
10737418240 バイト (11 GB) コピーされました、 15.2055 秒、 706 MB/秒

2位
[root@isleofhoso03 datasdc1]# dd if=/dev/sde of=/dev/sdd bs=1M
10737418240 バイト (11 GB) コピーされました、 15.8076 秒、 679 MB/秒

3位
[root@isleofhoso03 datasdc1]# dd if=/dev/sde of=/dev/sdd bs=32M
10737418240 バイト (11 GB) コピーされました、 15.4216 秒、 696 MB/秒

4位
[root@isleofhoso03 datasdc1]# dd if=/dev/sde of=/dev/sdd bs=1024M
10737418240 バイト (11 GB) コピーされました、 16.5587 秒、 648 MB/秒

5位
[root@isleofhoso03 datasdc1]# dd if=/dev/sde of=/dev/sdd
10737418240 バイト (11 GB) コピーされました、 227.332 秒、 47.2 MB/秒
 

コメント

タイトルとURLをコピーしました