HPE Superdome Flex 280サーバーではLinuxのサポートについて注意が必要(現状RHEL9.0はサポートしない)

2022/12/05追記:2022/11/30にRHEL9.0対応のI/O Service Pack for HPE Superdome Flex Servers Familyがリリースされてました。


HPE Superdome Flex 280サーバーを導入するにあたってLinuxのサポートも必要という話で、RedHat Enterprise Linuxを導入する、という話になった。

ドキュメントを探すと「Installing Operating Systems on HPE Superdome Flex 280 Server」がもっともまとまっている感じだった。

ここの「Supported operating systems」には下記の様に書かれている。

HPE Foundation Software (HFS) version support matrix」を見るとRHEL9.0をサポートしていると読める記述がある。

Software Delivery Repositoryにある「HPE Foundation Software Repository」を見ても指定できるディストリビューションバージョンに9.0が含まれている。

ISOファイルとして入手する場合は「HPE Foundation Software ISO Image for HPE Superdome Flex Servers Family」から入手でき、RHEL9/Oracle Linux 9がサポート対象として記載されている。

上記ページにリンクがある「Running Linux on HPE Superdome Flex 280 Server」は冒頭の「Installing Operating Systems on HPE Superdome Flex 280 Server」を切り出した感じのドキュメントになってようにみえ、特にRHEL9がサポートされない、という認識ではなかった。

しかし!

hpeから、2022年11月2日時点で、HPEがサポートするのはRHEL8.5までで、RHEL8.6とRHEL9.0は現状はサポートしない、との通告を受けた。

なぜ?と聞くと「I/O Service Pack」の対応バージョンが出ていないから、という

確認してみると「Running Linux on HPE Superdome Flex 280 Server」の方には記述がないが、「Installing Operating Systems on HPE Superdome Flex 280 Server」には「HPE Superdome Flex 280 Server I/O Service Pack」という項目がある・・・

しかし、「Customers can use the HPE Superdome Flex 280 Server I/O Service Pack」という表現なので「要求」じゃないはずなのに、要求されている。

ダウンロードリンクは「I/O Service Pack for HPE Superdome Flex Servers Family

firmwareとdriverを新しいものに更新するために使うので、必須ではないはずなのだが、hpeサポートは必須と主張してくる感じです。

じゃあ、RHEL9.0対応版はいつでるの?ときいいてみるものの「不明」という回答。

大丈夫なんか?HPE


2022/11/14追記

RHEL9をサポートするI/O Service Packのリリース見込みがついた、という連絡があったので、とりあえず本件はなんとかなりそう


2022/12/05追記

2022/11/30付けでRHEL8.6とRHEL9.0に対応した「I/O Service Pack for HPE Superdome Flex Servers Family 2022.09」がリリースされていました。

HP-UX 11.31でrootユーザのロック状態を解除するためにシングルユーザモードで起動する

HP-UX 11.31 でrootユーザのパスワードを間違えすぎてロックされている状態になっているサーバで、ロックを解除するためにシングルユーザモードで起動して対処する手順。

シリアルコンソール接続の場合については見かけるけど、キーボード/ディスプレイが接続されている状態でどうなるのかがうまいこと探せなかったので、ここに明記しておく。

(1) EFI Boot Managerで停める

キーボード/ディスプレイが認識している状態でHP-UXサーバの電源を入れると、しばらく黒い画面のままだが、「EFI Boot Manager」という青い画面が表示される。

しばらく放置すると「HP-UX Primary Boot: ~」が選択してOSが自動起動するが、シングルユーザモードで起動する場合は「EFI Shell [ Built-in]」を選択する。

(2) EFI Shellでコマンドを入力

「Shell>」というプロンプトのEFI Shellが表示される。

EFI Shell UEFI version x.xx [xx.xx]
Device mapping table
  fs0   : Acpi(~)
  fs1   : Acpi(~)
  blk0 : Acpi(~)
<略>
startup.nsh> echo -off

  setting hpux path(\EFI\HPUX)...
  type 'fs[x]:' where x is your bootdisk (0, 1, 2...)
  type 'hpux' to start hpux bootloader
Shell> 

通常は”fs0:”というデバイスにシステムが入っているはずなので「fs0:」と実行する。

Shell> fs0:
fs0:\>

そうすると「fs0:\>」というプロンプトに移行する。

今度は「hpux」を実行すると、「Press Any key to interrupt Auto boot ~ Seconds left till autoboot」というカウントダウン中にキー入力し、「HPUX>」というプロンプトを表示する。

(“hpux -is”と実行し、boot -isは実行しないで起動させる、という資料もあったけど、それで動くのか確証がなかったので実施していない)

fs0:\> hpux
<略>

Press Any Key to interrupt Autoboot
\efi\hpux\AUTO ==> boot vmunix
Seconds left till autoboot -    8
   Type 'help' for help

HPUX> 

(3) シングルユーザモードで起動する

「HPUX>」というプロンプトで「boot -is」と入力し、シングルユーザモードでの起動を開始する。

HPUX> boot -is
> System Memory = xxxx MB
loading section 0
.........(complete)
loading section 1
.........(complete)
loading symbol table
loading System Directory (boot.sys) to MFS
.....
loading MFSFILES directory (bootfs) to MFS
.....
<略>

しばらく待つと「INIT: SINGLE USER MODE」と表示されて「#」というプロンプトで停止する。

INIT: Overriding default level with level 's'

INIT: SINGLE USER MODE

INIT: Running /sbin/sh
# 

(4) パーテーションをマウントする

HP-UX 11.31でロックを解除する場合に必要なコマンドは/usrパーテーションにあるため、最低でも/usrパーテーションをマウントします。

なお、dfコマンドも/usrパーテーションにあるため、シングルユーザモードで起動した直後はdfコマンドも実行できません。

# mount /usr
vxfs mount: V-3-21268: /dev/vg00/lvol7 is corrupted. need checking
#

上記のように「is corrupted. need checking」と表示された場合は、ファイルシステムチェックが必要になるのでfsckコマンドを実行します

# fsck /dev/vg00/lvol7
log replay in progress
replay complete - marking super-block as CLEAN
#

この後、再度「mount /usr」を実行して/usrパーテーションをマウントします。

# mount /usr
#

資料を探すと「/usr パーテーションだけマウントすれば大丈夫」というものと「/usr, /var, /tmpをマウントする」というものとあるけど、どちらが適切なのかよく分からないので、「mount -a」で全部マウントしておきます。

# mount -a
<略>
#

マウントできない場合は適宜、表示されるデバイスに対してfsckコマンドを実行してから再度マウントを試みましょう。

(5) rootユーザのロック解除

まず、rootユーザのロック状態を確認するため「/usr/lbin/getprpw -l root」を実行します。

# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0001000
#

最後の「lockout=0001000」の、数字がアカウント状態を表しており、左から4つめの数字が1ならロックされている状態となります。

ロック解除は「/usr/lbin/modprpw -k root」を実行します。

# /usr/lbin/modprpw -k root
# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0000000
#

lockout=0000000 と 左から4つめの数字が0に変わっており、ロックが解除されています。

(6) rootパスワードを変更する[オプション]

rootパスワードがわからないので、再設定したい、という場合は、この操作を行う必要があるようです。

(自分では未実施)

# passwd root
Changing password for root
Old password:
Last successful password change for root: ~
Last unsuccessful password change for root: ~

Do you want (choose one letter only):
        pronounceable passwords generated for you (g)
        a string of letters generated (l) ?
        to pick your passwords: (p) ?

Enter choice here:

…なんか聞かれました。

どうやらTrusted Systemになっているとこうなるようです。

まず、Trusted Systemになっているかを「/usr/lbin/getprdef -r」を実行して確認します。

# /usr/lbin/getprdef -r
NO, 0, 8, 0, 0, -1, 0, YES, YES, NO, NO, NO, YES, 3, 10, 2, 0
#

Trusted Systemだと上記のように何か表示されます。

Trustedではない場合はエラーになるようです

Trusted Systemを解除する場合は「/usr/lbin/tsconvert -r」を実行します。

その後に「passwd root」でパスワードを再設定し、

「/usr/lbin/tsconvert」で再度 Trusted Systemに戻す、という作業をするようです。

(7) 再起動

再起動して、正常に起動し、ログインが行えるか確認します。


おまけ

シングルユーザモードでBackspaceとか、Ctrl+Cが有効になっていなかった件への対応はおそらく下記を設定すればいけるのではないかとおもわれる(ネタ元:/* とりあえず */ Alive and WellHP-UX/stty – CTRL-Cで中止を明示的に定義」)

Backspaceの有効化

$ stty erase "^H"

Ctrl+Cの有効化

$ stty intr ^c

その他、2021年現在のLinux環境でよくある設定をまとめて実施したい場合

$ stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" hupcl ixon ixoff tostop cs8 -istrip 

Windows Hyper-V仮想マシン上のWindowsライセンス

Hyper-V環境上にWindows Server仮想マシンを導入するとき、「仮想マシンの自動ライセンス認証」という手法により、物理Windows Serverに適用されているプロダクトキーを使用したライセンス認証を行わせることができる。

Windows Server 2022ベースのドキュメント「Windows Server での仮想マシンの自動ライセンス認証」の「AVMA キー」に各Windows Server用のプロダクトキーが掲載されている。

(Windows Server 2012R2ベースのドキュメントだと「Automatic Virtual Machine Activation」)

とりあえず現状認識しているライセンスの確認は「slmgr /dlv」を実行することで確認出来る。

ライセンスの適用は「slmgr /ipk ライセンスキー」で適用できる。

MCTの憂鬱「仮想マシン自動ライセンス認証に関して」を見ると、ホストWindows ServerのアプリケーションログにイベントID 12310 として「仮想マシンの自動ライセンス認証要求」のログが出るらしい。

手元に評価版環境しかなかったので実機検証はできず

ブラウザにログインしなくても使えるiLOリモートコンソール for Windows

HPE ProLiantサーバのリモート管理機能iLOには、ネットワーク経由でモニタ/キーボード/マウス操作を可能にするリモートコンソール機能がついている。
iLO用に専用のIPアドレスを割り当てブラウザからログインすると、Javaか.NETかHTML5でリモートコンソールが使えるようになる。
Javaと.NETではブラウザを表示している端末のローカルにあるISOイメージをProLiantサーバ上のDVD-ROMドライブとして認識させ、ブートさせることができるVirtual Driveという機能もある。

ただ、昨今のブラウザのセキュリティ強化の流れでJava/.NETともに使おうとすると、結構面倒くさい。
なんとかならないのかな、とマニュアルを読み直してみたら、スタンドアローンリモートコンソールなるものを発見。

HPE Lights-Outスタンドアロンリモートコンソール for Windows

このアプリケーションをWindows端末にインストールすることで、ブラウザを起動することなく直接iLOのリモートコンソールを開くことができる、というもの。
.NET Framework 3.5 SP1以降が必要であるようです。

起動してみると、こんな感じで接続先のIPアドレスとユーザ名/パスワードを要求されます。

複数のサーバを開く場合も、もう1個立ち上げるだけでいいので、簡単です。

HPE ProLiantのiLOコンソールにアクセスするためのWindows用単体アプリケーション

HPのProLiantサーバに搭載されているiLOのリモートコンソール機能。
いままで、いつもiLOにログインしてからJava/.NETアプリケーションを起動していた。

でも、マニュアルを読んでいたら、HPE Lights-Outスタンドアロンリモートコンソール for Windows、なるアプリケーションがあるということを発見。

・「HPE Lights-Outスタンドアロンリモートコンソール for Windows

iLO3,iLO4,iLO5対応でISOマウントもこのアプリで行うことができる。