LVMのLV(ロジカルボリューム)のブロック単位差分バックアップ
受付中
回答 1
投稿 ・編集
- 評価
- クリップ 0
- VIEW 2,797
LVMのLV(論理ボリューム)をブロック単位で差分バックアップを取得する方法はないでしょうか?
現在ubuntuでraid0上で構築しているVG(LVMのボリュームグループ)があります。
この中にはファイルシステムとして構築しているLVもありますが、rawデバイスイメージ(iscsiターゲットや、kvmの仮想ディスクなど)で使用しているものもあります。
最初はパフォーマンス重視でraid0構成で組んでいたのですが、いかんせんraid0。ディスクの一つでも壊れればVG内のすべてのデータが飛んでしまいことが怖くなり、そろそろ真面目にディスクのバックアップをしなければと思っています。
これらのLVを定期的にイメージバックアップを取得したいと考えているのですが、手元にあるのは、大容量ながらも低速なraid5ディスク装置(書き込み速度が秒間70M[Byte/秒])しかありません。
バックアップ取得対象のVGは10[TByte]あり、バックアップ取得対象のLVのスナップショットから愚直にフルイメージバックアップを取得しようとすると、おおよそ丸々2日かかる計算になります。(10[TByte]=10,485,760[MByte]。10,485,760[Mbyte]÷70[MByte/秒]=約150,000[秒]=約42[時間])
最初、バックアップ対象のLVに対してwrite-mostly & write-behind指定し、アップアップ取得先のディスク装置とでmdadmによるraid1構成を組もうかと考えたのですが、実際に、試験的に構築したLVで試したところ、単独での書き込み速度が300[MByte/秒]から70[MByte/秒]までに低下してしまったため、この案は廃案となりました。(読み取りは、300[MByte/秒]で現状維持だったのですが・・・)
通常運用時に速度(とくに書き込み)を落とさず、かつ、バックアップの取得に差分バックアップを使用し、その取得時間を短縮できる手段をご存知であればご教授いただけないでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+1
そんな中、Arcserveはまだ息をしている様なので、どうしてもやりたければこの辺りはどうでしょう。
Arcserve UDP
まぁ、最も安いライセンスで8万ですが・・・。
古くからある実績あるバックアップソフトなので、それなりにちゃんと使える様な気はします。
あと、ちらっと無償で使えそうなので調べてもみましたが、
CrashPlan
ってのは、一応block-level de-duplication機能付きでネットワークバックアップが可能な様です。
正規バックアップ先を使うと有料っぽいですが、自分でバックアップ先は選べるとの事。
試してはいないですが、一先ずご紹介まで。
以上、ご参考になれば幸いです。
※追記
質問をちゃんと読んでませんでしたが、コマンドで何とかしたいという事でしょうか。
LVMはスナップショットが取れたと思うので、それであればブロックレベルでの差分バックアップが出来たと思います。
その上で、余っているというRaid5のディスクを使って別途ZFSベースのNAS(OpenindianaかFreeNAS辺りで)でも立てて、
cron辺りで
gzip - < dd if=/dev/sda1 | ssh -i ~/keys/private.pem root@192.168.x.x "zcat > /var/backup/backup1"
的なコマンドで丸ごとデバイスコピーしていけば行けそうな気がします。
ZFSであればdeduplicationが標準で使えると思うので、普通に世代バックアップしとけばいいんじゃないでしょうか。
このやり方だとネットワークに負荷がかなりかかりそうですが・・・。
まぁその辺は、可能ならインターコネクト的なもので接続しておけばどうとでもなるかと。
ただ、業務用であればちゃんとしたバックアップソフトを使った方がいいです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2015/01/24 22:58
あくまでそんな雰囲気で送れば!ってことでw
2015/01/27 21:29
コマンドで何とかできないかなと思っております。自宅の趣味の環境なので(笑)。
しかも、バックアップ対象とバックアップとの差分の比較を行うことなく・・・。
lvmのスナップショット自体はオリジナルとの差分で構成されているので、なんとかいい方法はないかと考えていました。
mdadmのraid1も、双方のディスクの差分をbitmapで管理しているので、普段は片方のディスク(ここで言う遅いraid5のディスク)を切り離し、バックアップ時に接続して差分のみを反映とかができないかと考えていました。
2015/01/30 00:51
1. バックアップ先のVGにバックアップ対象と同サイズのLVを作成する。
2. バックアップ対象のLVとバックアップ先のLVでVGを作成する。
3. 作成したVGからバックアップ対象のLVとバックアップ先のLVを指定して、RAID1のLVを作成する。
4. RAID1のLVを「変更追跡」オプションを指定して、分割する。
5. ~通常運用~
6. 分割したRAID1のLVを併合する。
7. RAID1のLVのCOPY率が100%になるのを待つ。
8. RAID1のLVを「変更追跡」オプションを指定して、分割する。
→ 5. 通常運用へ
時間のあるときに試してみたいと思います。