ESXi上のNutanix CE AHVをアップデートした


ESXi上にNutanix CE AHVをインストールした」でインストールしたNutanix CE環境をアップデートしてみた。

2021/03/17追記: CE 5.11からCE 5.18へのアップデートを行い、その時のキャプチャも追加した

トラブルポイントのまとめ

なんとなく手順を進めていったらいくつかキツイ問題が発生してアップデートプロセスが止まったりした。今回発生した問題は下記3点

・AHVのrootパーテーション容量が足らない
・AHV内の標準仮想マシン設定にあるPC Typeが初期値に戻るので既存の仮想マシンが起動しない
・AHV内のCVM仮想マシン設定にあるPC Typeがpc-i440fx-rhel7.3.0になり起動しない
・CVM仮想マシンのメモリが12GBだとサービスが起動しない

なお、調査の際に参考になったページ「Nutanix CE: Cannot Start VM」「Guest VM Running in Nested Nutanix CE on VMware vSphere Won’t Boot

CVM仮想マシン上のサービスが起動しないあたりは「PRISM SERVICES HAVE NOT STARTED YET. PLEASE TRY AGAIN LATER

実際に実施した手順はもっといろいろあったが、完了後に、たぶんこの順序で実施すれば大丈夫だったんだろう、というものを下記に手順として残す。

手順1 アップデータ入手

Download Community Edition (CE-2020.09.16/CE 5.18)」もしくは「Download Nutanix CE, Docs, and Guides (CE-2019.11.22/CE 5.11.1.2)」から下記のファイルをダウンロード。

・「Metadata for AOS, AHV upgrades and PC deployment」のce-2020.09.16-metadata.zip か ce-2019.11.22-metadata.zipを展開してjsonファイルを取りだしておく
・「AOS Upgrade」(ce-pc-upgrade-2020.09.16.tar.gz か ce-2019.11.22-upgrade.tar.gzのままで使う)
・「AHV Upgrade」(CE 5.18ではLCMからの操作に変更。CE5.11.1.2は host-bundle-el7.nutanix.20191030.415.tar.gz のままで使う)

手順2 CVM仮想マシンの自動起動を止める

この後、何回かNutanix CE仮想マシンを再起動する。その際にCVM仮想マシンの起動が完了するのを待っていると時間がかかるので、自動起動を止める。

「virsh list –all」でCVM仮想マシンのIDを確認して、「virsh autostart <ID> –disable」と実行すると自動起動が止まる。

手順3 Nutanix CE仮想マシンのディスク拡大

AHVのrootパーテーションの空き容量が足らない為アップデートが失敗することがある。

その場合はvSphere側でNutanix CE仮想マシンのディスクサイズを拡大する。

たぶん、ハードディスク1は10GB未満だと失敗するので12GB程度にする。

標準の「ハードディスク1」が約7GBとなっている。

これを、12GBに増やす。

変更後、Nutanix CE仮想マシンを再起動する。

再起動後、vSphereのコンソールを開き「root」ユーザでログインする。デフォルトパスワードは「nutanix/4u」

ログイン後、現在のディスク使用状況と、システムディスクである/dev/sdaのパーテーション構成を確認する。

「df -h」と「fdisk -l /dev/sda」を実行する。

パーテーション変更は「fdisk /dev/sda」を実行して行う。

既存のパーテーションを「d」で消して、新しいパーテーションを作成しなおす、という形になる。

bootフラグのセットも忘れずに

最後は「w」で書き込みを実行する。

再起動しないと新しいパーテーションで認識してくれないので、再度Nutanix CE仮想マシンを再起動する。

再起動後、再度「fdisk -l /dev/sda」と「df -h」を実行してみると、fdiskの方は新しいディスクサイズで認識しているが、rootパーテーションはまだ古い容量のままとなっている。

「resize2fs /dev/sda1」を実行してファイルシステムの拡張を行い、新しいディスク容量が反映される。

手順4 CVM仮想マシンの自動起動を戻す

AHV内のCVM仮想マシンの自動起動設定を戻し、自動起動するようにする。

「virsh list –all」でCVM仮想マシンのNameを確認して、「virsh autostart <Name>」を実行する。(起動していない場合はIdが割り当てられていないので、Nameで指定する必要がある)

自動自動設定ができたかどうかは「/etc/libvirt/qemu/autostart/」にXMLファイルがあるかで確認する。

「virsh start <Name>」でCVM仮想マシンを起動するか、rebootでNutanix CE仮想マシンを再起動する。

手順5 AOSアップデート

Nutanixにログインして「設定」の「ソフトウェアアップグレード」にある「AOS」を開く。

「AOS base softwareバイナリをアップロード」のリンクをクリック

AOS BASE SOFTWAREメタデータファイルは「ce-aos-upgrade-2020.09.16-metadata.json」か「ce-2019.11.22-upgrade-metadata.json」
AOS BASE SOFTWAREバイナリファイルは「ce-aos-upgrade-2020.09.16.tar」か「ce-2019.11.22-upgrade.tar.gz」
を指定する。

「今すぐアップロード」をクリックする。

上記の様になったらアップロード成功。

「Upgrade Now」を選択してアップデートを開始する。

アップグレードが進んでいきます。

ちなみに「Nothing To Do?」は下記の2048ゲームが表示されます。

途中、CVM仮想マシンの再起動などがあり、完了します。

手順6 Hypervisorのアップデート(CE 5.18の場合)

CE5.18では「LCM」にHypervisorのアップデートが移動している。

「LCM」の「Inventory」タブを開く

「Perform Inventory」を選択し、実行

Inventory終了後、「Updates」の「Software」に移動すると、アップデート可能なソフトウェア一覧が表示されている。

チェックをいれて「Update」ボタンを押す

適用確認で「Apply ? Updates」をクリック

アップデートが適用されるのを待つ

途中でhypervisorの再起動が2回実行されるので「Unable to reach server. Please check your network connection」という表示がしばらく出続けるが無視しておく

…とはいえ、30分以上経過しても表示上は↑の38%から変化しないのは不安なので、念のためログインしなおしてみても表示は変わらずでした。

45分ぐらい経過したところで、ようやく64%に進みました。

約1時間で終了

手順6 Hypervisorのアップデート(CE 5.11の場合)

CE 5.11ではNutanixの「設定」の「ソフトウェアアップグレード」にある「Hypervisor」を選択。

「upload a Hypervisor Binary」をクリックし、下記の選択をして「今すぐアップロード」する。

HYPERVISOR メタデータファイル「host-bundle-el7.nutanix.20191030.415-metadata.json」
HYPERVISOR バイナリファイル「host-bundle-el7.nutanix.20191030.415.tar.gz」

続いて、「Upgrade Now」を実施する。

で、アップグレードが進んでいきます。

たぶん、下記の様な「71%」から30分以上待っても進まないと思います。

いまの状態はHypervisorはアップデートできたものの、その上のCVM仮想マシンが起動していない状態となります。

手順7 AHV上の仮想マシンの標準設定の修正

vSphere上でNutanix CE 5.11を稼働させた場合、標準設定の状態ではNutanix上で作成した仮想マシンが起動しませんでした。

CE5.11で起動させるためには、「/var/cache/libvirt/qemu/capabilities/3c76bc41d59c0c7314b1ae8e63f4f765d2cf16abaeea081b3ca1f5d8732f7bb1.xml」 のalias=’pc’をpc-i440fx-rhel7.2.0の行に付け直します操作が必要でした。

該当ファイルは下記の様な形になっていて、「alias=’pc’」がpc-i440fx-rhel7.3.0の行についています。

これを「pc-i440fx-rhel7.2.0」の行に「alias=’pc’」設定を移動させます。

手順としては、pc-i440fx-rhel7.3.0の行をpc-i440fx-rhel7.2.0書き換えて、既存のpc-i440fx-rhel7.2.0設定を削除するのが簡単でしょう。

画像

CE5.18の場合は、pc-i440fx-rhel7.6.0 にalias=’pc’ がありました。CE 5.11を稼働させた時のESXiサーバとハードウェアが異なっているせいかどうかわかりませんでしたが、pc-i440fx-rhel7.6.0設定のままで動いたので、そのままにしています。

もし、動かない場合は、pc-i440fx-rhel7.2.0 に移動挿せてみてください。

手順8 AHV上のCVM仮想マシン設定の修正

CE5.11へのアップデート時は、CVM仮想マシンの仮想マシンタイプ設定が「pc-i440fx-rhel7.3.0」に設定されていました。(CE5.18へのアップデート時は、pc-i440fx-rhel7.2.0設定のままでした)

設定の確認は「virsh dumpxml <name>|less」で行います。
設定変更は「virsh edit <Name>」となります。

viコマンドでxmlファイルが開かれますので、「pc-i440fx-rhel7.3.0」を「pc-i440fx-rhel7.2.0」に書き換えて保存します。

また、「<memory unit=’KiB’>~</memory>」のメモリ容量を増加させます。Nutanix CE標準だと最低28GBとなっているようです。

参考としてGUIから設定できるCVMに割り当てられる容量は下記の様になっています。

これ以外の値に変更したい場合は、直接xmlを書き換えます。今回は約26GBで設定しています。

この後、CVM仮想マシンを再起動します

面倒ならNutanix CE仮想マシンごとrebootします。

手順9 終了

NetApp ONTAPシミュレータのディスク構成を変更する


NetApp ONTAPシミュレータの初期構成は1024MB HDDが28本接続されている、という構成になっている。

使いにくいので、9GB HDD構成に変更して使用することにする。

ONTAPシミュレータのデータディスクのありか

vSphere上で vsim-netapp-DOT9.7-cm_nodar.ova をデプロイした場合、下記の様な構成になっている。

このとき、ハードディスク4の230GBの中にファイルとして1024MBディスクのイメージファイルが作成されている。

もし、200GB以上のデータを書き込みたい場合は、初回起動前にハードディスク4の容量を増やす必要がある。初回起動時はUFSファイルシステムを作成してくれるので対応できるのだが、シミュレータ内にはファイルシステム拡張用のコマンドが用意されていないので初回起動時以外に拡張しようとすると、FreeBSD 12のDVDで起動してgrowfsコマンドで拡張する、といった操作が必要になる。

ハードディスク4のサイズを「1TB」に変更した場合はこんな感じです。(ついでにCPUとメモリを増量している)

ディスク削除

ONTAPシミュレータ仮想マシンの電源を入れ、下記の「Press Ctrl-C for Boot Menu」が出たらCtrlキーとCキーを同時押しする。

しばらく待つと下記の様なメニューが表示されるので「4」のClean Configuration and initialize all disks」を選択する。

初期化確認は「yes」で答える。

しばらく待つと再起動して、下記の様な初期セットアップが始まる。

これはyesと入力しないで、Ctrl+Cで強制中断すると下記の様にログインプロンプトが現れるので「admin」ユーザでログインする。(パスワードは聞かれない)

「set diag」を実行すると「systemshellコマンド」が利用できるようになる。これはONTAP OS上でUNIXコマンドを実行できるようになるものです。(“system node systemshell”が正式コマンド名なのですが、ONTAP 9.7ではsystemshellでも実行できます)

「systemshell localhost “df -h /sim/dev”」と実行すると、UNIXで「df -h /sim/dev」を実行する、というような動作になります。

なお、日本語配列キーボードを使う場合、「”」は「Shift+8」で入力します。

::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

::*> system node systemshell local "df -h /sim/dev"
Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/ad3      223G     11G    194G     5%    /sim
::*>

上記のdfコマンドの実行がlockされているとしてエラーになる場合があります。これはONTAP設定が2023年に変わったことによる影響です。その場合はロックを解除します。

ONTAPシミュレータ上で認識するディスクのイメージファイルは「/sim/dev/,disks」というディレクトリにあります(「,」は誤字ではない)

現状あるファイルを確認するには「systemshell localhost “ls -l /sim/dev/,disks”」と実行します。

(画像はないです)

::*> systemshell local "ls -l /sim/dev/,disks"
total 11024296
-rwxr-xr-x  1 root  wheel         912 Sep  2 13:56 ,reservations
-rw-r--r--  1 root  wheel        1372 Sep  2 13:56 Shelf:DiskShelf14
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.16:NETAPP__:VD-1000MB-FZ-520:14001600:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.17:NETAPP__:VD-1000MB-FZ-520:14001601:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.18:NETAPP__:VD-1000MB-FZ-520:14001602:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.19:NETAPP__:VD-1000MB-FZ-520:14001603:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.20:NETAPP__:VD-1000MB-FZ-520:14001604:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v0.21:NETAPP__:VD-1000MB-FZ-520:14001605:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:10 v0.22:NETAPP__:VD-1000MB-FZ-520:14001606:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.24:NETAPP__:VD-1000MB-FZ-520:14001607:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.25:NETAPP__:VD-1000MB-FZ-520:14001608:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.26:NETAPP__:VD-1000MB-FZ-520:14001709:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.27:NETAPP__:VD-1000MB-FZ-520:14001710:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.28:NETAPP__:VD-1000MB-FZ-520:14001711:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.29:NETAPP__:VD-1000MB-FZ-520:14001712:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v0.32:NETAPP__:VD-1000MB-FZ-520:14001713:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v1.16:NETAPP__:VD-1000MB-FZ-520:16391700:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v1.17:NETAPP__:VD-1000MB-FZ-520:16391701:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v1.18:NETAPP__:VD-1000MB-FZ-520:16391702:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:27 v1.19:NETAPP__:VD-1000MB-FZ-520:16391703:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.20:NETAPP__:VD-1000MB-FZ-520:16391704:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.21:NETAPP__:VD-1000MB-FZ-520:16391705:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.22:NETAPP__:VD-1000MB-FZ-520:16391706:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.24:NETAPP__:VD-1000MB-FZ-520:16391707:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.25:NETAPP__:VD-1000MB-FZ-520:16391708:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.26:NETAPP__:VD-1000MB-FZ-520:16391709:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.27:NETAPP__:VD-1000MB-FZ-520:16391710:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 13:05 v1.28:NETAPP__:VD-1000MB-FZ-520:16391711:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 11:50 v1.29:NETAPP__:VD-1000MB-FZ-520:16391712:2104448
-rw-r--r--  1 root  wheel  1094312960 Sep 24 11:50 v1.32:NETAPP__:VD-1000MB-FZ-520:16391713:2104448
::*>

いまある仮想ディスクを削除する場合は「systemshell localhost “sudo rm /sim/dev/,disks/*”」と実行します。

削除した後の、ディスク再作成はvsim_makedisksというコマンドで実行します。

いろいろオプションがあるのでまずは「systemshell local “vsim_makedisks -h”」と実行して確認します。

::*> systemshell local "vsim_makedisks -h"
Usage: /usr/sbin/vsim_makedisks [ -n <additional number of disks to create> ]
          [ -t <disk type ID> ]
          [ -e <additional sectors> ]
          [ -a <adapter on which to start populating disks ]
          [ -h ]

By default 5 disks will be added. The <disk type ID> can be one
of the following: (NOTE, 0 is the default)
                                                               Fast
Type Vendor ID Product ID       Usable Size[B] Actual Size[B]  Zero  BPS   RPM
  0  NETAPP__  VD-16MB_________     16,777,216     38,273,024   No   512  10000
  1  NETAPP__  VD-35MB_________     35,913,728     57,409,536   No   512  10000
  2  NETAPP__  VD-50MB_________     52,428,800     73,924,608   No   512  10000
  3  NETAPP__  VD-100MB________    104,857,600    126,353,408   No   512  10000
  4  NETAPP__  VD-500MB________    524,288,000    545,783,808   No   512  10000
  5  NETAPP__  VD-1000MB_______  1,048,576,000  1,070,071,808   No   512  10000
  6  NETAPP__  VD-16MB-FZ______     16,777,216     38,273,024   Yes  512  15000
  7  NETAPP__  VD-35MB-FZ______     35,913,728     57,409,536   Yes  512  15000
  8  NETAPP__  VD-50MB-FZ______     52,428,800     73,924,608   Yes  512  15000
  9  NETAPP__  VD-100MB-FZ_____    104,857,600    126,353,408   Yes  512  15000
 10  NETAPP__  VD-500MB-FZ_____    524,288,000    545,783,808   Yes  512  15000
 11  NETAPP__  VD-1000MB-FZ____  1,048,576,000  1,070,071,808   Yes  512  15000
 12  NETAPP__  VD-16MB-520_____     16,777,216     38,273,024   No   520  10000
 13  NETAPP__  VD-35MB-520_____     35,913,728     57,409,536   No   520  10000
 14  NETAPP__  VD-50MB-520_____     52,428,800     73,924,608   No   520  10000
 15  NETAPP__  VD-100MB-520____    104,857,600    126,353,408   No   520  10000
 16  NETAPP__  VD-500MB-520____    524,288,000    545,783,808   No   520  10000
 17  NETAPP__  VD-1000MB-520___  1,048,576,000  1,070,071,808   No   520  10000
 18  NETAPP__  VD-16MB-FZ-520__     16,777,216     38,273,024   Yes  520  15000
 19  NETAPP__  VD-35MB-FZ-520__     35,913,728     57,409,536   Yes  520  15000
 20  NETAPP__  VD-50MB-FZ-520__     52,428,800     73,924,608   Yes  520  15000
 21  NETAPP__  VD-100MB-FZ-520_    104,857,600    126,353,408   Yes  520  15000
 22  NETAPP__  VD-500MB-FZ-520_    524,288,000    545,783,808   Yes  520  15000
 23  NETAPP__  VD-1000MB-FZ-520  1,048,576,000  1,070,071,808   Yes  520  15000
 24  NETAPP__  VD-16MB-FZ-ATA__     16,777,216     51,388,416   Yes  512   7200
 25  NETAPP__  VD-35MB-FZ-ATA__     36,700,160     73,801,728   Yes  512   7200
 26  NETAPP__  VD-50MB-FZ-ATA__     52,428,800     91,496,448   Yes  512   7200
 27  NETAPP__  VD-100MB-FZ-ATA_    104,857,600    150,478,848   Yes  512   7200
 28  NETAPP__  VD-500MB-FZ-ATA_    524,288,000    622,338,048   Yes  512   7200
 29  NETAPP__  VD-1000MB-FZ-ATA  1,048,576,000  1,212,162,048   Yes  512   7200
 30  NETAPP__  VD-2000MB-FZ-520  2,097,512,000  2,119,007,808   Yes  520  15000
 31  NETAPP__  VD-4000MB-FZ-520  4,194,304,000  4,215,799,808   Yes  520  15000
 32  NETAPP__  VD-2000MB-FZ-ATA  2,097,512,000  2,391,810,048   Yes  512   7200
 33  NETAPP__  VD-4000MB-FZ-ATA  4,194,304,000  4,751,106,048   Yes  512   7200
 34  NETAPP__  VD-100MB-SS-512_    104,857,600    126,353,408   Yes  512  15000
 35  NETAPP__  VD-500MB-SS-520_    524,288,000    545,783,808   Yes  520  15000
 36  NETAPP__  VD-9000MB-FZ-520  9,437,184,000  9,458,679,808   Yes  520  15000
 37  NETAPP__  VD-9000MB-FZ-ATA  9,437,184,000 10,649,346,048   Yes  512   7200

::*>

いろんなディスクタイプが選択できますが、BPSが520になっているものを優先して選びます。

その中で一番容量が大きいのは36番なので、「-t 36」というオプションを使います。

今回は60本を増設してみます(なお、あとで分かりますが、56本までしか認識してくれませんでした)

アダプタ0配下に20本追加するコマンド「systemshell localhost “cd /sim/dev;sudo vsim_makedisks -t 36 -n 20 -a 0″」を実行します。

アダプタ1配下に20本追加するコマンド「systemshell localhost “cd /sim/dev;sudo vsim_makedisks -t 36 -n 20 -a 1″」を実行します。

アダプタ2配下に20本追加するコマンド「systemshell localhost “cd /sim/dev;sudo vsim_makedisks -t 36 -n 20 -a 2″」を実行します。

作成したら「halt local」で停止をして、再起動します。

これで起動すればOKです。

Windowsで簡易的にWebサーバをたてるソフト HFS


むかしはネットワーク機器のfirmware versionアップにtftpやftpなどを使うことが多かった。

最近はhttp経由という例が増えている。

Windows標準のIISだと大がかりすぎるのでもっと簡単にできるものを探して「簡単WEBサーバー」というものを試したのだが、これはGETしか実装していないという中途半端なものだった。

GETしか実装されていないと何が問題になるかと言うと、ファイルダウンロード前にHEADでファイルサイズを確認し、保存できる領域があるかを確認する、という動作をする機器の場合、HEADが実装されていないため容量確認ができず、ダウンロードが実施できない、ということになる。

で、探したところ「HFS ~ Http File Server」というものを発見。

これは2MBのバイナリでインストール不要というもの。

hfs.exeを実行すると下記の様にウィンドウが立ち上がり、Webサーバとして動作しだす。

ファイルの登録は簡単で、登録したいファイルの右クリックメニューから「Add to HFS」を選択するだけ、となっている。

追加すると下記の様に/直下に配置される。ファイルを選択するとダウンロードに使用するURLが表示されるという点も便利

ダウンロードが開始されるとLogウインドウにどういうリクエストがあったのかが表示される。

起動したWindowsに複数のIPアドレスがある場合、どのIPアドレスで公開するかは選択できる。

ポート番号は80以外にも設定することはできる(httpsは未対応)

サービスとして動作させることはできないが、Windows起動時にHFSを実行する、という設定もある

ONTAP 9でCIFS/NFS共有へのアクセス確認


NetApp ONTAP9でCIFS/NFS共有を作った時に、指定ディレクトリに対してアクセスできるかどうかをNetApp側で確認する手法

export policy上でクライアントIPからのアクセスを許可しているか確認

export policy上で、該当IPアドレスからのアクセスを受け付ける設定になっているかを確認

「vserver export-policy check-access」を使用する。

CIFSアクセスの確認

ontap-select-cluster::> vserver export-policy check-access -vserver svm0 -volume testvol -qtree ntfs-test1 -client-ip  172.17.44.50 -authentication-method ntlm -protocol cifs -access-type read-write
                                         Policy    Policy       Rule
Path                          Policy     Owner     Owner Type  Index Access
----------------------------- ---------- --------- ---------- ------ ----------
/                             default    svm0_root volume          1 read
/testvol                      testvol    testvol   volume          8 read
/testvol/ntfs-test1           testvol    ntfs-test1
                                                   qtree           8 read-write
3 entries were displayed.

ontap-select-cluster::>

上記の場合、/testvol/ntfs-test1 ディレクトリに対する読み書きが許可されている、ということになる。

NFSアクセスの確認

ontap-select-cluster::> vserver export-policy check-access -vserver svm0 -volume testvol -qtree ntfs-test1 -client-ip  172.17.44.50 -authentication-method sys -protocol nfs4 -access-type read-write
                                         Policy    Policy       Rule
Path                          Policy     Owner     Owner Type  Index Access
----------------------------- ---------- --------- ---------- ------ ----------
/                             default    svm0_root volume          1 read
/testvol                      testvol    testvol   volume          8 read
/testvol/ntfs-test1           testvol    ntfs-test1
                                                   qtree           8 read-write
3 entries were displayed.

ontap-select-cluster::>

上記の場合、/testvol/ntfs-test1 ディレクトリに対する読み書きが許可されている、ということになる。

該当ディレクトリ/ファイルの権限確認

NetApp上のパスを指定して、そこに与えられている権限がどのようになっているかを確認する。

「vserver security file-directory show」コマンドを使う。

NTFS/mixedの場合

ontap-select-cluster::> vserver security file-directory show -vserver svm0 -path /testvol/ntfs-test1

                Vserver: svm0
              File Path: /testvol/ntfs-test1
      File Inode Number: 966
         Security Style: mixed
        Effective Style: ntfs
         DOS Attributes: 10
 DOS Attributes in Text: ----D---
Expanded Dos Attributes: -
           UNIX User Id: 0
          UNIX Group Id: 0
         UNIX Mode Bits: 777
 UNIX Mode Bits in Text: rwxrwxrwx
                   ACLs: NTFS Security Descriptor
                         Control:0x8004
                         Owner:BUILTIN\Administrators
                         Group:BUILTIN\Administrators
                         DACL - ACEs
                           ALLOW-Everyone-0x1f01ff
                           ALLOW-Everyone-0x10000000-OI|CI|IO

ontap-select-cluster::>

Windowsからアクセスした際、該当ファイルの所有者がAdministratorsになっていて、Everyoneに対するアクセスが許可されている、というのが分かる

NFSの場合

ontap-select-cluster::> vserver security file-directory show -vserver svm0 -path /testvol/test

                Vserver: svm0
              File Path: /testvol/test
      File Inode Number: 96
         Security Style: unix
        Effective Style: unix
         DOS Attributes: 10
 DOS Attributes in Text: ----D---
Expanded Dos Attributes: -
           UNIX User Id: 0
          UNIX Group Id: 0
         UNIX Mode Bits: 777
 UNIX Mode Bits in Text: rwxrwxrwx
                   ACLs: -

ontap-select-cluster::>

UNIXからNFSでアクセスした際に、777権限なので誰でも読み書き可能であることがわかる。

ユーザ名の変換について

UNIX上のユーザ名とWindows上のユーザ名の変換状況を確認しつつ、該当ディレクトリ/ファイルにアクセスできるかを確認するには「vserver security file-directory show-effective-permissions」を使用する。

NTFS/mixedの場合

/testvol/ntfs-test1 にUNIXからrootユーザでアクセスできるか、WindowsからAdministratorユーザでアクセスできるかをそれぞれ確認するには、下記の様に実行する。

unixのrootユーザを指定していても「Windows User Name」としてADOSAKANAドメインのAdministrator相当である、と認識されているし、逆にAdministratorを指定していてもUNIX rootユーザ相当であると認識されている。

ontap-select-cluster::> vserver security file-directory show-effective-permissions -vserver svm0 -path /testvol/ntfs-test1 -unix-user-name root

              Vserver: svm0
    Windows User Name: ADOSAKANA\Administrator
       Unix User Name: root
            File Path: /testvol/ntfs-test1
      CIFS Share Path: -
Effective Permissions:
                       Effective File or Directory Permission: 0x1f01ff
                        Read
                        Write
                        Append
                        Read EA
                        Write EA
                        Execute
                        Delete Child
                        Read Attributes
                        Write Attributes
                        Delete
                        Read Control
                        Write DAC
                        Write Owner
                        Synchronize

ontap-select-cluster::> vserver security file-directory show-effective-permissions -vserver svm0 -path /testvol/ntfs-test1 -win-user-name administrator

              Vserver: svm0
    Windows User Name: administrator
       Unix User Name: root
            File Path: /testvol/ntfs-test1
      CIFS Share Path: -
Effective Permissions:
                       Effective File or Directory Permission: 0x1f01ff
                        Read
                        Write
                        Append
                        Read EA
                        Write EA
                        Execute
                        Delete Child
                        Read Attributes
                        Write Attributes
                        Delete
                        Read Control
                        Write DAC
                        Write Owner
                        Synchronize

ontap-select-cluster::>

NFSの場合

このユーザ名変換の確認の動作は、Secutiry Styleがntfs/mixedかNFSは差が無いようだ。

ontap-select-cluster::> vserver security file-directory show-effective-permissions -vserver svm0 -path /testvol/test1 -unix-user-name root

              Vserver: svm0
    Windows User Name: ADOSAKANA\Administrator
       Unix User Name: root
            File Path: /testvol/test1
      CIFS Share Path: -
Effective Permissions:
                       Effective File or Directory Permission: 0x11f01ff
                        Read
                        Write
                        Append
                        Read EA
                        Write EA
                        Execute
                        Delete Child
                        Read Attributes
                        Write Attributes
                        Delete
                        Read Control
                        Write DAC
                        Write Owner
                        Synchronize
                        System Security

ontap-select-cluster::> vserver security file-directory show-effective-permissions -vserver svm0 -path /testvol/test1 -win-user-name ADOSAKANA\administrator

              Vserver: svm0
    Windows User Name: ADOSAKANA\administrator
       Unix User Name: root
            File Path: /testvol/test1
      CIFS Share Path: -
Effective Permissions:
                       Effective File or Directory Permission: 0x11f01ff
                        Read
                        Write
                        Append
                        Read EA
                        Write EA
                        Execute
                        Delete Child
                        Read Attributes
                        Write Attributes
                        Delete
                        Read Control
                        Write DAC
                        Write Owner
                        Synchronize
                        System Security

ontap-select-cluster::>

Solaris 11をNISクライアントにする


Solaris 環境からのNFS v4アクセスを確認するため、VMware上にSolaris 11をインストールした。

NISによるユーザIDの共通化も検証するため、NISクライアントの設定を行った。

NISクライアントにする設定は「domainname NISドメイン名」でNISのドメイン名を設定したあと「ypinit -c」で終わり。

つぎは/etc/nsswitch.confを編集して…と思ってvi /etc/nsswitch.confで開いてみると、手動で編集するな、という記載が…

マニュアルを探すと「Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業」の「ネームサービススイッチの管理」があった。

「データベースのソースを切り替える方法」にある「svccfg -s system/name-service/switch」で入ったあと「listprop config」で現在の設定値を確認できる。

root@solaris11:~# svccfg -s system/name-service/switch
svc:/system/name-service/switch> listprop config
config                      application
config/value_authorization astring     solaris.smf.value.name-service.switch
config/default             astring     files
config/host                astring     "files dns"
config/printer             astring     "user files"
svc:/system/name-service/switch> quit
root@solaris11:~#

nsswitch.conf にあるいろんなエントリのうち、hostsとprinterしかない。

じゃぁ、手動で設定すればいいのかと「setprop config/passwd=”files nis”」と実行してみるとエラー。

じゃぁ、と「setprop config/password=”files nis”」に変えてみると設定成功

「setprop config/group=”files nis”」も実行。

svc:/system/name-service/switch> setprop config/password="files nis"
svc:/system/name-service/switch> setprop config/group="files nis"
svc:/system/name-service/switch> listprop config
config                      application
config/value_authorization astring     solaris.smf.value.name-service.switch
config/default             astring     files
config/host                astring     "files dns"
config/printer             astring     "user files"
config/password            astring     "files nis"
config/group               astring     "files nis"
svc:/system/name-service/switch>

「quit」で抜けて、「svcadm refresh name-service/switch」を実行するとシステムに反映されて、ls -l でみた場合の結果に反映された。

また、値が反映されると/etc/nsswitch.confの内容も書き換わる。


NISの解除方法

NIS クライアントサービスの無効化より

root@solaris11:~# svcadm disable network/nis/domain
root@solaris11:~# svcadm disable network/nis/client
root@solaris11:~# reboot