しつこいようですが、この製品は BIG-IP そのものが VMware のゲストになるっていう製品ですよ。
ホストとは完全に独立して動く(厳密にはホスト上で動いてるんですが)ものなので、アプライアンスの BIG-IP とまったく同じ感覚で扱えます。
元々入ってる OS 上に BIG-IP の機能だけをアドオンするというものでは決してないです。
動いているベースは CentOS ですし、その上で tmm が動いてます。
逆に言うと VMware 用のイメージしか用意されていないので、サーバにそのまま展開するなんてことはできないです。
ホスト OS 上で動いている仮想マシン上で BIG-IP が動いてるんですよー。
仮想マシンをいくつも作れば並行して複数の BIG-IP を動かすことも可能ですよー。
VMware ってものを触るまでこの感覚は俺もよくわかりませんでした。
ところで、知らなかったんですが ESXi って無償で配布されてるんですね。
VMware はまったくの素人なので恥ずかしい限りです。
これもやってみなきゃなあ。
むしろ ESXi はサポートされているので、こっちでまずやってみるべきだったか。
安易に流れてしまって反省です。
最後に参考
BIG-IP Virtual Edition Trial version 10.1.0 Release Note
https://support.f5.com/kb/en-us/products/big-ip_ve/releasenotes/product/relnotes_ve_10_1_0.html
「 F5 」一覧
BIG-IP SNMP trap のテスト
本日も基本的な記事です。
BIG-IP で SNMP trap を意図的に出したいときの方法です。
config を load したり pool member を落としたりってのが簡単ではあるんですけど、擬似的に出す方法もあります。
詳細は下の SOL を読みましょう。
v9.x の場合
SOL7165: Testing SNMP traps on BIG-IP version 9.x
https://support.f5.com/kb/en-us/solutions/public/7000/100/sol7165.html
v10.x の場合
SOL11127: Testing SNMP traps on BIG-IP version 10.x
https://support.f5.com/kb/en-us/solutions/public/11000/100/sol11127.html
微妙に違うんですが、基本は同じです。
まずここで SNMP trap とは何か(書かなくてもいい気がするが)ですが、機械に何か起きたときに外に向かって通知する機能ですね。
例えば BIG-IP だと pool member がおちたよーんとか。
で、何か起きたって判断する基準はログに何かが表示されたときです。
LTM なら /var/log/ltm に特定の文字列が出てくると、trap が発生します。
具体的に見てみます。
/var/log/ltm の抜粋です。
Mar 16 10:01:28 local/bigip notice mcpd[2593]: 01070638:5: Pool member xxx.xxx.xxx.xxx:80 monitor status down.
xxx のとこは実際は member の IP アドレスですよ。
この表示が出ると、trap を出す担当の daemon である alertd が trap を投げます。
なんでこのログが出たら trap すんだよ!っていうのは /etc/alertd/ 以下で定義されています。
一番重要な設定は /etc/alertd/alert.conf で該当部分をまた抜粋します。
alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS { snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.10" }
大文字が定義されてる名前で、この OID で trap を出します。
で、この定義を使うのが下です。
[root@bigip:Active] config # grep -i BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS /etc/alertd/* /etc/alertd/alert.conf:alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS { /etc/alertd/alert.conf:alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS_UP { /etc/alertd/bigip_mcpd_error_maps.h:0 LOG_NOTICE 01070638 BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS "Pool member %s:%u monitor status %s." /etc/alertd/bigip_mcpd_error_maps.h:0 LOG_NOTICE 01070727 BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS_UP "Pool member %s:%u monitor status up."
徐々に見えてきたと思います。
まずログに Pool member xxx.xxx.xxx.xxx:80 monitor status down. が出ます。
alertd は /etc/alertd/ 以下のヘッダファイルと見比べます。
この場合は "Pool member %s:%u monitor status %s." ってのと一致します。
これに該当している名前は BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS ですね。
alert.conf の BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_STATUS で定義されている OID で trap を出します。
分かりにくいかも知れませんが、ログで引っ掛けて trap を出していると認識していただければおっけーです。
ということで冒頭の SOL に戻ります。
この SOL では logger コマンドで任意のログを吐かせています。
/etc/alertd/ 以下で定義されているログを強制的に出して、trap を飛ばしているということになります。
v9.x では facility と level とログの内容が一致していれば出るんですが、v10.x ではちょっと厳しくなっていて alert code と level の番号も書いてあげる必要があります。
まあ実にめんどくさいかも知れませんが、使えるといざというとき便利かもしれませんよ。
できることは多くて損はしないと思います。
Ask
ここと
https://login.f5.com/resource/login.jsp
ここは
http://devcentral.f5.com/Default.aspx?tabid=119
F5 製品をさわる方は登録しておきましょう。
勘違いされやすいんですけど、誰でもいつでも登録できます。
興味がある人すべてが登録対象です。
両方とも F5 の public なサイトからたどれるんで、ここで書いても問題ないでしょう。
保守契約を結んでる人向けには別のサイトがあるんですが(それは正直……)、上のサイトは誰でもいらっしゃいです。
結構 F5 製品を扱ってる方でも知らない人がいるようなので、啓蒙活動ということで書いておきます。
BIG-IP VE 2
なんかわりと評判みたいだなあ。
知らない人向けに書いておきますけど、BIG-IP の TMOS を VMware 上で動かせるっていう新しい製品です。
簡単に言えば「あなたの PC が BIG-IP になる!」ということです。
F5 の仮想化戦略の一つらしいですよ。俺はそんな難しいことはよくわかんないけど。
以前にも書きましたけど、フリーの VMware Server 上でも動かせるのがすばらしいです。
いつもノートでこのページの記事とか書いてるんですけど、今もノートの上で動いてます。
デュアルコア以上なら「重い~」みたいなことはないかも。
ただ、動かしてみれば分かるんですけど、単なる 10.1.0 です。
機能制限 (スループットとか) があるだけで、10.1.0 がそのまま動いてるので目新しさとかは特にないです。
そういう制限もあるので、ちょっと画面を見たいときは便利かなあってとこで、Trial で実用に耐えるとはまったく思えないです。
サーバのパフォーマンスにも依存するんで、アプライアンスほどのパワーが出せるような気はしないんですけど。
昔の blade をなんとなく思い出しますね。
ただ、俺はなんか好きなんですよね。
手元にある感(?)がいいのかもしんない。
TMOS 自体は超プロプライエタリですけど、なんとなく近しくなった気がするんですよね。
見当違いな感想かもしれませんが。
HA group
今さらですけど HA group について。
HSRP の Interface track のなんかめんどくさいやつです。
それ以上でも以下でもなんでもないです。
Priority の設定が細かくできるようになってるだけで、概念は Interface track そのものです。
ネットワーク機器っぽくて悪くはないんですけど、もうちょっとシンプルにしても良かったんじゃないかと思ってます。
Active と Standby で持ち点を比較して、点数の高いほうが基本的に Active になります。
点数のやり取りは Network Failover のパケットでやるので、Network Failover は必須です。
で、点数の基準は Trunk (channel) と pool のメンバがどれだけ生きてるか。
メンバが死ぬと点数が下がります。
はい、ここで気づきますが Active と Standby で同じ pool を監視してはだめです。
メンバダウンのタイミングによっては Failover → Failback のコンボが発動します。
Active Bonus である程度は回避できると思いますけど、基本は直接つながってるリンクを監視するものだと思ってください。
リンクダウンすると瞬間 Failover するので結構楽しいです。
ちなみに /var/log/ltm (だったかな?)に点数ログが出るので確認用に。
tmsh でも色々見ることができます。
マニュアルに色々くわしく書いてあるので、見といて損はないですよ。
点数の割り振りは正直考えるのがめんどくさいので(というか設定ガイドラインとかないし)、リンクダウンで即 Failover させるって使い方が多くなるんじゃないかなあ。
tmsh
巷でまったく噂のない tmsh ですが、10.1.0 で結構使えるようになってるのかも。
CLI 自動化できるのがいいですね。
もともと CLI 系の人なので、嫌いじゃないというのがポイントですね。
俺の Tab は減りが早いです。
というわけで、暇があったら script 方面で色々試してみるつもりです。
本来の仕事はまったく無視ですが、将来役に立つに違いない。
Virtual Server をいっぱい作るぜー、とか斬新なことはあまりしないと思います。
たぶん需要はないけど乞うご期待。
wireshark2
奥さん、DTLS は ssldump で読めないらしいですよ。
いや、それ以前に ssldump を使うなら wireshark で秘密鍵を使ったほうが俺は便利だと思います。
まず、秘密鍵をサーバからパクってきます。
それをローカルのわかりやすい場所においてください。
あとは、Edit > Preferences > Protocols > SSL で下のように指定してください。
RSA keys list : 192.168.1.100,443,http,C:\server.key
SSL debug file : 適当なファイル
debug file を適宜消しながらやってみると見えます。
さすがに限界はあって DHE なんかは見えないようです。暗号形式に関しては ssldump と一緒か。
正直なところ、こうやればいい!ってところまで把握してないので、見えるまでがんばってください。
おー、見えたおっけー的な発想。
こんなページに検索で来てくれた人ごめんなさい。
wireshark
皆さん大好きな wireshark についてです。
とても便利なのは言うまでもないですが、デフォルトの設定だと勘違いをすることがあるので
軽くお勧めを書きます(特に俺のように基本を理解できてない人向け)
Edit > Preferences > Protocols > HTTP
で、Reassemble ~ のチェックを切っておくと分割された HTTP メッセージを再構成した
表示をしてくれなくなるので良いです。
場合にもよるので使い分けよう。
あと、すげえ騙されやすいのが TCP の Relative sequence numbers ~ ってやつ。
オフにすると真実が見えます。
※注意※
真の NE にはまったく不要な内容です。
馬鹿なやつだと笑っていただけるとありがたいです。
HSL
ついに見つけた。
http://devcentral.f5.com/wiki/default.aspx/iRules.HSL
これが巷で噂の High Speed Logging というものらしいです。
試してないし、試すつもりもあまりないので、「ふーん」みたいな。
BIG-IP VE
先週あたりに BIG-IP Virtual Edition Trial なんてのが密かにリリースされてますよー。
わりとこういうの好きだな。
出ることを知ってた人もいるみたいですけど。
VMware Server に入れてみたら動いた。
が、ライセンスがないので何もできない状態です。
Evalはどこで手に入れればいいのだろうか。
3/5 追記
DevCentral に登録しとくと eval が貰えますよー。
90日限定だけど。
activate しなおすという汚い手は使えるのか未確認。