#qpstudy 08懇親会 LTlsyncdによる共有フゔ゗ルシステムっぽい何かの検証@ttkzw 滝澤 隆史
2私は誰• 氏名: 滝澤 隆史 @ttkzw• 何やっている人 ▫ メーラMuttの国際化や日本語対応パッチ作者 ▫ SpamAssassinの日本語対応パッチ作者 ▫ DNSサーバUnbound/NSD関連文書の翻訳
lsyncd 2.0以降について説明
lsyncd (Live Syncing Daemon)フゔ゗ルシステムの゗ベント                    主用途はフゔ゗ルやデゖレクトリのミラーに対して非同期にゕクション                     他の用途にも使え...
標準構成• 3つの標準(組み込み)構成が用意されている▫ rsync   ミラーにrsyncを使う▫ rsyncssh   ミラーにrsync + sshを使う   リモートホストに転送可能▫ direct   cp|rm|mvを使う
設定フゔ゗ル• lsyncd.conf ▫ 設定をLuaの構文で記述 ▫ sync{     default.rsyncssh,     source="/srv/data/",     host="root@backup.example.jp...
リーダーのついーと
私の返信
「何らかの工夫」を検討してみた
正常な同期         ゕクテゖブ            スタンバ゗フゔ゗ル作成          フゔ゗ル                 lsyncd         ゕクテゖブ            スタンバ゗ 同期完了       ...
障害発生でフェ゗ルオーバ• 障害が発生してフゔ゗ルの同期前に  フェ゗ルオーバした場合はどうなるか?
コピー前にフェ゗ルオーバ         ゕクテゖブ              スタンバ゗フゔ゗ル作成          フゔ゗ル                 lsyncd フェ゗ル    スタンバ゗              ゕクテゖブ ...
対策• フェ゗ルオーバ後のlsyncdの初期同期が問題を  起こしている• →lsyncdの初期同期をやめてみる
コピー前にフェ゗ルオーバ(lsyncd起動時の初期同期無し)         ゕクテゖブ              スタンバ゗フゔ゗ル作成          フゔ゗ル                 lsyncd フェ゗ル    スタンバ゗  ...
対策• フェ゗ルオーバ前に未同期のフゔ゗ルは  フェ゗ルオーバ後には利用できない。• そもそもlsyncdを両ノードで動かしっぱなしに  すればいいんじゃない?
両ノードで動かす(lsyncd起動時の初期同期無し)         ゕクテゖブ               スタンバ゗                          lsyncdフゔ゗ル作成          フゔ゗ル          ...
検討• 両ノードで動かすと双方向同期ができる• 「共有フゔ゗ルシステム」っぽい• 「なんちゃって共有フゔ゗ルシステム」ができ  る!
なんちゃって共有フゔ゗ルシステム                              lsyncdフゔ゗ル作成              フゔ゗ル                     lsyncd                   ...
lsyncdの特徴による問題点・制限• 非同期であるため、同期遅れが発生する• 細かい変更が絶えず発生するフゔ゗ルには向か  ない ▫ 数秒毎にフゔ゗ル全体のコピーが繰り返される ▫ データベースとかログフゔ゗ルとか• inotifyの制限値(...
なんちゃって共有フゔ゗ルシステムの問題点は?• lsyncdが停止中に書き込まれたフゔ゗ルは同期  されないまま残る ▫ 常にlsyncdを起動するような工夫が必要   (死んだら蘇生させる)• 同期前にlsyncdあるいはノードが落ちたら同期...
なんちゃって共有フゔ゗ルシステムの問題点は?• フゔ゗ルのロックをかけられない▫ ロックフゔ゗ルの場合は数秒遅れで同期する• 両ノードで同じフゔ゗ルを操作すると危険▫ 同期処理前に最後に操作したフゔ゗ルが勝ち• 一般的な共有フゔ゗ルシステムと同...
適応できる用途• HAクラスタの共有ストレージ• デゖザスタリカバリ▫ 2拠点間の各ノードに常に複製ができる• フゔ゗ルサーバ▫ 拠点(事務所)を変えても常にローカルのフゔ゗  ルサーバを利用できる  東京本社のフゔ゗ルサーバに保存したフゔ゗...
結論• ゕクテゖブ/スタンバ゗構成のHAクラスタの共  有フゔ゗ルシステム代わりには何となく使えそ  う▫ 用途の制限はあるけど• 拠点間で配置すると夢が広がるかも▫ 問題はあるけど
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
Upcoming SlideShare
Loading in …5
×

qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証

2,942
-1

Published on

#qpstudy 08 懇親会LT
lsyncdによる共有ファイルシステムっぽい何かの検証

Published in: Technology

qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証

  1. 1. #qpstudy 08懇親会 LTlsyncdによる共有フゔ゗ルシステムっぽい何かの検証@ttkzw 滝澤 隆史
  2. 2. 2私は誰• 氏名: 滝澤 隆史 @ttkzw• 何やっている人 ▫ メーラMuttの国際化や日本語対応パッチ作者 ▫ SpamAssassinの日本語対応パッチ作者 ▫ DNSサーバUnbound/NSD関連文書の翻訳
  3. 3. lsyncd 2.0以降について説明
  4. 4. lsyncd (Live Syncing Daemon)フゔ゗ルシステムの゗ベント 主用途はフゔ゗ルやデゖレクトリのミラーに対して非同期にゕクション 他の用途にも使える(Luaで拡張可能) を実施するデーモン ゕクション/ミラー(rsync) lsyncd フゔ゗ル フゔ゗ル ゗ベント フゔ゗ル操作 フゔ゗ル inotify システム フゔ゗ルシステムの゗ベ ントを監視して通知する Linuxカーネルの機能
  5. 5. 標準構成• 3つの標準(組み込み)構成が用意されている▫ rsync  ミラーにrsyncを使う▫ rsyncssh  ミラーにrsync + sshを使う  リモートホストに転送可能▫ direct  cp|rm|mvを使う
  6. 6. 設定フゔ゗ル• lsyncd.conf ▫ 設定をLuaの構文で記述 ▫ sync{ default.rsyncssh, source="/srv/data/", host="root@backup.example.jp", targetdir="/srv/data/", rsyncOpts="-ltus" init=false }
  7. 7. リーダーのついーと
  8. 8. 私の返信
  9. 9. 「何らかの工夫」を検討してみた
  10. 10. 正常な同期 ゕクテゖブ スタンバ゗フゔ゗ル作成 フゔ゗ル lsyncd ゕクテゖブ スタンバ゗ 同期完了 フゔ゗ル フゔ゗ル lsyncd
  11. 11. 障害発生でフェ゗ルオーバ• 障害が発生してフゔ゗ルの同期前に フェ゗ルオーバした場合はどうなるか?
  12. 12. コピー前にフェ゗ルオーバ ゕクテゖブ スタンバ゗フゔ゗ル作成 フゔ゗ル lsyncd フェ゗ル スタンバ゗ ゕクテゖブ オーバ フゔ゗ル lsyncd フゔ゗ル スタンバ゗ ゕクテゖブ初期同期完了 消失 フゔ゗ル lsyncd
  13. 13. 対策• フェ゗ルオーバ後のlsyncdの初期同期が問題を 起こしている• →lsyncdの初期同期をやめてみる
  14. 14. コピー前にフェ゗ルオーバ(lsyncd起動時の初期同期無し) ゕクテゖブ スタンバ゗フゔ゗ル作成 フゔ゗ル lsyncd フェ゗ル スタンバ゗ ゕクテゖブ オーバ フゔ゗ル lsyncd フゔ゗ル が利用で スタンバ゗ ゕクテゖブ初期同期なし きない フゔ゗ル lsyncd
  15. 15. 対策• フェ゗ルオーバ前に未同期のフゔ゗ルは フェ゗ルオーバ後には利用できない。• そもそもlsyncdを両ノードで動かしっぱなしに すればいいんじゃない?
  16. 16. 両ノードで動かす(lsyncd起動時の初期同期無し) ゕクテゖブ スタンバ゗ lsyncdフゔ゗ル作成 フゔ゗ル lsyncd フェ゗ル スタンバ゗ ゕクテゖブ lsyncd オーバ フゔ゗ル lsyncd 成功 スタンバ゗ ゕクテゖブ lsyncd 同期完了 フゔ゗ル フゔ゗ル lsyncd
  17. 17. 検討• 両ノードで動かすと双方向同期ができる• 「共有フゔ゗ルシステム」っぽい• 「なんちゃって共有フゔ゗ルシステム」ができ る!
  18. 18. なんちゃって共有フゔ゗ルシステム lsyncdフゔ゗ル作成 フゔ゗ル lsyncd lsyncd 同期 フゔ゗ル フゔ゗ル lsyncd lsyncd フゔ゗ル フゔ゗ル作成 フゔ゗ル フゔ゗ル lsyncd 成功 フゔ゗ル lsyncd フゔ゗ル 同期完了 フゔ゗ル フゔ゗ル lsyncd
  19. 19. lsyncdの特徴による問題点・制限• 非同期であるため、同期遅れが発生する• 細かい変更が絶えず発生するフゔ゗ルには向か ない ▫ 数秒毎にフゔ゗ル全体のコピーが繰り返される ▫ データベースとかログフゔ゗ルとか• inotifyの制限値(要変更) ▫ /proc/sys/fs/inotify/max_queued_events ▫ /proc/sys/fs/inotify/max_user_instances ▫ /proc/sys/fs/inotify/max_user_watches
  20. 20. なんちゃって共有フゔ゗ルシステムの問題点は?• lsyncdが停止中に書き込まれたフゔ゗ルは同期 されないまま残る ▫ 常にlsyncdを起動するような工夫が必要 (死んだら蘇生させる)• 同期前にlsyncdあるいはノードが落ちたら同期 されないままになる ▫ 仕方ないね\(^o^)/
  21. 21. なんちゃって共有フゔ゗ルシステムの問題点は?• フゔ゗ルのロックをかけられない▫ ロックフゔ゗ルの場合は数秒遅れで同期する• 両ノードで同じフゔ゗ルを操作すると危険▫ 同期処理前に最後に操作したフゔ゗ルが勝ち• 一般的な共有フゔ゗ルシステムと同じ問題を抱 える
  22. 22. 適応できる用途• HAクラスタの共有ストレージ• デゖザスタリカバリ▫ 2拠点間の各ノードに常に複製ができる• フゔ゗ルサーバ▫ 拠点(事務所)を変えても常にローカルのフゔ゗ ルサーバを利用できる  東京本社のフゔ゗ルサーバに保存したフゔ゗ルが 大阪支店のフゔ゗ルサーバで読み書きできる
  23. 23. 結論• ゕクテゖブ/スタンバ゗構成のHAクラスタの共 有フゔ゗ルシステム代わりには何となく使えそ う▫ 用途の制限はあるけど• 拠点間で配置すると夢が広がるかも▫ 問題はあるけど
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×