1. はじめに
Bluemix Infrastructure(旧SoftLayer)などのクラウドでは、仮想サーバーのハイパーバイザーとしてXenServerが利用されています。Guest OSから現在利用されているXenServerのバージョンを判別するのが本記事の目的です。
2. XenServerとXenのバージョンの関係
XenServerはXenをベースに作っており、別々にバージョン管理されています。
XenServer = 「Xen(オープンソース) + CiTRIX社による管理ツール(XenCenterなど)や管理機能や商用サポート」
みたいな関係にあります。「XenServerはXenとは違うものですか?」という記事が参考になります。
下記リンク先の記事から判断すると、以下の組み合わせからなるようです。
https://en.wikipedia.org/wiki/Xen
https://docs.citrix.com/en-us/legacy-archive/citrix-hypervisor.html
https://support.citrix.com/article/CTX122443
https://www.citrix.co.jp/downloads/xenserver/
https://www.citrix.co.jp/support/product-lifecycle/product-matrix.html
XenServer | Xen | リリース日 |
---|---|---|
XenServer 6.1 | 4.1.3 | 2012/09/28 |
XenServer 6.2 | 4.1.5 | 2013/06/18(SP1は2013/12/16) |
XenServer 6.5 | 4.4.1 | 2015/01/13(SP1は2015/05/12) |
XenServer 7.0 | 4.6.1 | 2016/05/24 |
XenServer 7.1(LTSR) | 4.7.1 | 2017/02/23 |
XenServer 7.4 | 4.7.4 | 2018/02/27 |
XenServer 7.5 | 4.7.x | 2018/05/30 |
XenServer 7.6 | 4.7.6 | 2018/09/06 |
各バージョンでは目玉機能があるので、例えば「新たに無停止でセキュリティーパッチを適用する機能を提供するために、サーバーの再起動を要します」という説明がサポートからあれば「ははぁー、、、今のバージョンはxxxなので、恐らくこれはLive Patching機能を追加しようとしてXenServer 7.1以降にバージョンアップするのだな?」という想像が付きます。
[2017/7/20追記]
なお、XenServer 7.1はLong Term Service Release(LTSR: 長期サービスリリース)として5年間の標準サポートと更に追加契約で5年間のオプションの拡張サポートを受けることによって、最大10年間のサポートを受けられる長期サービス用リリースです。次のLTSR対象のバージョンまでは新機能は追加されませんが、代わりにバグ修正やセキュリティー対応を定期的に行い長期利用可能な安定バージョンです。詳細はこちらをご参照ください。
3. 判別方法(Linux)
# # dmesg |grep -i xen
Xen: 0000000000000000 - 00000000000a0000 (usable)
Xen: 00000000000a0000 - 0000000000100000 (reserved)
Xen: 0000000000100000 - 0000000040000000 (usable)
#1 [0005ef6000 - 0005f29000] XEN PAGETABLES ==> [0005ef6000 - 0005f29000]
#5 [0005cf3000 - 0005ef6000] XEN START INFO ==> [0005cf3000 - 0005ef6000]
Booting paravirtualized kernel on Xen
Xen version: 4.1.5 (preserve-AD)
Xen: using vcpu_info placement
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
installing Xen timer for CPU 1
xen_balloon: Initialising balloon driver.
Switching to clocksource xen
XENBUS: Device with no driver: device/vbd/51712
XENBUS: Device with no driver: device/vbd/51728
XENBUS: Device with no driver: device/vif/0
XENBUS: Device with no driver: device/vif/1
Initialising Xen virtual ethernet driver.
# rpm -qa|grep xe-guest
xe-guest-utilities-6.0.0-743.x86_64
xe-guest-utilities-xenstore-6.0.0-743.x86_64
この場合だと、Xenのバージョンが4.1.5なので、XenServer 6.2を利用しています。また、Guest OSのXenServer Toolは6.0です。
# dmesg | grep -i xen
[ 0.000000] DMI: Xen HVM domU, BIOS 4.6.1-xs129782 12/15/2016
[ 0.000000] Hypervisor detected: Xen HVM
[ 0.000000] Xen version 4.6.
[ 0.000000] Xen Platform PCI: I/O protocol version 1
[ 0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[ 0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[ 0.000000] ACPI: RSDP 00000000000ea020 00024 (v02 Xen)
[ 0.000000] ACPI: XSDT 00000000fc00cf40 00044 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.000000] ACPI: FACP 00000000fc00cc80 000F4 (v04 Xen HVM 00000000 HVML 00000000)
[ 0.000000] ACPI: DSDT 00000000fc0042a0 08956 (v02 Xen HVM 00000000 INTL 20150619)
[ 0.000000] ACPI: APIC 00000000fc00cd80 000D8 (v02 Xen HVM 00000000 HVML 00000000)
[ 0.000000] ACPI: HPET 00000000fc00ced0 00038 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.000000] ACPI: WAET 00000000fc00cf10 00028 (v01 Xen HVM 00000000 HVML 00000000)
[ 0.000000] Booting paravirtualized kernel on Xen HVM
[ 0.000000] xen:events: Xen HVM callback vector for event delivery is enabled
[ 0.172014] Xen: using vcpuop timer interface
[ 0.172021] installing Xen timer for CPU 0
[ 0.316063] xen:balloon: Initialising balloon driver
[ 0.318024] xen_balloon: Initialising balloon driver
[ 0.339029] Switched to clocksource xen
[ 0.361778] xen: --> pirq=16 -> irq=8 (gsi=8)
[ 0.361815] xen: --> pirq=17 -> irq=12 (gsi=12)
[ 0.361841] xen: --> pirq=18 -> irq=1 (gsi=1)
[ 0.361866] xen: --> pirq=19 -> irq=6 (gsi=6)
[ 0.361905] xen: --> pirq=20 -> irq=4 (gsi=4)
[ 0.361943] xen: --> pirq=21 -> irq=7 (gsi=7)
[ 0.412997] xen: --> pirq=22 -> irq=23 (gsi=23)
[ 0.829607] xen: --> pirq=23 -> irq=30 (gsi=30)
[ 0.829683] xen:grant_table: Grant tables using version 1 layout
[ 1.041312] xenbus_probe_frontend: Device with no driver: device/vbd/832
[ 1.043818] xenbus_probe_frontend: Device with no driver: device/vbd/768
[ 1.046305] xenbus_probe_frontend: Device with no driver: device/vbd/5696
[ 1.048744] xenbus_probe_frontend: Device with no driver: device/vif/0
[ 1.095152] xenbus_probe_frontend: Device with no driver: device/vif/1
[ 1.116039] systemd[1]: Detected virtualization xen.
[ 1.780242] xen_netfront: Initialising Xen virtual ethernet driver
[ 1.793978] vbd vbd-5696: 19 xenbus_dev_probe on device/vbd/5696
[ 1.875414] xen: --> pirq=24 -> irq=24 (gsi=24)
# rpm -qa|grep "xe-guest"
xe-guest-utilities-6.5.0-1393.x86_64
xe-guest-utilities-xenstore-6.5.0-1393.x86_64
この場合だと、Xenのバージョンが4.6.1なので、XenServer 7.0を利用しています。また、Guest OSのXenServer Toolは6.5です。
# dmesg | grep -i xen
Xen: 0000000000000000 - 00000000000a0000 (usable)
Xen: 00000000000a0000 - 0000000000100000 (reserved)
Xen: 0000000000100000 - 0000000040000000 (usable)
#1 [0005ef5000 - 0005f28000] XEN PAGETABLES ==> [0005ef5000 - 0005f28000]
#5 [0005cf2000 - 0005ef5000] XEN START INFO ==> [0005cf2000 - 0005ef5000]
Booting paravirtualized kernel on Xen
Xen version: 4.7.1-1.3 (preserve-AD)
Xen: using vcpu_info placement
Xen: using vcpuop timer interface
installing Xen timer for CPU 0
installing Xen timer for CPU 1
xen_balloon: Initialising balloon driver.
Switching to clocksource xen
XENBUS: Device with no driver: device/vbd/51728
XENBUS: Device with no driver: device/vbd/51712
XENBUS: Device with no driver: device/vif/0
XENBUS: Device with no driver: device/vif/1
Initialising Xen virtual ethernet driver.
# rpm -qa|grep "xe-guest"
xe-guest-utilities-6.0.0-743.x86_64
xe-guest-utilities-xenstore-6.0.0-743.x86_64
この場合だと、Xenのバージョンが4.7.1なので、XenServer 7.1を利用しています。また、Guest OSのXenServer Toolは6.0です。
4. 判別方法(Windows)
Windowsではmsinfo32
コマンドでシステム情報を表示することが可能です。
こちらはWindows2008でのキャプチャー画像ですが、Xenのバージョンが4.1.5であることから、XenServer 6.2が利用されています。
こちらはWindows2016でのキャプチャー画像ですが、Xenのバージョンが4.6.1であることから、XenServer 7.0が利用されています。