OSC 2009 Tokyo/Sprint 2st Day

##はてなでの仮想化技術あれこれ

  • AMD でのセミナーのRevise版

###はてなの紹介

  • 700万ユーザ
  • 10億PV

###仮想化技術

  • ハードウェアを抽象化し,複数のOSが動作できるようにする
    • Xen/VMware/QEMU/UML/KVM/OpenVZ/etc.
  • 古くはメインフレームの技術らしい
  • 仮想化のメリット(from Wikipedia)
    • 可用性・柔軟性の向上
    • 運用コストの低下
    • セキュリティの向上

###はてなでの仮想化

  • Xen を利用
  • Xen における仮想化モデル
    • 仮想化モデルとは
    • 準仮想化
      • エミュレーションオーバーヘッドを最小に押さえられるが,OS 側の対応が必要
    • 完全仮想化
      • 実ハードウェア用OSがそのまま動作するが,エミュレーションオーバーヘッドが大きくなる
  • はてなにおける仮想化の歴史
    • CentOS 5 系への移行した際に,Xen を試し始める(2007 前半)
    • 2007 夏頃から,スモールスタートで適用開始
    • サーバ管理ツール開発開始,仮想化対応
  • サーバの台数
    • 物理サーバ500台で,仮想化して890台(ホスト+インスタンス)
  • はてなシステムの全体像と解説
    • 三層構造
    • リバースプロキシ
    • アプリケーションサーバ
    • データベースサーバ
    • 各所に LVS でロードバランス
    • サーバ台数の割合
    • Web:DB = 4:6 ~ 6:4
    • 全体の6~7割が Web/DB
    • その他は,ネットワーク関係・ファイルサーバ・管理用・メール・分散ストレージサーバ
    • 非同期システムが増量中
    • MapReduce 計算クラスタなど
    • 仮想化サーバの構築ポリシー
    • あいているリソースを主に利用する DomU を投入
      • CPU があいているなら Web サーバ
      • IO があいているなら DB サーバ
      • メモリが空いているなら キャッシュサーバ
    • 同じ傾向で,かつ負荷の高い用途同士は避ける
  • はてなでの Xen
    • CentOS 5.2
    • Xen 3.0.3
    • LVM 上にパーティション作成
  • ストレージ選択のパターン on Xen
    • LVM -> はてなでは LVM を利用している
    • USB メモリで起動して起動後は RAM Disk に展開
    • ネットワークストレージを使う
    • ネットブート(PXE ブート & aufs イメージを RAM Disk に展開)
  • Xen の運用
    • install_xen.sh というコマンド1発で作成している
    • IP/Memory/root size などを指定すると,7~8分で作成できるスクリプトを用いている
    • 親子関係の負荷を見ている
    • ラックに含まれるサーバの構成を負荷と共に見られるようにしている
    • 負荷の監視は xentop で
    • 仮想 OS の移動・コピー
    • dd でイメージコピー
    • LVM のスナップショットをコピーしている
    • DNS との連携
    • MyDNS(MySQL をバックエンドに使った DNS) と連携
      • hostname.domain の Dom0 を parent.hostname.domain とすることで,わかりやすく
    • DomU の強制再起動
    • monit で
    • たとえば,30秒間 httpd にアクセスできないと強制再起動
      • Xem DomU の destroy/create している
    • 突然落としても問題ないものだけ
  • Xen の使っていない機能
    • ライブマイグレーション
    • 信頼性の高いストレージが必要
      • コストが高くなる
    • 完全仮想化
    • すべて Linux なので
    • オーバーヘッドを嫌っている
  • Xen のデメリット
    • ホスト数の増加
    • Dom0 の台数分は増加
    • 1物理サーバあたり,IP アドレス3つ消費
    • ホスト x 1
    • ゲスト x 1
    • IPMI(or AMT) x 1
      • 用途毎に IP アドレス帯を分割
    • 不可解なバグの発生
    • NIC ドライバの不具合(Realtek ?)
    • 突然ネットワークに接続なる
      • Dom0 の再起動で解消(過去2回)
    • パフォーマンスの低下
    • メモリアクセス
      • ランダムアクセス時に顕著で 10% 程度
    • I/O 性能
    • I/O処理でバッファのメモリコピーが発生
      • ネットワーク負荷が高いサーバでは厳しそう
    • ディスク性能
      • 2~3% の低下
  • Xen の運用上の注意ポイント
    • DomU が迷子にならないようにする
    • DomU から Dom0 の情報は得られない
    • サーバの単機能化
    • サーバの管理負荷低減と不具合の影響範囲の最小化
      • かなり小さな機能に分割するのがいいようだ
  • 仮想化によって得られるもの
    • 物理的なリソース制約からの解放
    • VM 環境の統一化・標準化
    • 冗長化によるリソース利用効率の低下を最小限に

###今後の展開

  • 仮想ホストの自動制御
  • 他の仮想化技術の検討
    • KVM
    • OpenVZ

###管理ツール

  • リソースに空きがある物理サーバを探している
    • Ruby on Rails 製!
  • 撮影禁止だったようだ

###Q&A

  • なぜ Xen を導入したのか
    • 空きのあるリソースの有効活用をするために Xen を導入した
    • リソースの有効活用のためというのは,非常に納得できる理由

##オープンソースでシステム監視!統合監視ソフトウェア ZABBIX の機能と利用事例のご紹介

###OSS統合監視ソフトウェア ZABBIX のご紹介

  • 機能紹介
    • 監視機能
    • 表示機能
    • 障害見知,通知機能
  • 対抗
    • Cacti(かくたい)
    • Hinemos(ひねもす)
  • 他の製品の課題
    • テキストベースで設定しないといけないので,管理コストが大変
    • Nagios + Cacti の組み合わせで監視することも管理コストの増大になる
    • 商用製品は,非常に高価で使わない機能も多い
  • ZABBIX の特徴
    • オープンソース
    • さまざまな OS に対応した専用エージェント
    • Web インターフェースから選択式による監視設定が/表示が可能
    • 監視設定・収集データを RDBMS で一元管理
    • 生データをそのまま保存できるので,あとでいろいろ再利用可能
    • テンプレートが使えるので,大量のサーバにも比較的対応しやすい
  • 動作環境
    • ZABBIX サーバ
    • MySQL(/PostgreSQL/Oracle/SQLite)
    • Apache + PHP で表示・設定など
    • 障害通知
    • SNMP/SNMP Trap
    • エージェント
    • 64bit 対応
    • Ping/ポート監視
  • ZABBIX エージェント
    • 導入するだけで,基本的な項目はすべて監視できる
  • 表示機能
    • 生データを表示できる
    • レポート作成できる
    • 月刊レポートなどの資料になる
  • 通知機能
    • メール本文に復旧手順を入れるなどできる
    • 障害レベルの設定に応じて,通知するグループ・ユーザを設定可能
    • かなり柔軟にできるようだ
    • スクリプトの実行
    • エージェントにより,各サーバの shutdown/restart などが可能
  • まとめ
    • 中小規模のシステム監視に最適
    • シェルスクリプト・MRTG の Replace として
    • ここは有用そうです.うちの linode とかで試してみよう

###ZABBIX による Web システムの監視事例

  • 環境1

    • サーバ43台のホスティング
    • ZABBIX サーバ: CentOS 4.4
    • エージェント: CentOS 4.4/RHEL 3.8
  • 環境2

    • Xen でのホスティング
    • DomU に ZABBIX サーバ
  • 環境3

    • 小規模 ASP サービス
    • Cacti が入ってた
      • 監視間隔を短くしたいとか,メールを送りたいとか
      • メール送信には plig-in が必要だったり,監視追加・変更が大変
    • なので,ZABBIX
  • Summary

    • ZABBIX の DB は週に1回,MySQL の DB 再編を行ってデータの増加を防ぐことが重要
  • 体験談

    • MySQL は InnoDB
    • innodb_file_perl_table で
    • 定期的にデフラグ(alter table で最適化かな?)

###ZABBIXによるネットワーク機器のパフォーマンス測定検証事例

  • ZABBIX の選定理由
    • Fedora に標準搭載
  • とりあえずやってみるが,あまり深追いしない
    • わりと重要な考え方

##オープンソースの本を書きましょう! ###まとめ

  • 自分出版で,本を印刷する直前まで作って出版社に持ち込み,印刷代も自分で払って名刺代わりに!

##勉強会大集合 ー スピーカーへのススメー

  • パネラー(敬称略)
    • Genesis Lightning Talks: さとうようぞう
    • Java-ja: ヨシオリ
    • 高専カンファレンス: 五十嵐
    • XPJUG/PFP: あまのりょー
    • わんくま同盟 勉強会: とっちゃん
  • モデレーター
    • 鈴木@LIND

###開催の趣旨

  • 勉強会の悩み事
    • 話す人がいなく,いつも同じ人になる
  • 知ってもらう,感じてもらう
    • なぜ話すの?どう話すの?
  • 何を伝えたいか
    • みんなスピーカーになろう!
    • メリット,喜び,成長感など
    • スピーカに慣れる場所を探そう!
    • 社内勉強会もいいよ!
    • 内輪勉強会でやれば,気軽にできそうだよね!
    • 重要なのは実践すること
  • 心の壁を作らずに聞いて欲しい
    • 「あの人だからできる」とは感じないで欲しい

###パネルディスカッション

  • 初めて発表したキッカケ
    • さとうようぞうさん
    • 社内で自分で話したいと思ったから
      • 社内のレベルを自分で上げないといかないという危機感
    • ヨシオリさん
    • ひがなんとかさんに,「おまえも発表しろよ」と言われたから
    • 最近は緊張感を愉しんでいる
    • 五十嵐さん
    • LT を見て楽しそうだなと思ったから
      • そのときに2つ山があった
      • 登壇者のレベルが高い気がした
        • 発表のレベルは聴衆が決めるんだから,気にしても仕方ない
      • 完璧じゃないと発表できないんじゃないか
        • 世の中に埋もれてしまう前に,6~7割までできたら出した方がフィードバックとかあっていいよ
    • あまのりょーさん
    • 20~30年生きてきて,5分ぐらいなら発表するネタがあるだろうから,それを気楽に話してみるのがいいんじゃないか
    • 気楽な場所
      • 何回か出た勉強会とかで
    • とっちゃんさん
    • 東京でわんくま同盟立ち上げるときに,「Microsoft MVP だから喋ってみてよ」と言われたから
      • Windows Installer について喋りたいと思ったので
    • さとう@LINDさん(モデレータ)(PHP勉強会の人)
    • 大きな場所でやるのは今日が初めて
    • 自分がやってきたことを人に伝えたいと思ったから
  • スピーカーのメリット
    • とっちゃんさん
    • 名前を覚えてもらえる.非常に大きなメリット.
    • あまのりょーさん
    • 人とつながりが出来る,のは言われてしまった
    • 資料を作ると再度勉強し直せるのがメリットじゃないか
    • ヨシオリさんが,「あの発表が良かったよ」と言われるのが嬉しいと言ってました
    • 五十嵐さん
    • LT での発表資料を作っているときに,考え直せる
      • そのネタで雑誌に記事を書けたりしたので,よかった
    • ヨシオリさん
    • お金に関するメリット
      • 発表するとチケットがただで手にはいるとか,控え室で電源の心配がないとか
    • ブログなどで反応があるのが嬉しい
    • 他のコミュニティから呼ばれることも嬉しい
    • さとうようぞうさん
    • 名刺が大量に減る
    • 控え室にいる著名な人と会えるとか
  • 発表した内容の反応で嬉しかったことは?
    • とっちゃんさん
    • 大阪のイベントに四国から来てくれた人がいた!
      • わざわざ来てくれた人がいると嬉しい
  • 社内勉強会をして評価あがった?
    • 表情で察していただければ・・・・首にはなってないし
  • MISAO
    • 発表中に IRC のメッセージをプレゼンの上にのせられる
  • メリットとして
    • 乱入が出来る
    • 発表者間の内輪感を楽しめる
  • 勉強会の開催について
    • さとうようぞうさん
    • 発表の敷居を出来るだけ下げる
      • Genesis Lightning Talk では何でもありにしている
      • 勉強会で得たことを次に生かせる,何かアクションを起こせるような内容になれば,いい勉強会になるんじゃないか
    • ヨシオリさん
    • 自分が聞きたいので勉強会を主催している(java-ja)
    • 「勉強会」と言う名前をつけてない
      • 堅苦しい感じがするので,発表者と聴衆の溝が広がる
    • 五十嵐さん
    • LINDさんのために話しているという感じ?
    • 高専というマイノリティの集まり.他の場所とのつながりや,学校とのつながり
      • 学校の先生が雑談だけの授業をやってほしいと思ってる
    • あまのりょーさん
    • 同僚と朝スタバとかで本の感想を言い合う感じ1
      • 朝だと気分良く一仕事追えた感じで,業務に入れる
      • 名前も「読書会」と書いてはいない
    • 勉強会の最小開催人数は2名
    • とっちゃんさん
    • わんくま同盟の知名度を上げるために,こういう場所に出ている
  • 仲間を誘うときのコツなど
    • あまのりょーさん
    • 話のわかる上司がいる.その上司を巻き込める
    • さとうようぞうさん
    • 仲間にも恵まれている
  • 上司から「その勉強会やってどう成果が出るの?」に対する切り返しは?
    • さとうようぞうさん
    • 成果を数字で出せば上司は納得する
      • 社内勉強会の開催前後で,アンケート・テストを行う
      • その内容が成果に繋がる
    • ヨシオリさん
    • そこまでやって社内でやる意味がないのなら,社外でやればいいんじゃないか
  • 社外でやるばあいの場所は?
    • とっちゃんさん
    • わんくま同盟は,固定で借りている
      • 東京だとルノアールの貸し会議室が安く借りれる.プロジェクター貸してくれる
    • 五十嵐さん
    • 企業の会議室を借りる
      • 貸してくれる会社さんのメリットが出れば,Win-Win の関係になる
    • 鈴木@LINDさん
    • 勉強会勉強会の会議室一覧を参考にしては

###LT 大会

  • さとうようぞうさん
    • スピーカー楽しいヨ!
    • Ruby Business Commons の裏方やってます
    • リハーサルで時間配分をやる
    • ビデオを撮って練習するのがいいかも
    • 次は 225(水)
  • ヨシオリさん
    • java-ja温泉で検索!
    • 資料作成方法
    • 楽しさ = 正義
      • 「伝えたいこと + 楽しさ」を心がけている
    • 前日に作る
    • メモは emacs で書いている
    • そのファイルを DropBox を使って共有している
  • 五十嵐さん
    • 大事なことは何度も言う
    • 発表で失敗することの方が難しい
  • あまのりょーさん
    • PFPの人
    • Project Facilitation Project
    • 次回WS 318(水)
    • 資料制作 Hacks
    • ノンデザイナーズ・デザインブック
  • とっちゃんさん
    • わんくま同盟の宣伝
    • 発表はアドリブでやってる.型はない!

###最後のお願い

  • 今日聞いたことを是非実践してください
  • フィードバック
    • ブログとかに書こう!

##ライトニングトーク&大抽選会&閉会式 ###IPA「第2回オープンソースソフトウェア活用ビジネス実体調査」のご紹介

  • みずほ総研の人
  • 報告書は Java をオープンソースとして扱っている
  • Ruby を使いたい人が多いらしい
    • Matz 効果か

###Tech Seminor Timemap

###MoodleMoot Hakodate 参加リポート

  • Moodle とは,OSS の e-Learnign 構築できるもの

###学校現場でのオープンソースの話題

  • Linux on 御神輿
    • ustream from 御神輿 も計画中

###COCO - 管理者により社内監視システム

  • 社内 LAN の監視システム
  • DNS と連携できる
  • nmap で異常検出
  • 社内PCの場所と IP アドレスの対応をグラフィカルに表示できる
  • DHCP/LDAP/nmap/IP-Sentinel

###Linux+Webカメラでハムスター観察

  • ハムスターかわいいよ!

###milter manager フリーソフトで迷惑メール対策

  • rabbit の人
  • milter manager
    • 安心メールを素通し
  • rabbit++

###インターネットと危機管理 怪文書編

  • Ruby がマイブーム
  • インターネットで遭遇した怖い話
  • 知らない人を煽るのは止めた方がいいと言うお話

##抽選会

  • いない!ので,所属がわかってる人に
  • OSC で商用ソフトウェアが抽選される事態はちょっと面白い

##まとめ

  • 懇親会はマイレージ不足のために欠席
  • 会場提供で SEO 効果!!

  1. これはいいスタイルじゃないでしょうか [return]
 
comments powered by Disqus