nkjmkzk.net

powered by Kazuki Nakajima

Archive for 7月, 2009

11g RAC on VM Certified !!!!

RAC on VM構成でサポートされるDatabaseに11g R1が加わりました!!

これで現時点でRAC on VMでサポートされるDatabase, OS, Oracle VMは以下の通りとなりました。
Oracle Database
  • 10.2.0.4 32bit
  • 10.2.0.4 64bit
  • 11.1.0.7 32bit (New !!!!)
  • 11.1.0.7 64bit (New !!!!)
OS:
  • OELまたはRHELの準仮想化マシン 5.1以上
Oracle VM
  • 2.1.2以上

ますます盛り上がってきています、RAC onVM。

*昨日のOracle Directセミナーもたくさんの方々にご参加いただきました。有難うございます!

without comments

Written by 中嶋 一樹

7月 29th, 2009 at 1:06 pm

Posted in Uncategorized

Tagged with ,

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台程ほしい。貸していただけないかな。

without comments

Written by 中嶋 一樹

7月 28th, 2009 at 8:44 pm

Posted in Uncategorized

Tagged with , , ,

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
この時にInitiatorに返されるTarget IQNがietの設定ファイル中にTargetで指定した値になります。そしてそのTargetにログインしたときに認識されるLUをLun 0 Path=/dev/iscsi/a-DATA1,Type=fileioというようにTargetに入れ子にして記述します。Typeの値には他にblockioも指定できます。blockioの場合はクライアントからのdisk I/OはiSCSi Targetを動かしているサーバのページキャッシュを回避するという動作になります。Lunエントリは一つ以上設定することができます。
Initiator側でnet.nkjmkzk.net.storage:aにログインするには以下のようにiscsiadmコマンドを発行します。
[root@client]# iscsiadm -m node -T net.nkjmkzk.storage:a --login

正常にietに接続できればdmesgコマンド等で論理ボリュームをどのように認識したか確認することができます。
ここまででとりあえずクライアントから使用可能な状態になります。あとは認証や細かな設定値を追加したり、というところでしょうか。

without comments

Written by 中嶋 一樹

7月 28th, 2009 at 4:47 pm

Posted in Uncategorized

Tagged with ,

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からインストールすることは決してないでしょう。

with one comment

Written by 中嶋 一樹

7月 17th, 2009 at 6:25 pm

Posted in Uncategorized

Tagged with , ,

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

リリースまで時間がかかりましたがようやく、ですね。

without comments

Written by 中嶋 一樹

7月 15th, 2009 at 12:28 am

Posted in Uncategorized

Tagged with , ,

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 Download Center

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公式サイトからのパクリです。よければこちらもどうぞ。

参考

without comments

Written by 中嶋 一樹

7月 5th, 2009 at 3:48 pm

Posted in Uncategorized

Tagged with ,

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はサポートされない

なお、デスクトップ仮想化については省略。

without comments

Written by 中嶋 一樹

7月 4th, 2009 at 2:12 pm

Posted in Uncategorized

Tagged with ,