Archive for 7月, 2009
11g RAC on VM Certified !!!!
RAC on VM構成でサポートされるDatabaseに11g R1が加わりました!!
- 10.2.0.4 32bit
- 10.2.0.4 64bit
- 11.1.0.7 32bit (New !!!!)
- 11.1.0.7 64bit (New !!!!)
- OELまたはRHELの準仮想化マシン 5.1以上
- 2.1.2以上
–
ますます盛り上がってきています、RAC onVM。
*昨日のOracle Directセミナーもたくさんの方々にご参加いただきました。有難うございます!
HPのiSCSIストレージ新製品LeftHand P4000シリーズがよさげ
http://www.atmarkit.co.jp/news/200907/27/lefthand.html
好みな感じ。
LeftHand P4000 SANは米HPが2008年に買収した米Lefthand Networksの製品 – @ITより -
とのこと。日本にはストレージのベンチャーなんてないので不思議な感覚。EqualLogicとかもそうだし海外はストレージ製品のベンチャー多いのかな。
さて、LeftHandの気になるのは以下のポイント。
- EqualLogicに似た考え方
- iSCSIのリダイレクトを使うのではなく、直接ターゲットのIPを特定できる
- Snapshotに事前容量割り当てが必要ない
- 10GbEサポート
- ちょうどいい価格帯(500〜1000)
2台程ほしい。貸していただけないかな。
iSCSI Enterprise Targetを使ってLinuxをiSCSI Storageにしてしまう
iet(iSCSI Enterprise Target)はLinuxマシンをiSCSIターゲット、つまりiSCSI Storageにすることができるオープンソースソフトウェアです。カーネルモジュールと管理ツールで構成されています。それでは早速インストールしましょう。
まずはソースを入手します。
http://sourceforge.net/projects/iscsitarget/files/
現時点での最新版は0.4.17です。今回はこのバージョンで話を進めます。ダウンロードしたら展開してコンパイルします。
[root@storage]# tar xvfz iscsitarget-0.4.17.tar.gz [root@storage]# cd iscsitarget-0..4.17/ [root@storage]# make [root@storage]# make install
という感じで基本的には猫でもできる系ですが、いくつかの開発パッケージが入っている必要があります。openssl-develとかkernel-xen-develとか(←準仮想化マシンを使っている場合)。もし怒られた場合はup2date kernel-xen-devel等としてインストールします。
これでもうインストールは完了です。次に設定に入ります。設定もシンプルで/etc/ietd.confにまとめられています。この設定ファイルを編集します。
Target net.nkjmkzk.storage:a Lun 0 Path=/dev/iscsi/a-DATA1,Type=fileio Lun 1 Path=/dev/iscsi/a-FRA1,Type=fileio MaxConnections 2 Target net.nkjmkzk.storage:b Lun 0 Path=/dev/iscsi/b-DATA1,Type=fileio Lun 1 Path=/dev/iscsi/b-FRA1,Type=fileio MaxConnections 2
設定ファイルを編集したらiscsi-targetデーモンを起動します。
[root@storage]# service iscsi-target start
以後設定ファイルの編集後はservice iscsi-target restartにてデーモンを再起動することで設定変更を反映することができます。上記設定ファイルの意味は次の通りです。
まずTargetでTarget IQNを設定します。Target IQNはいわばiSCSIにおける宛先アドレスです。Initiator(iSCSIにおける接続元)はまず以下のようにietを動かしているサーバのIPアドレスを指定してスキャンし、そのietサーバ上のTarget IQNを調べます。そして見つかったTargetを接続先として登録します。
[root@client]# iscsiadm -m discovery -t sendtargets -p storage.nkjmkzk.net 192.168.0.121:3260,1 net.nkjmkzk.storage:a 192.168.0.122:3260,1 net.nkjmkzk.storage:b
[root@client]# iscsiadm -m node -T net.nkjmkzk.storage:a --login
正常にietに接続できればdmesgコマンド等で論理ボリュームをどのように認識したか確認することができます。
ここまででとりあえずクライアントから使用可能な状態になります。あとは認証や細かな設定値を追加したり、というところでしょうか。
Enterprise Manager Grid ControlをVMテンプレートで構築する
Enterprise Manager Grid Control(EMGC)のリリース10.2.0.5からVM Managerの機能をEMGCに組み込むことができるようになりました(VM Management Packが該当するパックです)。これでEMGCからデータベースやその他アプリケーションだけでなく、VM環境も一元的に管理できるようになるというまさに統合管理の鬼みたいな感じです。
そしてこのEMGCがVMテンプレートとして提供されています。最近のOracleはもはや何でもテンプレートです。このテンプレートを使うことでEMGCを使ったことがない人でも何も調べずにEMGCをセットアップすることができます。また、今回はクリーンインストールしたVM Serverが一台ある環境を想定しています。このVM Serverは他のVM Manager等に登録されていないという前提です。
*EMGCのVM管理機能を有効にする場合はVM Managerとの併用はできませんのでご注意を。
それではその手順を紹介します。EMGCやVM Managerのテンプレートは他の一般的なテンプレートとは少し展開手順が異なります。それは、通常はテンプレートを展開するためのGUI(VM ManagerもしくはEMGC)が存在するのに対し、EMGCやVM Managerをテンプレートから作成するときにはその操作をするためのGUIがまだないからです。なのでEMGCやVM Managerはコマンドラインインターフェースを少し使ってセットアップを行います。
まずはE-DeliveryからEMGCのVMテンプレートをダウンロードします。
http://edelivery.oracle.com/linux/
Part NumberがB54399-01となっているものがそうです。他にもAgentのテンプレート等もあってちょっとまぎらわしいのでご注意を。以下8つのファイルをダウンロードすることになります。*これらのファイルは単に容量が大きいから分割されています。ちょっと面倒ですが8つ全部ダウンロードしてください。
これらのファイルは以下のようにVM Serverの/OVS/running_pool/以下に保存します。通常テンプレートはseed_pool以下に保存しますが、VM ManagerテンプレートやこのEMGCテンプレートの場合だけ例外となります。(seed_poolに入れてもそれを認識するManagerがまだ存在しないという前提だからです)
/OVS/running_pool/V16140-01.zip /OVS/running_pool/V16141-01.zip /OVS/running_pool/V16142-01.zip /OVS/running_pool/V16143-01.zip /OVS/running_pool/V16144-01.zip /OVS/running_pool/V16145-01.zip /OVS/running_pool/V16146-01.zip /OVS/running_pool/V16147-01.zip
次に全てのファイルを解凍します。
[root@vmserver1]# cd /OVS/running_pool [root@vmserver1]# for i in 0 1 2 3 4 5 6 7 > do > unzip V1614${i}-01.zip > done
すると以下のようにファイルが現れます。
EM_template_db11g_v1.tgz1of8 EM_template_db11g_v1.tgz2of8 EM_template_db11g_v1.tgz3of8 EM_template_db11g_v1.tgz4of8 EM_template_db11g_v1.tgz5of8 EM_template_db11g_v1.tgz6of8 EM_template_db11g_v1.tgz7of8 EM_template_db11g_v1.tgz8of8
これらのファイルは分割されたtgzファイルです。これらを一つに結合しつつ展開します。
[root@vmserver1]# cat EM_template_db11g_v1.tgz?of8 | tar -xvzf - EM_template/ EM_template/system.img EM_template/oms10g.img EM_template/vm.cfg
展開が終了したら設定ファイルをちょこっと編集します。vm.cfgに仮想ディスクのパスを記述している行がありますが、その行のseed_poolとなっているところをrunning_poolに変更します。2つありますので2つとも変更します。そしてmacアドレスを設定します。これは以下のコマンドを実行することで入手可能です。
[root@vmserver1]# PYTHONPATH=/opt/ovs-agent-2.2 python -c "from OVSCommons import randomMAC; print randomMAC()" 00:16:3e:77:72:62
vm.cfgの設定例です。
bootloader = '/usr/bin/pygrub' disk = ['file:/OVS/running_pool/EM_template/system.img,hda,w', 'file:/OVS/running_pool/EM_template/oms10g.img,hdb,w', ] memory = '1024' #検証機のメモリが少ないときはセコい値にしておきます name = 'OMS10g_DB11g' on_crash = 'restart' on_reboot = 'restart' vcpus = 1 vfb = ['type=vnc,vncunused=1,vnclisten=0.0.0.0'] vif = ['mac=00:16:3e:5c:f3:39'] vif_other_config = []
そしてVMを起動します。
[root@vmserver1]# xm create EM_template/vm.cfg Using config file "EM_template/vm.cfg". Started domain OMS10g_DB11g [root@vmserver1 EM_template]#
起動したらVNCでコンソールに接続できます。宛先はVM ServerのIPアドレス:5900(ポート)でOKです。接続するとLinuxが起動してきているのが確認できると思います。そしてある程度まで起動するとVMテンプレートではおなじみの初期設定スクリプトが起動し、対話型のセッションが始まります。ネットワーク情報やデータベースのパスワード等必要最小限の項目を質問に沿って答えれば初期設定は完了し、自動的にEMGCのセットアップが完了します。セットアップが完了すればEMGCにブラウザでアクセスすればログイン画面が表示されます。デフォルトだとURLは以下のようになります。
http://EMGC_IP:4889/em
これまでEMGC 10.2.0.5を構築しようと思うと、サーバハードウェアを確保し、OSをインストールし、OSをソフトウェア要件にあわせてセットアップし、EMGCのインストールファイルをアップロードし、OUIを起動してインストール。その後にPSR(パッチセットリリース)を適用して10.2.0.5へアップデート、という長い道のりでした。
VMテンプレートを利用するとこれが1時間以内に完了します。この先僕がEMGCをOUIからインストールすることは決してないでしょう。
Windows PVドライバ リリース!!
とうとうWindows用PVドライバがリリースされました! いつもの様にE-Deliveryから無償でダウンロードできます。
Select a Product Pack: で「Oracle VM」を選択し、「Oracle VM 2.1.5 Media Pack」を選択してください。するとPVドライバが一覧の下の方にリストされています。
Paravirtualized Drivers for Windows Guests (XP/2003/2008/Vista) 1.0.8 – 32bit/64bit
リリースまで時間がかかりましたがようやく、ですね。
Sun xVMで仮想化環境を構築する – ①インストール
*Sun関係のエントリが続いていますが特に深い意味はありません(本当に)。単なる個人的な趣味です。念のため。
xVMはSunが提供するXenベースの仮想化環境です。現在xVMを使用するには以下のステップがよさそうです。
- まずOpenSolarisを I/Aサーバにインストール
- インストールしたOpenSolarisにxVM関連モジュールをインストール
- xVM関連モジュールに含まれるXenカーネル(xVMカーネル)から起動し直す
- xVM関連サービスを有効化する
それでは実際にやってみましょう。
まずは現時点で最新のOpenSolaris 2009.06をダウンロードしてインストールします。OpenSolarisのインストールはエラク簡単で恐らく猫でもできると思われるので詳細は省略。Live CDで起動して、その後Install OpenSolarisアイコンを叩いてインストールウィザード起動、って感じです。
OpenSolaris 2009.06 – LiveCD (x86) (クリックするとダウンロードが始まります)
OSのセットアップが終わったら早速xVMのインストールに入りましょう。作業は面倒なのですべてrootで行う前提です。
まずxVM専用の起動環境を作ります。これは感覚的にはデュアルブートにする感じですが作業はシンプルで、もう一つOSを入れ直したりする必要はありません。beadm (Boot Environment Admin) コマンドで作成します。
root@opensolaris:# beadm create -a -d xvm xvm
*-aは作成するBEをすぐに有効化するオプション
*-dは作成するBEの説明を指定するオプション
そしてxVM関連パッケージをインストールします。
root@opensolaris:# beadm mount xvm /tmp/xvm-be root@opensolaris:# pkg -R /tmp/xvm-be install xvm-gui root@opensolaris:# beadm umount xvm
*-R [DIRECTORY] はDIRECTORYをルートとして指定するパッケージをインストールするオプション
現在のgrub設定ファイルからxVM環境起動用のエントリを作成します。
root@opensolaris:# awk ' /^title/ { xvm=0; } /^title.xvm$/ { xvm=1; } /^(splashimage|foreground|background)/ { if (xvm == 1) next } /^kernel\$/ { if (xvm == 1) { print("kernel\$ /boot/\$ISADIR/xen.gz") sub("^kernel\\$", "module$") gsub("console=graphics", "console=text") gsub("i86pc", "i86xpv") $2=$2 " " $2 } } { print }' /rpool/boot/grub/menu.lst >/var/tmp/menu.lst.xvm
作成されたエントリを確認し、本チャンのファイルを上書きします。
root@opensolaris:# mv /var/tmp/menu.lst.xvm /rpool/boot/grub/menu.lst
リブートして新しいxVMエントリで起動し直します。
root@opensolaris:# rebooot
OSが起動したらログインし、xVM関連のサービスを有効にします。
root@opensolaris:# svcadm enable -r xvm/virtd; svcadm enable -r xvm/domains
*-rは依存するサービスを芋づる式に有効化するオプション
これでxend等が起動します。xm listとかするとおなじみの出力をみることができます。
この手順はほぼほぼ以下のOpenSolaris公式サイトからのパクリです。よければこちらもどうぞ。
参考
Sunが提供している仮想化技術まとめ
Logical Domains (Ldoms)
- SPARCプラットフォームの”CoolThreads Servers”で利用できるハードウェア仮想化技術 参考:Ldomsのポイント
- サポートされるゲストOS
- Solaris
- 理論的にはLinuxやBSDも動きそうだけどサポートされてるのかは不明
- Oracle Database, RACがサポートされる
Solaris Container
- SolarisのOSパーティション技術。ハードウェアを仮想化するのではなく、OS空間を区切る技術。
- サポートされるゲストOS
- Solaris
- OpenSolaris
- Oracle RACはサポートされない
xVM Server
- Xenベースのハードウェア仮想化技術(ソフトウェアでハードウェア仮想化するの意)
- サポートされるゲストOS
- Solaris 10 5/08以降
- OpenSolaris 2008.05以降
- RHEL 4.6, 5.2
- Windows XP, 2003, 2008
- Oracle RACはサポートされない
なお、デスクトップ仮想化については省略。