Motoharu Kubo
mkubo****@3ware*****
2014年 7月 3日 (木) 16:50:41 JST
久保と申します。 DRBDのプライマリとセカンダリ間の通信には、レプリケーションと同期の2タイ プがあります。 「レプリケーション」はプライマリ側で生じた新たな書き込みをセカンダリに送 ることで、DRBDはネットワーク帯域をフルに活用して可能な限り全力で送ろうと します。 「同期」はDRBD同士の通信が切れて再開したときに、両ノード間のデータのずれ を解消するために自動的に起動する通信です。レプリケーションのパフォーマン スに影響することもあるため、rateパラメータで上限を設定できます。 平原さんが問題切り分けのために絞り込みたいのは、たぶんレプリケーションの トラフィックだろうと思いますが、上に書いたようにDRBDの設定では帯域を制限 できません。どうしても必要でしたら、tcコマンドなどで帯域制限してください。 なお、一般論ですが、シーケンシャル書き込み速度が100MB/sec以上の性能が出 るディスクを使ってDRBDを使う場合、フルスピードでのディスク書き込みに対応 するには、ギガビットネットワークでは役不足になります。最近はSATAでもこの 上限を超えるため、ディスク性能をフルに生かす必要があるシステムでは、10ギ ガNIC以上を使うべきでしょう。 (2014年07月03日 16:22), 平原智博 wrote: > > お世話になります。平原と申します。 > > DRBD/heartbeatクラスタの環境にて、FileSystemリソースの監視がタイムアウトとなる事象が > 稀に発生しており、解決にあたりお知恵を拝借したく、ご連絡させて頂きました。 > > 確認を取りましたところ、事象発生時間帯にDRBDで利用しているLink(1Gbps)の帯域が逼迫しており、 > DRBD領域での大量のファイル更新が発生した際に、バックグラウンド同期処理により帯域が圧迫され、 > Filesystemリソースのタイムアウトに至る障害であるものかと推測しております。 > > 上記事象が解消出来るかの切り分けのため、DRBDの帯域に制限を設けたいと考えておりますが、 > syncerのrate値を変更した場合でも、制限が有効に動作しておりません。 > > DRBDの同期処理の帯域制限を設けるには、別のパラメータを設定する必要があるのでしょうか。 > お手数ですがご確認させて頂ければと存じます。 > > DRBD/8.3.15 > heartbeat/3.0.5 > pacemaker/1.0.13 > > DRBD上のsyncerのrate値です。極端ですが1kに制限しております。 > ----- > disk { > size 0s _is_default; # bytes > on-io-error pass_on _is_default; > fencing dont-care _is_default; > max-bio-bvecs 0 _is_default; > disk-timeout 0 _is_default; # 1/10 seconds > } > net { > timeout 60 _is_default; # 1/10 seconds > max-epoch-size 2048 _is_default; > max-buffers 2048 _is_default; > unplug-watermark 128 _is_default; > connect-int 10 _is_default; # seconds > ping-int 10 _is_default; # seconds > sndbuf-size 0 _is_default; # bytes > rcvbuf-size 0 _is_default; # bytes > ko-count 0 _is_default; > after-sb-0pri disconnect _is_default; > after-sb-1pri disconnect _is_default; > after-sb-2pri disconnect _is_default; > rr-conflict disconnect _is_default; > ping-timeout 5 _is_default; # 1/10 seconds > on-congestion block _is_default; > congestion-fill 0s _is_default; # byte > congestion-extents 127 _is_default; > } > syncer { > rate 1k; # bytes/second ★ > after -1 _is_default; > al-extents 127 _is_default; > on-no-data-accessible io-error _is_default; > c-plan-ahead 0 _is_default; # 1/10 seconds > c-delay-target 10 _is_default; # 1/10 seconds > c-fill-target 0s _is_default; # bytes > c-max-rate 102400k _is_default; # bytes/second > c-min-rate 4096k _is_default; # bytes/second > } > protocol C; > _this_host { > device minor 0; > disk "/dev/sda4"; > meta-disk internal; > address ipv4 xxx.xxx.xxx.xxx:7788; > } > _remote_host { > address ipv4 yyy.yyy.yyy.yyy:7788; > } > ----- > > 上記パラメータでDRBD領域への1Gのファイルを書き込んだ際のDRBD同期用Link上で発生したトラフィック情報です。(HA/Master側) > 6:35:34〜6:35:41の時間帯で、1GBpsの帯域をほぼ食い潰してしまっています。 > ----- > 06:35:29 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s > 06:35:30 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 > 06:35:31 AM eth1 1.00 2.00 379.00 748.00 0.00 0.00 0.00 > 06:35:32 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 > 06:35:33 AM eth1 6479.00 35711.00 845143.00 53188830.00 0.00 0.00 0.00 > 06:35:34 AM eth1 15254.00 82857.00 1980132.00 123292366.00 0.00 0.00 0.00 > 06:35:35 AM eth1 15253.47 82123.76 1969688.12 122071376.24 0.00 0.00 0.00 > 06:35:36 AM eth1 15395.00 82929.00 1987762.00 123290064.00 0.00 0.00 0.00 > 06:35:37 AM eth1 15446.00 82956.00 1993753.00 123291286.00 0.00 0.00 0.00 > 06:35:38 AM eth1 15352.00 82936.00 1983408.00 123291400.00 0.00 0.00 0.00 > 06:35:39 AM eth1 15415.00 82958.00 1991755.00 123291056.00 0.00 0.00 0.00 > 06:35:40 AM eth1 15440.00 82957.00 1992352.00 123291174.00 0.00 0.00 0.00 > 06:35:41 AM eth1 15450.00 83281.00 1996817.00 123793962.00 0.00 0.00 0.00 > 06:35:42 AM eth1 8787.00 47208.00 1133874.00 70152464.00 0.00 0.00 0.00 > 06:35:43 AM eth1 2.00 1.00 749.00 378.00 0.00 0.00 0.00 > 06:35:44 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 > 06:35:45 AM eth1 0.99 0.99 375.25 374.26 0.00 0.00 0.00 > 06:35:46 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 > ----- > > クラスタの設定内容です。 > ----- > node $id="1f5715a4-8bb9-4702-855b-30c3b4408abc" db02-dev.server.com \ > attributes standby="off" > node $id="71be5167-e522-4f8d-81f4-3d9a93a3d0b4" db01-dev.server.com \ > attributes standby="off" > primitive res_drbd0 ocf:linbit:drbd \ > params drbd_resource="r0" \ > op monitor interval="10" \ > op start interval="0" timeout="240" \ > op stop interval="0" timeout="100" > primitive res_fs0 ocf:heartbeat:Filesystem \ > params device="/dev/drbd0" directory="/mnt/drbd0" fstype="ext3" options="noatime" \ > op start interval="0" timeout="60" \ > op stop interval="0" timeout="60" \ > op monitor interval="10s" timeout="60s" OCF_CHECK_LEVEL="20" \ > meta target-role="Started" > primitive res_pgsql ocf:heartbeat:pgsql \ > params pgctl="/usr/pgsql-9.1/bin/pg_ctl" start_opt="-p 5432" psql="/usr/bin/psql" pgdata="/var/lib/pgsql/9.1/data" \ > op start interval="0s" timeout="120s" on-fail="restart" \ > op stop interval="0s" timeout="120s" on-fail="block" \ > op monitor interval="30s" timeout="30s" on-fail="restart" \ > meta target-role="Started" > primitive res_vip0 ocf:heartbeat:IPaddr2 \ > params ip="172.16.43.200" cidr_netmask="16" \ > op monitor interval="10" > group DEV res_vip0 res_fs0 res_pgsql \ > meta is-managed="true" > ms ms_drbd_r0 res_drbd0 \ > meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Started" > colocation col_DEV_drbd inf: res_fs0 ms_drbd_r0:Master > order ord_DEV_drbd inf: ms_drbd_r0:promote DEV:start > property $id="cib-bootstrap-options" \ > dc-version="1.0.13-30bb726" \ > cluster-infrastructure="Heartbeat" \ > stonith-enabled="false" \ > no-quorum-policy="ignore" \ > default-resource-stickiness="200" \ > pe-error-series-max="500" \ > pe-warn-series-max="500" \ > pe-input-series-max="500" \ > last-lrm-refresh="1404277782" > rsc_defaults $id="rsc-options" \ > migration-threshold="3" > ----- > > 不足事項等ございましたらご指摘頂ければと存じます。どうぞよろしくお願いいたします。 > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >