カテゴリ:プライベートクラウド( 68 )

-SUSE Linux Enterprise 11.2 on XEN -

-Warning - This is my failure case !!!!! うまく動きませんでした。失敗例です。-

- XEN Virtualized Machine
- Keybord: Japan
- Time zone Asia/Japan
- Runlevel : 3
- Addon Software : Web/Lamp
- Static IP Address
- Fire Wall Disabled
- ipV6 Disabled
- NTP Configured by startup
- Default Software Repositories --> My HTTP:server/sles11sp2

-HTTP-

Yast > Network Service > Http server
a0056607_17113075.jpg


You may install as it is but ddon't forget "Enable Perl" check box.
a0056607_17165893.jpg



-1 Click Install-

open "http://software.opensuse.org" > Search "ocsinventory".
a0056607_1719845.jpg


As it goes.. Continue...

If there is some dependency problem, Click "Breake.... and Try again".
a0056607_17203452.jpg


-Check Prerequirement-

http://wiki.ocsinventory-ng.org/index.php/Documentation:Server

Requirements.
-Apache version 1.3.33 or higher / Apache version 2.0.46 or higher.
-Mod_perl version 1.29 or higher.
-Mod_php version 4.3.2 or higher.
-PHP 4.3.2 or higher, with ZIP and GD support enabled.
-PERL 5.6 or higher.
--Perl module XML::Simple version 2.12 or higher.
--Perl module Compress::Zlib version 1.33 or higher. <---- ?????
--Perl module DBI version 1.40 or higher.
--Perl module DBD::Mysql version 2.9004 or higher.
--Perl module Apache::DBI version 0.93 or higher.
--Perl module Net::IP version 1.21 or higher.
--Perl module SOAP::Lite version 0.66 or higher (optional)
-MySQL version 4.1.0 or higher with InnoDB engine active.
-Make utility such as GNU make.

-Install Perl CPAN Modules-

CPAN modules

These command spend a few minutes for download and make install. You may asked intervew and install by answer 'yes' to continue.

/usr/bin/perl -MCPAN -e 'install XML::Simple'
or
/usr/bin/cpan -i XML::Simple
:
:

also continue... to 'install DBI', 'install DBD::Mysql', 'install Apache::DBI', 'install Net::IP', 'install::SOAP::Lite'. It is CASE SENSITIVE.

-Apache and Mysql startup-

yast > System > Service(run level) E(x)pert.
a0056607_17351946.jpg

Select 'mysql', set and start.

-Restart Apache2-


ocsinv:~ # /etc/init.d/apache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (prefork) done
ocsinv:~ # tail /var/log/apache2/error_log
ocsinventory-server: Can't load SOAP::Transport::HTTP* - Web service will be unavailable
ocsinventory-server: Can't load SOAP::Transport::HTTP* - Web service will be unavailable
[Thu May 02 16:46:34 2013] [notice] Apache/2.2.12 (Linux/SUSE) PHP/5.2.14 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal operations
ocsinv:~ #



-mysql root passwrod-

ocsinv:~ # mysqladmin -u root PASSWORD new-password


-Begin Install-

open browser
http://myocsinv.myintra/ocsreports/install.php
a0056607_17393934.jpg



set 'root'/'new-password' and 'hostname'(as localhost) field.
a0056607_17422180.jpg


It seems run well...
a0056607_1745658.jpg


Check Database


ocsinv:~ # mysql -u root -p
Enter password: new-password
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.0.95 SUSE MySQL RPM

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| ocsweb |
| test |
+--------------------+
4 rows in set (0.00 sec)

mysql> quit
Bye
ocsinv:~ #




-Open Browser-

http://ocsinv.intra/ocsreports/

Change Lanugage by clicking English Flag if you want.

login admin/admin (Default by OCS)

a0056607_175035.jpg


It seem work well.
a0056607_17524867.jpg


-TimeZone-


ocsinv:/etc/php5/apache2 # grep zone php.ini
; Defines the default timezone used by the date functions
;date.timezone =
date.timezone = Asia/Tokyo <---- replace this line
ocsinv:/etc/php5/apache2 # rcapache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (prefork) done
ocsinv:/etc/php5/apache2 #



-Warning - This is my failure case !!!!! -

Where is communication server ? It's not work..... (/_'_/)~~!/ baaann...
Commication Server が必要。レポート機能だけで何にもできない。 orz....
[PR]
by islandcenter | 2013-05-03 00:04 | プライベートクラウド | Trackback | Comments(0)

Zabbix2 のハマリどころ

ほとんど「ネットワーク管理」という力技に頼ってきたSUSE Linux 一本の技術者が Zabbix2 という管理ツールを使ってみた感想です。

SUSE Studio から Zabbix 管理ツールの導入
Zabbix2 で linux サーバーを管理する
Zabbix2 で Windows を管理
Zabbix2 でマップを作成

の続きです。ここでは、どこがハマリ易いポイントであるか、あるいは使いづらいなぁと思えるポイントを説明してみます。

追記: Zabbix 2.2.1 アプライアンスは随分雰囲気がかわりました。2014/8 現在 2.2.2 です。
Zabbix 2.2.1 openSUSE アプライアンス ファーストインプレッション

-SNMP監視-

相手がそもそも snmp が有効でなければ snmp 監視はできません。ping の死活監視しかできないわけです。

まず監視対象の FireWall 周りを確認します。

Zabbix のターミナルコンソールから

# snmpwalk -v 2c -c mycommynity target-IP .1.3.6.1.2.1

を実行して返事が無ければ動きません。 ODI 1.3.6.1.2.1(.1) はよく使う snmp の OID なので覚えておくと便利です。Zabbix のデフォルト snmp テンプレートは snmp v2c です。MIB OID という言葉だけで「なんじゃそれ」と思う方もこの OID はよく使うものらしいので覚えておくと便利です。

a0056607_17123670.jpg


「SNMPによるネットワークモニタリング」
--http://www.itmedia.co.jp/enterprise/articles/0705/21/news015.html

の記事が詳しいので参考にしてください。

ディスカバリーした後はデフォルトで zabbix agent のポート 10050 を監視します。snmp 監視を行うように設定し直す必要があります。この辺りはデフォルトテンプレートを使わず、何らかのカスタマイズしたテンプレートを作ることになるでしょう。

a0056607_15581285.jpg


NAS やルータなどの agent を組み込めない機器を監視対象としたい場合は snmp 監視が行えるよう、 Interface に追加します。 Zabbix Agent の 10050 は remove しても構いません。

-なかなか監視対象が出てこない-

監視対象が出てこない、あるいはグラフが出ないのは、デフォルトで 3600 秒(1時間)が検出の間隔であることによります。残念ながら

「今すぐアクティブに監視」

という機能は一見するとないため、じっくり待つしか方法はないと諦めていました。ディスカバリーの間隔をテンプレートでもっと短くすることもできますが、あまりお勧めできないところです。

Host > Discovery, Application, item などの機能を"Enable" > go すれば Graph の描画はすぐ始まるようです。
a0056607_11105590.jpg


また、ディスカバリーはデフォルトで 3600 秒(一時間)です。最初はもっと短めにしても良いのですがテンプレートの修正は結構面倒です。テンプレートを選んで mass update > go で Update Interval でまとめて修正します。

-Host Templateの利用-

一つの Host に複数のテンプレートを使うとエラーになります。
a0056607_1626193.jpg


例えば Linux SNMP のテンプレートと Generic SNMP のテンプレートを当てはめるとエラーになります。lこれは大きなテンプレートが小さなテンプレートにリンクしているためです。どうせなら上書きして欲しいのだけれどなぁと思いました。

素直にテンプレートは一つだけ使うのが一番よさそうです。 Zabbix Agent が動作する監視対象であれば Agent 用テンプレート。 Linux ベースの NAS なら Linux SNMP などですね。

-Host の設定は Cloneを使う-

一つの Host がうまく管理できるようになれば、あとは Clone 機能を使い、同じ機能や目的のサーバーにコピーして利用するのが一番良いようです。この Clone 機能は非常に便利です。ただし Clone ボタンを押した時にこれがクローンなのか、大元なのかがはっきりしないので、使う時は不安になるでしょう。せめて Clone を押した後の Name フィールドに 'MyHost-(Cloned)' とでもしてくれるととてもありがたいところです。

-監視されているかどうかの確認-

このホストが監視できているかどうかの核には Monitering スクリーンではなく Configuration > Host スクリーンで一発で解ります。Zabbix Agent と通信できない場合は 'Z' のアイコンが赤に、SNMP 監視がうまくいかない場合は SNMP の部分が赤になります。
a0056607_16585531.jpg


できれば、こういったステータススクリーンは Monitering スクリーンから一発で解るようにして欲しいのですが、 Monitering スクリーンにはテキストのアラートが表示されるだけなので、あまり便利ではありません。

-Monitering Screen-

Monitering のメインスクリーンではイベントの発生を優先して表示するようになっています。ここは非常に不満を感じるところです。

例えばメインスクリーンからあるホストの状態らグラフの遷移を見たいと思うと

Dashbord > Graph > Group > Host > Graph のカテゴリ

を選ぶという5ステップが必要です。
a0056607_1720109.jpg
※ 慌てるな、グラフは直ぐには出てこない。Linux SNMP のテンプレートでも60分くらいかかります。

慣れればどうということはないのですが、できればイベント確認画面からダイレクトにグラフを見るような機能が欲しいところです。

もっとも、よく見るイベントや重要なホストを管理する場合は Favorite Graph や Screen 機能を使い、あらかじめ用意すれば良いのですが、予知能力がない管理者が

「この異常事態のどこを見ればよいのか」

といった場合に、ホストの一覧や、イベントスクリーンからのグラフの参照ができないのはちょっと残念です。

できれば、「通信トラフィック」「ディスクIOの状態」「CPU負荷」と言ったカスタマイズできるグラフを、Favorite や Screen あるいは Map の機能の中でツリー構造で見れるとか、せめてこれらの表示を Favorite や Screen のグループ化、できれば文句のつけようがありません。

また、死活管理 "ping実行" は map を作らなければいけません。マップに配置された Host に対して Ping を送ったりサービスの確認は行えるのですが、マップ以外からは死活確認やサービス状態の確認は行えませんでした。
a0056607_17333632.jpg

この操作を行うにはあらかじめ map に Host を配置しておく必要があります。昔 Kinetics という自動マップ作成の管理用アプライアンス(当時はダイキン工業が代理店だった)を扱ったことがありますが、そのうちの1台は南極の昭和基地で働いていたという記憶があります。どんなコンセプトであれ、自動的にマップが作られると嬉しいと思います。

また、map には Host やその他の Element を作っているのですが一旦 Host のオブジェクトを削除してしまうと、リンクされたマップからも Host は消え去ってしまいます。リカバリーするには、マップに新規に Host を再定義しなければなりません。

map の Export/Imprt はできるようですが、私の未熟さなのか、うまく動作しませんでした。例えばネットワークが大きくなったのでマップのサイズを変えるにも、マップを再作成しなければならないようです。

-全く機能しないインベントリ管理-

インベントリ収集は私の未熟さもあり全く機能しませんでした。残念ながらそうレポートするしかありません。うまく動いたという事例も海外のもので、それもあまりはっきりした情報ではありませんでした。もっとも日本語で挑戦した報告はありますが、「こうすれば間違えなく動く」という結果は探した限りありませんでした。

うまく動かす方法があれば、また報告の機会があるでしょう。

致命的なのはインベントリの収集が行えたとしても、そこに「リースの期限」だとか「支払いや管理は誰がやっている」という情報は極めてニンゲン的な情報だということです。それを自動化するのは不可能です。

致命的なことは、インベントリが収集できても、情報をインポート、エクスポートする機能が全く見当たらないことです。

例えばエクスポートした内容をスプレッドシートに読み込んで、資産台帳と照合して、欠けた情報、例えばリース先や期間だとか、どの部署で利用しているとか、責任者は誰か、修理連絡先はどこか、とかを書き加えて、インポートできれば価値のあるものとなりますが、これらの情報を上長に「報告」するには Zabbix のコンソールで見せるしかないのです。

「じゃぁ紙で報告して」

と言われれば、呆然とするしかないのです。これらの情報を操作ミスの多いブラウザ画面から行うのは相当に困難な作業です。利用するには API を直接操作するエクステンションを開発して組み込む必要があります。こういったところがオープンソースを使う上での見えないコストとなります。もちろんそうした機能を組み込むことで SIA Inc. はじめ関係者 はビジネスを行っていることを理解すべき点でしょう。


-基本的には「狼が来た」-

Zabbix の Dashboard を見て、このソフトウェアの主な利用方法は「イベント管理」に主力を置いているということがしみじみと理解できます。

イベント管理はアラートを出して「狼が来た」ことを知らせる機能です。ただし、その「狼」が郡狼なのか、タヌキなのかはイベントだけでは把握できません。ベテランは別にしても、初心者にはそのイベントが持つ重要性は中々理解できないでしょう。

イベントの通知があると、そのイベントを発生したデバイスにダイレクトに、状況を見て、確認し、何が問題になっているのかを調べてレポートを作るという基本的なオペレーターの操作に対する機能がZannix には欠けています。

例えば一つの一つのホストが死活管理で「エラー」を報告した場合、「このマシンはどのルーターにつながっていたんだろう」と思い出すより、そのイベントから直接関連するルート、スイッチやルーター、ホスト、およびそのサービスに順番にアクセスできれば最高です。

-最後に-

ここでは Zabbix のハマリどころよりも、欠点ばかりを書いてしまいましたが、それだけ取っ付きやすさがあり、コミュニティも活発で「使える」ものであることは評価しておいていいでしょう。この使いやすさ、魅力があるからこれだけの突っ込みたくなる欠点が見えてしまうということです。ネットワーク管理に未熟な私でさえも、ここまで理解できたことは、それだけ夢中になれるということで高く評価しています。

たいていの日本の顧客は、高価なネットワークの統合管理ツールを導入しても、導入から運用、障害対策さえもSI事業者にまかせっきりです。とても残念なことですが、それだけネットワークの運用管理に携わるエンジニアのスキルが低い(というより低く見られている)ことが最大の問題です。オープンソースならタダだろうと上長に進言して甘く見ると痛い目にあいます。

オープンソースならではの導入の敷居の低さ、それに有償のプロフェッショナルのサポートもあり得るということは、このような商用OSSの良いところです。大規模なシステムだけではなく、この敷居の低さは中小規模のせいぜいサーバーが2,30台と言うところでも導入がしやすいでしょう。

ベンダー任せで高価なのに痒いところに手が届かない(「そういう仕様はない」と言われる)ツールより、技術者同士が困難を乗り越えて改良、解決できるオープンソースの一つの魅力です。

islandcenter.jp


あわせて読みたい関連記事

-keyword-

ネットワーク統合管理ツール オープンソース  SUSE openSUSE プライベートクラウド

[PR]
by islandcenter | 2013-04-30 17:03 | プライベートクラウド | Trackback | Comments(0)

Zabbix2 でマップを作成

ここでは Zabbix2 でマップを作る方法を説明します。

SUSE Studio から Zabbix 管理ツールの導入


自動ではマップを作るという器用なことはできないので、手動で作成する必要があります。

マップを作るとシステムの状態に簡単にアクセスできるので、主要なサービスを動かしているサーバーはマップを作っておくと便利です。

-Map の作成-

Configuration > Maps > Local Network
a0056607_1251893.jpg

なお、ここでマップのサイズを変更したい場合は Local Network の Edit リンクを押してサイズを変更できます。また Create ボタンを押して Local Network 以外の Branch Office や、 Zabbix サーバが動作している以外のフロアのマップもここで作成します。

マップエディタを開き Icon の横の Plus(+) ボタンを押します。
a0056607_1295573.jpg


最初デフォルトで Cloud (New Element)アイコンが出てきますが、これはカスタマイズします。
a0056607_1212169.jpg

New Element をクリックします。

Type: Host, あるいはフロアであるとか
Label: Host 名やサービス名(www, mail)など
Icon: サーバーであるとか Switch などのアイコンの各種サイズがあります。ここでは仮想ホストは大きないアイコン、VM マシンの場合は小さなアイコンなどを選んでみます。
Host: の横の Selected を押して登録済のデバイスをセットします。(Mandatory:必須項目)

Apply , Close を押すと、アイコンが変更され監視ターゲットにリンクされます。
a0056607_12211584.jpg


最後に出来上がったアイコンを適切な位置に配置して(例えば、Host Group にまとめるとか、物理ネットワークにまとめるなど)して Save ボタンを押します。 Save ボタンの横にグリッドサイズとグリッドの表示、非表示の選択ができます。 Save ボタンを押すと確認ダイアログが出てくるので OK ボタンを押して元のスクリーンに戻ります。

線を結ぶには、Element を一つクリックした状態で CTRL を押しながらつなげる相手を選んで "Link" ボタン(+)を押します。 Apply > Close > Save します。
a0056607_19292219.jpg

ブラウザで操作するため結構面倒です。

-モニタリング-

Monitoring > Maps を開くと先ほど保存したマップが表示されます。アイコンをクリックすると、監視対象のホストへの Ping やステータスチェックのメニューが出てきます。
a0056607_12254024.jpg



islandcenter.jp

-Key Word-
プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-11 12:27 | プライベートクラウド | Trackback | Comments(0)

Zabbix2 で Windows を管理

SUSE Studio から Zabbix 管理ツールの導入
の続きです。
Zabbix2 で linux サーバーを管理する
で Zabbix2 の管理リストに Linux ホストを管理できるようになったら、次に Windows を監視ターゲットとしてみましょう。

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。
また Windows の snmpを使う場合は、デフォルトでインストールされていないこと、コミュニティ名、受け付ける宛先が 'localhost' のみです。コミュニティ名と"受け付けるホスト" を指定するか、"全て受け付ける"設定が必要です。

ここでは述べませんが Windows には snmp サービスが起動していることとします。

-Windows ホストグループ-

デフォルトでは Windows ホストグループがありません。別になくても困らないのですが、ここでは Windows ホストグループを作ってみます。

Configuration > Host < create host Group
a0056607_891115.jpg


Windows ホストグループを save

a0056607_812115.jpg


Template がありません。とりあえずグループだけ
a0056607_8142541.jpg


-Windows Host-

次に管理対象の Windows Host を作ります。

Host > Create Host
a0056607_8225064.jpg


ホスト名をセットして Windows Group に所属させ、Agent Interface, SNMP Interface をセット
a0056607_8254951.jpg


Template > Add > Windows OS > Select > Save
a0056607_8295228.jpg


保存されました。
a0056607_8335183.jpg


Monitoring > host-name > Graph > CPU Load
a0056607_8365250.jpg


CPU 負荷の監視ができるようになります。

続いて監視対象を容易にチェックできるよう、マップを作成してみましょう。

Zabbix2 でマップを作成

islandcenter.jp

-Key word-
プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-11 08:37 | プライベートクラウド | Trackback | Comments(0)

SUSE Studio から Zabbix 管理ツールの導入
の続きです。 ここではZabbix2 を導入した後、各ホスト(サービス)の管理を始める方法について説明します。

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。

-Linux 管理ターゲットの指定-

Configuration > Hosts > Create

a0056607_762533.jpg



Zabbix Agent が動いている場合もありますが、ここでは NET-SNMP が動作している Linux サーバーを管理する、という前提で行ってみます。

snmp でのモニタリング
Create Host > name > "my-host" > Template を追加 > snmp > DNS Name
a0056607_7161360.jpg


"save"
DNS名だけでは保存できないようです。IP の設定を行わないと動かない場合もあります。
a0056607_7195335.jpg

Connect to のボタンがDNSとなっていることを確認します。

追加されたホスト
a0056607_7214748.jpg


Template > Add > OS Linux (check) > Select
a0056607_7251971.jpg


追加されたことを確認して save
a0056607_7272593.jpg


Applications(10) 管理対象のアプリケーションが10個存在することになりました。
a0056607_7292942.jpg


Monitoring > ホストが追加されています。
a0056607_7325835.jpg


Click すると Host Screen というメニューが出ます。
a0056607_7395357.jpg


次に Windows サーバーを管理対象としてみましょう。

Zabbix2 で Windows を管理

islandcenter.jp

-Key word-

プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-10 18:29 | プライベートクラウド | Trackback | Comments(0)

nagios は古くからある統合管理ツールですが、情報の豊富さと引き換えに、設定の面倒さは否定できません。日本語の情報も数多くありますがいずれも断片的です。

しかし Zabbix は比較的新しいツールで、ほとんどの設定をブラウザ上から行うことができます。
しかも、日本語での情報はそこそこにまとまって充実していること、また openSUSE 12.2 ベースのライブCDや SUSE Studio から、仮想アプライアンスとして導入できるなど、導入の敷居が低く、1日触っているだけでおおよその使い方がわかってしまうという点では大変使いやすいツールだと思います。 SUSE Studio の存在はヒミツにしておきたいくらいのOSSの仮想アプライアンスの宝庫ですね。

反面、 nagios のように「手動で設定」する場面がなく、細かいカスタマイズが自由にできない、MySQL などのRDBを使うため、Zabbix サーバーの負荷が重い(MySQLのパラメータを修正する必要がある)などの欠点もあるようです。その点では「商用版」を使ってカスタマイズできるパートナーから有償サポートを受けてくださいということですね。

オープンソース統合監視ツール導入指南
http://thinkit.co.jp/book/2012/02/01/3199

Zabbix オフィシャルサービス

資産管理、運用管理ツールには国産品も多くありますが、一般的に申しあげて「国産品は高くて機能が貧弱」なソフトウェアが多いという気がします。これはプログラムのUIの開発などが日本語で行われ、もともと多国語で使われる前提でないこと。ワールドワイドの数十パーセントしかシェアがない中での僅かな利用者。と言った要因で、中々「世界に通用する」情報量や障害報告、事例がない点が不満なのです。少なくとも OSS でもプロパラエタリでも世界で通用するものを作るなら、初めから英語でコーディングしろと言いたくなってしまうのは私だけでしょうか。

Zabbix のアプライアンスは以下のアドレスから入手できます。

Zabbix 2.0 x86
http://susestudio.com/a/MdKfmk/zabbix-2-0-x86

他にも Hyper-V, KVM などの仮想アプライアンスイメージがあるので、それぞれの環境に合わせて面倒なインストールなしですぐに利用できます。

apt-get 呪文... yum 呪文... Zypper 呪文 make 呪文 を知る必要はありません。 XEN や VMware などの仮想環境があれば、そのまま実装して使えるのでまさに Wizard(魔法) のようです。お手軽に試してみるには最高のアプライアンスです。これを使うと私のような未熟な似非 Linux 技術者でも「インストールの解説書」なんて馬鹿らしくて読む気はなくなります。

また SUSE Enterprise (SLES) 用パッケージはこちらから YaST の 1 Click インストールで導入できます。
http://software.opensuse.org/package/zabbix

-Zabbixアプライアンスの実装-

アプライアンスをダウンロードしたら、 tar.gz 形式のファイルを解凍します。アプライアンス自体は400Mb程度ですが、解凍すると約60Gbのアプライアンスイメージが作成されます。

このアプライアンスを XEN の場合、 /var/lib/xen/images/zabbix/zabbix.raw などのファイル名にコピーして、 Domain-0 に配置します。

アプライアンスの初期設定値はこちらを参考にすると良いでしょう。

2.6 Zabbixアプライアンスの使用
https://www.zabbix.com/documentation/jp/1.8/manual/installation/appliance#


GUI版 YaST2 から > Create Virtual Machine を選択し、"I Have a disk image ...." より openSUSE12 を選びます。

Disk が none となっているので、先ほど解凍した 60G の zabbix.raw のパスを指定します。MAC アドレスは固定しました。

a0056607_1532390.jpg


OKボタンでZabbix の仮想アプライアンスが起動します。

a0056607_155555.jpg


-まずYaSTで必要な設定を変える-

openSUSE/SLES でシステムの基本設定や、パッケージの導入、変更をするには yast(CUI) もしくは yast2(GUI) を使って簡単に変更できます。CUIのテキストコンソールなら

# yast[ENTER]

を実行すれば、すべてメニューから TAB/SPACE/カーソルキー/Enter/ALT+x のキーボードの位置さえ知っていれば、重要な多くの設定変更、パッケージのインストール、設定ができます。

YaST > Network Device から
- 固定アドレスの指定
- DNS の指定
- Default Gateway の指定
- Host Name の指定
- NTP と地域、言語情報(Timezone)などの設定
- root パスワードの変更
- Firewall の無効化(デフォルトで有効)
などです。

a0056607_1555736.jpg


などの項目を設定したら一度サーバをリブートします。
ちなみに ipv6 はイネーブルになっています。
使わなければ Global Options よりチェックを外してから再起動が要求されます。
ipv6があってもなくても、あまりパフォーマンスには変化はありませんでした。

また、アプライアンスのIPアドレスを DNS のレコードに登録しておきましょう。


※ /etc/php5/apache2/php.ini に Timezone の設定項目があります。デフォルトは 'UTC' です。これも Asia/Tokyo に修正します。ただし"date.timezone"の記載方法は PHP のバージョンによって異なるようです。

zabbix:~ # grep timezone /etc/php5/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone = 'UTC'
date.timezone = Asia/Tokyo
zabbix:~ #


これで、全ての作業はリモートターミナルやブラウザで行うことができます。

-ソフトウェアアップデート-

SUSE SStudio でダウンロードした Zabbix アプライアンスの YaST には Automatic Update の項目がありません。そこで YaST にこの項目を追加します

YaST > Software Management > Search から "update" などのキーワードで検索すると Yast Online Update(YOU) がリストされるので YOU のパッケージを全てチェックしてインストールします。YOUがインストールされると yast を quit してもう一度 yast を起動します。 Online Update の項目が出てくるので、一応 openSUSE の必要なアップデートを行います。

a0056607_1563060.jpg


ブラウザで http://my-zabbix.mynet/ を開きます。

adnmin/zabbix (アプライアンスのデフォルト)でログインします。

a0056607_1565721.jpg

※言語の設定は、ログインした後に Profile リンクで日本語に変更できます。

このような感じで zabbix アプライアンスが起動します。

-agent-

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。

zabbix-agent のダウンロード

http://software.opensuse.org/package/zabbix-agent

a0056607_1585499.jpg


SUSE Linux の場合、 opensuse のサイトに 1click インストールできるリンクがあるのでここからインストールするか rpm パッケージを使って  rpm -ivh xxxx.rpm でインストールします。あまり依存性がないパッケージなので、台数が多い場合は 1 Click インストールするよりは rpm でインストールした方が早いかもしれません。

/etc/zabbix/zabbix-agentd.conf の数か所を書き換えて起動します。YaST の System Service にチェックを入れておくことを忘れないようにしてください。


target:/etc/zabbix # grep zabbix zabbix-agentd.conf

:コメント略

Server=zabbix.mynet
ServerActive=zabbix.mynet
UserParameter=key,zabbix 

※ UserParameter= はデフォルトでコメントアウトされています。コメントを外して "key,secret-key-name" を設定します。上の例では "zabbix" としました。これは Zabbix Agent Discovery で使うキーです。


target:/etc/zabbix # /etc/init.d/zabbix-agentd restart
Shutting down zabbix agentd done
Starting zabbix agentd done

target:/etc/zabbix # tail /var/log/zabbix/zabbix-agentd.log
19174:20130308:125542.827 agent #3 started [listener]
19175:20130308:125542.828 agent #4 started [active checks]
19163:20130308:125933.923 Got signal [signal:15(SIGTERM),sender_pid:19229,sender_uid:0,reason:0]. Exiting ...
19163:20130308:125935.923 Zabbix Agent stopped. Zabbix 2.0.5 (revision 33558).
19247:20130308:125936.023 Starting Zabbix Agent [target.intra]. Zabbix 2.0.5 (revision 33558).
19254:20130308:125936.038 agent #0 started [collector]
19255:20130308:125936.039 agent #1 started [listener]
19256:20130308:125936.040 agent #2 started [listener]
19257:20130308:125936.040 agent #3 started [listener]
19258:20130308:125936.041 agent #4 started [active checks]
target:/etc/zabbix #


こんな感じで監視対象のターゲット側にエージェントがインストールされます。

YaST >System Service に runlevel で起動できるよう登録しておきます。

-Windows 側のターゲットエージェント-

http://www.zabbix.com/download.php

より Pre-compiled Zabbix 2.0.4 (stable) agents are available for selected platforms の Windows 版をダウンロードします。解凍すると ...../bin, ..../conf の二つのディレクトリができます。

zabbix_agentd.win.conf のファイル名を zabbix_agentd.conf に変更して、 C:\ にコピーします。

Linux版同様に

Server=zabbix.mynet
ServerActive=zabbix.mynet
UserParameter=key,zabbix 

の3行を書き換えます。

C:\ > zabbix_agentd.exe --install

を実行します。デフォルトで c:\zabbix_agentd.conf を設定ファイルとしてサービスが起動します。

とっても重要 : Windows7/8(たぶんVistaも)、2008/2012系ばコマンドプロンプトを右ボタンから「管理者として実行」で開いてインストールします。一般ユーザ(管理者権があっても)でコマンドプロンプトを開いてもインストールできません。xp 系ではこの制限はありませんでした。

ということで Zabbix の利用環境が出来ました。

もっとも、Zabbix Agent は必須かどうかは利用状況を考えても良いでしょう。大部分は標準的なテンプレートで管理が行えるようです。

-NET-SNMPの導入-

ここでは詳細を述べませんが、監視対象のデバイス、サーバーの SNMP を有効にしておくと良いでしょう。 Linux の場合は NET-SNMP を導入します。

引き続いて
Zabbix2 で linux サーバーを管理する
Zabbix2 で Windows を管理
Zabbix2 でマップを作成
Zabbix2 のハマリどころ


Zabbix2 のよくあるトラブルシューティングと評価(そのうちに書きます.....)

islandcenter.jp

あわせて読みたい

-Key word-

プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール

[PR]
by islandcenter | 2013-03-09 02:09 | プライベートクラウド | Trackback | Comments(2)

ネットギア、20万円を切る10GBASE-T対応スイッチ「XS708E」など2製品

ネットギアから 8ポート 199,500 円の 10G-baseT の HUB が発表されました。

一般的に HUB の普及価格帯はポート単価が2万円台だとと急激に普及します。 10baseT も 100baseT も 1000baseT もそうでした。

8P の XS708E のポート単価は 25,000 円弱ですね。 8P だと使い勝手は限定されますが、仮想環境で 10GbE カードと iSCSI 環境であれば十分に PoE より安価なSAN環境が構築できます。 10GbE の NIC も5~6万円でオプションで購入できるわけですから、下手に 1GbE を束ねるよりは簡単な構成で ip-SAN が作れるわけです。

2~3台の仮想ホストと2台の iSCSI ストレージであれば 8Port で十分なので、小規模なプライベートクラウドを構築するには良い選択肢だと思います。

できれば16 Port 程度のも出してほしかった。

islandcenter.jp
[PR]
by islandcenter | 2013-03-04 20:06 | プライベートクラウド | Trackback | Comments(0)

キーボードも触ったことのない私が初めて携わった仕事が、某記憶装置の「DOS+FAT」のデバイスドライバーの開発でした。

ちなみにこの某記憶装置、実は現代の最新鋭のジェット戦闘爆撃機でも使われているのですね。そもそも、航空機のアビオニクスなどは何十年も使われることが前提なので「最新鋭のアビオニクス」と言っても、私たちの使っている5000円のデジカメやスマートフォン並の性能、記憶容量でもバイクのエンジンと同じくらいの重さがあるのです。そもそもが1990年代に開発された代物です。

それはそうとして、「DOS+FAT」はインパクトが強烈だったので、今でも大体の機能は説明できます。何しろFAT12とは言え記憶装置のデバイスドライバのソースを書いた本人です。

DOS+FAT のシステムは「初めてのC」を読んだ程度の3ヶ月プログラマでも書けるオモチャみたいな仕組みだったわけです。

ところで、「DOS+FAT」を刷り込まれて育った私が不思議に思うのは

「なぜ Linux のシステムではデフラグが必要ないのだろう」

ということです。ずいぶん調べたのですが、「そもそもそんなことをする必要が無いように最初からファイルが最適化されている」ものだからだそうです。これは EXT2,3,4 も RaiserFS などもそのように作られているそうで、かつて Linux 用デフラグツールも存在したようですが、今では完全にプロジェクト自体が崩壊している(ニーズがない)物なのだそうです。ただし、ディスクの空き容量が極端に少なくなると、途端に空きセクタを求めてパフォーマンスが落ちます。私も随分経験がありますが、「妙に遅いな」と思って df -h をやると空き容量 98% などと出てあわててしまいます。

ところで Windows の NTFS は情報が非公開なので「謎のファイルシステム」です。オープンでないからソースも読めないので、ここからは想像するしかないのですが FAT -> NTFS に変更する Convert なるコマンド一発で変換できる、ということは、基本的に NTFS が FAT を基本にデータアロケーションテーブル作られているということなのですね。もし、データを書き込んでいるセクタの再配置、最適化を行うなら、 量にもよりますが数百GバイトのパーティションのConvert が数十分で終わるわけがない。つまりデータの再アロケーション(再配置、最適化)は行われません。

つまり NTFS は FAT システムの DET(ディレクトリエントリテーブル)を拡張してセキュリティ機能を追加して、安全性のため FATを強化しただけのシステムである、ということは薄々気が付いていました。(追記:MFTというそうです。つまり、FATシステムのセクタをミミズのようにたどって必要なセクタにアクセスするという基本的なアクセス方法は全く80年代のFD主力時代のPCの技術そのものなのですね。もちろんその後の「味付け」によって重戦車並に化粧されて重くなったと思います。追記:XML によるメタファイル化されただけのようです。

NFTS は何のことはない、30年前のFATの基本設計の延長上にあるファイルアロケーションシステムにジャーナリングやセキュリティ機能だとか様々なモノを付け加えただけのものなのでしょう。あくまで推測ですが。

「Windows のディスクの"プロパティ">"ツール">"最適化"を見るといつも断片率は0%じゃないか」と反論する貴方は鋭い。しかし0% と言っても、サードパーティのデフラグツールでは 30% 以上のフラグメンテーションが起きているということも当たり前にあります。純正ソフトウェアの機能なんてそんな程度なのですね。この騙しには驚きました。

そもそもフラグメンテーションが起こるからそういうツールがあるわけです。アイドリング中はどうせ必死になってデフラグしているわけでしょう。デスクトップだと、アイドリング時間は長いから、そんなに気にならないのですが、サーバーとして24H負荷がかかっているバックグラウンドでデフラグしていると思うと、ちょっと怖くなります。スナップショットのマージなんか始まったら、もう Raid のリビルド並のストレスがディスクにかかります。

-切り離せない過去-

マイクロソフトがNTFSを捨てられないのはあまりにも多すぎるステークスホルダーにあります。アップルのように簡単にDockコネクタを捨てられないわけです。なぜ後方互換性を無視したファイルシステムを新規に開発しないのでしょう。

-だから Hyper-V は止めとく-

GroupWise のドキュメントにあったのですが、同じ条件でインストールした Windows 版の GroupWise と NetWare 版では遥かに性能が違ったそうです。また聞きなのですが、とあるSI屋さんで、グループウェアを導入する場合、 Windows 版と Linux 版があれば、企業規模で50人程度なら Windows 版でも十分だけど100人を超えると必ず Linux 版を提案するそうです。理由はまた聞きなのではっきりしないのですが、やっぱり問題の基本は NTFS の効率の悪さにあるのだろうなと想像しています。

そこで問題になるのは「仮想化環境」です。仮想化環境で高い負荷をかけると明らかにディスクIOがボトルネックになります。ですから実験環境やごく小規模環境ではSATAディスクで問題ないと思っていますが、実運用環境ではSAS+RAID、お金と償却期間(メーカーの保障期間)を無視して短い間使えればよければSSDアクセラレータをお勧めしています。さもなければもっとDRAMを積んで仮想マシンに目いっぱいメモリを与えるようにアドバイスしています。128GbのSLCのSSDを使うより64GbのDRAMを使ったほうがお金も効率がいいと考えています。

それでも最後はHDDにデータを書きに行くわけで、書きに行くのはキャッシュが利くのでまだしも、読み出しとなると、ミミズのようなFATベースのセクタ管理を使ってノロノロとディスクから読み出すNTFSではどんなものなのでしょう。明らかに Novell Openenterprise Server (OES) の NSS や EXT3 より読み出しのパフォーマンスは落ちます。ましてや、効率の悪いNTFS上に作られたWindows仮想マシンのVHD形式も中身はNTFSですから、まさに二重苦なのです。泥沼に立てた砂のお城なのですね。

これらのシステムはEXTは別として互換性はありません。 NetWare 5.0 から も NWFS -> NSS へ移行はセキュリティを含めてコピーはできても、はコンバートできませんでした。

-それでも必要悪-

それでも Hyper-V による仮想化は3匹の子豚の藁の家のようなニーズがあるでしょう。 Windows 8 では Hyper-V 上で複数のシステムが「簡単に切り替えられる」のがメディアが言う「売り文句」だというし、それはちょっと興味があります。

-ということでクライアント Hyper-V を試してみた-

何とか Windows8 の 64 ビット版の Hyper-V が動く環境ができたので、早速試してみました。ちなみに Intel/AMD の仮想化支援機能(VT) が機能するマシンでも Hyper-V は動かないケースがあります。SUSE + XEN の完全仮想化も問題ない機材でもあり得る事なので、Hyper-V が動くかどうかはしっかりカタログスペックを調べておくことです。

コントロールパネル>プログラムと機能>Windowsの機能の有効化/無効化から「Hyper-V」をチェックして再起動、Windows Update をして再起動で Hyper-V が使えるようになります。Hyper-V 管理ツールのアイコンができるので、このツールから管理します。

SUSE で XEN などの仮想化機能を使った方なら、すぐ仮想マシンの作成を行うことができるでしょう。もともとが XENの機能構造をそのまま真似て作ったので、今まで XEN をやってきた人であればすぐ使い方に慣れるかもしれません。Linux のパッケージに付いてくる Virt-Manager より「分かりやすい」(<-ここ重要)なインターフェースです。しかもスナップショットも取れる。

-しかし重すぎる-

しかし、最初に Windows 2003 を試しに入れて早速、Windows Update の重いことには驚きます。仮想化ホスト(Domain-0に相当)のディスク IO がほぼ 100% に近い数字です。決して子ホスト(Dom-Uに相当)が遅いわけではありません。試しに「共有」を作ってopenSUSE の iso ファイルを転送したところ、ディスク io は100% に張り付いたままです。明らかに Windows の NTFS ファイルシステムがボトルネックになっているようなんですね。SUSE + XEN に慣れていれば iostat コマンドで iowait が 100% 張り付きということはまず見ません。大抵、瞬間的に 5/60% 程度までは上がることはあってもです。
a0056607_15203347.jpg

4.5Gの iso ファイルをコピー中の Hyper-V ホストのディスク利用状態


a0056607_15254065.jpg

ネットワークがボトルネックになっている気配は全然ないしなぁ



これで Hyper-V は複数のシステムの仮想化ホストとして切り替えて実用的に役に立つのでしょうか。

もちろん、仮想ディスクが DAS 接続の場合は、ディスクシステム自体が NTFS なのでしょうが、SAN(ストレージネットワーク)であれば、iSCSI や PCoE(ファイバーチャネル) のSANのシステム自体が独自OSでNTFSを使っていない(たぶん)ので、仮想化ホストからは、NTFSに見えても、(たぶん)中身は EXT3 だとかだと思います。RAID 構成はまた違う意味で効率的なのかもしれません。

ということで大手のSI事業者なんかは必死に効果なファイバーチャネルのSANシステムを、事業規模にかかわらず売り込んできます。もちろん高価だし、ハードウェアのサポート料金も高い。私がベンダーのセールスマンだったら、間違えなく Hyper-V をおすすめします。そのほうがお客様からの手離れはいいですし、彼らは高価なパッケージやハードウェアを沢山買ってくれるからです。何しろ SUSE Linux の無制限仮想化アクティベーションは僅か4万円ほどなのです。

もちろん、2008S/2012S の Hyper-V とはクライアント Hyper-V はチューニングが違うのよ、と言われればその通りなのですが、Hyper-V 3.0 は、メディアでは「滅茶苦茶に高機能高性能になってスケーラビリティと言ったら、そりゃもう何個の仮想CPUが使えて何TBのメモリが使えて最大何TBの仮想ディスクが使える」というカタログスペックを語る記事をよく見ます。

しかし彼らの記事はカタログスペックを記事にしただけで、実際に運用をしてみたわけではない。本当に1台のハードウェアで何台の仮想マシンが「運用に耐えられるか」と考えた場合、やはり Linux/Unix 系で動作する XEN や KVM, VMware などに軍配が上がりそうです。

実際は「単機能をコンパクトに仮想化してアプライアンス化」することを考えれば、別に仮想ディスクなんて僅かで済んでしまいます。実際 SLES11 を導入してみましたが、僅か 512Mbのメモリと4Gの仮想ディスクでインストールできてしまいました。おそらくこの程度なら簡単な LAMP や DNS/DHCP として利用することには何の問題もないでしょう。

a0056607_1531384.jpg

リモートで使うと操作が「お、重すぎる」


スナップショットも使えるようですが、これだけディスクIOが大きいと、スナップショットを取った後のマージ処理が怖そうです。

百歩譲ってGUIの親切さ、使い易さは賞賛する価値はありますが、いかんせん openSUSE+XEN と Windows Hyper-V をデュアルブートして(つまり全く同じ環境で)動かすと体感上 Hyper-V で Linux を動かすと "Is there anyone home ? knock knock..." と頭を殴りつけたいくらい重い。これで実用に耐えられるのかしらって思わず考え込んでしまいます。


仮想化の脅威、「ハイパーバイザー攻撃」を防ぐ3つの対策

仮想データセンターのセキュリティ対策における最初の1歩は、ホストサーバの攻撃対象を狭めることだ。特に米MicrosoftのHyper-Vは、Windows Serverにロールとしてインストールされることも多く、攻撃対象を減らすことが重要になる。

この記事では Hyper-V 以外のハイパーバイザーの記載はありません。つまり Hyper-V は脅威に対して何等かのマルウェア、ウィルス対策が必要だということです。つまり、サーバーで一番重いジョブ。つまりハイパーバイザー管理者にとって悪夢とも言える何らかの対策が必要なのです。そして、Windows Update ととアンチウィルスソフトウェアを更新すると訪れる悪夢のような「再起動」のダイアログ。やっぱり Hyper-V はライブマイグレーションを前提で考える必要がありそうです。119万円しますからね。二つ購入するのはちょっと勇気が必要です。

Windows Update とアンチウィルスソフトウェアのない Windows Server を運用するのは、冬のススキノの街をゴムなしの皮靴で歩くような危なさがあります。

一方で、 Unix/Linux 系のハイパーバイザーでも脆弱性はあるでしょう。SSH や DNS ポイズニングです。しかしこの様な対策は、ウィルス対策で何とかなるものではありません。基本的には、脆弱性のあるパッケージをアップデートして、サービスを立ち上げ直すだけです。カーネルに致命的な欠陥がなければまず再起動は必要ないでしょう。

-Hyper-V を誉めてみる-

それでも Hyper-V のニーズがあることは事実でしょう。少なくとも Hyper-V の管理コンソールは動作もキビキビしているし、わかりやすい。リモートデスクトップでも管理操作はそこそこ軽快だと思います。それによく出来ている。Linux で

「putty で入って xm create してくれ」

というよりは分かりやすいわけです。ここに Windows 「しか」知らない管理者と Linux「も」知っている管理者との違いが出てきます。

まぁそれでも GUI 操作がうまくいかない場合 vbscript や PowerShell でスクリプト作らなければならない Hyper-V よりは楽だと思うのですが....

-俄か管理者とエンジニアの違い-

少なくとも 「Linux を扱うエンジニアで Windows には全く無知」という人はほとんどいないと思います。かく言う自分自身がやっぱり Windows の GUI は文句がいっぱいあっても使いやすいと思っています。

あるいは「Mac は好きだけど Windows は大嫌い」という方もいらっしゃいます。彼らに言えることは「あなたたちは少なくとも他のプラットフォームと比較できるだけのスキルがある」ということなのですね。

逆に 「Windows は知っているけど Linux はなぁ...」という方は沢山いらっしゃる。特に Windows 以降の世代でコンピューターを扱った方にはそういう「エンジニア」の方々も多いと思います。

よく言われることですが「Linux は管理コストが高い」と言われます。逆に言えば「Linuxの管理者なら高い単価で仕事ができる」ということになります。また 「Windows しか知らないエンジニアはいつまで経っても単価が安い」ということになるのでしょうか。 あくまでも技術者としての視点ですね。

もし「エンジニア」としてキャリアを積みたい「システム管理者」や「ベンダーのエンジニア」がいれば Windows しか知らないのはどうなんでしょう。

しかし「社内でキャリアを積みたい」あるいは「エンジニアとしてのキャリアには興味がない」のなら Hyper-V は良い選択です。決して「俄か管理者」を否定するものではありません。そういう生き方もあるということです。

続き: 実はお金が無いのが最大の理由だったりしますが...
仮想化のお値段:無制限インスタンスに払うお値段

続きはこちらで
一度は経験したい仮想化の別世界:SIベンダーが教えたくない実情

その続きはこちらで
Hyper-V のハイパーバイザーでは MTBF は低くないのか?

関連記事
[PR]
by islandcenter | 2013-01-29 16:24 | プライベートクラウド | Trackback | Comments(4)

ip-sentinel をはじめとする arp poisoning の技術を使った「認証されていないデバイスの接続拒否」システム(検疫システム)やプログラムをいろいろと検討してみました。

http://www.nongnu.org/ip-sentinel/

ip-sentinel はデバイスが吐き出す arp のブロードキャストをキャプチャして、リストにない mac アドレスを検出すると、その mac アドレス(未登録デバイス)に偽の mac アドレスを送りつけて(arp poisoning)、未登録デバイスが目的の機器、ネットワークへの接続を阻止します。 ip-sentinel 自体は非常に単純な機能しかないし、C言語で書かれた僅かなコードは、マイコンCしか知らない私でも、何とか「どこでエラーを返しているか」くらいは調べられる単純なプログラムでした。ソースも古く、「これだけでまず必要十分」な機能だけを備えています。

この20Kbほどの小さなプログラムの実運用にはかなりスクリプトなどと組み合わせた運用方法を考えなければ使いこなすのは困難そうなので、他に何か良い製品はないかと調べてみました。

しかしこの仕組み(arp ポイズニング)を使った、検出アプライアンスや通信遮断ソフトウェアをいろいろと調べてみると、ほぼどこの製品でも ipv6 は対応していませんでした。

ipv6 では通信経路を見つけるため arp を使わず、 ICMP を使うためです。

--

ここで「はてipv6 って何だ」ということになるのですが、どこに情報を探ってみても「ipv4」とは似て非なるもの、全く異なるもの、と評価している人が多いようです。ここで問題となるのは ip-sentinel をはじめ、同様な機能を持った「未登録デバイスの検疫遮断システム」なるものは、現状の環境ではほとんど ipv6 の前には使い物にならないということです。

もっとも、社内のルータやソフトウェアが ipv4 にしか対応させていない以上、これらのデバイスにはアクセスできませんが、ネットワーク内部に ipv6 のみの機器同士を適切に設定すると通信できてしまうわけですね。たぶん。

何しろ「世界中の石ころにもIPアドレスが振れる」んじゃないかというアドレス空間ですから、ほとんどのデバイスが「グローバルアドレス」に近いものを持ちます。従って、ipv6 対応の端末が、持ち込まれると、ipv4 ルータの外へは無理としても社内に持ち込まれてしまうとどうしようもありません。特に管理しているPCで ipv4 と ipv6 をデュアルスタックにしていれば、致命的でしょう。このような端末であれば、ipv6 を喋る端末からもアクセスできてしまうし、 ip-sentinel のような検出遮断ツールからも遮断できません。

となると、対策は一つ

「管理できるデバイス、PCは ipv6 を完全に無効にする」

しか方法はありません。

BYODを積極的に取り入れる場合、持込端末の制御はユーザに嫌われる以上、これらの端末の ipv6 の無効化はユーザに歓迎されません。これらの端末が不用心なBYODポリシーの中で持ち込まれると対応のしようがないわけです。

--

Novell は ipx から IP に完全に移行して「ipxを殺す」ために、NetWare 4x では ip/ipx ゲートウェイという機能でNATのような機能を提供を始め 1998年の NetWare 5 で完全にIP対応してから、デュアルスタックに移行し、昨年の OpenEnterpriseServerr 11 (OES11) の発売で「ip/ipxデュアルスタックを完全に殺す」ことに成功しました。今では Windows XP クライアントのみが ipx 接続のために残されています。

OSX以降の Macintosh は詳しくないのですが、90年代に大流行した Appletalk を殺すことに成功しているようです。

これは1ベンダー、あるいは1ユーザの中でクローズした世界でのことで、世界中に無限大に存在する ipv4 資産を持つステークスホルダーを「殺す」まで、いったい何十年かかることでしょう。たぶんボクが生きている間は不可能じゃないか、という気すらします。今後、数十年は、販売されるデバイスが ipv4/6 のデュアルスタック対応となるでしょう。

もっとも、この数年間は「ウチには ipv6 は必要ない」と思う方がほとんどでしょう。問題の先送りなのかも知れませんが、私もそう思います。

あるいは、「自分のネットワークだけは早期に ipv6 にしてしまおう」その考え方も投資効果は別として積極的で結構だと思います。

もし、イワシが持っている携帯電話を調べて、次にどのイワシがどのマグロに食われるかを予想するようなビッグデータを使ったアプリケーションが大ヒットするようになれば、必要になるかも知れません。もっともイワシが携帯電話を持っていればの話です。

--
しかし「現実」に Windows でも Linux でもインストールや直後の設定の場面で「ipv6を意識的に無効にする」作業が必要なのが現状なのです。そんな中で「ウチは ipv6 は無効にしているから」という言い訳は出来なくなってきていることに気が付きます。

ユーザ部門にデバイスのセットアップを任せているケースでは、「無意識に ipv4/ipv6 デュアルスタックを使っている、あるいは使えて”踏み台化”している状態になっている」わけです。そこまで時代が進んでいることに気が付かない管理者の皆さんは大勢いるのではないでしょうか。

まず「意図的的に ipv6 は使えないようにする」作業が必要となります。

ここで、アセット管理(資産管理)システムとの統合の問題が出てくるわけです。

まずは通常のアセット管理システムでは検出できないような、ipv6 端末も検出できるように設定を変更しなければならないわけですね。あればですが...

nmap コマンドで -6 オプションを使えば ipv6 デバイスもスキャンできます。その場合 nmap を使う端末の ipv6 をイネーブルにする必要があります。 SUSE Linux の場合 YaST > Softwaremanagement > search から nmap を検索してインストールします。 YaST > Network Device から General 画面の ipv6 をチェックして再起動すれば ipv6 スキャナができるようです。(未確認)

その上で nmap コマンドを -6 オプションでセグメントをプローブスキャンしてみましょう。ひょっとしたら、どこかの Wifi ルータの設定がイネーブルになっていたり、未登録の ipv6 端末が接続されているかも知れません。これらは、 ipv4/ipv6 デュアルスタックの機器(現在販売されているデバイスのほとんどのデフォルト)に接続できてしまう可能性があります。(openSUSE なら ndpmonというパッケージが使えます)

まずやるべきことは、これらの「存在するかも知れない ipv6 端末」を「見つけて殺す」あるいはユーザさんに「とめてもらう」こと。次に、まず、優先的にアセット管理システムを ipv6 に対応させることでしょう。

その後、基幹ネットワーク、基幹アプリケーションをデュアルスタック化する必要があるでしょう。そして、完全に ipv4 を「殺す」ためには気の長い期間をかけて、デュアルスタックネットワークを管理する必要があります。(ipv6 を先送りするか、ipv4 を使い続けるかどうかは別として)

私の顧客のほとんどでも数万台のPCを ipx から ip へ完全に移行するまで数年かけてデュアルスタック環境を保持し続けました。ipv6 への完全移行はおそらく、その数十倍の年月が必要だと思います。確かに ipx -> ip への移行はそれなりに効果はあったと思います。というか必要だったというのが正解です。

ipv6 自体はひどいものだとは思いませんし、技術的にも必要だから生まれたものです。しかし、この長期のデュアルスタック状態が脅威となる可能性があります。

2013年はIP資源枯渇を迎えた元年です。今の時点で言えることはとにかく「ipv6 を殺しておけ」ということです。


islandcenter.jp
[PR]
by islandcenter | 2013-01-05 19:38 | プライベートクラウド | Trackback(1) | Comments(0)

ここでは LDAP LPRM Plugin を使って Wordpress と Novell eDirectory との統合を行う方法を説明します。Wordpress と eDirectory を使って、簡単な組織内の SNS システムを構築しましょう。

Translate English by excite ?

LDAP LPRM Author's Page
http://www.frankkoenen.com/

LDAP LPRM Wordpress page
http://wordpress.org/extend/plugins/ldap-login-password-and-role-manager/

- Sorry for Non Japanese. My Wordpress is Japanese Version. Clipped screens are Japanese Version. Wordpress は日本語版です。
- Novell iManager は完全に日本語化されています。ブラウザーの設定を ja_JP に設定すると日本語表記になります。ここではブラウザーの設定は英語で使用しています。

-LDAP LPRMのインストール-
1) Wordpredss に Admin としてログインします。左のツールバーからプラグインの「新規追加」を選びます。

2) Search ボックスから 'LDAP' をキーワードで検索し、 LDAP LPRM をダウンロード、有効化(Enable) にします。
a0056607_11391136.jpg


3) "設定" より 'LDAP Setting' を選びます。
a0056607_13355457.jpg


4) 設定画面より 'Base DN' に LDAP ブラウズを開始する Organization もしくは OU(Unit) を設定します。ここでは O=ACE (組織全体) を設定しました。

大きな組織では ou=users.ou=MyOffice.ou=MyReagion.o=MyOrg などと指定する場合もあります。例えば、あなたの組織が多国籍企業である場合、Wordpress は英語版かも知れません。日本国内だけで利用したい場合は ou=jpn.o=MyOrg を指定します。また、数百オフィスもの沢山の拠点がある大企業では Ldap クエリに時間がかかる場合があるため、eDirectory の Replica データベースの配置を考慮して、Wordpress が参照する OU (Organization Unit) だけを指定すべきです。

a0056607_11462976.jpg


5) Domain Controller(s) に LDAP Server の IP アドレス、もしくはDNSに登録された Novell Open Enterprise Server (Novell OES) のサーバー名を設定します。

最後に "update options" ボタンを押して保存します。
a0056607_11533027.jpg


正しく動作しているかどうかはこの設定ページの一番上のテストボックスにユーザ名とパスワードを設定して TEST Settings ボタンを押します。
a0056607_1512225.jpg

正しく設定されており、LDAP サーバーとの通信が行われていることを確認することができます。

6) eDirectory でユーザを作成、あるいは修正します。(必要な場合)ブラウザの URL に iManager が動作しているサーバを指定し iManager を起動します。

http://MyNovellServer/nps

ここでは MatsudS (Seiko Matsuda)さんのアカウントを新規に作りました。

a0056607_11583491.jpg

彼女の Given Name(Option) と Family Name を設定し Full Name が設定されていることを確認したら、新しいユーザアカウントを Create します。

※ この時点でのユーザ名、フルネーム、Email Address が反映されます。上の様に誤って設定すると Wordpress 側にも誤った情報で設定されるようです。修正は一旦プラグインを停止して Wordpress 側で行います。


-Wordpress のアカウントを確認しましょう-

a0056607_1222174.jpg

この時点ではまだ Matsuda Seiko さんはいません。管理者と数名の編集者(Editor) がいます。

eDirectory 側のユーザを iManager から確認します。
a0056607_13214556.jpg


MatsudS さんと KatoK さんの二人はまだ Wordpress を使っていません。

それでは、MatsudS さんに Wordpress にログインしてもらいましょう。もちろん、彼女は Wordpress のアカウントは持っていません。
a0056607_13251520.jpg


eDirectory で設定した彼女のプロフィールが右上に表示されます。しかし、彼女は"読者"(Reader)で"編集者"(Edit) をすることが許可されません。"新規"の投稿アイコンが表示されません。

管理者は新しくログインしたユーザに適切な権限を与えることが出来ます。
a0056607_13271884.jpg


ユーザアイコンから、購読者(Reader) として新規作成されたユーザを見つけて、チェックマークを付けます。"権限"drop Box をスクロールダウンして "投稿者"に設定します。"変更"ボタンを押して "一括処理"の右にある "適用"ボタンを押して Apply します。
a0056607_14574078.jpg



次回、MatsudS さんが Wordpress にログオンすると、彼女は"投稿"に必要なアイコンを見つけることが出来ます。
a0056607_1349227.jpg


-トラブルシューティング-

1) Ldap ポートが開放されているか、正しく機能しているか

Novell eDirectory サーバーに対して port scan ツールを使い確認します。

a0056607_13543752.jpg

この場合 Port 389 と 636(TLS) が利用できます。

Novell iManager より LDAP Server オブジェクトを探します。
a0056607_1359226.jpg


Connection タブを開き Port 389, 636 の状態を確認します。 Require TLS がチェックされていても問題は無いようです。ただし、Wordpress 以外のアプリケーションで TLS 接続を行えない場合があります。その場合は、その他の eDirectory レプリカを持つサーバを使うことを検討してください。
a0056607_1516546.jpg



2) port 389 でリクエストを行っているか

Wordpress 側で tcpdump コマンドを使います。

blog:~ # tcpdump -n host oes11x2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:10:27.283122 IP 192.168.1.224.59344 > 192.168.1.228.389: S 2972406104:2972406104(0) win 14600
14:10:27.283270 IP 192.168.1.228.389 > 192.168.1.224.59344: S 3847675017:3847675017(0) ack 2972406105 win 5792
14:10:27.283286 IP 192.168.1.224.59344 > 192.168.1.228.389: . ack 1 win 913
14:10:27.283428 IP 192.168.1.224.59344 > 192.168.1.228.389: P 1:46(45) ack 1 win 913
14:10:27.283506 IP 192.168.1.228.389 > 192.168.1.224.59344: . ack 46 win 91
14:10:27.284969 IP 192.168.1.228.389 > 192.168.1.224.59344: P 1:216(215) ack 46 win 91
14:10:27.284986 IP 192.168.1.224.59344 > 192.168.1.228.389: . ack 216 win 980

 : 省略

^C
15 packets captured
15 packets received by filter
0 packets dropped by kernel
blog:~ #



-eDirectory サーバ側で dstrace を使う-

mynovelloes:~# ndstrace

: set dstrace=on
: set dstrace=+LDAP

を実行します。
a0056607_14221357.jpg

※重要: ndstrace utility は必ず quit コマンドで終了させてから Terminal を閉じてください。 ndstrace の Bug により putty などのセッションを終了させてしまうと ndstrace -u コマンドではアンロードできません。
ndstrace causes ndsd to hang when left running from a terminated putty session

トレース結果を詳細に表示するには、iManager > LDAP Server Object > Tracing Tab より取得したい情報をチェックします。全てチェックしても構いません。
a0056607_14263189.jpg


-アカウントを Disable に-
iManager より eDirectory 上のアカウントを Disable にします。
a0056607_1527202.jpg


ここで管理者が Disable にした KatoK さんはログインできなくなります。dstrace で見ると "220 Error Account expired" となります。
a0056607_15302156.jpg


ちなみに KatoK さんを削除(remove from eDirectory) した後であっても Wordpress 側にはアカウントが残ります。管理者はコンテンツを含む KatoK さんの引継ぎを行うか、コンテンツごと削除する必要があります。

-Admin cannot Login !!!-
全てのユーザは LDAP による認証を受けます。この中には Admin も含まれます。LDAP サーバーの状況により Admin がログインできない場合があります。

Adminがログインできず、プラグインを一時的に無効にしたい場合は /srv/www/htdocs/yourwprs-dir/wp-content/plugins を plogins.org の様な名前に一時的に変更した後、Wordpress をインストールした際の Admin でログインします。
a0056607_15173621.jpg


管理ツールから Plugin の無効化(Disable) にします。 plugins ディレクトリの名前を元に戻します。

-結論-
このプラグインは非常にシンプルなプラグインで、私が設定したパラメータは僅かに2箇所でした。大変導入し易いと思います。
ただし、管理者は初めてログインしたユーザの権限 - Editor か Reader か? - を Wordpress 側で設定し直す必要があります。管理者は削除したユーザをWordpress 側で管理します。
管理者にとっては、Wordpress と eDirectory を別に管理できる良い面でもあり、一方で面倒に思う部分でもあります。

私は導入が容易な点を高く評価します。またパスワード管理に関しては充分な機能があります。

-Keyword-

How to integrate Novell eDirectory with Wordpress. Single Sign On.  Password synchronization.
ワードプレスと Novell eDirectory との統合 シングルサインオン パスワード同期

Wordpress を SUSE Linux (SLES11) で動かす

islandcenter.jp
[PR]
by islandcenter | 2012-12-14 15:59 | プライベートクラウド | Trackback | Comments(0)