Citrix XenServerを試してみる。

VMWare ESXiがなんか面倒な事になりそうなので、CitrixのXenServerをインストールしてFreeBSD9.0β1を試してみた。

XenServerのインストール

Citrix」のサイトから「XenServer-5.6.100-SP2-install-cd.iso」を取得してCDに焼いておく。

インストールしたマシンは

  • M/B – Gigabyte GA-MA78GPM-DS2H
  • CPU- AMD Athlon X2 7750
  • メモリ 4G

※CPUが少し変態なのはスルーで。

ちなみにキャプチャは、VMWare Player上の仮想環境に入れた物。

CDから起動するとWelcome画面が表示される。

使用するキーボードのタイプを指定する。日本語106キーボードなら「jp106」を選択。

インストールするかどうかを聞かれるので「Ok」を選択。

エンドユーザライセンスを許諾するかどうか聞かれるので「Accept EULA」を選択。

仮想環境に入れている都合でハードウェアによる仮想化支援がないと注意される。

Windowsの仮想化を目的としている場合はBIOSの設定を見直す必要がある。ハードウェアの仮想化支援未サポートの状態ではインストールは継続可能なものの、Linux以外のVMを動かす事が出来なくなるらしい。

VMを置くストレージを選択。(ESXiで言うところのデータストア)

「Enable thin provisioning~」はシン・プロビジョニングを有効にするかどうか。有効にするとVMに割り当てたHDD領域量を予め確保するのではなく、必要になったときに必要な量を確保していく方式になる。

インストール元を指定。CDから起動しているので「Local Media」を選択。

サプリメンタルパックを導入するかどうか。サプリメンタルパックは追加ドライバー等が収録されているものを指しているらしい。

今回は必要ないので「No」を選択。

インストール元のメディアをチェックするかどうか。必要ないので「Skip verification」を選択。

XenServerにアクセスする際のパスワードを入力する。

ネットワークカードの設定。

「Static configuration」を選択した後「IP Address」・「Subnet mask」・「Gateway」の情報を入力する。

ホスト名とDNSサーバの情報をセットする。

タイムゾーンの設定。日本標準時にするには「Asia」を選択後

次に表示されるメニューで「Tokyo」を選択する。

時刻合わせにNTPを使用するかどうか。

使用するNTPサーバが決まって入れば「Using NTP」を選択して必要な情報を入力。決まっていなければ「Manual time entry」を選択して、後程手入力する。

インストールを開始するかどうか。

インストールを開始するなら「Install XenServer」を選択。

インストールが開始される。

先程時刻合わせを「手動設定」としたので、インストールの途中で時刻の設定を求められる。

インストール完了。インストールメディアを取り出して再起動する。

起動画面が表示される。

XenServerの管理画面が表示されたら起動終了。

XenCenterのインストール

XenServerインストールのためにダウンロードした「XenServer-5.6.100-SP2-install-cd.iso」の中に「client_install」と言うフォルダがあり、この中にXenCenterのインストーラが同梱されている。

XenCenterの日本語版も配布されているので、必要ならCitrixのサイトから入手すれば良い。

※日本語版の方が説明などわかりやすいが、基本的にバージョンが古いケースがあるので注意。

「XenCenter.msi」をダブルクリックしてインストールを開始する。

Welcomeが表示されたら「Next」ボタンをクリック。

インストール先とインストールするユーザを設定(デフォルトでOK)して「Next」ボタンをクリック。

「Ready to install Citrix XenCenter」が表示されたら「Next」ボタンをクリック。

インストールが開始される。

「Complete the Citrix XenCenter Setup Wizard」が表示されたらインストール終了。「Finish」ボタンをクリックしてインストーラを終了させる。

XenCenterを起動。

初回起動時にマスターパスワードの設定を要求される(はず)なので、必要に応じて設定する。

※マスターパスワードを設定すると、各XenServerへ自動で接続する事が出来る。

XenClientへXenServerを登録する。

XenClientを起動すると上記のようなウィンドウが表示される。XenServerを登録するにはツールバーの「Add New Server」かXenCenterペインの「ADD a server」をクリックする。

「Add New Server」が表示されたら、追加するXenServerのIPアドレスとパスワードを入力する。ユーザネームは「root」のまま。

XenCenterにXenServerが追加されると上記のような表示になる。

XenServerのアクティベート

XenServerは無償で使用できるが、30日以内にアクティベートを行う必要があり、以後1年毎に再アクティベートを行う必要があるらしい。この辺は無償と言う事で許容すべきだろう。

XenServerのアクティベートはXenCenterの「License Manager」から行う。

License ManagerはXenServerをXenCenterに登録した直後に表示される他、メニューバーの「Tool」→「License manager」で表示する事が出来る。

License ManagerにはXenCenterに登録されているXenServerの一覧が表示されている。

一覧からアクティベートするXenServerを選択すると、ウィンドウ下部にある「Activate Free XenServer」ボタンがアクティブになるので、クリックする。

メニューが表示されたら「Request Activation Key」を選択。

XenCenterがCitrixのサイトと通信を行い、アクティベート可能であればアンケートサイト(らしい)がブラウザで表示される。

インターネットに接続されていない環境の場合は、XenCenterがキーファイルを作成するように促すので、その指示通りに作業をする事。(具体的にはキーファイルを作成後、ブラウザから指定のURLにアクセスしてキーファイルをアックロードする。)

インターネットに繋がっている場合でも稀にCitrix側が落ちている事があり、その場合もキーファイルを作成して云々と表示されるが、その時は該当サイトでキーファイルをアップしてもエラーになる可能性があるので、その場合は少し時間が経過してから再度試してみると良い。

ブラウザ上のアンケートに必要情報を入力後、「Submit」ボタンをクリックすると、アンケートサイト上で入力したメールアドレス宛にアクティベートキーが送られてくる。

送られてきたキーを適当な場所に保存して、License Managerの「Activate Free XenServer」ボタンから

「Apply Activation Key」を選択して、先程保存したアクティベートキーを読み込む。

該当するXenServerの「Expires」が1年後になっていればアクティベート完了。

仮想マシンの作成

XenServerに仮想マシンを作成するにはXenCenter左ペインからVMを作成したいXenServerを選択後、ツールバーにある「New VM」ボタンをクリックする。

「New VM」が表示されたら、仮想マシンのテンプレートを選択する。一覧にテンプレートがない場合は「Other install media」を選択する。

「Name the new virtual machine」が表示されたら、「Name」欄に仮想マシンの名称を入力する。判りやすい名称なら何でも良い。Descriptionには仮想マシンの詳細などを任意で入力する。

「Locate the operating system installation media」では、仮想マシンにインストールするOSのメディアをどこにマウントするかを指定する。ライブラリにあるISOイメージやネットワークストレージ上にあるイメージの使用も可能のようだが、今回はXenServerマシン内臓のDVDドライブを使用することとした。

「Select a home server」では仮想マシンがどのXenServerで稼動するかを指定する。ホームサーバを指定する場合は「Place the VM on this server」にチェックを入れた後、ホームサーバとなるXenServerを一覧から指定する。

複数のXenServerが存在する場合で、なおかつ共有ストレージ(iSCSI等)がある場合で「Don’t~」を選択していると、動作可能なリソースを持つ何れかのXenServer上で動作させるということが可能らしい。

但し、いずれのXenServerも同一のスペック(少なくてもCPUは同一タイプである事)を求められるらしいので、注意が必要との事。(未検証)

「Allocate processor and memory resource」では、仮想マシンに与えるCPUとメモリー量を指定する。

「Configure storage for the new VM」では仮想マシンに割り当てる仮想ディスクを設定する。「Add」ボタンをクリックすると

「Add Virtual Disk」が表示される。ここで仮想ディスク名、詳細、そして容量を指定して「Add」ボタンをクリックする。

仮想ディスクを登録すると、「Configure storage for the new VM」の一覧に追加表示される。

「Configure network on the new VM」では使用するネットワークカードを選択する。

全ての設定が終了すると仮想マシンの詳細が表示されるので確認後「Finish」ボタンをクリックすると仮想マシンが起動する。

今回は起動してもVMWare上のXenServerであるため、ハードウェアの仮想化支援未サポートで起動せずエラーとなった。

FreeBSD9.0β1 x64

実際にGigabyteなマシン上のXenServerへFreeBSD9.0β1の仮想マシンを作成してみた。

test# dmesg
Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-BETA1 #0: Thu Jul 28 17:15:31 UTC 2011
root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
WARNING: WITNESS option enabled, expect reduced performance.
CPU: AMD Athlon(tm) 7750 Dual-Core Processor (2705.84-MHz K8-class CPU)
Origin = "AuthenticAMD"  Id = 0x100f23  Family = 10  Model = 2  Stepping = 3
Features=0x781fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,MMX,FXSR,SSE,SSE2>
Features2=0x80802001<SSE3,CX16,POPCNT,HV>
AMD Features=0xe2400800<SYSCALL,MMX+,FFXSR,LM,3DNow!+,3DNow!>
AMD Features2=0x1f1<LAHF,CR8,ABM,SSE4A,MAS,Prefetch>
real memory  = 1069547520 (1020 MB)
avail memory = 1005232128 (958 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <Xen HVM>
ioapic0: Changing APIC ID to 1
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 1.1> irqs 0-47 on motherboard
kbd1 at kbdmux0
acpi0: <Xen> on motherboard
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x1f48-0x1f4b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX3 WDMA2 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc220-0xc22f at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
uhci0: <Intel 82371SB (PIIX3) USB controller> port 0xc200-0xc21f irq 23 at device 1.2 on pci0
usbus0: controller did not stop
usbus0: <Intel 82371SB (PIIX3) USB controller> on uhci0
pci0: <bridge> at device 1.3 (no driver attached)
vgapci0: <VGA-compatible display> mem 0xf0000000-0xf1ffffff,0xf3000000-0xf3000fff irq 24 at device 2.0 on pci0
pci0: <mass storage, SCSI> at device 3.0 (no driver attached)
re0: <RealTek 8139C+ 10/100BaseTX> port 0xc100-0xc1ff mem 0xf3001000-0xf30010ff irq 32 at device 4.0 on pci0
re0: Chip rev. 0x74800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rlphy0: <RealTek internal media interface> PHY 0 on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
re0: Ethernet address: fa:00:c2:9c:28:6f
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 62500000 Hz quality 950
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: does not respond
device_attach: fdc0 attach returned 6
uart0: <Non-standard ns8250 class UART with FIFOs> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
ppc0: <Parallel port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <QEMU HARDDISK 0.10.2> ATA-7 device
ada0: 16.700MB/s transfers (WDMA2, PIO 8192bytes)
ada0: 30720MB (62914560 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad0
cd0 at ata1 bus 0 scbus1 target 1 lun 0
cd0: <QEMU QEMU DVD-ROM 0.10> Removable CD-ROM SCSI-0 device
cd0: 16.700MB/s transfers (WDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
Timecounter "TSC" frequency 2705840442 Hz quality 800
WARNING: WITNESS option enabled, expect reduced performance.
Root mount waiting for: usbus0
uhub0: 2 ports with 2 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <QEMU 0.10.2> at usbus0
ums0: <Endpoint1 Interrupt Pipe> on usbus0
ums0: 3 buttons and [Z] coordinates ID=0
Trying to mount root from ufs:/dev/ada0p2 [rw]...
lock order reversal:
1st 0xffffff803cf8b238 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:2658
2nd 0xfffffe0002638800 dirhash (dirhash) @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x807
_sx_xlock() at _sx_xlock+0x55
ufsdirhash_acquire() at ufsdirhash_acquire+0x33
ufsdirhash_add() at ufsdirhash_add+0x19
ufs_direnter() at ufs_direnter+0x8c9
ufs_makeinode() at ufs_makeinode+0x25b
VOP_CREATE_APV() at VOP_CREATE_APV+0x8d
vn_open_cred() at vn_open_cred+0x46a
kern_openat() at kern_openat+0x17f
syscallenter() at syscallenter+0x1aa
syscall() at syscall+0x4c
Xfast_syscall() at Xfast_syscall+0xdd
--- syscall (5, FreeBSD ELF64, open), rip = 0x80112de2c, rsp = 0x7fffff1f8ab8, rbp = 0x180 ---
lock order reversal:
1st 0xfffffe0002fc7098 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2134
2nd 0xffffff803d0c3e58 bufwait (bufwait) @ /usr/src/sys/ufs/ffs/ffs_vnops.c:261
3rd 0xfffffe002d11c638 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2134
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
kdb_backtrace() at kdb_backtrace+0x37
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x807
__lockmgr_args() at __lockmgr_args+0xd42
ffs_lock() at ffs_lock+0x8c
VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b
_vn_lock() at _vn_lock+0x47
vget() at vget+0x7b
vfs_hash_get() at vfs_hash_get+0xd5
ffs_vgetf() at ffs_vgetf+0x48
softdep_sync_buf() at softdep_sync_buf+0x547
ffs_syncvnode() at ffs_syncvnode+0x299
ffs_truncate() at ffs_truncate+0x463
ufs_direnter() at ufs_direnter+0x6ff
ufs_makeinode() at ufs_makeinode+0x25b
VOP_CREATE_APV() at VOP_CREATE_APV+0x8d
vn_open_cred() at vn_open_cred+0x46a
kern_openat() at kern_openat+0x17f
syscallenter() at syscallenter+0x1aa
syscall() at syscall+0x4c
Xfast_syscall() at Xfast_syscall+0xdd
--- syscall (5, FreeBSD ELF64, open), rip = 0x80112de2c, rsp = 0x7fffff1f8ab8, rbp = 0x180 ---

上記は仮想マシン上のFreeBSD9.0β1で取ったdmesgの内容。

連続運転は確認していないけれど、特に問題なくインストールできたし稼動もした。

速度などについてはちょっと面白い結果が出たので、別エントリーに纏める。


コメント

タイトルとURLをコピーしました