XenServerによるお手軽開発サーバ運用
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

XenServerによるお手軽開発サーバ運用

on

  • 8,344 views

ビープラウドではXenServerを使って開発用サーバを運用しています。

ビープラウドではXenServerを使って開発用サーバを運用しています。
今回は運用方法の紹介や、こんな時に便利だったなどの話をしたいと思います。

Statistics

Views

Total Views
8,344
Views on SlideShare
6,771
Embed Views
1,573

Actions

Likes
0
Downloads
26
Comments
0

13 Embeds 1,573

http://hamamuratakuo.blog61.fc2.com 586
http://d.hatena.ne.jp 530
http://mistymagich.wordpress.com 234
http://snip-snap.posterous.com 185
http://webcache.googleusercontent.com 18
http://twitter.com 7
http://wiki.onakasuita.org 3
http://theta 3
https://mistymagich.wordpress.com 3
http://translate.googleusercontent.com 1
http://s.deeeki.com 1
http://posterous.com 1
http://cache.yahoofs.jp 1
More...

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

XenServerによるお手軽開発サーバ運用 Presentation Transcript

  • 1. XenServerによるお手軽開発 サーバ運用 BPStudy#47
  • 2. お前、誰よ● 岡野真也● @tokibito● id:nullpobug ○ 偏った言語信者の垂れ流し● 株式会社ビープラウド勤務 ○ Python ○ 社内インフラ整備
  • 3. 今日の話題
  • 4. XenServer
  • 5. なぜXenServer?
  • 6. BeProudで使ってます
  • 7. BeProudはこんな会社(1)● 主にWebシステムの受託開発をやってます ○ Linux ■ Debian/Ubuntu/CentOS ○ nginx/Apache ○ MySQL/PostgreSQL ○ Python/PHP/Ruby/Perl/Java
  • 8. BeProudはこんな会社(2)● 人数 ○ 10人ぐらい(2008) → 30人ぐらい(2011)
  • 9. 業務での課題● 本番に近い環境● お客さんに見てもらう● 外部システムとの連携● バッチ処理● 作業再開が楽(gnu screenとか)● Wiki● プロジェクト/課題管理● ソースコードリポジトリ● 他にもいろいろ..
  • 10. 開発作業用のサーバがほしい
  • 11. じゃあサーバを用意しよう
  • 12. その前に
  • 13. 大事なこと(前提条件)● コストをかけすぎない(お金、時間) ○ お金稼ぐのが本業● 今やらなくていいことはやらない ○ 過剰なものはいらない ○ 必要以上に複雑にしない ■ メンテナンスコスト ■ 移行コスト
  • 14. どういうサーバを用意する?● レンタルサーバ ○ 共用 ○ 専用サーバ ○ VPS● 自前で用意 ○ データセンターに設置 ○ 社内に設置
  • 15. どういうサーバを用意する?(2)● プロジェクトが増えたらどうする? ○ 物理サーバ増やす? ○ HTTP/VirtualHost? ○ chroot? ○ 仮想化を使う?
  • 16. 考える...● プロジェクトごとに別の環境を作りたい ○ 共用サーバでは難しい● 1プロジェクトの期間は平均でも1~3ヶ月 ○ データセンターにサーバ設置は高い ○ 専用サーバでもちょっと高い
  • 17. じゃあ
  • 18. 社内にサーバ設置
  • 19. それと
  • 20. 仮想化で。
  • 21. コンピュータの仮想化って?● 「仮想化」 ○ 単語にはいろんな意味がある● ここで話題にしてるのは仮想マシン(Virtual Machine, VM) ○ ソフトウェアで仮想的にコンピュータを構成 ○ 1台のコンピュータで何台ものVMを動かす
  • 22. それでXenServer?
  • 23. なぜXenServer?● VPSを借りるより自前サーバの仮想化 ○ 性能/機能面で有利● KVMやXenは知識ないと大変そうに思った● 2009年4月当時VMwareESXiは4コア上限 ○ 8コアマシン使いたかった● XenServerが無償で使えるようになると聞いて。
  • 24. XenServerってどんなもの?● Citrix Systemsの製品● サーバの仮想化向け● 無償版がある ○ 機能の多い上位版がある● ハードウェアの上で直接動作するOS● LinuxやWindowsを動かすことができる
  • 25. Xenとの関係は?● Xenはオープンソースのソフトウェア(GPL)● XenはXenSource Incが中心で開発● CitrixがXenSourceを買収● XenServerはXenをベースとした製品
  • 26. じゃあハードウェアは?
  • 27. ハードウェアはこんなの● ハードウェアは20~30万円程度の据え置き型 ○ お金あんまりかけられない ○ ラックは置き場所や電源に困る ■ 2009年当時のオフィスは4,5人でいっぱい ○ CPUはXeonで4コアか8コアマシン ○ メモリは4~16GBぐらい
  • 28. インストールしてみた
  • 29. インストールについて(XenServer)1. Citrixのサイトでアカウント作成後にisoをダウンロード2. isoイメージからCDを作成してインストール3. XenCenterを管理用端末にインストール4. ライセンスファイルを取得5. XenCenter経由でライセンスファイルをインストール ○ 無償版ライセンスは1年ごとに更新
  • 30. XenCenterについて● Windows用です...● XenServerとXenServer上のVMを管理/操作● リモート接続(HTTPS)● OpenXenManager ○ XenCenterクローン ○ オープンソース ○ PyGTK ■ Ubuntuなら比較的動かしやすいかも?
  • 31. インストールについて(ゲストOS)● XenCenterから操作● テンプレートを使う ○ WindowsやRedHat, SUSE, Debianなど● isoイメージからインストール ○ Windows共有(CIFS)などでファイルを共有
  • 32. ここが便利(1)● XenCenter ○ GUIだし複数ホストの管理も楽● スナップショット ○ 壊しても戻せる● バックアップと複製 ○ VM単位でバックアップできるので復元が楽 ○ 同じ構成の環境を簡単に作れる ■ VMのテンプレート ■ 数分ですぐに使えるVMを用意できる
  • 33. ここが便利(2)● リソース割り当て ○ CPU/メモリ/ハードディスクの割り当てを変更しや すい ○ 別のホストにVMを移動して動かすとか
  • 34. やった!これで便利になった!
  • 35. 運用開始からしばらくして...
  • 36. さらなる課題● 設定が面倒くさい ○ ネットワークの設定が面倒くさい ■ IPを固定にしたり ■ ホスト名を書き換えたり ○ ユーザの追加が面倒くさい ■ パスワード設定とそれの通知が大変 ■ →鍵認証に変更 ■ LDAPも考えたけどまだ早い
  • 37. とりあえずスクリプト書いた Pythonで...
  • 38. https://gist.github.com/1113337
  • 39. 設定用のスクリプト● 設定ファイルの内容をテキスト置換 ○ /etc/hostname ■ ホスト名をスクリプトで設定 ○ /etc/hosts ■ 自分のホスト名をスクリプトで設定 ○ /etc/network/interfaces ■ IPアドレスをスクリプトで設定● ユーザ作成時の作業を簡単に ○ /etc/skel/ ○ 公開鍵をスクリプトで設定
  • 40. 運用管理● VMの管理 ○ スプレッドシートで管理表作成(IPや用途) ○ 不要なVMは停止する(リソース確保)● VMの作成 ○ ルーチンワーク化を進める
  • 41. (demo)
  • 42. ルーチンワーク化する● プロジェクト開始 ○ →開発用サーバの申請(ユーザ,IPなど) ■ →管理者が手順に従ってVM作成● リソース不足 ○ →リソース追加申請 ■ →管理者が手順に従ってリソース追加
  • 43. "今は"これで足りてます
  • 44. じゃあ今後は?
  • 45. 今後...● バックアップの強化 ○ ハードウェア障害怖い ○ 定期的にVMを自動バックアップ ■ S3に保存するとか
  • 46. 今後.......● もっと会社の人数が増えたら ○ サーバ数増 ■ 設定がさらに大変になる ■ 自動化をさらに進めるとか... ■ ネットワークの問題 ■ 帯域とかアドレス割り当て ○ ユーザ数増 ■ ユーザ管理が大変になる ■ PAM/LDAPとか...
  • 47. 必要になったら考える! (上位の製品使用の検討とかも)
  • 48. おまけ
  • 49. APIを使ってみる● XenServerはXMLRPCのAPIを使える● SDKがあるよ● XenAPI.py ○ http://community.citrix. com/display/xs/XenServer+Python+API+Sampl es● xswizard ○ XenAPI.pyのラッパーモジュール ○ 作ってみました ○ easy_install xswizard
  • 50. from xswizard.api import API# APIオブジェクトを取得api = API( http://192.168.100.1/ , username , password )# テンプレートのクローンを作成vm = api.get_instant_template_by_name( ubuntu10.04-server ) ¥  .clone( new-ubuntu-server )# テンプレートからVMにするvm.provision()# VM起動vm.start()
  • 51. おしまいご清聴ありがとうございました