【Tektek】linux on domino 20140620
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

【Tektek】linux on domino 20140620

on

  • 249 views

 

Statistics

Views

Total Views
249
Views on SlideShare
246
Embed Views
3

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 3

http://s.deeeki.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

【Tektek】linux on domino 20140620 Presentation Transcript

  • 1. テクてく Lotus 技術者夜会 Linux on Dominoの実力は? Linux版のDominoってなんか面倒じゃねぇ? Linux版のDominoって業務で使えるの?? なんて思っている管理者の諸君! 今回は、それを払拭するような内容(???)を 紹介できればと思っています。 2014/06/20(Fri) ネオアクシス(株)佐藤正彦
  • 2. まずは、自己紹介から  氏名 :佐藤正彦(4x歳)  会社名 :ネオアクシス株式会社  職種 :2014年4月より営業へコンバート それまでは、10数年インフラ技術者兼 Notes/Dominoインフラ技術者  現在 :ユーザ企業で、セールスエンジニアとして就業し、 自社では営業マンとして在籍している2重生活を送る現在。。 2008年からの常駐が長かったので、Notes/Domino以外の 技術がめっぽう強くなってしまった。。(xx365とか、A○Sとか) が、Notes/Dominoを捨てることができず 営業就任とともに、復活の道を模索中  Facebook :/masa.rosinante  Twitter :@masa.rosinante  Mail :sato_masahiko@neoaxis.co.jp 2
  • 3. 会社情報を少し。。  ネオアクシス株式会社とは、 ・Notes/Dominoを生業としてきたtsb ・AS/400を生業としてきたエスイーラボ ともに「IBM」というキーワードだけでくっついた会社 詳しくは、HP見てください http://www.neoaxis.co.jp  現在は、 両会社の得意技を生かすべく、シナジー効果(古い言葉だ。。。)を 発揮し、お客様からの信頼を得るべく活動中  結果は、 合併(ではなく経営統合というらしい)し5年経過し、やっとこ軌道に乗ってきたの かな??????? 3
  • 4. 今日の お題 Linux on Domino!
  • 5. 皆様へまずは質問です UNIX系サーバでDominoサーバを 利用している人いますかー???? 実業務で、 検証用で、 自分の趣味で、 いやいや、なんとなく。。。。 5
  • 6. Linux On Dominoってやってみると意外とね! ってことがあったりします もしかすると、Windowsより優秀だったりして? 逆に、やっぱWindowsでしょう? ってことかも 結論は最後まで見ていただいて皆様でご判断ください (^_-)-☆ 6
  • 7. Linux on Domino 導入編 COPYRIGHT
  • 8. Dominoインストール • Linuxの場合、tarファイルを解凍して実行するのみ Windows版での「setup.exe」は、Linux版だと「install」へ 実際には。。。。 # tar –xvf DOMINO_9.0.1_64_BIT_LN_XS_EN.tar # cd /root/Downloads # ./install となります。インストールが開始されます。(実際の画面は以下) 8 今回はGUI版
  • 9. インストール終了後 • インストールが終わると次はセットアップ! このセットアップ方法は、2種類存在します A)OSがGUIの場合には、GUIモードでセットアップ可能 B)OSがCUIの場合には、リモートサーバセットアップのみ可能 管理クライアントを導入する際のオプションとして選択可能な ツールよりDominoサーバのセットアップを実施可能となる こちらの場合には、/opt/ibm/domino/bin/server –listen を実行 9
  • 10. リモートサーバセットアップ • リモートサーバセットアップ時には以下のコンソールが表示される 10
  • 11. Langage Pack導入の注意点(64bit版のみ) • Langage Packを導入する前に、以下のOSモジュールが必須 – glibc – libgcc – libstdc++ – libXp その理由は。。。。 LangagePackが、32bit版しか提供されておらず、64bit版の 場合には上記モジュールを導入しないと、インストールがされない (らしい) By ロータスカスタマーサポートのiさん情報(嘘です。。) 11
  • 12. 構築時の注意点①  Domino起動用ユーザ(及びグループ)の作成 Dominoを起動するための、専用ユーザ及びグループを事前に作成 # groupadd notes # useradd –g notes notes ※GUIだと以下の画面で簡単に追加可能 (コマンドの方が楽チン♪) ※よい子は、パスワードを設定しちゃだめだよ! 12
  • 13. 構築時の注意点②  OSチューニング!!!!! ①ファイルハンドル制限の増加 /etc/security/limits.confファイルに以下の2行を追加 ・notes soft nofile 20000 ・notes hard nofile 65535 ②上記を有効にする為に/etc/pam.dにあるいくつかのファイル (※1)に以下の内容を追加する ・session required pam_limits.so 64bitOSの場合には以下となる ・session required /lib64/security/pam_limits.so ※1/etc/pam.d/login、/etc/pam.d/rlogin、/etc/pam.d/ssh 詳しくは以下のURLを参照 http://www-01.ibm.com/support/docview.wss?uid=swg21619936 ※pamとはアプリケーションごとの認証方式の一括管理とのこと 13
  • 14. 構築時の注意点③  OSチューニング 不要なサービスを停止する。主に以下の4つは必ずチェック! 1)iptables(FW機能) service iptables stop chkconfig iptables off 2)postfix (Mail機能) service postfix stop chkconfig postfix off 3)Apache(Web機能、起動してないことが多い) service httpd stop chkconfig httpd off 4)SELinux(セキュリティ管理機能) # setenforce 0 # vi /etc/sysconfig/selinux → disabled設定をして保存 14
  • 15. Linux on Domino 運用編 COPYRIGHT
  • 16. 運用① • 自動/停止スクリプト 本資料の末尾にサンプルスクリプト(domino)を記載 Google先生で検索するとそれなりに出てくるですよ。 • OS起動時の自動起動方法 上記スクリプト(domino)を利用して以下の設定を行う 1)スクリプトを/etc/init.d配下に保存 2)コマンドを実行 # /sbin/chkconfig –level 2345 /etc/init.d/domino on これで再起動するとDominoが自動起動する また、OSシャットダウン時にもDominoが停止する 16
  • 17. 運用② • Notes.iniのチューニング 1)以下の3つは、実施しておいて損の無い設定かと ・Console_Log_Max_Kbytes=0 → 自動起動スクリプトでログ取得しているので、不要 ・Log_Sessions=0 → クラスタ環境の場合、この値が0以外だとユーザが セッションを張るとログが出力され汚くなるので ・NSF_Buffer_Pool_Size_MB=512 → 32bit環境だと自動設定が聞いていない感じ? → 64bit環境だと、不要 17
  • 18. 運用④ • Unixコマンドでよく使うもの 1)Notesプロセスの表示 # ps –ef|grep notes プロセス一覧から「notes」という名前が入っているものの一覧を 表示する 2)コンソールログの表示 tail –f /local/notesdata/IBM_TECHNICAL_SUPPOER/console. log コンソールログを最新のものから連続して表示し続ける コンソールの監視に利用することが多い 18
  • 19. 運用③ • Unixコマンドでよく使うもの 3)ログの検索(特定文字) # cat /local/notesdata/IBM_TECHNICAL_SUPPOER/console. log | grep <検索したい文字列> 特定の文字列を含むログを一覧表示する 4)netstat –natp ネットワークポートとアプリの対応を調査 不明なポートとプロセスの関連を見るときに便利 5)お勧めしないが。。プロセスの動的一覧 top topコマンド自体、メモリを大量に消費するので連発はしないように 19
  • 20. 運用④ • Unixコマンドでよく使うもの 3)ログの検索(特定文字) # cat /local/notesdata/IBM_TECHNICAL_SUPPOER/console. log | grep <検索したい文字列> 特定の文字列を含むログを一覧表示する 4)netstat –natp ネットワークポートとアプリの対応を調査 不明なポートとプロセスの関連を見るときに便利 5)お勧めしないが。。プロセスの動的一覧 top topコマンド自体、メモリを大量に消費するので連発はしないように 20
  • 21. 21 パフォーマンス対決
  • 22. ベンチマーク環境① 目的 Linux/Windowsのプラットフォームの違いを大規模環境で 検証し、Linuxの実用性を検証する 検証環境 以下の検証環境を構築 22 Linux/Windows (ND8.5.x) ギガビットスイッチ負荷用クライアント レスポンスタイム測定用 (Notes8.5.x) WindowsPCs (Server.load)
  • 23. ベンチマーク環境②  サーバ設定 23 設定箇所 設定内容 Domino MailBox数を4つ メールテンプレートは標準、メールDB数は1万 Notes.iniに以下を設定 ・ServerTasks=AdminP,CalCon,Router,Replica,Sch,RnRMgr,Collect,Update ・Server_Max_Concurrent_Trans=1000 ・Server_Thread_Pools=100 ・Debug_Capture_Timeout=1 ・Debug_Show_TimeOut=1 ・Debug_ThreadID=1 Windows 1.バッググラウンドプロセスの優先度 アプリケーションサービス優先 2.Windowsファイアーウォール 無効 3.サービス IIS、DNS等を無効 Linux 1./etc/security/limits.confを変更 notesuser soft nofile 20000 notesuser hard nofile 49152 2.その他 SElinux無効
  • 24. ベンチマーク環境③  クライアント設定 24 設定箇所 設定内容 Notes 1.セッション上限設定 MAX_NETWORK_SESSIONS=2047
  • 25. ベンチマーク環境④  測定方法 Server.loadの「R8Mail Workload」を利用 上記ワークロード1周分の負荷(3,000アクセスで約40分前後、10,000アクセスで1時間前後)を基 準として、Domino内部、サーバ内部、レスポンスタイムを総合的に分析してWindows環境とLinux環境 において、有意な差がでるかを検討するものとする 25 シナリオ 内容 R8Mail Workload ①メールボックスOpen/8~12分 ②受信ビューのリフレッシュ/5~15秒 ③5文書開く 開いたら最初のメッセージに返信/20~50秒 ④メッセージ送信(1通を1名に送信)/1~2分 ⑤2通のメールを3名に送信/1~2分 ⑥スケジュール予約/20~40秒 ⑦会議招集/20~40秒 ⑧NotesBenchフォルダに文書移動/90~180秒 ⑨会議招集に返答/45~75秒 ⑩2文書削除 ⑪5~9分 Wait
  • 26. ベンチマーク環境⑤  評価指標 26 比較 内容 測定項目 測定値 Windows パフォーマンスモニタ 測定値 Linux (vmstat) 内容 - 接続ユーザ数 Domino Serverにより計測 Domino Serverにより計測 サーバに接続したユーザ数 ドミノ トランザクション数 Domino Serverにより計測 Domino Serverにより計測 TPM(Transaction Per Minute) サーバ 1分あたりのトランザクション数 レスポンスタイム 手動で計測 手動で計測 操作辺りの応答時間 3回の平均値 3回の平均値 CPU CPU利用率 Processor(_Total)% User Time vmstat / us CPUがユーザーサービス ユーザーモード で利用された率 CPU利用率 Processor(_Total)% Privileged Timevmstat / wa CPUがユーザーサービス以外 ユーザー以外 Processor(_Total)% Interrupt Time で利用された率 の合計値 タスク切り替え数 SystemContext Switches/sec vmstat / cs タスクの1秒間の切替え数 メモリ 割り当てメモリ Domino Serverにより計測 Domino Serverにより計測 メモリの割り当て量 ディスク ディスク読み込み LogicalDisk(C:) 該当項目無し ディスク読み書きバイト数 バイト数 Avg. Disk Bytes/Read (linux 1分のトータル) 該当項目無し vmstat / bo (Win 1分の平均) 4096ブロックで換算 ディスク書き込み LogicalDisk(C:) 該当項目無し ※プラットフォーム間で バイト数 Avg. Disk Bytes/Write 単純比較できないため 該当項目無し vmstat / bo 3000負荷と10000負荷で 4096ブロックで換算 ボトルネックにならないか検証
  • 27. ベンチマーク環境⑥  レスポンス測定 27 No 実施内容 R1 DBアクセス NABを開く ビューが表示される R2 メールDBアクセス メールDBを開く 受信文書が表示される R3 メール新規作成 新規メール画面が表示される R4 宛先選択 一覧画面が表示される R5 メール送信 送信し受信ビューに戻る R6 保守タスク 1GDBのfixup 3万文書DBのfixup -F R7 1GDBのCompact 3万文書DBのCompact -C
  • 28. ベンチマーク結果①  トランザクション数 28 トランザクション数比較 3000 User 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 1分 3分 5分 7分 9分 11分 13分 15分 17分 19分 21分 23分 25分 27分 29分 31分 33分 経過時間 トランザクション数 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 接続ユーザー数 Linux接続ユーザー数 Linuxトランザクション数 Windows接続ユーザー数 Windowsトランザクション数 トランザクション数はほぼ同 等だが、若干Linuxのほうが ピーク時のトランザクション 数は高い トランザクション数比較 10000 User 0 5000 10000 15000 20000 25000 1分 3分 5分 7分 9分 11分 13分 15分 17分 19分 21分 23分 25分 27分 29分 31分 33分 35分 37分 39分 41分 43分 経過時間 トランザクション数 0 5000 10000 15000 20000 25000 接続ユーザー数 Linux接続ユーザー数 Linuxトランザクション数 Windows接続ユーザー数 Windowsトランザクション数 ユーザーセッション数にくら べてトランザクション数はさ ほどあがらないが、ピーク時 はLinuxのほうが高い セッションがきれない現象が両方 のサーバで確認できた。おそらく 負荷用のクライアントの限界と思 われる。
  • 29. ベンチマーク結果②  CPU利用率 29
  • 30. ベンチマーク結果③  コンテキストスイッチ比較(CPU切替比較) 30
  • 31. ベンチマーク結果④  メモリ割り当て 31
  • 32. ベンチマーク結果⑤  ディスク利用状況(Windows) 32
  • 33. ベンチマーク結果⑥  ディスク利用状況 (Linux) 33
  • 34. ベンチマーク結果⑦  レスポンスタイム 34 Linuxレスポンス Windowsレスポンス 評価項目 3000 User 10000 User 3000 User 10000 User R1 1.9 1.8 1.5 1.6 R2 4.2 4.8 3.5 2.2 R3 1.3 1.1 1.4 1.5 R4 2.6 1.4 1.3 1.4 R5 1.5 1.9 1.0 1.2 R6 4.5 10.9 5.6 81.0 R7 19.0 24.3 21.7 52.0 No 実施内容 R1 DBアクセス NABを開く ビューが表示される R2 メールDBアクセ ス メールDBを開く 受信文書が表示される R3 メール新規作成 新規メール画面が表示される R4 宛先選択 一覧画面が表示される R5 メール送信 送信し受信ビューに戻る R6 保守タスク 1GDBのfixup 3万文書DBのfixup -F R7 1GDBのCompact 3万文書DBのCompact -C
  • 35. ベンチマークを終えて 総評(私見として) プラットフォームをWindows、Linuxのどちらを選択 したとしても、Dominoのパフォーマンスは良好であり LinuxがWindowsに引けを取らない事が理解できた。 一部のベンチマークにおいては、LinuxがWindowsを 上回る結果が出ているものもある 主に、ディスクアクセスに関する部分は、Linuxに分が あると思う。これは、ディスクフォーマットの差がでた と考えてよいかと。 ※WindowsのNTFSはディスクアクセスが遅いという 一般的な見解が多いので 35
  • 36. ベンチマークを終えて 総評(私見として) こう見ると、CPU/メモリに双方の差はあまりなく、 ディスクの性能こそがDominoのパフォーマンスに 大きく影響があることが、別の側面からわかる IDE→SCSI→SATA→SAS→SSD→iodrive と、ディスク性能は上がってきているので、それに引っ張られるように Dominoもパフォーマンスを上げることが十分可能と思われる 36
  • 37. Linux on Dominoって 結局どうなの?
  • 38. メリット/デメリット  Linuxを利用するメリットとは ○OSのライセンス費用がめっちゃ安い! Windowsに比べると、半分程度、もしかすると「0円」ってことも可能 ○ハードウェアのスペックを押えることが可能 Windowsに比べると、2/3程度のCPU/メモリー容量で十分すぎる 但し、Dominoのシステム要件は忘れずに! 上記はあくまでも「OS部分」とに限って。。。ということで ○意外とセキュア環境を作れる(かも) ウイルス感染が意外と低いので、対策ソフト等はDomino上のみで十分 ○OSのハングアップは無い!(いや、嘘かも。。。。) とはいえ、Windowsの様にアプリに引きずられてOS再起動の必要性は 無いかと。 38
  • 39. メリット/デメリット  Linuxを利用するデメリットとは ×OSの知識はある程度ないとダメ(かも。。) Windowsの場合、クライアントOSと画面構成や設定箇所はほぼ同じだが、 Linuxの場合には、使うシーンが極端に少ないので、覚えられない。。。。 ×コマンドラインに慣れないと。。 Windowsはめったに操作する事のないコマンドライン。。 Linuxになることで、OS操作やDomino操作等では利用することになる。 GUIだけでは、すべてをまかなう事は出来ない。。 ×情報が少なすぎる 仕方がないのかもしれませんが、利用数が少ないので、Web上にある情報も Windowsに比べるとすくなすぎ、解決策が簡単には見つからない (AIXはもっと少ない。。。、Windowsは無くてもなんとかなる) 39
  • 40. 最後に.. • Linux on Dominoとして 世間一般的にOSは「Windows」が」常識になってしまっている。なんのアプリで あっても、OSは「Windows」と。。。。 が、Dominoに限ると、別にOSはこだわる必要はないことが今回の検証でも 良くわかったと思います。 Linuxであったとしても、中規模~大規模ユーザで利用しても何ら問題は 無いと。。 チューニングさえできれば、Windowsよりもパフォーマンスは上になる可能性は 十分あります。 なので、毛嫌いしないでまずは検証用からでもチャレンジしてみてください! ついでに、監視が必要な場合には「Zabbix」を採用してください! 40
  • 41. (参考)Domino起動/停止スクリプト #!/bin/sh # chkconfig: 2345 99 00 # Startup script for Domino R5 # # description: This script starts the Domino server in a screen session ¥ # And ensures a proper shutdown before the system goes down. DESC="Domino R9.0.1" SrvAcc="notes" DominoDir="/local/notesdata" DominoSrv="/opt/ibm/lotus/bin/server" TimeOutKill=300 TasksToKill="server replica router update stats logasio adminp sched calconn event pop3 imap maps ldap http smtp mtc amgr" tok=0 . /etc/rc.d/init.d/functions getpid() { pid=`/sbin/pidof -s server` } getpid case "$1" in start) if [ "$pid" = "" ]; then echo -n "Starting $DESC: " su - $SrvAcc -c "cd $DominoDir && screen -m -d -S Domino $DominoSrv" sleep 3 getpid if [ "$pid" != "" ]; then success touch /var/lock/subsys/domino else failure fi echo fi ;; 41
  • 42. (参考)Domino起動/停止スクリプト stop) TimeOutKill=$[TimeOutKill/2] echo -n "Shutting down $DESC: " getpid if [ "$pid" != "" ]; then su - $SrvAcc -c "cd $DominoDir && $DominoSrv -quit" > /dev/null & # Let's wait for the Domino to terminate while [ "$pid" != "" ] && [ "$tok" != "$TimeOutKill" ] ; do echo -n "..." tok=$[tok+1] sleep 2 getpid done echo "" if [ "$tok" != "$TimeOutKill" ] ; then success else failure $0 kill fi else failure fi echo ;; kill) echo -n "Killing $DESC: " kill -9 `/sbin/pidof -s $TasksToKill` > /dev/null sleep 1 kill -9 `/sbin/pidof -s $TasksToKill` > /dev/null sleep 1 tmp=`/sbin/pidof -s $TasksToKill` if [ "$tmp" = "" ]; then success rm -f /var/lock/subsys/domino else failure fi echo ;; status) status server ;; restart) if [ "$pid" != "" ]; then $0 stop fi $0 start ;; 42
  • 43. (参考)Domino起動/停止スクリプト *) echo echo "Usage: domino {start|stop|kill|restart|status}" echo exit 1 ;; esac 2ページ半のスクリプトをつなぎ合わせると 利用できます。 それぞれの環境に合わせて変更してくださ い。 Screenというコマンドをつかっているので # yum install screen で導入してください。 実行パーミッションも忘れずに 43
  • 44. ありがとう ございました m(__)m