2025年3月15日土曜日

AOS 6.10.1のNuatnix CE インストーラー ISOを作成する

以前に、AOS 6.10のNutanix CEインストーラーUSBを作成する方法をご紹介しましたが、Nestedでインストールをする場合などは、ISOでの用意が必要になるかと思います。

今回はRockyLinuxを利用した、Nutanix CE 6.10のISO作成方法をご紹介いたします。

用意する物

  • Nutanix CEのイメージ(phoenix.x86_64-fnd_5.6.1_patch-aos_6.8.1_ga.iso) 
  • AOS 6.10.1のイメージファイル(AOS Upgrade/Installer版)
  • AHV-20230302.103003のISOファイル(AHV-DVD-x86_64-el8.nutanix.20230302.103003.iso)
  • ISO作成用RockyLinux 9.5が稼動するマシン(仮想でも物理でも良い)
AOSバイナリは、商用のNutanixをお持ちでサポートポータルにアクセスできることが条件となりますので、Nutanix CEだけの利用権利しか持っていない場合は、LCM内部でダウンロードされたバイナリを取得するなど何らかの一工夫をしないと取得できない点、ご注意ください。

ISO作成用のRockyLinuxマシンは、ISO作成のためにしか利用しませんので、最小限のインストールオプションでインストールします。(既存で利用のRHEL互換OSなどがある場合、また、サーバGUIでインストール済みのものがあればそちらを利用してもかまいません。)


インストール後、Nutanix CEのISOをマウントし、作業用のディレクトリにコピーします。

ここでは、「/mnt」にマウントしたNutanix CEのISOファイルを、「/home/suneo/nce-iso」配下にコピーします。

sudo mount /dev/cdrom /media
mkdir -p /home/suneo/nce-iso
cp -rf /media/* /home/suneo/nce-iso

続いて、取得したAOS6.10.1のバイナリを、「/home/suneo/aos6101」ディレクトリにコピーします。

mkdir -p /home/suneo/aos6101
wget もしくは、scp等で、AOS6.10.1のバイナリをコピー

コピーしたAOSバイナリを2つのファイルに分割し、ファイル名を既存のイメージと揃えます。

split -b 3000M nutanix_installer_package-release-fraser-6.10.1-stable-acf6e6b43fac6ab26f4a6e61933c508bff9ba0ac-x86_64.tar.gz nutanix_installer_package.tar.

#ファイル名を変更
cd /home/suneo/aos6101
mv nutanix_installer_package.tar.aa nutanix_installer_package.tar.p00
mv nutanix_installer_package.tar.ab nutanix_installer_package.tar.p01

続いて、コピーしたISO内にあるAOSバイナリを削除し、先ほど分割したファイルを配置します。

rm /home/suneo/nce-iso/images/svm/nutanix_installer_package.tar.*
cp /home/suneo/aos6101/nutanix_installer_package.tar* /home/suneo/nce-iso/images/svm/

既存のAHV ISOを削除し、新しいAHV-20230302.103003を配置します。

rm /home/suneo/nce-iso/images/hypervisor/kvm/AHV-DVD-x86_64-el8.nutanix.20230302.101026.iso.iso
SCP等で「/home/suneo/nce-iso/images/hypervisor/kvm/」に「AHV-DVD-x86_64-el8.nutanix.20230302.103003.iso」をコピーします。


これで、AOS 6.10.1に関連するバイナリをの配置が完了しました。

続いて、ISOを作成します。

ISOは、Nutanix CEのISO内に入っているmake_iso.shを利用します。

最初にmkisofsをインストールします。

dnf install mkisofs

make_iso.shは、そのままではコマンドが通らないので、以下の点を編集します。

48行目
MKISOFS="mkisofs -q -R -V PHOENIX -uid 0 -gid 0"

MKISOFS="mkisofs -R -V PHOENIX -uid 0 -gid 0"
※-qを消す

90行目
-no-emul-boot -allow-limited-size"

-no-emul-boot"
※-allow-limited-sizeを消す


これで、準備ができました。
では、実際にこのmake_iso.shを実行します。

cd /home/suneo/nce-iso
chmod +x make_iso.sh #実行権限を付ける
./make_iso.sh

これで、「/home/suneo/」配下に、「phoenix.iso」というファイルができているかと思います。これが、AOS 6.10.1+AHV20230302.101026のファイルが配置されたISOファイルができました。

作成された、「phoenix.iso」をSCP等で取得し、インストールメディアとして利用できます。

インストーラを起動したら、AOSとAHVが配置したバージョンになっていることを確認します。














2025年1月9日木曜日

ネットワークで疎通できない仮想マシン間のデータやり取りについて

vSphere環境からNutanix AHV環境に移行すると、様々仕様というか考え方の違いに直面することがあるかと思います。その一つが、仮想ディスクの取り扱いについてであると思います。vSphereの場合、データストアブラウザを利用し、各仮想マシンフォルダやVMDKなどのファイルパスを確認したり、他の仮想マシンから特定の仮想マシンのVMDK仮想ディスクファイルにアタッチしたりすることができました。

AHV環境の場合、Prism上では、仮想マシン作成時に内部的に作成されるか仮想ディスクファイルを直接操作したり別の仮想マシンからアタッチすることは、Prsim UI上からはできません。(acliコマンドやImage Serviceを利用することで、オペレーション自体は可能)

これは、仮想ディスクファイルに対して安全性をもたらすための処置であり、かつ通常の仮想マシン操作オペレーションで仮想ディスクファイルを直接操作するということはまずないという前提にある認識で設計されているからであると思います。

一方、例えばセキュアなネットワーク上で稼働する仮想マシンに対して何らかのファイルのやり取りが発生した場合、vSphereの場合ESXiホストのUSBをリダイレクトするなどの機能がありますが、AHVでは残念ながらそういったUSBに関する操作を行う機能はございません。

以下のような図の通り、管理端末から管理セグメントにある管理用仮想マシン(いわゆる踏み台)を経由してネットワーク的には疎通ができない環境の仮想マシンを、Prism Element(もしくは、Prism Central)の各仮想マシンの画面コンソール機能を利用し直接操作します。画面操作やコマンド発行は、直接コンソールからの捜査のため、管理端末が直接操作されるセキュアなネットワーク存在する仮想マシンと疎通できる必要はありませんが、ファイルなどのデータやり取りの機能がコンソール機能には存在しません。

このような場合、Volume Groupの機能を利用して、仮想マシン間のデータやり取りを行うことができます。

Volume Groupは、仮想マシンの内部SCSIバスもしくは、iSCSIを利用して共有ディスクを利用する機能ですが、この共有ディスク機能は、内部SCSIバス系で利用する場合仮想マシンのネットワークに関係ないくディスクのアタッチ・デタッチが可能です。また、Nutanixクラスター上に存在する仮想マシン内でVolume Groupを利用する場合、AOSのライセンスは、Starterから利用できますので、費用面で気にするところもありません。

では、早速操作方法を確認してみましょう。

まずは、PrismのVolume Groupの画面から、新たなVolume Groupを作成します。


まずVolume Groupという大きな枠を作成しその中で今回は、128GBのボリュームを1つ作成してみました。作成後このままSaveを行います。


つづいて、まずはメンテナンス用のコンソール仮想マシンの構成をUpdateから変更し、先ほど作成したVolume Groupをアタッチします。


Voluem Groupの割り当てが終わりましたら、その仮想マシンのコンソールを開きます。

今回は、Windowsを利用している想定としていますので、ディスクの管理を開き、割り当てたVolume Groupのディスクが正常に認識しているかを確認します。


ディスクが見えておりますので、Windowsからフォーマットを行いドライブとして利用できるようにします。もし、LinuxOSとのやり取りであれば、フォーマットは互換性や書き込みを考慮し、FATで行うのが良いと思います。

ドライブとして見えるようになりましたら、ファイルを格納します。


管理上必要なスクリプトを保存します。


ファイルの保存が終わりましたら、エクスプローラを閉じます。
その後Prism Elementの画面からディスクをアンマウントします。

デタッチ(アンマウント)の確認メッセージが表示されますので、OKをおし、仮想マシンの設定画面をSaveボタンを押して閉じます。


続いて、分離ネットワーク環境にあるサーバー仮想マシンをPrism Elementから選択し、先ほどと同様に「Update」ボタンを押します。

先ほどと同様に、作成したVolume Groupを割り当て、Saveします。

新たに割り付けた、分離ネットワーク側にいる仮想マシンをコンソールで開き、ディスクの管理を開きます。ディスクがオフラインになっている場合は、オンラインにします。


マウントされたことを確認し、コンピューターを開くと先ほどメンテナンス用の仮想マシンで利用した128GBのドライブが見えていることがわかります。


これで、ファイルの相互やり取りを行うことができます。

本来Volume Groupは、WSFCなど、高可用性クラスタ環境を仮想マシンを作成する際の共有ディスクとして利用する機能ではありますが、このようにSCSIのアタッチ機能をうまく使うことで、ネットワーク的に疎通ができない仮想マシン間でデータのやり取りを行うことに利用することができます。

注意点としては、Volume Groupは、前述のとおりクラスター環境を作る際の共有ディスクとして利用する機能のため、複数の仮想マシンから同時にマウントすることができます。ただし、ソフトウェアを介してディスクのマウント制御を行うクラスターソフトウェアがインストールされていない場合、複数のマシンで同時にファイルシステムにアクセスするとファイルシステム情報が破損する可能性があります

かならず、使い終わったら仮想マシン側でVolume Groupをアンマウントした後に、もう一台の仮想マシンでマウントしていただく、もしくは、両方の仮想マシン間で仮想ディスクのアタッチ・デタッチが面倒な場合は、Windowsであればディスクの管理で、ディスクをオフラインにしたうえで、もう片方の仮想マシンをオンラインにするなど、両方の仮想マシンでディスクドライブにアクセスができる状況を必ず排除した運用で行ってください。