vSphereがアレなことになってしまってから、いろいろ面倒なことになっています。
そんな中、HPEからHPE VM Essentialsなる仮想基盤を出すという話が・・・
2025/01/14にHPE VM Essentials trial というページが公開されているというのに気がついて、ダウンロードしてみました。
ただ、2025/02/04時点でもドキュメントの理解ができてないので、いまいち設定がよくわかりません・・・
まだ世間に設定してみた情報が少ないので、問題になった点とかのメモもかねて公開していきます。
2025/02/05 17:00時点の感想
v8.0.2.1を使用しての感想
・ドキュメントが足らなすぎる
・処理中なのかどうかもう少し表現してほしい
・仮想DVDドライブのメディア入れ替えが動作しないのと初期設定時以外に設定追加できないのなんとかしてほしい
・iSCSIストレージの追加ってどこからやるの?
・ローカルストレージの追加ってどこからやるの?
・ドキュメント上 /var/morpheus ディレクトリで容量使うってどこにも書いてない気がするんですが!!!
・作成した仮想マシンBIOS設定だったんだけど、UEFIへの切り替えはどこでやるの?
・Secure Boot / vTPM への対応はするの?
配布パッケージについて
HPE VM Essentials trial というページにて公開されています。
登録後は My HPE Software Center から左側の「Software」を開き、Searchキーワードに「HPE VME」と入力して検索すると、Search Resultsにその時点での最新版が表示されます。

2024/01/14時点では、 HPE_VM_Essentials_SW_image_v8.0.1.1_S5Q83-11001.iso の中に、Ubuntu 22.04上へインストールするためのパッケージファイル(hpe-vm_1.0.2-1_amd64.deb)と、HPE Manager用の仮想ディスクイメージファイル(hpe-vme-8.0.1-1.qcow2.gz)が入っていました。
その後、2025/01/29付けで HPE_VM_Essentials_SW_image_8.0.2_1_S5Q83-11003.iso に差し替わり、こちらはパッケージファイルはそのまま(hpe-vm_1.0.2-1_amd64.deb)と、HPE Manager用の仮想ディスクイメージファイルが更新されて hpe-vme-8.0.2-1.qcow2.gz になっていました。
現状ではアップデートされたかどうかのお知らせが出ていないようなので、自分で確認する必要があるようです。
HPE VM Essentialsの構成について
HPE VM Essentialsのドキュメントページに下記の絵があります。

2025年1月末時点では、Ubuntu 22.04ベースのサーバ上に、HPE VM Consoleパッケージ(hpe-vm_1.0.2-1_amd64.deb)を追加する。
追加したサーバのうち1台の上に、中央管理サーバとなるHPE VME Manager仮想マシンを構築して起動する、というものになる。
ベースとなるUbuntu 22.04について
Ubuntu 22.04インストール時に最小インストールで実施してみたところ、hpe-vm_1.0.2-1_amd64.deb パッケージインストール時に足らないパッケージを全部持ってきてるようだったので、それで大丈夫だろう、と思って設定していたのですが、HPE VME Manager仮想マシンの構築で失敗するという問題が発生しました。
原因が半月以上わからないままだったのですが、ふと思いついてUbuntuの再インストール時に最小インストール “Ubuntu Server (minimized)” をやめたらすんなりと成功するいう・・・
Ubuntuインストール時のパーテーション構成について
ドキュメント上、特に記載がないが、動作をみたところ、/var/morpheus/kvm/ 以下にデフォルトのデータストア(仮想マシン格納場所)が作成されていた
このため、 /var/morpheus は別のパーテーションとして容量を確保した方がよいかと思われる。
ネットワーク設定について
とりあえず、普通に固定IPアドレスを割り当てたネットワークインタフェースが1つあれば、仮想マシンを動かす設定まで作れる。
ポイント的なものでいうと
・Ubuntu 22.04インストール時に使用するネットワークインタフェースに固定IPを割り当てる
・上記で使ったネットワークインタフェース名(たとえばeno5)は HPE VM Managerインストール時に何回か入力することになる
・Compute VLANを別に用意しなくても問題なく、管理用と同じで動作させることはできる
仮想環境で使用するネットワークについては、open vswitchを利用したものが作成される。
インストール直後は「default」だけだが、HPE VM Managerの初期セットアップとサーバの登録が終わると「Management」と「Compute」という設定ができている。(virsh net-listで確認できる)
hpe-vmパッケージインストール
Ubuntu 22.04 Serverをインストールした後、ISOイメージの中にある hpe-vmのdebパッケージをインストールすることで、HPE VM Essentailsで使用するhypervisor用サーバとなる。
「sudo apt install -f hpe-vm_1.0.2-1_amd64.deb」というふうに実行すると、必要なUbuntuパッケージとともにインストールされる。
ただ、パッケージインストール後、一度OS再起動した方が良さそうな気がします。
インストール直後の virsh net-list –all実行結果
vmadmin@hpevm:~$ virsh net-list --all
Name State Autostart Persistent
----------------------------------------
vmadmin@hpevm:~$
再起動後の実行結果
vmadmin@hpevm:~$ virsh net-list --all
Name State Autostart Persistent
--------------------------------------------
default active yes yes
vmadmin@hpevm:~$
HPE VME Manager仮想マシンのセットアップについて
hpe-vm パッケージをインストールすると、「hpe-vm」コマンドが実行できるようになります。
「sudo hpe-vm」で起動すると以下のような画面となります。

最初は「Keyboard Layout / TimeZone」でキーボードとタイムゾーンを設定します。

コマンドで「sudo timedatectl set-timezone Asia/Tokyo」でもよい。
VC Keymapを「sudo localectl set-keymap jp106」で設定しようかと思ったのですが、そちらはパッケージが足らないらしくエラーになりました(UIから選択すると自動的にインストールされる)
管理はHPE VME Manager仮想マシン経由で行うため、環境内に1台だけインストールを行う。
HPE VME Manager仮想マシンのインストールはhpe-vmの「Install Morpheus」から実施する。

以下のような形でセットアップパラメータを指定する

IP Address: HPE VME Manager仮想マシンのIPアドレス
Netmask, Gateway, DNS Serverは普通に設定
Appliance URLは、セットアップ完了後、HPE VME Manager仮想マシンの管理Webにアクセスする際のURLを指定する。https://ホスト名.ドメイン名 というようなDNSサーバで解決できる名前を指定することを推奨している模様。IPアドレス指定でも大丈夫だった。
Hostname はHPE VME Manager仮想マシンのホスト名
Admin User / Admin Password はHPE VME Manager仮想マシンにsshでログインする場合のユーザ情報
Select VM Sizeは「Small」「Medium」「Large」の3種類から選ぶが、現状のドキュメントでは仮想マシンスペックの違いしかかかれておらず、管理対象台数などがどう変わるかについては不明。
Host Configration Optionsの Management Interface には、ホストサーバで、管理用のIPアドレスがついているインタフェースを選んだ
インストールを開始すると、93%で一度長時間止まる。

これは初回起動にとても時間がかかるためで10分ちょい放置すると、サービスが起動したというウィンドウが表示される。
起動が終わる前に管理URLにアクセスすると以下のような表示が出る。(最初は ポート80しかあいてないが、そのうちポート443もアクセスできるようになる)

完了すると「Morpheus VM Installed」という表示が出る。(下記キャプチャはAppliance URLを IPアドレスで設定した場合のキャプチャ)

サービスの起動が完了したあとにAppliance URLで指定したURLにブラウザからアクセスすると、下記のようなログイン画面が表示される。

階層構造について
ドキュメントで解説している箇所がよくわからないが、以下のツリー構成になっているようだ。
テナント名
└グループ名
└クラウド名
└クラスター名
├ホスト
├VM(仮想マシン)
├ネットワーク
├ストレージ
└仮想イメージ
あと、上記とは直接関係なく「ラベル名」という区別のための識別符をつけることもできる。
テナント名: 初回ログイン時にマスターテナント名として指定
v8.0.2.1時点ではテナントの管理URLっぽいのにアクセスするとエラーになるので、これからなんか実装していくっぽい

グループ名:拠点などでわけることを想定していると思われるもの
クラウド名:「HPE VM Essentials環境」と「vSphere環境」の2種類を登録できる。
クラスター名:vSphereのクラスターとほぼ同じ意味合いでのクラスター。この下に実際の物理Ubuntuサーバ with HPE VMを登録する
初回ログイン時の設定項目について
初回ログイン時に設定が求められる項目として以下がある
マスターテナント名: 適当になんか名前を設定

マスターユーザーの作成で、主管理ユーザを作成。メールアドレスも必須

初期セットアップは、Install Morpheus で入力したものを指定

最後にライセンス登録。評価版の時はなにも入力しない

以上で初期セットアップ終了
HPE VM Managerセットアップ後のvirsh net-list –allを確認すると、設定が変わっている。
vmadmin@hpevm:~$ virsh net-list --all
Name State Autostart Persistent
-----------------------------------------------
default active yes yes
Management active yes yes
vmadmin@hpevm:~$
サーバ登録
初期設定が終わったらサーバ登録を行う。
「インフラストラクチャ」から「グループ」作成→「クラウド作成」
クラウド作成は多少時間がかかるので、ステータスが「INITIALIZING」から「OK」に変わるのを確認すること(自動更新をしないようなので再読み込みで確認)

で、作成されたこのクラウドのリンクをクリックして、「クラスター」を開く

クラスターの追加ウィザードの中で重要なポイントは以下の構成オプションのところ

hpe-vmパッケージをインストールしたUbuntuサーバをSSHホストとして指定
Management Net Interface、Compute Net Interface、Overlay net Interfaceに使用するネットワークインタフェース名を入れる。全部同じインタフェースを使用しても動作した。
(Overlay net Interfaceを空欄で進めたら指定していないはずの eno0デバイスがないというエラーが出たので、指定しないとダメっぽい)
タグVLANを使う場合はCompute Net Interfaceに使うインタフェース名と、COMPUTE VLANSにタグVLANの値を列挙する。
レイアウトは「HPE VM 1.1 Cluster on Existing Ubuntu 22.04」と「HPE VM 1.1 HCI Ceph Cluster on Existing Ubuntu 22.04」の選択肢になっているのだが、HCI構成の場合の要求要件がわからないのでまだ手を付けていない

あと「CPU Model」のところで、そのクラスタで使用する仮想マシンに許可するCPU世代を指定できる。(VMware EVCみたいな感じか)

これで完了をクリックして、少し待つと、クラスターに登録される

登録した後は、情報同期が行われているようなので、10分ぐらい放置する
登録直後は、各サーバの詳細を見ると、下記のようにストレージ情報がありません、と出る。

しばらく待つとそのサーバのローカルディスクが表示される

他のタブでも同様の状態となっているのだが、情報更新中であることを示すアイコンがあるのかどうか現状不明なので、とりあえず再読み込みしてみるしかない模様
ある程度処理が進んでいると「virsh net-list」の実行結果が下記のように「Management」と「Compute」になっていて、最初合ったdefaultが消えている。
vmadmin@hpevm:~$ virsh net-list --all
Name State Autostart Persistent
-----------------------------------------------
Compute active yes yes
Management active yes yes
vmadmin@hpevm:~$
UEFI Secure BootとTPMについて
現状、以下の機能は実装されていない模様
・UEFI/BIOSの明示的な切り替え
・UEFI時のSecure Boot 有効/無効 切り替え
・TPMの有効化
このため、標準設定のWindows 11をインストールすることはできない。
とりあえず試験的にインストールしたWindowsとLinuxはBIOS構成となっていた。
Windowsのインストールについて
Windows Serverなどをインストールするとき、標準的なWindows ISOイメージにはKVM環境向けのvirtioドライバーが含まれていないため、インストーラ上からディスクを認識できない。
Nutanixなどであれば、途中で読み込ませるISOファイルをVirtioドライバISOに換えればよいのだが、HPE VM EssentailsのWeb UIからISOファイルを別のものに変更する操作が動作しない。
正解は仮想マシン新規作成時の「Advanced Options」の中にある「ATTACH VIRTIO DRIVERS」にチェックを入れる、というもの。

これによりOSインストール用のISOイメージの他に、virtioのISOイメージがマウントされた状態で起動するようになる。

なお、v8.0.2.1の状態ではGUI上で作成済みの仮想マシンに対してISOファイルマウントの設定を行うことはできない模様。
インストールに必要なもの
RedHat VirtIO SCSI controller :VEN_1AF4&DEV_1001 → viostor
デバイスマネージャで警告が表示されたもの
PCIシンプル通信コントローラ :VEN_1AF4&DEV_1003 → vioserial
PCIデバイス :VEN_1AF4&DEV_1002 → balloon
イーサネット コントローラー :VEN_1AF4&DEV_1000 → NetKVM
マルチメディア オーディオ コントローラ :VEN_8086&DEV_2415 → Intel(r) 82801AA AC’97 Audio Controller
マルチメディア オーディオコントローラ(Intel 82801AAエミュレーション)については、適用できるドライバが64bit向けがない?
そのほか virioのISOに含まれるドライバ
VEN_1AF4&DEV_1004 → vioscsi
VEN_1AF4&DEV_1005 → viorng
VEN_1AF4&DEV_1041 → NetKVM
VEN_1AF4&DEV_1044 → viorng
VEN_1AF4&DEV_1045 → balloon
VEN_1AF4&DEV_1050 → viogpudo
VEN_1AF4&DEV_1052 → vioinput
VEN_1AF4&DEV_105A → viofs
VEN_8086&DEV_2930 → smbus
VEN_1B36&DEV_0002 ~ DEV_0004 → qemupciserial
VEN_1B36&DEV_0100 → qxl(xp,win7,2008R2),qxldod (win2012~2019)
(VEN_1AF4,VEN_1B36はRedHat Inc、VEN_8086はIntel)
仮想マシンのコンソールについて
基本的にはWebブラウザから操作することになっている。
が、virtで管理されているので 「virsh dumpxml 仮想マシン名」を実行してみると下記のようなvncに関する設定項目があるのがわかる
<graphics type='vnc' port='41001' autoport='no' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
上記の場合、サーバローカルに対してのみポート41001でアクセスする場合に使えるので、sshトンネルで127.0.0.1:41001にアクセスする設定をいれてやれば、他のマシンからでも接続できる

この状態で、Windowsにvirt-viewerをインストールして「”C:\Program Files\VirtViewer v11.0-256\bin\remote-viewer.exe” vnc://127.0.0.1:41001」を実行すると接続できる。
パスワードが求められるが、VNCのパスワードはなぜかdumpxmlでは表示されないので「virsh edit 仮想マシン名」を実行して探す必要がある
<graphics type='vnc' port='41001' autoport='no' listen='127.0.0.1' passwd='Mo8lzACR'>
<listen type='address' address='127.0.0.1'/>
</graphics>
上記の場合、「Mo8lzACR」がパスワードとなる
iSCSIストレージの追加
まさかクラスター階層の「ストレージ」にiSCSIのターゲットIPの指定があるなんて・・・

これを指定することで、クラスタに所属するサーバ上でiSCSIストレージが追加されました。
vmadmin@hpevm:~$ sudo iscsiadm -m session
tcp: [1] 172.17.44.9:3260,2460 iqn.2007-11.com.nimblestorage:hpevme-v371c7edc5d1bd1e3.000000d2.6a07af3f (non-flash)
tcp: [2] 192.168.44.9:3260,2460 iqn.2007-11.com.nimblestorage:hpevme-v371c7edc5d1bd1e3.000000d2.6a07af3f (non-flash)
vmadmin@hpevm:~$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.9M 1 loop /snap/core20/2318
loop1 7:1 0 87M 1 loop /snap/lxd/29351
loop2 7:2 0 38.8M 1 loop /snap/snapd/21759
loop3 7:3 0 44.4M 1 loop /snap/snapd/23545
loop4 7:4 0 63.7M 1 loop /snap/core20/2434
loop5 7:5 0 89.4M 1 loop /snap/lxd/31333
sda 8:0 0 447.1G 0 disk
tqsda1 8:1 0 1G 0 part /boot/efi
tqsda2 8:2 0 2G 0 part /boot
mqsda3 8:3 0 444.1G 0 part
tqubuntu--vg-ubuntu--lv 253:0 0 100G 0 lvm /
mqubuntu--vg-morpheus 253:1 0 300G 0 lvm /var/morpheus
sdb 8:16 0 447.1G 0 disk
mqsdb1 8:17 0 447.1G 0 part
sdc 8:32 0 447.1G 0 disk
sdd 8:48 0 447.1G 0 disk
sde 8:64 0 447.1G 0 disk
sdf 8:80 0 447.1G 0 disk
sdg 8:96 1 0B 0 disk
sdh 8:112 0 1T 0 disk
mq22674a991c8b22b4c6c9ce9003faf076a 253:2 0 1T 0 mpath
sdi 8:128 0 1T 0 disk
mq22674a991c8b22b4c6c9ce9003faf076a 253:2 0 1T 0 mpath
sr0 11:0 1 1024M 0 rom
vmadmin@hpevm:~$ sudo multipath -ll
22674a991c8b22b4c6c9ce9003faf076a dm-2 Nimble,Server
size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 8:0:0:0 sdh 8:112 active ready running
`- 9:0:0:0 sdi 8:128 active ready running
vmadmin@hpevm:~$
ただ、認識したiSCSIのLUNは、そのままでは利用できず、ファイルシステム作成が必要そうな気配が・・・
セットアップ失敗は再インストールからやり直し
仮想環境上にUbuntu をインストールして、hpe-vmパッケージインストールして、Install morpheusを実施してみたところ、なぜか仮想マシンが作られない
確認したらCPUのハードウェア仮想化/IOMMUを有効化してないせいで、KVMが正常に動かないためだった。
それはいいんだけど、問題なのは、/var/log 以下のどこにもそういったログが見当たらない、ということ。
で・・・有効化して再度実施すればいいのかな?と実行してみたところ、open vswitch側の設定が変なことになっていたらしく、Ubuntu=>VM Managerのping疎通が通らない、という状況に
どこを修正すればいいのかわからない状態なので、Ubuntu OSインストールからやり直すことになりました。(それでうまくいった)
HPE VM Manager仮想マシンのコンソールを開く
VM Manager側の仮想マシンからの疎通確認できるかな?とvirsh edit “VM Managerの名前” でVNCの接続情報を見てvirt-viewerからコンソールを開いてみる

↑はまだセットアップ中だった模様
↓でログインできるようになっていたら初期化が終わってる

Install Morpheusで指定したユーザ名とパスワードでログインできる

HPE VME Manager上にaptレポジトリが作成される
HPE VME Managerからサーバを登録すると、 /etc/apt/sources.list.d/morpheus.list に下記にような内容が追加される
$ cat /etc/apt/sources.list.d/morpheus.list
deb [signed-by=/etc/apt/trusted.gpg.d/morpheus.asc] https://172.17.44.169/apt morpheus main
$
vTPMを有効化する手法
Windows 11仮想マシンを作る場合、vTPMを有効にする必要がある。
インスタンス側の設定項目がないなぁ、と思っていたら、ISOイメージファイルを登録する「仮想イメージ」にて設定項目があるとは思わなかった

ISOイメージ登録時に通常は折りたたまれている「高度」オプションの中にある「UEFI」「VTPM ENABLED」「SECURE BOOT」にチェックを入れておくと、このISOイメージを指定してインスタンスを作成した場合に有効になっている、という仕組みである模様
