参考「Linux HA Japan」:http://linux-ha.sourceforge.jp/wp/
構成図
powered by nwdiag + Adobe Illustrator
Pacemakerを使うのに、クラスタマネージャをHeartbeatかCorosyncか迷ったので、
まずはこんなものをTwitterへ投げてみたり。
http://twitter.com/H_Shinonome/status/105463900308373504
すると、Linux-HA界隈の方から次々と。
http://twitter.com/minky0/status/105465388506165248
http://twitter.com/minky0/status/105465811560439809
http://twitter.com/tsukishima_ha/status/105469359866118147
http://twitter.com/tsukishima_ha/status/105472064282038272
ありがたやありがたや。
ということで、Pacemaker + Heartbeatでクラスタリングをしてみたのです。
インストール手順は参考URLにあるので割愛。
まずはHeartbeatの設定から。
/etc/ha.d/ha.cf
ポイントは、一行目の [ pacemaker on ]
Heartbeat v2を使って、リソースマネージャにCRMを使ってる人は [ crm yes ] を残してしまうかもしれませんが、Heartbeat起動時にエラーになるので注意です。
その他の注意事項としては heartbeat の chkconfig は off にしておきましょう。
今回台数が4台ということもあるので、マルチキャストで相互監視をしています。
構成図
powered by nwdiag + Adobe Illustrator
Pacemakerを使うのに、クラスタマネージャをHeartbeatかCorosyncか迷ったので、
まずはこんなものをTwitterへ投げてみたり。
http://twitter.com/H_Shinonome/status/105463900308373504
すると、Linux-HA界隈の方から次々と。
http://twitter.com/minky0/status/105465388506165248
http://twitter.com/minky0/status/105465811560439809
http://twitter.com/tsukishima_ha/status/105469359866118147
http://twitter.com/tsukishima_ha/status/105472064282038272
ありがたやありがたや。
ということで、Pacemaker + Heartbeatでクラスタリングをしてみたのです。
インストール手順は参考URLにあるので割愛。
まずはHeartbeatの設定から。
/etc/ha.d/ha.cf
pacemaker on logfile /var/log/ha.log logfacility local1 keepalive 3 deadtime 15 deadping 20 warntime 5 initdead 60 udpport 694 auto_failback off mcast eth2 225.0.0.1 694 1 0 node LVS01 node LVS02 node LVS03 node LVS04 respawn root /usr/lib64/heartbeat/pingd -m 100 -d 5s -a default_ping_set
ポイントは、一行目の [ pacemaker on ]
Heartbeat v2を使って、リソースマネージャにCRMを使ってる人は [ crm yes ] を残してしまうかもしれませんが、Heartbeat起動時にエラーになるので注意です。
その他の注意事項としては heartbeat の chkconfig は off にしておきましょう。
今回台数が4台ということもあるので、マルチキャストで相互監視をしています。
ITインフラ 本当にあった怖い話 ~絶対に笑えないサーバ24時~
怖かった。。。
今回もUstreamしてきました。
構成的には「中」程度の設備ですよっと
配信PC:MacBook Pro 13" ( Mid 2010 )
配信SW:Ustream Producer
カメラ:Logicool HD Pro Webcam C910
ミキサー:YAMAHA WM12CX
TwinPact 100が欲しい。。。
怖かった。。。
今回もUstreamしてきました。
構成的には「中」程度の設備ですよっと
配信PC:MacBook Pro 13" ( Mid 2010 )
配信SW:Ustream Producer
カメラ:Logicool HD Pro Webcam C910
ミキサー:YAMAHA WM12CX
TwinPact 100が欲しい。。。
実は忍者ツールズでは一部自作サーバーを使っているサービスがあります。
[忍者アナライズ]
Hadoopに最適化したサーバーで、HDFS、HBase等が動いているサーバーです。
そして、今回新たにサーバーリプレースに合わせて新自作サーバーを構築しました。
このサーバーが適用されるサービスはほぼすべて。
バックエンドシステムの更新を行う過程において導入を決めました。
参考にしたのはサイバーエージェントさんの通称「ミルフィーユ」サーバー
[アメーバを支える自作サーバのいままでとこれから]
しかし、これを真似して導入するにはいくつかの問題がありました。
■NINJA TOOLSで使っているサーバー
ところで現在、忍者アナライズの一部以外はとあるメーカーのサーバーを使用しています。
BTOのサーバーをできるだけ安く買い、忍者ツールズに最適化してサービス投入をしています。
メーカー製サーバーの利点として
しかし、完全に安いかというとそうではありませんでした。
特に特殊な構成になると価格が跳ね上がってしまうものです。
■一代目自作サーバー≪Hattori≫
Hadoop最適化サーバーとして設計しました。
要件としては
・ディスクをできるだけ載せる ( 容量的にも台数的にも )
・RAIDはいらない
・CPU/メモリはできるだけ載せる
というものです。
そして、出来上がったのがこちら
HadoopのNamenodeはメーカー製サーバーを利用しています。
命名は弊社インフラエンジニアのtsunokawaです。
もちろん、ある意味忍者の代名詞である「服部半蔵」からのネーミングです。
■二代目自作サーバー≪Hanzo≫
さて、本格的に自作サーバーを展開するにあたり、集積度を上げることと
汎用性を高めること、メーカー製サーバーより安く仕上げることを考えて設計を行いました。
もちろん、保守はありませんので、故障したら即まるごと交換です。
さて、ここで最初に紹介したサイバーエージェントさんの「ミルフィーユ」を真似することでの問題点ですが、
さて、まずはそれぞれの問題点を潰すことから考えましょう。
[忍者アナライズ]
Hadoopに最適化したサーバーで、HDFS、HBase等が動いているサーバーです。
そして、今回新たにサーバーリプレースに合わせて新自作サーバーを構築しました。
このサーバーが適用されるサービスはほぼすべて。
バックエンドシステムの更新を行う過程において導入を決めました。
参考にしたのはサイバーエージェントさんの通称「ミルフィーユ」サーバー
[アメーバを支える自作サーバのいままでとこれから]
しかし、これを真似して導入するにはいくつかの問題がありました。
■NINJA TOOLSで使っているサーバー
ところで現在、忍者アナライズの一部以外はとあるメーカーのサーバーを使用しています。
BTOのサーバーをできるだけ安く買い、忍者ツールズに最適化してサービス投入をしています。
メーカー製サーバーの利点として
- 保守がある
- 安定した品質
- ラックマウントしやすい
しかし、完全に安いかというとそうではありませんでした。
特に特殊な構成になると価格が跳ね上がってしまうものです。
■一代目自作サーバー≪Hattori≫
Hadoop最適化サーバーとして設計しました。
要件としては
・ディスクをできるだけ載せる ( 容量的にも台数的にも )
・RAIDはいらない
・CPU/メモリはできるだけ載せる
というものです。
そして、出来上がったのがこちら
CPU | Intel Xeon X3440 ( 4C/8T 2.53GHz ) |
メモリ | 16GB ( 4GB * 4 ) |
HDD | 2TB * 4 ( RAIDなし ) |
ラック占有 | 1U ( Short Length / 440mm ) |
HadoopのNamenodeはメーカー製サーバーを利用しています。
命名は弊社インフラエンジニアのtsunokawaです。
もちろん、ある意味忍者の代名詞である「服部半蔵」からのネーミングです。
■二代目自作サーバー≪Hanzo≫
さて、本格的に自作サーバーを展開するにあたり、集積度を上げることと
汎用性を高めること、メーカー製サーバーより安く仕上げることを考えて設計を行いました。
もちろん、保守はありませんので、故障したら即まるごと交換です。
さて、ここで最初に紹介したサイバーエージェントさんの「ミルフィーユ」を真似することでの問題点ですが、
- 遠隔操作がしにくい
- 搭載可能メモリ量が多くない
- サーバーグレードのパーツが使いにくい
- PCIeが殺されてしまう
- 真似するだけじゃ芸がない
さて、まずはそれぞれの問題点を潰すことから考えましょう。
IT系勉強会カレンダー という物がありまして。
アイデア自体はそういうことなんですが。
実は、インフラエンジニア向け勉強会をGoogleCalenderにまとめてます。
Calender ID : 0qbdg8m2hqf5kseor1mt5om858@group.calendar.google.com
おかげさまで、参加勉強会およびユーザー会が下記の通りとなりました。
#qpstudy キユーピー3分インフラクッキング -初心者にも優しいインフラ勉強会-
#linux_ha_jp Linux High-Availability Japan
#sfstudy ストレージ友の会
#moxssg Mac OS X Server勉強会
#nwstudy きっかけはネットワーク
#ljstudy Linux女子部
#ilstudy ゆるふわ愛されシェルスクリプト
#study2study Webサーバー勉強会
#jawsug Japan Amazon Web Service - Users Group
#cloudgirl JAWS-UG女子会
#s_gijinka サーバ擬人化ユーザ会
#odstudy 運用・ドキュメンテーション勉強会
CloudStackユーザー会
こうして見てみると、いろいろな方面でいろいろな技術やそれに従事・活用している人たちがいるのだなぁ、と思います。
メンテナとしてのご協力や、情報提供等、もちろん歓迎いたします!
その際にはTwitter ( @H_Shinonome ) までご連絡いただけると幸いです
よろしくお願いします!
アイデア自体はそういうことなんですが。
実は、インフラエンジニア向け勉強会をGoogleCalenderにまとめてます。
Calender ID : 0qbdg8m2hqf5kseor1mt5om858@group.calendar.google.com
おかげさまで、参加勉強会およびユーザー会が下記の通りとなりました。
#qpstudy キユーピー3分インフラクッキング -初心者にも優しいインフラ勉強会-
#linux_ha_jp Linux High-Availability Japan
#sfstudy ストレージ友の会
#moxssg Mac OS X Server勉強会
#nwstudy きっかけはネットワーク
#ljstudy Linux女子部
#ilstudy ゆるふわ愛されシェルスクリプト
#study2study Webサーバー勉強会
#jawsug Japan Amazon Web Service - Users Group
#cloudgirl JAWS-UG女子会
#s_gijinka サーバ擬人化ユーザ会
#odstudy 運用・ドキュメンテーション勉強会
CloudStackユーザー会
こうして見てみると、いろいろな方面でいろいろな技術やそれに従事・活用している人たちがいるのだなぁ、と思います。
メンテナとしてのご協力や、情報提供等、もちろん歓迎いたします!
その際にはTwitter ( @H_Shinonome ) までご連絡いただけると幸いです
よろしくお願いします!
3TB HDD導入にあたり、Western Digital WD30EZRSとHitachi GST HDS723030ALA640の検証をしてみた。
Bonnie++の結果は下記の通り (ファイルシステムはext4デフォルト)
予想通り、ランダム性能があがってる。
ついでに、こちらを参考にiopsを簡易測定してみた。
オリジナルスクリプトからの変更箇所は下記の通り
/dev/sdc 16.094 248.55 'Western Digital WD30EZRS セクタ合わせあり
/dev/sdd 12.687 315.29 'Hitachi GST HDS723030ALA640 セクタ合わせなし
/dev/sde 12.752 313.67 'Hitachi GST HDS723030ALA640 セクタ合わせあり
あれ?かわらん。
ぁ、デバイスに直接命令実行してるからかわらんのかな。と予想して、終了。
ちなみに、partedの表示は下記の通り
Bonnie++の結果は下記の通り (ファイルシステムはext4デフォルト)
- セクタ合わせ前
Western Digital WD30EZRS
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
582 97 105430 31 50174 14 2333 94 121769 20 169.7 7
27990us 759ms 2279ms 15038us 94146us 2616ms
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
15039 55 +++++ +++ +++++ +++ 24876 72 +++++ +++ +++++ +++
Hitachi GST HDS723030ALA640
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
582 98 91263 34 60524 15 2275 96 146728 26 236.4 11
28100us 705ms 584ms 20871us 34202us 160ms
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
21241 77 +++++ +++ 31458 51 24773 79 +++++ +++ 29594 53
- セクタ合わせ後
Western Digital WD30EZRS
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
580 98 130905 49 61658 18 2515 97 133861 21 339.0 14
27992us 612ms 2155ms 16851us 100ms 2023ms
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
17340 54 +++++ +++ +++++ +++ 25100 77 +++++ +++ +++++ +++
Hitachi GST HDS723030ALA640
------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
564 98 149921 51 71179 20 2463 97 157366 28 253.3 14
30132us 476ms 485ms 16935us 34721us 153ms
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
18250 57 +++++ +++ +++++ +++ 26743 87 +++++ +++ +++++ +++
予想通り、ランダム性能があがってる。
ついでに、こちらを参考にiopsを簡易測定してみた。
オリジナルスクリプトからの変更箇所は下記の通り
/dev/sdb 16.252 246.13 'Western Digital WD30EZRS セクタ合わせなし# diff iops.rb iops_org.rb
29,30c29
< GB = MB * 1024
< Loop = 4000
---
> Loop = 400
35c34
< for disk in ['sdb', 'sdc', 'sdd', 'sde']
---
> for disk in ['hda', 'hdb', 'hdc']
/dev/sdc 16.094 248.55 'Western Digital WD30EZRS セクタ合わせあり
/dev/sdd 12.687 315.29 'Hitachi GST HDS723030ALA640 セクタ合わせなし
/dev/sde 12.752 313.67 'Hitachi GST HDS723030ALA640 セクタ合わせあり
あれ?かわらん。
ぁ、デバイスに直接命令実行してるからかわらんのかな。と予想して、終了。
ちなみに、partedの表示は下記の通り
# parted /dev/sdb
GNU Parted 1.8.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
モデル: ATA WDC WD30EZRS-00J (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 17.4kB 3001GB 3001GB ext3 primary
(parted) select /dev/sdc
/dev/sdc を使用
(parted) p
モデル: ATA WDC WD30EZRS-00J (scsi)
ディスク /dev/sdc: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 32.8kB 3001GB 3001GB ext3 primary
(parted) select /dev/sdd
/dev/sdd を使用
(parted) p
モデル: ATA Hitachi HDS72303 (scsi)
ディスク /dev/sdd: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 17.4kB 3001GB 3001GB ext3 primary
(parted) select /dev/sde
/dev/sde を使用
(parted) p
モデル: ATA Hitachi HDS72303 (scsi)
ディスク /dev/sde: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 32.8kB 3001GB 3001GB ext3 primary
(parted)