GNU/Linux >> Linux の 問題 >  >> Cent OS

「dd」コマンドを使用して Linux OS をバックアップする方法

「dd」コマンドは、オペレーティング システムのバックアップを作成して、OS がインストールされているディスクのクローンを作成する場合に非常に便利です。 OS バックアップを取るための dd コマンドの使用例をいくつか示します。

注意 注:ターゲット ドライブは、クローンを作成するドライブと同じか、それ以上のサイズである必要があります。 dd コマンドは、使用済みスペースと未使用スペースの両方をターゲットからコピーします。

1.ハードディスク全体を別のディスクにバックアップ

1. 以下の例では、ディスク「sda」のクローンを作成し、サーバー上に「sdb」として同一のディスクを作成します。

# fdisk -l
Disk /dev/sda: 12.9 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00010897

Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 1567 12069888 8e Linux LVM

Disk /dev/sdb: 12.9 GB, 12884901888 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

2. ハードディスクのコピー全体を同じシステムに接続された別のハードディスクにバックアップするには、dd コマンドを実行します。ソース ハード ドライブの UNIX デバイス名は /dev/sda で、ターゲット ハード ディスクのデバイス名は /dev/sdb です。同期オプションにより、同期 I/O を使用してすべてをコピーできます。

# dd if=/dev/sda of=/dev/sdb conv=noerror,sync
25165824+0 records in
25165824+0 records out
12884901888 bytes (13 GB) copied, 453.846 s, 28.4 MB/s

ここで、
もし :ソース ディスク ドライブ (/dev/sda)
:宛先ディスク ドライブ (/dev/sdb)
bs :一度に BYTES バイトを読み書きします (デフォルトは 512 バイトです。より大きなディスクには bs=64k を使用できます)
エラーなし :読み取りエラーの後に続行します。
同期 :データとメタデータに同期 I/O を使用します

3. 元のディスクにデータを復元するには、正しいソース (sdb) と宛先 (sda) を指定して前の手順を繰り返す必要があります。この場合、sda を削除して sdb から起動することもできます。

注意 :dd コマンド内で引数を逆にすると、貴重なデータがすべて消去される可能性があります。ソース (if=) とターゲット (of=) の両方の場所と名前を確認してください。

2.ハードディスク全体をディスクイメージにバックアップ

1. ハードディスクのイメージ ファイルを作成し、他のストレージ デバイスに保存できます。データをディスク イメージにバックアップすることには多くの利点がありますが、その 1 つは使いやすさです。通常、この方法は他のタイプのバックアップよりも高速であり、予期しない災害が発生した場合でもデータを迅速に復元できます。以下のコマンドを使用して、ハードディスク /dev/sda をディスク イメージ ファイルにバックアップします。

# dd if=/dev/sda of=/var/tmp/sda_disk.img

ここで、
もし :ソース ディスク ドライブ (/dev/sda)
:宛先ディスク ドライブ (/dev/sdb)

2. 別のハードディスクのイメージ ファイルを使用してハードディスクを復元するには、次の dd コマンドの例を使用します。

# dd if=sda_disk.img of=/dev/sdc

ここで、
もし :ソース ディスク ドライブ (/dev/sda)
:宛先ディスク ドライブ (/dev/sdb)

3.ハードディスク全体を NFS 上のディスク イメージにバックアップし、それを復元する

1. nfs サーバーに十分な空き容量があるかどうかを確認してください。

# showmount -e nfs_server_IP
Export list for xx.xx.xx.xx:
/nfsshare *
# df -h
Filesystem                Size   Used  Avail  Use%  Mounted on
xx.xx.xx.xx:/nfsshare     16G    44M   15G    1%    /nfs_test

2. イメージを作成します。利用可能な帯域幅が十分にあることを確認してください。

# dd if=/dev/sda of=/nfs_test/sda_disk.img
25165824+0 records in
25165824+0 records out
12884901888 bytes (13 GB) copied, 263.396 s, 48.9 MB/s

ここで、
もし :ソース ディスク ドライブ (/dev/sda)
:宛先ディスク ドライブ (/dev/sdb)

3. nfs 上のバックアップ ディスク イメージから復元するには (ディスク sda にディスク障害があり、システムが起動できない場合など)、ネットワークを使用してレスキュー モードで起動します。

4. nfs 共有をマウントします。新しく作成されたディレクトリ /nfsshare としましょう。

5. ディスク イメージ バックアップを使用して sda を復元します。

# dd if=/nfsshare/sda_disk.img of=/dev/sda

ここで、
もし :ソース ディスク ドライブ (/dev/sda)
:宛先ディスク ドライブ (/dev/sdb)

6. サーバーを再起動します。

# shutdown -r now


Cent OS
  1. 「cat」コマンドを使用してLinuxパーティションをバックアップまたはクローンする方法

  2. Linuxコマンドを使用して画像にテキストを書き込む方法

  3. Linux で fdisk を使用してディスクをパーティション分割する方法

  1. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  2. コマンドラインを使用してLinuxを再起動する方法

  3. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  1. Linuxでtarコマンドを使用してバックアップを作成する方法

  2. Scrotを使用してLinuxでスクリーンショットを撮る方法

  3. mkdirコマンドを使用してLinuxでディレクトリを作成する方法