外付け USB ハードドライブに Ubuntu Server 12.04 のディスク イメージを作成するための Cronjob

外付け USB ハードドライブに Ubuntu Server 12.04 のディスク イメージを作成するための Cronjob

1TB の外付けハード ドライブがあり、定期的に (おそらく週に 1 回) サーバー全体のスナップショットを取得したいと考えています。cronjob の部分については、次の bash スクリプトを指定する予定です。

$ sudo crontab -e

しかし、実行中のサーバーのディスク イメージを作成するためにどのツールを使用すればよいかわかりません。イメージを作成する間はサーバーを停止する必要がありますか? Clonezilla を検討していましたが、最初に DRBL サーバーをセットアップする必要があるようですが、これは望ましくないようです。

また、バックアップの実行にどのくらいの時間がかかるか、増分変更のみを実行する方法があるかどうかもわかりません。そこに約 500 GB のデータを保存する予定です。

外付けハードドライブを特別な方法でフォーマットする必要がありますか? 良いチュートリアルや開始点を知っている人はいますか?

前もって感謝します。

答え1

rsync を使用すると、システム全体のコピーを作成できます。これは「イメージ」そのものではありませんが、システム上のすべてのファイルのコピーが含まれます。たとえば、次のように実行できます。

rsync -aHAXxv / /mnt/backup/

これにより、ルート ファイルシステム内のすべてが /mnt/backup にコピーされます。(注意: -x により 1 つのファイルシステムのみがコピーされるため、複数のファイルシステムがある場合は、複数のコマンドを実行するか、-x を省略して --exclude を使用してバックアップ パスを除外する必要があります。)

答え2

farchiverを試すhttp://www.fsarchiver.org/クイックスタート パーティションからのライブ バックアップと、マルチスレッド イメージ圧縮を作成できます。残念ながら、増分バックアップはこれではやや困難です。パーティションの dd イメージで rsync を使用するのがよいでしょうか。圧縮されたパーティション イメージの作成と、いくつかのフォルダーの rsync/bacula 増分バックアップを検討してください。

答え3

バックアップする内容について考えた方が良いかもしれません。ディスク イメージを取得するには、実行中のシステムによって破損しないように、何らかのトリックが必要になります。考えられる方法は 2 つあります。

  • 起動時にイメージを作成し(難しそう)、再起動時に cron を実行する、マウント前の黒魔術のようなもの
  • 何らかのハイパーバイザーの下でサーバーを実行し、ホストによって制御されるスナップショットを使用する

他のオプションとしては、作成したデータと構成をバックアップし、「OS ビット」を新しいインストールで再作成するように残しておくというものがあります。超高速 DR 用にインストールをスクリプト化することもできます。これにより、数ギガバイトのバックアップ スペースも節約できます。つまり、より頻繁にバックアップし、より長い期間保持することができます。

答え4

@yesterday が述べたように、次のように rsync を使用できます。

rsync -aHAXxv / /mnt/backup/

これにより、バックアップ auf が作成されます/が、他のマウントされたパーティションのバックアップは作成されません/var 。したがって、バックアップが必要なすべてのパーティションに対してこれを実行する必要があります。

ただし、一貫性のあるバックアップを確実に行うには、LVM スナップショットが利用可能な場合はそれを使用する必要があります。例:

# create snapshots
lvcreate -s vg0/root -n root_snapshot -L2G
lvcreate -s vg0/var  -n var_snapshot  -L2G
# mount snapshots to make a copy
mount /dev/vg0/root_snapshot /mnt/snapshot
mount /dev/vg0/var_snapshot  /mnt/snapshot/var
# backup all files (no need for -x here)
rsync -aHAXv /mnt/snapshot/  /mnt/backup/
# unmount the snapshots
umount /mnt/snapshot/var /mnt/snapshot
# remove the snapshots
lvremove vg0/root_snapshot
lvremove vg0/var_snapshot

関連情報