よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

オープンソースカンファレンス2008 Tokyo/Fall

参加してきました。
詳細はオープンソースカンファレンス2008 Tokyo/Fallを参照してください。
簡単にではありますが、まとめておきます。
#各プログラムでの資料を読まれていないとわからない箇所もありますので。

仮想化環境におけるベンチマーク結果報告

■ 仮想化環境の設計手法

  • 目的は2通り
    • 既存環境の移行
    • 新規システム構築
  • 何を優先したいか
    • コスト:導入コスト、ランニングコスト
    • 機能:運用管理、カヨウ性
    • 性能:実行速度、処理容量(一台のサーバにどれほど突っ込めるか。つまりキャパシティ)

■性能要因

  • H/W
    • CPU:コア数、クロック速度(あまり気にしすぎる必要はない)、仮想化支援技術(Intel-VTなど)
    • メモリ:容量、速度、VMへの割り当て量
    • I/O:帯域(ストレージ)、デバイス速度、仮想化支援技術 ・・・ボトルネックが発生しやすい。コントローラがどのくらいキャッシュ領域を持っているかなどが重要に。
  • S/W
    • VMM種別:ホストOS型、ハイパーバイザ型
    • 内部構造:ドライバモデル、スケジューラ(仮想マシンの切り替えを行うスケジューラの特性によって選定すべき)
    • その他:OS,アプリケーション(性能を考慮しているか)、データ量

■HWの選定ポイント

  • CPUは仮想化しても性能が下がりにくい
    • マルチコアは4⇒6コアになっているので追い風
  • メモリが仮想マシン収容力に大幅に左右(32〜64GBが当たり前に)
    • RVIなども標準に
  • 高速なI/Oが装備が必須
    • FCもしくは10Gbが当たり前
  • CPU使用量の計算をする場合は、CPUクロック数の世代間性能差に留意
    • クロック数は製品の世代によって性能が異なる
    • CPU使用率30Tの物理マシンをほぼ同性能・同クロックの仮想マシンホストに移行できる
    • 収容可能VM目安=CPUコア数x2

■ストレージの選定

  • どの程度の書き込み速度が必要か
  • I/Oブロックサイズの大小などのI/Oの性質は?
  • HDDの台数は?どのくらい増設したい?
  • 接続方法は?
    • FC接続:高速だがあまり利用したことがない人が多く、気軽ではない
    • iSCSI接続:小規模向けに人気急上昇
    • NFS接続;扱いやすい
    • DRBD:2ノードで冗長化構成(ストレージという観点ではなく、ミラーリングとして)

ストレージがもっとも選定で難しい。特に接続方法に違いが出てくる

■仮想化で使えるベンチマーク

  • VMmark
    • DBやWEBなど複数のVMを1セット(タイル)にしてハードウェアのキャパシティを測定。初期設定に時間がかかるし、タイルを実行するのに8時間要する
  • SPEC
    • 利用する場合は5万円程度?お金がかかる
  • IOmeter
    • ディスクI/Oを測定するベンチマーク。ストレージのボトルネックを検出するのに役立つ
  • ab(apache)

■仮想化ベンチマークの注意点

  • キャッシュバッファの影響を考慮
    • レイヤーが1段増えることで構造が変わり、キャッシュが増える場合もある = 見かけ上の性能が物理サーバを超える場合がある
    • 扱うデータ量やVM数が増えればキャッシュがきかなくなり、性能低下を起こす場合もある
  • キャッシュの種類
    • H/Wキャッシュ
    • OSのキャッシュ
    • アプリケーションキャッシュ
    • I/Oキャッシュ
    • 仮想化のキャッシュ

キャッシュの影響をなくすようにするためには、扱うデータ量を増やしたり、同時に扱うVM数を増やしてキャッシュが聞かなくなる状況を作り出すとよい

Mondo Rescueでシステムバックアップ/リストアのすすめ

■特徴

  • システムバックアップにお勧め
    • Mondoは世代管理機能などが実装されていないため、他のソフトウェアとの組み合わせが必要となる
  • リストアは異なるハードウェアでもOKだが、リストア後にチップセットなどの違いに対応させる必要がある
    • 複数サーバのISOイメージなどを集中管理するには手動対応しなければならない
  • バックアップをする前に、必ずパーティション情報やgrubの情報を取得しておかなければならない
    • リストア時に利用するため
  • バックアップに要する時間
    • 10分/GB
  • 差分バックアップ可能
  • 除外したディレクトリを指定することも可能
  • リストアのときにパーティション情報をいじることもできるみたい(どの程度までできるのかは不明)
  • リストアする際に、全てを復元するのか、一部を復元するかを選べるみたい
  • NetVaultは、リストアするH/Wが替わるとうまくリストアできない場合もあるが、Mondoはバックアップ対象のカーネルを利用するためそんなことないらしい。

■質問事項

  • システムを停止せずにシステムを丸ごとバックアップは、バックアップを開始した時点の状態のスナップショットと考えてよい?
    • スナップショットの機能などは無いので、オンラインバックアップをするときはデータに不整合が生じる可能性がある
  • Windowsにも対応しているとのことだが、どうやってバックアップするのか?
    • Windowsシステムをバックアップするためには、一度Linuxをインストールしておく必要がある(デュアルブート)
    • Windowsについては、Linuxを起動してWindows領域のバックアップをとるため、オンラインバックアップは不可能
  • リストアするH/Wが替わった際に修正する点は?
    • grub
    • ファイルシステムのラベル確認
    • NICのMACアドレス
    • ドライバ関係 ・・・etc
      • x86の64bitマシンからx86の32bitマシンへのリストアは難
      • ※バックアップしたシステムとリストアするシステムのH/Wが異なると、リストアにそれなりのスキルが必要となる。

■所感

  • Mondoで初期イメージを作成しておいて、その後はpuppetで管理するとよいかも
  • ISOイメージ出力やNFSマウント先にバックアップを取得するのなら、LinuxをインストールせずともKnoppixなどCDブート可能Linuxでバックアップできるのではないだろうか。

オープンソースでシステム監視!統合監視ソフトウェアZABBIX


■特徴

  • Nagiosなどはプラグイン形式で機能を追加していくが、ZABBIXはプラグインという概念がない
    • 監視項目の拡張は、ZABBIXの柔軟性が吸収している
  • RDBMSでデータおよび設定内容を管理しているので、過去の特定の時期の状況をあとで確認することが可能
  • 監視対象サーバの障害を検知したら、監視対象サーバにて任意のスクリプトを実行することも可能
  • 障害発生時に音を鳴らすことも可能らしい(ブラウザを立ち上げておく必要あり?)

■質問事項

  • 設定内容および監視取得データについて
    • データの保存期間は設定可能
    • 監視サーバを別サーバで行う際、監視サーバのDBをダンプし、別サーバにリストアすることで設定を引き継ぐことは可能
    • 自身で作成テンプレートについては、エクスポート可能
  • 設定のバージョン管理(過去のある時点の設定に戻したりすること)は可能か?
    • 現時点ではDBをダンプしておき、その時点のデータをリストアするしか方法はない
  • SNMPでデータを取得する場合は、必ずエージェントを入れないといけない?
    • 監視対象サーバ側でsnmpdが動いていればエージェントを入れなくてもリソース情報は取得可能

話題のHadoop とかって、なんなのよ? メジャーな分散ファイルシステムをざっくり比較紹介

■特徴

  • Hadoop
    • Lustreとは異なり、信頼性(冗長性)はソフトウェアで担保
    • 書き込みよりも読み出しが得意
    • ファイルをブロック単位に分割する際に、ブロックサイズとレプリケーション数をファイルによって変更することが可能

やっぱりすごい!Memcached!!〜最新MySQLサポートツールズのご紹介〜

  • MySQLのアドオンにmemcachedが含まれ、サポート対象となる
  • さらにDRBDもサポート対象となる
    • 今後もサポート項目は増えていく予定
  • memcached
    • MySQLのキャッシュやOSでのキャッシュなどはサーバを超えた形でcacheしておくことはできないので、そんなときにmemcachedを利用するとよい
    • Facebookでの利用
      • MySQLサーバ:1500台
      • memcachedでのメモリ搭載量:15TB
  • Enterprise Monitor
    • 有償版のみ(トライアル版あり)
    • グラフを簡単に生成できるのがウリ
  • WorkBench
    • ER図の逆生成が可能
    • Luaで拡張可能らしい
  • Proxy
    • Luaで動作の拡張が可能
    • 今はプロキシ(キャッシュを保持)としては動かない
    • 開発者も試行錯誤中