XenServer Tips
XenAPIを呼び出しXenServerにリモート接続する方法 ~Python編
Pythonを使用してXenServerを管理する方法を解説する。XML-RPCでXenAPIを呼び出すことで、XenServerにリモート接続することができる。
XenServerをコントロールする方法は大きく分けて下記の3つがあるが、これらは全て、XenServer上のXAPIデーモンを通して実現する。XAPIはDomain 0上の重要なデーモンである。XenServer Management API(XenAPI)の呼び出しを受け取り、適切なツールスタック(XenServer関連のデーモン)とコミュニケーションを取り、結果を呼び出し元へ返す。
1.GUIツール「XenCenter」を使用する方法
2.CLI「xeコマンド」を使用する方法
3.スクリプトやプログラミング言語を使用する方法
今回は、3番目の「スクリプトやプログラミング言語を使用する方法」について、Pythonを用いて解説する。
解説
Windows XP SP3にPython 2.6をインストール
まずはWindows環境にPythonをインストールする。Windows XP SP3環境を例に説明する。
1.Python 2.6.6をPython Japan User's Groupのダウンロードページでダウンロードする
2.Python 2.6.6をウィザードの指示に従ってデフォルトでインストールする
3.環境変数を設定する。[コントロールパネル]の[システム]を開き、[詳細設定]タブで[環境変数]ボタンを押す。環境変数ダイアログボックスの「システム環境変数」で「Path」を選択して[編集]ボタンをクリックし、「変数値」の末尾に「;c:\python26」を追加する
以上でPythonをWindows環境にインストールする作業は完了。念のため、以下の手順でPythonが実行できることを確認しておく。
4.コマンドプロンプトを起動し、一時フォルダに移動。「python」と入力し実行したら、「print “Hello, World”」と入力し実行する
XenServerで稼働中の仮想マシンのリストを表示する
次にXenServerで稼働している仮想マシン(VM)を表示する。
1.作業ディレクトリ(例:E:\Temp)を作成する
2.本記事の最後に掲載した「all.vms.py」のソースコードをコピーしてファイルを作成し、作業ディレクトリに置く。「XenAPI.py」はXenAPI.pyでダウンロードし、all.vms.pyと同じ作業ディレクトリに置く
3.下記のようにサーバアドレスとユーザー名、パスワードを指定してall_vms.pyを実行する
E:\Temp>python all_vms.py https://10.128.9.203:443 root password
XML-RPCでXenAPIを呼び出し、XenServerにリモート接続する
XenServerにリモートで接続するために、「XML-RPC」を使用してXAPIに接続する。XML-RPCはXMLを利用した遠隔手続呼出「Remote Procedure Call」の一種で、HTTPを転送プロトコルとして使用する。XML-RPCでは、クライアントはリモートサーバ(URIで指定されたサーバ)上のメソッドをパラメータ指定で呼び出す。XML-RPCを使用するには、XML-RPCクライアントライブラリ「xmlrpclib」をインポートする。
import xmlrpclib
XML-RPCでXenAPIを呼び出すには、XenAPIライブラリ(XenAPI.py)の利用が便利だ。XenAPI.pyはXenAPI.pyで、Pythonを使用した他のサンプルコードはXenServer Python API Samplesでダウンロードできる。また、他の言語用のサンプルコードやXenAPIライブラリ、その他ツールなどはXenServer SDKのWebページでダウンロードできる。
補足解説
all_vms.pyの解説
all_vms.pyは、稼働中の仮想マシンのリストと、その全パラメータを表示するサンプルコードだ。以下でall_vms.pyについて解説する。
北瀬公彦(きたせ きみひこ)
シトリックス・システムズ・ジャパン マーケティング本部所属
XenServer、XenClient、XenDesktop、Receiverなどの製品マーケティング、また、アライアンスマーケティングで、Citrixの製品に対応したい場合の技術対応なども行っている。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
市場調査・トレンド
数百万台規模のデータで判明、企業のIT環境に潜む「見えない課題」とは -
製品資料
クラウド開発環境で高まる運用の課題、選定において重要な判断軸とは? -
製品資料
Oracle DatabaseをAI活用基盤へ、クラウド移行を阻む4つの課題と解決策 -
市場調査・トレンド
数百万台規模のデータで判明、企業のIT環境に潜む「見えない課題」とは -
製品資料
サーバ高密度化を阻む「見えない配線問題」 UTPやDACの限界を超える選択肢は?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「OSの選定・導入」に関するアンケート
-
2
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
3
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
4
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
5
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
8
「企業内サーバ環境の利用実態」に関するアンケート
-
9
生成AIで開発工数を圧縮 「工数150分の1」を叩き出した実例
-
10
「IoT通信環境の構築・運用」に関するアンケート
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
3
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー