第3回 SCVMMによる仮想サーバ作成と仮想システムの管理:仮想化環境を効率よく管理するSCVMM 2008の概要(7/7 ページ)
物理サーバ/VMwareからHyper-V 仮想マシンへの移行におけるSCVMM支援機能、PowerShellによる効率的な仮想マシンの管理の実際。
■PowerShellによる処理の自動化
SCVMMのいろいろな機能や作業を見てきたが、あらためてSCVMMによる管理基盤がPowerShell上にできていることを思い出してほしい。SCVMMの分かりやすい管理コンソールやセルフサービス・ポータルといった、グラフィカル・ユーザー・インターフェイス上で実施した作業はPowerShellスクリプト化されて処理されることになっている。
SCVMMでは、この両方をうまく利用してもらう仕組みを提供している。それは、さまざまな処理をするウィザードの最後の画面に用意されたスクリプト表示ボタンである。例えば、SCVMMに慣れるまでは管理コンソールとウィザードを利用し、頭の中でイメージができるようになってきたらスクリプト表示ボタンをクリックしてPowerShellスクリプトを表示し、それをコピーして次からはスクリプト化と自動化につなげるといった段階的な手順による利用が可能だ。
さて、もう少し詳しく見て行こう。PowerShellでは、対話型のシェルを利用してコマンドを実行するだけでなく、開発したコマンドをCmdlet(コマンドレット)として登録しておくことで容易に利用できる。そして、SCVMMでは289個のコマンドレットが用意されている。
SCVMMの管理シェルで289個のコマンドをリスト化する際には「Get-Command」コマンドを利用する。そして、例えば、仮想マシン(VM)に対する処理に関するコマンドを表示したい場合は、「Get-Command *VM」とすればよい。VMに関するコマンドは17個表示されたが、その中で代表的なものを8個リストにしてみた。
- New-VM
- Set-VM
- Get-VM
- Move-VM
- Remove-VM
- Start-VM
- Stop-VM
- Shutdown-VM
コマンド名を見るとなんとなくイメージが沸くのではないだろうか。ただ、仮想マシンを開始(Start-VM)したり、シャットダウン(Shutdown-VM)したりするのは、UIでやってもよいと思うかもしれない。しかし、いくつかの処理をまとめて、しかも定期的に実施するとか、複数の仮想マシンのプロパティを一気に変えるときなどは、スクリプトが便利である。
まずはこちらをご覧いただきたい。
Get-VM -VMMServer “hv002Core.Contoso.com” | where {$_.Owner -eq "contoso\yamada"} | Set-VM -Costcenter "営業企画部"
これは、所有者(Owner)プロパティが「Contoso\yamada」さんだったときに、コストセンタ・プロパティに「営業企画部」を設定するというスクリプトである。SCVMMで仮想マシンのプロパティに何かを設定するには、SCVMMの管理画面で仮想マシンをリスト化し、ある仮想マシンを右クリックしてプロパティを表示し、プロパティのタブを切り替えながら各項目の設定をする必要がある。10台の仮想マシンの設定を変えるにはこの作業を10回繰り返すことになり、簡単な作業であるにも関わらず、意外と時間がかかってしまう。しかし、これを上記のスクリプトに置き換えれば、プロパティ変更の対象となる仮想マシンが1台であろうと10台であろうとスクリプトを1回だけ実行すればよいわけだ。
さて、SCVMMのベースがPowerSellなので、SCVMMの動作をより詳しく理解するにはPowerShellのコマンドを覚えるのが一番早いともいえる。そこでまず覚えておいてほしい2つのコマンドを紹介しておこう。
- Get-Command :SCVMMのコマンドをリスト化
- Get-Help <コマンド名> -full :例えば Get-Help Set-VM -full
まずは1.でコマンドのリストを確認し、興味があるコマンドのヘルプを2.で表示する。2.は、-fullオプションを付けることで、詳細な情報が出力されるし、コマンドによってはサンプルもいくつか表示されるので、運用管理者にとってPowerShellのヘルプは日々の運用の参考になる情報の宝庫といっても過言ではない(PowerShellの使い方などについては、関連記事も参照のこと)。
ちなみに、何度も繰り返し実施する可能性があるコマンドはPowerShellのスクリプト・ファイル(拡張子ps1)化し、ライブラリに登録しておくとよい。 下画面のように、登録されたスクリプトはSCVMMの管理コンソールで表示したり、右クリックから実行したりできるようになる。
PowerShellスクリプトの実行画面
SCVMMのライブラリに表示されたPowerShellスクリプトを実行しようとしているところ。何度も繰り返し実行するような作業は、PowerShellのスクリプト・ファイル化してライブラリに登録しておけば、このように簡単に実行できるため、管理作業を省力化できる。
■ネットワーク図の表示
さて、SCVMM 2008で新しく追加された機能をもう1つ紹介しておく。それは、仮想マシンと物理/仮想ネットワークの設定を図にする機能である。
SCVMMの管理画面の上部の[ネットワーク]ボタンをクリックすると、上のような画面を表示してくれる。恐らく、サーバの仮想化が進むと同時にネットワークの仮想化も進むことだろう。そして、仮想ネットワークをどのように利用しているかを可視化する仕組みがなければ大きな混乱を招きかねない。
このネットワーク設定を表示する機能は、いまの時点では大きな意味を持っていないように思えるかもしれないが、今後仮想システムを運用していく上で世話になることもあるはずだ。
本連載では、SCVMMのインストールから設定、仮想マシンの管理について紹介してきた。これでいったん終わりとするが、SCVMMにはSystem Center Operations Manager 2007(OpsMgr)との連携によるレポート機能やリソースの最適化機能(PRO:Performance and Resource Optimization)がある。今後さらにこれらの情報についても記事を用意したいと考えている。
Copyright© Digital Advantage Corp. All Rights Reserved.