[Linux-ha-jp] DRBDの帯域制限に関して

Zurück zum Archiv-Index

平原智博 hirab****@skyar*****
2014年 7月 3日 (木) 16:22:45 JST


お世話になります。平原と申します。

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 メーリングリストの案内
Zurück zum Archiv-Index