Motoharu Kubo
mkubo****@3ware*****
2013年 6月 29日 (土) 00:46:30 JST
久保と申します。 まず、デュアルプライマリの一般的な留意点をコメントします。 基本的に、DRBDのデュアルプライマリは一見魅力的で、かつ適切に使えば効果的 なのですが、DRBD通信が切れたときにただちにスプリットブレインになってしま うという、実運用上は嬉しくない原理的な制約を持っています。 スプリットブレインが発生したら、どちらか一方のデータを捨てて他方のデータ で同期しなおすしかありません。 赤松さんが指摘しておられるように、GFS2やocfs2を使っていたとしても、両系 で同時に書き込みを行っているときにDRBD間の通信が切れてしまったら、片方の データを失うことになります。これって、非常に使いこなしが難しいことを意味 しています。 デュアルプライマリを採用する場合には、シングルプライマリですませる方法を 十二分に検討し、それが無理だとわかった上で、さらに上記の制約を十分に考慮 して、採用してください。 さて、川瀬さんの要件についてコメントします。 赤松さんの「1系」、「2系」という定義を使わせていただきます。 > 4. 2系で運用中、1系が起動したら 1系と 2系でデータ同期を > どうしようかと悩んでる...。 > > もし上記の通りなら 1系が組み込まれる時に 2系とのデータ同期を > 明示的行えばよいだけだと思うのですが...。 > その手順が判れば、なにもデュアルプライマリする必要は無い > ですよね。 1系が復活したら、単にDRBDの接続を再開すればいいだけです、と言いたいとこ ろなのですが、その前にデュアルプライマリで運用していたならば、確実にスプ リットブレインになっています。 したがって、1系のDRBDを起動したら、1系側で drbdadm -- --discard-my-data connect <リソース> を実行する必要があります。2系がcs:StandAloneになっていたら、2系でも drbdadm connect <リソース> を実行します。2系のデータを正本として2系から1系に対する同期が始まります。 その後デュアルプライマリモードに移行したければ、1系もプライマリに切り替 えればいいでしょう。 > ちなみにデュアルプライマリをするなら、その上は ext3,ext4 では > ダメですよ。 > ocfs2, GFS, GlusterFS 等でフォーマットする必要があります。 > (そうじゃないとデュアルプライマリの意味が無いかと) > そしてこれらは DRBD と比べて総じて遅いです。 デュアルプライマリのデータ領域をLinuxネイティブのファイルシステムで管理 する場合は、赤松さんが指摘しておられるとおりです。 しかし川瀬さんはDRBDのレプリケーション領域をiSCSIターゲットに管理させ、 Windowsのイニシエータからアクセスするプランのようですので、一般的には NTFSあたりが使われるのではないかと思います。 そして川瀬さんの > 2.ソース側が潰れた場合は、ターゲットのOS(Windows2008R2)からの操作のみ > でターゲット側をmountする。 を実現するには、日常的に「1系」と「2系」の両方でiSCSIターゲットを起動し ておく必要があるでしょう。 NTFSもクラスタファイルシステムではないので、1系側のWindowsがアクセスして いる間は、**絶対に**2系側でWindowsイニシエータからアクセスすることが ないよう、万全な管理を行う必要があります。もしも両系でWindowsから同時に アクセスしてしまったら、最悪ファイルシステムがぶっ壊れてしまうことになり ます。 -- 久保 元治 (株)サードウェア Motoharu Kubo 274-0815 千葉県船橋市西習志野3-39-8 mkubo****@3ware***** URL: http://www.3ware.co.jp/ Phone: 047-496-3341 03-4530-0521 (内線201) Fax: 047-496-3370 携帯: 090-6171-5545 GPG fingerprint: D2B0 F02A 4A7F 3FD2 1A66 EF2E F990 D04B 2A83 D477 ★弊社からのメールはZ-Linuxメールフィルタで全数検査しています★ ★ ブログを始めました http://blogs.itmedia.co.jp/ossway/ ★