はじめに
VIOS 4.1 から、仮想メディア・ライブラリ(Virtual Media Library)における NFS サポート機能が追加されました。
この機能により、以下のメリットがあります。
- ISOイメージの共有: ISOイメージをNFSサーバーから直接参照できるため、複数VIOS間での共有が可能です。
- 効率化: VIOSごとにISOをコピーする必要がなく、ストレージ容量の節約とコピー時間の削減につながります。
- 柔軟性: NFS v3/v4に対応し、複数のISOをリポジトリにリンク可能です。
参考情報
-
VIOS 4.1.1.10 release note
NFS mounted ISO images support in Virtual Media Library (...) allows to load ISO images from a centralized NFS server
IBM Support: VIOS 4.1.1.10 Fix Pack Release Notes -
IBM Community Blog
仮想メディア・ライブラリをNFSで使用する概要図
・NFSサーバー上のISOをVIOSの/var/vio/VMLibraryにマウント
・仮想光学デバイス(vtopt0)にISOをロードし、LPARから利用
環境
VIOS 4.1 以降
$ ioslevel
4.1.1.10
$
- VIOS で実行
作成前のサービス状態を確認します。
lssrc -a の結果
```console $ lssrc -a Subsystem Group PID Status syslogd ras 5243344 active portmap portmap 11731370 active inetd tcpip 8716666 active biod nfs 11796862 active rpc.statd nfs 11534708 active rpc.lockd nfs 11600250 active qdaemon spooler 6619620 active writesrv spooler 10027308 active clcomd caa 8323426 active sshd ssh 8519962 active lldpd tcpip 11010448 active ecpvdpd tcpip 12452224 active vio_daemon 8388904 active perfprovider 14221752 active pfcdaemon 13763000 active ctrmc rsct 14287294 active IBM.HostRM rsct_rm 16843022 active IBM.ConfigRM rsct_rm 14090690 active IBM.DRM rsct_rm 8651142 active IBM.MgmtDomainRM rsct_rm 4194632 active IBM.ServiceRM rsct_rm 14549458 active IBM.SoftwareRM rsct_rm 8978852 active lpd spooler inoperative secldapclntd secldap inoperative cdpd tcpip inoperative keyserv keyserv inoperative ypbind yp inoperative cdromd inoperative ndpd-host tcpip inoperative ndpd-router tcpip inoperative netcd netcd inoperative nfsd nfs inoperative rpc.mountd nfs inoperative automountd autofs inoperative nfsrgyd nfs inoperative gssd nfs inoperative cpsd ike inoperative tmd ike inoperative isakmpd inoperative ikev2d inoperative iked ike inoperative xntpd tcpip inoperative tftpd tcpip inoperative routed tcpip inoperative mrouted tcpip inoperative rsvpd qos inoperative policyd qos inoperative saslauthd tcpip inoperative sendmail mail inoperative pxed tcpip inoperative binld tcpip inoperative gated tcpip inoperative dhcpcd tcpip inoperative dhcpcd6 tcpip inoperative dfpd tcpip inoperative IBM.SRVPROXY ibmsrv inoperative ctcas rsct inoperative nimsh nimclient inoperative nimhttp inoperative iptrace tcpip inoperative dhcpsd tcpip inoperative dhcpsdv6 tcpip inoperative dhcprd tcpip inoperative snmpd tcpip inoperative aixmibd tcpip inoperative hostmibd tcpip inoperative snmpmibd tcpip inoperative dpid2 tcpip inoperative IBM.ERRM rsct_rm inoperative IBM.AuditRM rsct_rm inoperative clconfd caa inoperative ksys_vmmon inoperative pool inoperative mobip6reqd inoperative ypserv yp inoperative ypupdated yp inoperative yppasswdd yp inoperative pppcontrold uucp inoperative ksys_hsmon inoperative ```※ nfsd (サーバー機能) は inoperative ですが、今回はクライアントとしてマウントするため支障ありません。
NFSサーバーの設定NFSサーバー設定確認
AIXサーバーにて、ISOファイルを格納しているディレクトリのエクスポート設定を確認します。
[AIX で実施]
・OSバージョン
# oslevel -s
7300-02-01-2346
・エクスポート設定
マウント対象 /export/lpp/linux の親ディレクトリ /export/lpp/ がエクスポート済みであることを確認します。
# exportfs | grep lpp
/export/lpp -sec=sys:krb5p:krb5i:krb5:dh,rw
NFSを行う対象ディレクトリは RHEL の iso ファイルを配置しています。
・ISOファイルの確認
# ls -l /export/lpp/linux
total 112962200
-rw-r--r-- 1 root system 11807887360 Jun 24 2024 RHEL-8.9.0-20231030.60-ppc64le-dvd1.iso
-rw-r--r-- 1 root system 8446017536 Feb 14 2024 RHEL-9.3.0-20231025.65-ppc64le-dvd1.iso
drwxr-xr-x 2 root system 256 Sep 26 14:04 images
drwxr-xr-x 2 root system 256 May 28 2025 others
-rw-r--r-- 1 root system 11544549376 May 28 2025 rhel-8.10-ppc64le-dvd.iso
-rw-r--r-- 1 root system 8935112704 Jun 25 19:09 rhel-9.4-ppc64le-dvd.iso
-rw-r--r-- 1 root system 10289938432 Nov 14 13:31 rhel-9.6-ppc64le-dvd.iso
-rw-r--r-- 1 root system 6813134848 Jul 07 12:59 rhel-baseos-9.0-ppc64le-dvd.iso
仮想メディア・ライブラリ設定
VIOS の仮想メディア・ライブラリ作成を行います。
[VIOS で実施]
$ mkrep -sp rootvg -size 10g
Virtual Media Repository Created
Repository created within "VMLibrary" logical volume
補足:mkrep はVMLibraryを作成するコマンド。
コマンド:mkrep
$ df -m | grep Library
/dev/VMLibrary 10240.00 10198.12 1% 4 1% /var/vio/VMLibrary
$ lsrep
Size(mb) Free(mb) Parent Pool Parent Size Parent Free
10240 10198 rootvg 51136 2624
・コマンド: lsrep
NFS マウントの実行
NFSマウントを実行します。
[VIOS で実行]
仮想メディア・ライブラリのディレクトリにマウントします。
$ mount 172.16.xx.xx:/export/lpp/linux /var/vio/VMLibrary
$ ls -l /var/vio/VMLibrary
total 112962200
-rw-r--r-- 1 root system 11807887360 Jun 24 2024 RHEL-8.9.0-20231030.60-ppc64le-dvd1.iso
-rw-r--r-- 1 root system 8446017536 Feb 14 2024 RHEL-9.3.0-20231025.65-ppc64le-dvd1.iso
drwxr-xr-x 2 root system 256 Sep 26 14:04 images
drwxr-xr-x 2 root system 256 May 28 2025 others
-rw-r--r-- 1 root system 11544549376 May 28 2025 rhel-8.10-ppc64le-dvd.iso
-rw-r--r-- 1 root system 8935112704 Jun 25 19:09 rhel-9.4-ppc64le-dvd.iso
-rw-r--r-- 1 root system 10289938432 Nov 14 13:31 rhel-9.6-ppc64le-dvd.iso
-rw-r--r-- 1 root system 6813134848 Jul 07 12:59 rhel-baseos-9.0-ppc64le-dvd.iso
$ lsrep
Size(mb) Free(mb) Parent Pool Parent Size Parent Free
307200 60630 rootvg 51136 2624
Name File Size Optical Access
RHEL-8.9.0-20231030.60-ppc64le-dvd1.iso 11261 None rw
RHEL-9.3.0-20231025.65-ppc64le-dvd1.iso 8055 None rw
images 1 None rw
others 1 None rw
rhel-8.10-ppc64le-dvd.iso 11010 None rw
rhel-9.4-ppc64le-dvd.iso 8522 None rw
rhel-9.6-ppc64le-dvd.iso 9814 None rw
rhel-baseos-9.0-ppc64le-dvd.iso 6498 None rw
仮想メディアのロードとアンロード
仮想光学デバイス(vtopt0)は存在しますが、中身は空っぽです。クライアントLPARからは「空のCDドライブ」として見えます。
[ VIOS リポジトリ ] [ VIOS デバイス ] [ クライアント LPAR ]
+----------------+ +-------------------+ +-------------------+
| RHEL8.10.iso | | vtopt0 (空) | | cd0 (準備完了) |
| AIX.iso | (×) | [ (No Media) ] | <--------> | [ (No Disk) ] |
+----------------+ +-------------------+ +-------------------+
①ロード前の状態
[VIOS で実施]
$ lsvopt
VTD Media Size(mb)
vtopt0 No Media
・コマンド: lsvopt
②メディアのロード
NFS上のISOファイル rhel-8.10-ppc64le-dvd.iso を vtopt0 にロードします。
$ loadopt -vtd vtopt0 -disk rhel-8.10-ppc64le-dvd.iso
・コマンド:loadopt
ロード後のイメージ図です。クライアントLPARからはCDが挿入された状態に見えます。
[ VIOS リポジトリ ] [ VIOS デバイス ] [ クライアント LPAR ]
+----------------+ +-------------------+ +-------------------+
| RHEL9.10.iso | ==①==> | vtopt0 (装填済) | | cd0 (マウント可) |
| AIX.iso | loadopt | [ RHEL8.10.iso ] | <---②----> | [ RHEL_Install ] |
+----------------+ +-------------------+ +-------------------+
確認します。
$ lsvopt
VTD Media Size(mb)
vtopt0 rhel-8.10-ppc64le-dvd.iso 11010
③アンロードとアンマウント
作業終了後はメディアをアンロードします。
$ unloadopt -vtd vtopt0
・コマンド:unloadopt
NFS マウントの解除
[VIOS で実施]
NFSマウントを解除します。
$ unmount /var/vio/VMLibrary
※ VIOS では AIX の umount ではなく unmount コマンドを使用します。
おわりに
VIOS 4.1 の新機能である、NFSを利用した仮想メディア・ライブラリの動作を確認しました。
今回は /var/vio/VMLibrary にNFS領域を直接マウントする手法をとりましたが、リリースノート等にあるようにシンボリックリンクを使用する別手法も存在します。
別手法の例(mkvopt -nfslink
別のマウントポイント(例: /mnt/nfs)にNFSをマウントしておき、mkvopt コマンドでリポジトリ内にシンボリックリンクを作成する方法です。
-
VIOS 4.1.1.10 release note 抜粋
The
mkvoptcommand is enhanced to support new option –nfslink which creates a symbolic link to the specified NFS ISO file, in the repository.
$ mkvopt -name <image_name_in_VML_repository> -file <NFS 上のisoファイルのパスを指定> -nfslink -ro
この方法であれば、ローカルのリポジトリ領域とNFS上のファイルを混在させて管理することも可能です。運用に合わせて選択してください。
tips
複数LPARに iso ファイルを割り当てたい場合は対象ファイルで read-write 権限では割り当てが失敗し、read-only 権限が必要です。
NFS サーバー上で権限修正するようにご注意ください。
ご参考:
以上です。