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の内容。
連続運転は確認していないけれど、特に問題なくインストールできたし稼動もした。
速度などについてはちょっと面白い結果が出たので、別エントリーに纏める。
コメント