ESXi にコマンドで NFS マウントする方法(esxcfg-nas / vim-cmd / esxcli)

ESXi にコマンドで NFS マウントする方法(esxcfg-nas / vim-cmd / esxcli)

ESXi に、コマンドで NFS をマウントする方法の紹介です。


コマンドで、192.168.0.249サーバの /nfs ディレクトリを、
ESXi の /vmfs/volume/ds_nfs_249 としてマウントします。

・NFS サーバ: 192.168.0.249
・NFS 共有名: /nfs
・NFS データストア名: ds_nfs_249

下記のどのコマンドでも、自動的にマウントポイント(ディレクトリ)が作成されます。
手動でマウントポイントを作成/削除する必要はありません。


1. まず、信頼と実績?の esxcfg-nas コマンド

コマンドラインが、一番簡潔です。

NFS マウント

~ # esxcfg-nas --add --host 192.168.0.249 --share /nfs ds_nfs_249
Connecting to NAS volume: ds_nfs_249
ds_nfs_249 created and connected.

(短縮版)
~ # esxcfg-nas -a -o 192.168.0.249 -s /nfs ds_nfs_249
Connecting to NAS volume: ds_nfs_249
ds_nfs_249 created and connected.


マウント確認

~ # esxcfg-nas --list
ds_nfs_249 is /nfs from 192.168.0.249 mounted available


~ # ls -ld /vmfs/volumes/ds_nfs_249
lrwxr-xr-x  1 root   root  17 Nov 25 18:08 /vmfs/volumes/ds_nfs_249 -> 37a82cda-67864c65

(短縮版)
~ # esxcfg-nas -l
ds_nfs_249 is /nfs from 192.168.0.249 mounted available

アンマウント

~ # esxcfg-nas --delete ds_nfs_249
NAS volume ds_nfs_249 deleted.


(短縮版)
~ # esxcfg-nas -d ds_nfs_249
NAS volume ds_nfs_249 deleted.

(アンマウントの確認)

~ # esxcfg-nas -l
~ # ls -ld /vmfs/volumes/ds_nfs_249
ls: /vmfs/volumes/ds_nfs_249: No such file or directory

2. 次は、玄人志向の vim-cmd

出力結果がわかりにくいです。

NFS マウント
※最後の「0」は読み書き(RW)モードを表します。「1」だとリードオンリーになります。

~ # vim-cmd hostsvc/datastore/nas_create ds_nfs_249 192.168.0.249 /nfs 0

マウント確認

~ # vim-cmd hostsvc/datastore/info ds_nfs_249
(vim.host.NasDatastoreInfo) {
   dynamicType = <unset>,
   name = "ds_nfs_249",
   url = "/vmfs/volumes/37a82cda-67864c65",
   freeSpace = 100703129600,
   maxFileSize = 9223372036854775807,
   timestamp = "2012-11-25T18:08:19.836034Z",
   nas = (vim.host.NasVolume) {
      dynamicType = <unset>,
      type = "NFS",
      name = "ds_nfs_249",
      capacity = 105688002560,
      remoteHost = "192.168.0.249",
      remotePath = "/nfs",
      userName = <unset>,
   },
}
(vim.Datastore.HostMount) [
   (vim.Datastore.HostMount) {
      dynamicType = <unset>,
      key = 'vim.HostSystem:ha-host',
      mountInfo = (vim.host.MountInfo) {
         dynamicType = <unset>,
         path = "/vmfs/volumes/37a82cda-67864c65",
         accessMode = "readWrite",
         mounted = true,
         accessible = true,
         inaccessibleReason = <unset>,
      },
   }
]

NFSアンマウント

~ # vim-cmd hostsvc/datastore/remove ds_nfs_249

(アンマウント確認)
~ # vim-cmd hostsvc/datastore/info ds_nfs_249
Datastore not found.

3. 最後に、一番ナウい esxcli

結果出力が、一番わかりやすいです。

NFSマウント

~ # esxcli storage nfs add --host=192.168.0.249 --share=/nfs --volume-name=ds_nfs_249

(短縮版)
~ # esxcli storage nfs add -H=192.168.0.249 -s=/nfs -v=ds_nfs_249


マウント確認

~ # esxcli storage nfs list
Volume Name  Host           Share  Accessible  Mounted  Read-Only  Hardware Acceleration
-----------  -------------  -----  ----------  -------  ---------  ---------------------
ds_nfs_249   192.168.0.249  /nfs         true     true      false  Not Supported


アンマウント

~ # esxcli storage nfs remove --volume-name=ds_nfs_249

(短縮版)
~ # esxcli storage nfs remove -v=ds_nfs_249

(アンマウント確認)
~ # esxcli storage nfs list
~ #

ちなみに、今回の環境は、ESXi 5.1 です。

~ # vmware -v
VMware ESXi 5.1.0 build-838463

NFS サーバは、Oracle Linux 6.2 を使用しています。

[root@vm1 ~]# uname -a
Linux vm1 2.6.32-300.3.1.el6uek.x86_64 #1 SMP Fri Dec 9 18:57:35 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@vm1 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.2

基本的に、NFS サーバ側は何を使っていても(Linux のNFS サーバでも、Solaris のNFSサーバでも、NetApp でも)
ESXi での NFS マウント方法は変わりません。

Version history
Revision #:
1 of 1
Last update:
‎11-25-2012 11:16 AM
Updated by: