vSphere ESXiで切断されたNFSに再接続する

NFSサーバが起動する前にESXiが起動してしまった場合、NFSが切断状態となる。

FCやiSCSIであれば勝手に再接続とかしてくれるが、NFSだと切れたままになる。

VMware KB「切断された NFS データストアの ESXi/ESX コマンド ラインからの再マウント (1005057)

一度NFSマウントの設定を削除して再設定する必要がある、とのこと。

VMware KBには「esxcli storage nfs list」といったコマンドが書かれているが、これはNFS v3.0向けのコマンドで、NFS v4.1については「esxcli storage nfs41 list」というようにコマンドを実行する必要があった。(以下、esxcli nfs41として記載しているが、NFS v3の場合はesxcli nfsで実行する)

まず、現在の設定を確認するため「esxcli storage nfs41 list」を実行

[root@esxiserver:~] esxcli storage nfs41 list
Volume Name  Host(s)        Share     Accessible  Mounted  Read-Only  Security   isPE  Hardware Acceleration
-----------  -------------  --------  ----------  -------  ---------  --------  -----  ---------------------
nfsv4test    172.17.44.108  /testvol       false    false      false  AUTH_SYS  false  Unknown
[root@esxiserver:~] 

エントリを削除するため「esxcli storage nfs41 remove –volume-name=nfsv4test」を実行

[root@esxiserver:~] esxcli storage nfs41 remove --volume-name=nfsv4test
[root@esxiserver:~] esxcli storage nfs41 list
[root@esxiserver:~] 

listで表示された内容をベースに「esxcli storage nfs41 add –volume-name=~ –hosts=~ –share=~ –sec=~」というように登録コマンドを実行する。

[root@esxiserver:~] esxcli storage nfs41 add --volume-name=nfsv4test --hosts=172
.17.44.108 --share=/testvol --sec=AUTH_SYS
[root@esxiserver:~] 

登録されたことを確認

[root@esxiserver:~] esxcli storage nfs41 list
Volume Name  Host(s)        Share     Accessible  Mounted  Read-Only  Security   isPE  Hardware Acceleration
-----------  -------------  --------  ----------  -------  ---------  --------  -----  ---------------------
nfsv4test    172.17.44.108  /testvol        true     true      false  AUTH_SYS  false  Supported
[root@esxiserver:~]

vSphere ESXiでNetApp ONTAP9のNFS4.1を使う

NetApp ONTAP 9.7環境にてNFS4.1を有効にして、vSphere ESXi 6.7のNFSデータストアにしてみた。

NetApp ONTAP9側

NFS 4.1有効化

ONTAP 9.7管理画面でNFSを有効にした場合、NFS v3.0のみが有効化されている。

プロトコルの「NFS」から編集を選ぶと以下の様に設定変更ができる。

とりあえず「バージョン4のサポートを有効にする」と「バージョン4.1のサポートを有効にする」にチェックを入れると下記のようになる。

「pNFS」にもチェックが入っている状態になるが、このまま設定する。

設定後のプロトコル表示は下記の様になる。

通常のNFSと同じくエクスポートルールの設定などはちゃんと行うこと。

ONTAPでNFS経由のVAAIを許可するエクスポート ポリシーの設定

NFS vStorage Support有効化

NetAppのStorage VM(SVM)に対してNFS vStorage Support(VAAI連携)を有効化する。

現在値の確認は「vserver nfs show -ins」で「NFS vStorage Support」の値を確認する。

ontap-select-cluster::> vserver nfs show -ins

                                        Vserver: svm0
                             General NFS Access: true
                                         NFS v3: enabled
                                       NFS v4.0: enabled
                                   UDP Protocol: enabled
                                   TCP Protocol: enabled
                           Default Windows User: -
                            NFSv4.0 ACL Support: disabled
                NFSv4.0 Read Delegation Support: disabled
               NFSv4.0 Write Delegation Support: disabled
                        NFSv4 ID Mapping Domain: defaultv4iddomain.com
            NFSv4 Grace Timeout Value (in secs): 45
Preserves and Modifies NFSv4 ACL (and NTFS File Permissions in Unified Security Style): enabled
                  NFSv4.1 Minor Version Support: enabled
                                  Rquota Enable: disabled
                   NFSv4.1 Parallel NFS Support: enabled
                            NFSv4.1 ACL Support: disabled
                           NFS vStorage Support: disabled
            NFSv4 Support for Numeric Owner IDs: enabled
                          Default Windows Group: -
                NFSv4.1 Read Delegation Support: disabled
               NFSv4.1 Write Delegation Support: disabled
                            NFS Mount Root Only: enabled
                                  NFS Root Only: disabled
            Permitted Kerberos Encryption Types: des, des3, aes-128, aes-256
                              Showmount Enabled: enabled
Set the Protocol Used for Name Services Lookups for Exports: udp
                    NFSv3 MS-DOS Client Support: disabled
     Idle Connection Timeout Value (in seconds): 360
             Are Idle NFS Connections Supported: disabled
Hide Snapshot Directory under NFSv3 Mount Point: disabled
           Provide Root Path as Showmount State: disabled

ontap-select-cluster::> 

vStorage Supportの項目だけ確認する場合は「vserver nfs show -fields vstorage」でも良い。

ontap-select-cluster::> vserver nfs show -fields vstorage
vserver vstorage
------- --------
svm0    disabled

ontap-select-cluster::>

有効にする場合は「vserver nfs modify -vserver SVM名 -vstorage enabled」を実行する。

ontap-select-cluster::> vserver nfs modify -vserver svm0 -vstorage enabled

ontap-select-cluster::> vserver nfs show

変更後は以下のような出力結果となる。

ontap-select-cluster::> vserver nfs show -ins

                                        Vserver: svm0
                             General NFS Access: true
                                         NFS v3: enabled
                                       NFS v4.0: enabled
                                   UDP Protocol: enabled
                                   TCP Protocol: enabled
                           Default Windows User: -
                            NFSv4.0 ACL Support: disabled
                NFSv4.0 Read Delegation Support: disabled
               NFSv4.0 Write Delegation Support: disabled
                        NFSv4 ID Mapping Domain: defaultv4iddomain.com
            NFSv4 Grace Timeout Value (in secs): 45
Preserves and Modifies NFSv4 ACL (and NTFS File Permissions in Unified Security Style): enabled
                  NFSv4.1 Minor Version Support: enabled
                                  Rquota Enable: disabled
                   NFSv4.1 Parallel NFS Support: enabled
                            NFSv4.1 ACL Support: disabled
                           NFS vStorage Support: enabled
            NFSv4 Support for Numeric Owner IDs: enabled
                          Default Windows Group: -
                NFSv4.1 Read Delegation Support: disabled
               NFSv4.1 Write Delegation Support: disabled
                            NFS Mount Root Only: enabled
                                  NFS Root Only: disabled
            Permitted Kerberos Encryption Types: des, des3, aes-128, aes-256
                              Showmount Enabled: enabled
Set the Protocol Used for Name Services Lookups for Exports: udp
                    NFSv3 MS-DOS Client Support: disabled
     Idle Connection Timeout Value (in seconds): 360
             Are Idle NFS Connections Supported: disabled
Hide Snapshot Directory under NFSv3 Mount Point: disabled
           Provide Root Path as Showmount State: disabled

ontap-select-cluster::> vserver nfs show -fields vstorage
vserver vstorage
------- --------
svm0    enabled

ontap-select-cluster::>

vSphere側

データストアの追加から「NFS」の「NFS 4.1」を追加する

VAAIプラグインを追加

ESXiに「NetApp NFS Plug-in for VMware VAAI」をインストールすることで、VAAI機能が有効になる。

すでにNFSマウントされているデータストアがVAAIでアクセスされているか確認するにはESXi shellでコマンドを実行する。

[root@esxiserver:~] esxcli storage nfs41 list
Volume Name  Host(s)        Share     Accessible  Mounted  Read-Only  Security   isPE  Hardware Acceleration
-----------  -------------  --------  ----------  -------  ---------  --------  -----  ---------------------
nfsv4test    172.17.44.108  /testvol        true     true      false  AUTH_SYS  false  Not Supported
[root@esxiserver:~]

「Hardware Acceleration」が「Not Supported」となっている場合、VAAIが有効な状態ではない。

また「vmkfstools -Ph /vmfs/volumes/<データストア名>」を実行した結果内の「NAS VAAI Supported」でも確認できる。

[root@esxiserver:~] vmkfstools -Ph /vmfs/volumes/nfsv4test
NFS41-4.01 (Raw Major Version: 0) file system spanning 1 partitions.
File system label (if any): nfsv4test
Mode: public
Capacity 50 GB, 48.0 GB available, file block size 4 KB, max supported file size 16.0 TB
Disk Block Size: 512/512/0
UUID: a135f63e-34806068-0000-000000000000
Partitions spanned (on "notDCS"):
        NFS41:a135f63e-34806068-0000-000000000000
NAS VAAI Supported: NO
Is Native Snapshot Capable: NO
[root@esxiserver:~]

ESXi shellからVAAIプラグインをインストールする。

[root@esxiserver:~] esxcli software vib install -d /vmfs/volumes/software/netapp
/nfs_plugin_VAAI/1.1.2/NetAppNasPlugin.v23.zip
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: NetApp_bootbank_NetAppNasPlugin_1.1.2-3
   VIBs Removed:
   VIBs Skipped:
[root@esxiserver:~]

「Reboot Required: true」と再起動が要求されたので、ESXiを再起動します。

再起動後、「esxcli storage nfs41 list」で確認すると「Hardware Acceleration Supported」。

[root@esxiserver:~] esxcli storage nfs41 list
Volume Name  Host(s)        Share     Accessible  Mounted  Read-Only  Security   isPE  Hardware Acceleration
-----------  -------------  --------  ----------  -------  ---------  --------  -----  ---------------------
nfsv4test    172.17.44.108  /testvol        true     true      false  AUTH_SYS  false  Supported
[root@esxiserver:~]

「vmkfstools -Ph /vmfs/volumes/<データストア名>」は「NAS VAAI Supported: YES」に変わります。

[root@esxiserver:~] vmkfstools -Ph /vmfs/volumes/nfsv4test
NFS41-4.01 (Raw Major Version: 0) file system spanning 1 partitions.
File system label (if any): nfsv4test
Mode: public
Capacity 50 GB, 48.0 GB available, file block size 4 KB, max supported file size 16.0 TB
Disk Block Size: 512/512/0
UUID: a135f63e-34806068-0000-000000000000
Partitions spanned (on "notDCS"):
        NFS41:a135f63e-34806068-0000-000000000000
NAS VAAI Supported: YES
Is Native Snapshot Capable: YES
[root@esxiserver:~]

2020/08/04追記

export policy関連設定

svmのrootボリュームのexport policyをread onlyの0.0.0.0/0にして、vSphere用NFS共有のexport policyをread/write 0.0.0.0/0にしておいたところ、ESXi 7.0からのNFS4.1データストア登録に失敗。

svmのrootボリュームへの書き込み権限も必要だった。

VCSAへのパッチ適用

vSphereのvCenter仮想マシン(VCSA)へのパッチ適用方法について、よく忘れるのでメモ

公式ドキュメント
 vSphere 6.7「アプライアンス管理インターフェイスを使用した vCenter Server Appliance へのパッチ適用
 vSphere 7.0「vCenter Server 管理インターフェイスを使用した vCenter Server へのパッチ適用

どちらもほぼ同じ

(1) VCSAのパッチをmy vmwareから入手
(2) VCSA仮想マシンの仮想CD-ROMに、VCSAパッチのISOをマウント
(3) Webブラウザで https://<VCSA>:5480」にアクセス
(4) rootでログイン
(5) [更新]タブを開き、[更新の確認]-[CD ROMの確認]を選択

RHEL7でVcXsrv経由とvSphereコンソール経由のglxinfoの出力差を調べた

vSphere 6.7環境に構築しているRHEL7環境で、X-Windowによるアプリ表示を行う際、アクセス環境によって使えるX-Windowの機能が違うようなので差を調べようと思った。

とりあえず「glxinfo」を実行すればいいのかな、と「vSphere 6.7のVMware Remote Console 11.0.0上でstartxした環境」と「Windows10上でVcXsrvを起動した環境」とで差を調べて見た。

有意な差がでたところを重点的にピックアップしていく。

VcXsrv環境
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
vSphere環境
direct rendering: Yes

直接コンソールに出力しているので「direct renderring:yes」になってますね。

次に「server glx」部分で共通している箇所

server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context,
    GLX_ARB_create_context_profile,
    GLX_ARB_fbconfig_float,
    GLX_ARB_framebuffer_sRGB,
    GLX_ARB_multisample,
    GLX_EXT_create_context_es2_profile,
    GLX_EXT_fbconfig_packed_float,
    GLX_EXT_framebuffer_sRGB,
    GLX_EXT_import_context,
    GLX_EXT_visual_info,
    GLX_EXT_visual_rating,
    GLX_MESA_copy_sub_buffer,
    GLX_OML_swap_method,
    GLX_SGIS_multisample,
    GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer,
    GLX_SGIX_visual_select_group,
    GLX_SGI_make_current_read,

server glxでVcXsrvのみある項目

    GLX_ARB_create_context_robustness,
    GLX_SGI_swap_control

逆にvSphereのみある項目

    GLX_EXT_create_context_es_profile,
    GLX_EXT_libglvnd,
    GLX_EXT_texture_from_pixmap,

次の「client glx」はどちらも共通で、差はなかった。

client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context,
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync

「GLX」について。まずは共通部分

GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context,
    GLX_ARB_create_context_profile,
    GLX_ARB_fbconfig_float,
    GLX_ARB_framebuffer_sRGB,
    GLX_ARB_get_proc_address,
    GLX_ARB_multisample,
    GLX_EXT_create_context_es2_profile,
    GLX_EXT_fbconfig_packed_float,
    GLX_EXT_framebuffer_sRGB,
    GLX_EXT_import_context,
    GLX_EXT_visual_info,
    GLX_EXT_visual_rating,
    GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent,
    GLX_OML_swap_method,
    GLX_SGIS_multisample,
    GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer,
    GLX_SGIX_visual_select_group,
    GLX_SGI_make_current_read,

VcXsrvにのみあるもの

    GLX_ARB_create_context_robustness,
    GLX_SGI_swap_control

vSphereにのみあるもの

    GLX_EXT_create_context_es_profile,
    GLX_EXT_texture_from_pixmap,
    GLX_MESA_query_renderer,

Open GLのバージョンについてはそれぞれ違う。まずはVcXsrv

OpenGL vendor string: Intel
OpenGL renderer string: Intel(R) HD Graphics 530
OpenGL version string: 1.4 (4.6.0 - Build 26.20.100.7263)

次にvSphere

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.9, 256 bits)
OpenGL version string: 2.1 Mesa 17.0.1
OpenGL shading language version string: 1.30

vSphere環境の方はOpenGLシェーダも搭載されているようだ。

「OpenGL extentions」の違いはかなり大きい。まず共通部分

OpenGL extensions:
    GL_3DFX_texture_compression_FXT1,
    GL_ARB_depth_texture,
    GL_ARB_draw_buffers,
    GL_ARB_fragment_program,
    GL_ARB_fragment_program_shadow,
    GL_ARB_multisample,
    GL_ARB_multitexture,
    GL_ARB_occlusion_query,
    GL_ARB_point_parameters,
    GL_ARB_point_sprite,
    GL_ARB_shadow,
    GL_ARB_texture_border_clamp,
    GL_ARB_texture_compression,
    GL_ARB_texture_cube_map,
    GL_ARB_texture_env_add,
    GL_ARB_texture_env_combine,
    GL_ARB_texture_env_crossbar,
    GL_ARB_texture_env_dot3,
    GL_ARB_texture_mirrored_repeat,
    GL_ARB_texture_non_power_of_two,
    GL_ARB_texture_rectangle,
    GL_ARB_transpose_matrix,
    GL_ARB_vertex_program,
    GL_ARB_window_pos,
    GL_ATI_draw_buffers,
    GL_EXT_abgr,
    GL_EXT_bgra,
    GL_EXT_blend_color,
    GL_EXT_blend_equation_separate,
    GL_EXT_blend_func_separate,
    GL_EXT_blend_minmax,
    GL_EXT_blend_subtract,
    GL_EXT_draw_range_elements,
    GL_EXT_fog_coord,
    GL_EXT_framebuffer_object,
    GL_EXT_multi_draw_arrays,
    GL_EXT_packed_pixels,
    GL_EXT_point_parameters,
    GL_EXT_rescale_normal,
    GL_EXT_secondary_color,
    GL_EXT_separate_specular_color,
    GL_EXT_shadow_funcs,
    GL_EXT_stencil_two_side,
    GL_EXT_stencil_wrap,
    GL_EXT_texture3D,
    GL_EXT_texture_edge_clamp,
    GL_EXT_texture_env_add,
    GL_EXT_texture_env_combine,
    GL_EXT_texture_lod_bias,
    GL_EXT_texture_rectangle,
    GL_IBM_texture_mirrored_repeat,
    GL_INGR_blend_func_separate,
    GL_NV_blend_square,
    GL_NV_texgen_reflection,
    GL_NV_texture_rectangle,
    GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp,
    GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod,
    GL_SUN_multi_draw_arrays

VcXsrvのみあるもの

    GL_EXT_clip_volume_hint,
    GL_EXT_texture_compression_s3tc,
    GL_EXT_texture_filter_anisotropic,

vSphereのみあるものはかなり多く以下

    GL_AMD_conservative_depth,
    GL_AMD_draw_buffers_blend,
    GL_AMD_seamless_cubemap_per_texture,
    GL_AMD_shader_stencil_export,
    GL_AMD_shader_trinary_minmax,
    GL_APPLE_packed_pixels,
    GL_APPLE_vertex_array_object,
    GL_ARB_ES2_compatibility,
    GL_ARB_ES3_compatibility,
    GL_ARB_arrays_of_arrays,
    GL_ARB_base_instance,
    GL_ARB_blend_func_extended,
    GL_ARB_buffer_storage,
    GL_ARB_clear_buffer_object,
    GL_ARB_clip_control,
    GL_ARB_color_buffer_float,
    GL_ARB_compressed_texture_pixel_storage,
    GL_ARB_conditional_render_inverted,
    GL_ARB_conservative_depth,
    GL_ARB_copy_buffer,
    GL_ARB_copy_image,
    GL_ARB_cull_distance,
    GL_ARB_debug_output,
    GL_ARB_depth_buffer_float,
    GL_ARB_depth_clamp,
    GL_ARB_draw_buffers_blend,
    GL_ARB_draw_elements_base_vertex,
    GL_ARB_draw_instanced,
    GL_ARB_explicit_attrib_location,
    GL_ARB_explicit_uniform_location,
    GL_ARB_fragment_coord_conventions,
    GL_ARB_fragment_shader,
    GL_ARB_framebuffer_object,
    GL_ARB_framebuffer_sRGB,
    GL_ARB_get_program_binary,
    GL_ARB_get_texture_sub_image,
    GL_ARB_half_float_pixel,
    GL_ARB_half_float_vertex,
    GL_ARB_instanced_arrays,
    GL_ARB_internalformat_query,
    GL_ARB_internalformat_query2,
    GL_ARB_invalidate_subdata,
    GL_ARB_map_buffer_alignment,
    GL_ARB_map_buffer_range,
    GL_ARB_multi_bind,
    GL_ARB_occlusion_query2,
    GL_ARB_pixel_buffer_object,
    GL_ARB_program_interface_query,
    GL_ARB_provoking_vertex,
    GL_ARB_robustness,
    GL_ARB_sampler_objects,
    GL_ARB_seamless_cube_map,
    GL_ARB_seamless_cubemap_per_texture,
    GL_ARB_separate_shader_objects,
    GL_ARB_shader_bit_encoding,
    GL_ARB_shader_objects,
    GL_ARB_shader_stencil_export,
    GL_ARB_shader_texture_lod,
    GL_ARB_shading_language_100,
    GL_ARB_shading_language_420pack,
    GL_ARB_shading_language_packing,
    GL_ARB_stencil_texturing,
    GL_ARB_sync,
    GL_ARB_texture_compression_rgtc,
    GL_ARB_texture_cube_map_array,
    GL_ARB_texture_gather,
    GL_ARB_texture_mirror_clamp_to_edge,
    GL_ARB_texture_multisample,
    GL_ARB_texture_query_levels,
    GL_ARB_texture_rg,
    GL_ARB_texture_rgb10_a2ui,
    GL_ARB_texture_stencil8,
    GL_ARB_texture_storage,
    GL_ARB_texture_storage_multisample,
    GL_ARB_texture_swizzle,
    GL_ARB_texture_view,
    GL_ARB_timer_query,
    GL_ARB_transform_feedback2,
    GL_ARB_transform_feedback3,
    GL_ARB_transform_feedback_instanced,
    GL_ARB_uniform_buffer_object,
    GL_ARB_vertex_array_bgra,
    GL_ARB_vertex_array_object,
    GL_ARB_vertex_attrib_binding,
    GL_ARB_vertex_buffer_object,
    GL_ARB_vertex_shader,
    GL_ARB_vertex_type_10f_11f_11f_rev,
    GL_ARB_vertex_type_2_10_10_10_rev,
    GL_ATI_blend_equation_separate,
    GL_ATI_fragment_shader,
    GL_ATI_separate_stencil,
    GL_ATI_texture_compression_3dc,
    GL_ATI_texture_env_combine3,
    GL_ATI_texture_mirror_once,
    GL_EXT_copy_texture,
    GL_EXT_draw_buffers2,
    GL_EXT_draw_instanced,
    GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample,
    GL_EXT_framebuffer_multisample_blit_scaled,
    GL_EXT_framebuffer_sRGB,
    GL_EXT_gpu_program_parameters,
    GL_EXT_packed_depth_stencil,
    GL_EXT_packed_float,
    GL_EXT_pixel_buffer_object,
    GL_EXT_polygon_offset,
    GL_EXT_polygon_offset_clamp,
    GL_EXT_provoking_vertex,
    GL_EXT_shader_integer_mix,
    GL_EXT_subtexture,
    GL_EXT_texture,
    GL_EXT_texture_array,
    GL_EXT_texture_compression_latc,
    GL_EXT_texture_compression_rgtc,
    GL_EXT_texture_cube_map,
    GL_EXT_texture_env_dot3,
    GL_EXT_texture_integer,
    GL_EXT_texture_mirror_clamp,
    GL_EXT_texture_object,
    GL_EXT_texture_sRGB,
    GL_EXT_texture_sRGB_decode,
    GL_EXT_texture_shared_exponent,
    GL_EXT_texture_snorm,
    GL_EXT_texture_swizzle,
    GL_EXT_timer_query,
    GL_EXT_transform_feedback,
    GL_EXT_vertex_array,
    GL_EXT_vertex_array_bgra,
    GL_IBM_multimode_draw_arrays,
    GL_IBM_rasterpos_clip,
    GL_KHR_context_flush_control,
    GL_KHR_debug,
    GL_MESA_pack_invert,
    GL_MESA_shader_integer_functions,
    GL_MESA_texture_signed_rgba,
    GL_MESA_window_pos,
    GL_MESA_ycbcr_texture,
    GL_NV_conditional_render,
    GL_NV_depth_clamp,
    GL_NV_fog_distance,
    GL_NV_light_max_exponent,
    GL_NV_packed_depth_stencil,
    GL_NV_primitive_restart,
    GL_NV_texture_env_combine4,
    GL_OES_EGL_image,
    GL_OES_read_format,

また、vSphere環境側にのみ「OpenGL ES profile」も存在してた。

OpenGL ES profile version string: OpenGL ES 2.0 Mesa 17.0.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
    GL_APPLE_texture_max_level,
    GL_EXT_blend_func_extended,
    GL_EXT_blend_minmax,
    GL_EXT_discard_framebuffer,
    GL_EXT_draw_buffers,
    GL_EXT_draw_elements_base_vertex,
    GL_EXT_map_buffer_range,
    GL_EXT_multi_draw_arrays,
    GL_EXT_polygon_offset_clamp,
    GL_EXT_read_format_bgra,
    GL_EXT_separate_shader_objects,
    GL_EXT_texture_border_clamp,
    GL_EXT_texture_format_BGRA8888,
    GL_EXT_texture_rg,
    GL_EXT_texture_type_2_10_10_10_REV,
    GL_EXT_unpack_subimage,
    GL_KHR_context_flush_control,
    GL_KHR_debug,
    GL_NV_draw_buffers,
    GL_NV_fbo_color_attachments,
    GL_NV_read_buffer,
    GL_NV_read_depth,
    GL_NV_read_depth_stencil,
    GL_NV_read_stencil,
    GL_OES_EGL_image,
    GL_OES_EGL_image_external,
    GL_OES_EGL_sync,
    GL_OES_compressed_ETC1_RGB8_texture,
    GL_OES_depth24,
    GL_OES_depth_texture,
    GL_OES_depth_texture_cube_map,
    GL_OES_draw_elements_base_vertex,
    GL_OES_element_index_uint,
    GL_OES_fbo_render_mipmap,
    GL_OES_get_program_binary,
    GL_OES_mapbuffer,
    GL_OES_packed_depth_stencil,
    GL_OES_rgb8_rgba8,
    GL_OES_standard_derivatives,
    GL_OES_stencil8,
    GL_OES_surfaceless_context,
    GL_OES_texture_3D,
    GL_OES_texture_border_clamp,
    GL_OES_texture_float_linear,
    GL_OES_texture_half_float_linear,
    GL_OES_texture_npot,
    GL_OES_vertex_array_object,
    GL_OES_vertex_half_float

この下に「GLX Visuals」というのもありますが、細かすぎるので、省略します。

ESXiで使用できるUPS連動シャットダウンソフトの情報 2023/11/24修正

ESXi 6.7からvMAというVMware提供の仮想アプライアンスが使えなくなった。
LinuxベースなのだがvCenter/ESXiをCLIから操作するためのツールが導入済みなので、UPS連動シャットダウンする際によく使われていた。

ESXi6.7以降は動かなくなってしまったので、代替を探す必要がある。
(APC PowerChute Bussiness EditionはvMAのみ対応)

APC PowerChute Network Shutdown 5.0

2023年6月にPowerChute Network Shutdown 5.0が出ていた

シュナイダーエレクトリック、電源管理ソフトウェアの最新版「PowerChute Network Shutdown v5.0」を発売

上記リリース内の「これまでスクリプトによるコマンド設定が必要だったシャットダウンシーケンスを、画面上から簡単に制御できる機能を備えました」の意味は、ssh連動がWeb UIから設定できる、と読んだのだが、Install Guide/User Guide見てみたのだがssh周りは従来通りに見え、releasenoteを読むとvSANクラスタや、vSphere vCLS、VMware HA周りの処理が組み込まれた、という意味の模様

PowerChute Network Shutdown v5.0製品pdf資料

ライセンスとしては、「Windows &Linux用」「特定機種(UNIX/MacOS)用」「仮想化環境用」と「VxRail用」がある

v5.0としてのリリースノートやインストールガイド、ユーザガイドのpdfが製品リンクから直接はられておらず「PowerChuteシリーズ 各種マニュアル」からアクセスできるのだが、2023/11/24時点ではいくつかのファイルについては権限がないとして読むことが出来ない。

英語版ドキュメント
PowerChute Network Shutdown v5.0 – Release Notes
PowerChute Network Shutdown v5.0 – Installation Guide
PowerChute Network Shutdown v5.0 – Standard User Guide
PowerChute Network Shutdown v5.0 – VMware User Guide
PowerChute Network Shutdown v5.0 – Hyper-V and SCVMM User Guide
PowerChute Network Shutdown v5.0 – Nutanix User Guide

Webページとして公開されている手順など

PowerChute Network Shutdown v5.0 既知の問題 [最新バージョン]
PowerChute Network Shutdown v5.x 初期セットアップ手順 – シングル構成 Windows, Linux

PowerChute Network Shutdown v5.0 for Windows & Linux 対応OS表
PowerChute Network Shutdown v5.0.1 for Specialized OS 対応OS表
PowerChute Network Shutdown v5.0 for Virtualization 対応OS表
JavaはSolaris以外はAdoptOpenJDKを使用(SolarisはOracle純正ライセンスを別途調達とのこと)

PowerChute Network Shutdown v5.0ではNetwork Management Card 2(NMC2)のサポートが終了。またNMC3についてもfirmware v2.2.1.1以降がサポートとなる。

vCenterが存在しない単体ESXi環境で連動させるためにAPC純正仮想アプライアンスを展開した場合、vCenterがないと設定出来ない項目があるため、エラーとなる。その場合は「PowerChute Network Shutdown v4.4.3, v5.x スタンドアロンESXi ホストに仮想アプライアンスをデプロイした際にアクセスできない」の手順で設定する(この手順自体は、PCNS v4.3~v5.0共通)

APC電源管理ソフトウェア PowerChuteの選択方法
PowerChuteシリーズ 対応OS表

APC PowerChute Network Shutdown 4.5

2022年9月に「PowerChute Network Shutdown v4.5」が発売されたことが発表された。(当時のURL APC PowerChute Network Shutdown 4.5 for DELL VxRail )

海外では2022年7月ぐらいにはDELL VxRail向け PCNS v4.5としてOVAファイルとしてリリースされていました。それ以外の環境向けには引き続き PCNS v4.4が提供されています(対応表)。

v4.4はVxRail専用なのかと思っていたのですが、v5.0リリースの比較表にはv4.5も他で動くヤツがある的な記述に・・・

APC PowerChute Network Shutdown 4.4

2020年10月登場の新バージョン:シュナイダーエレクトリック、電源管理ソフトウェアの最新版「PowerChute Network Shutdown v4.4」を発売

PowerChute Network Shutdown v4.4 ご紹介(最新版)」「PowerChute Network Shutdown v4.4 for Windows & Linux 対応OS表」「PowerChute Network Shutdown v4.4 for Virtualization 対応OS表」「PowerChute Network Shutdown v4.4 既知の問題PCNSユーザーズガイド」「PCNSの各種設定例

PowerChute Network Shutdown Operating System, Processor, JRE and Browser Compatibility Chart

PowerChute Network Shutdown ドキュメント」「PowerChuteシリーズ 各種マニュアル

PCNS v4.4でもJavaを使うという点には変更はない(今回はOpenJRE 14.0.2)。OpenJREのアップデートツールも添付されているとのこと。

今回のトピックは、VMware vSAN、Nutanix AOS、Microsoft Azure Stack HCI、Cisco HyperFlex、HPE Simplivityの自動シャットダウンをPCNS管理インタフェース上から設定できるようになった、ということ。

また、sshでアクセスし連動シャットダウンを仕掛けることが可能になったため、NetApp ONTAP 9.xとの連動シャットダウンなどもサポートした、とのこと。

Windows版は日本語インタフェース用インストーラと英語インタフェース用インストーラが別になっているので注意

Schneider Electric (APC) PowerChute Network Shutdown

2022/03/31追記:この項目にあるv4.1~v4.3に関するリンクはAPCサイトの更新に伴い動かないリンクばかりになっている。

APC PowerChute Network Shutdownに関する情報は「PowerChute Network Shutdownプロダクトセンター | よくあるお問い合わせ」と「PowerChuteシリーズ 対応OS表」を起点に捜索する。

PowerChute Network Shutdown v4.3 for Virtualization 対応OS表」はシャットダウン用仮想アプライアンスイメージが提供されているのでそれを使う。vSphere 7/ESXi 7.0サポートに関しても記載されている。
PowerChute Network Shutdown v4.2 for Virtualization 対応OS表」はシャットダウン用仮想アプライアンスか、vMAにPowerShuteインストールか、を選択できる。

PowerChute Network Shutdown v4.0以降のバージョンでVMware環境を保護する場合のPowerChuteインストール先について

PowerChute Network Shutdown v4.1 v4.2 電源障害時のシャットダウンプロセス(VMWare仮想環境) – 構成例1
PowerChute Network Shutdown v4.1 v4.2 電源障害時のシャットダウンプロセス(VMWare仮想環境) – 構成例2
PowerChute Network Shutdown v4.1 v4.2 電源障害時のシャットダウンプロセス(VMWare仮想環境) – 構成例3

VMware HA利用時やvSAN利用時は、VMware側がユーザ操作なしに停止することを全く考慮していないため、ESXiサーバのみの環境ではうまくシャットダウンを行うことができない。

別に物理のWindowsサーバを用意し、そこからシャットダウン命令を送る必要がある。また、復電後の起動についてはもっと考えられていないため、その処理も自前でどうにかする必要がある。

PowerChute Network Shutdown for Virtualization v4.x VMware HA環境でのサポート構成」(VMware HA環境では仮想マシン停止をサポートしていない)

20180222_VxRailccトラブルシューティングセミナーvSAN環境におけるUPS構成とシャットダウンシュナイダー出口様

富士通のWebにある「PowerChute Network Shutdown for Virtualization v4.3」(PDF版)でvSphere, Hyper-V, Nutanix AHV環境でどういう風に機器を配置すればいいのか分かりやすい絵付きで解説されている。

HPE Power Protector

HPEブランドで販売されているUPSは、HPE Power Protector(HPEPP)を使用してシャットダウンを行う。

ソフトのダウンロードはなかなか見つけにくい。以前は「HPE swdepot Power Protector UPS Management Software」だったが2020年10月ぐらいから死んでいる。2021年10月/2022年3月の段階ではドキュメント上で「Download updates from HPE Software Depot」というリンクがあるが、リンク先が動作していない。なんとかして後述の個別ダウンロードリンクを発見する必要がある。

ESXi 6.7以降の対応について「アドバイザリ: HPE Power Protector – VMware vSphere Management Assistantのサポートが終了したため、VMware ESXi 6.7 (またはそれ以降) を実行しているHPEサーバーでHPE Power Protectorが正しく機能しない」「Advisory: HPE Power Protector – HPE Power Protector Does Not Function Correctly On HPE Servers Running VMware ESXi 6.7 (Or Later) Due to The Discontinued Support For VMware vSphere Management Assistant」に記載している。

vMA使えないから、無料で使えるdebian使って仮想マシン作って、それにHPEPPを入れろ、ということになる。

2023/11/24時点2023/02/03時点での最新ドキュメントはhttp://www.hpe.com/support/PowerProtector_Manuals」もしくはHPE Power Protector User Guide」で英語は2021年2月版、日本語は2020年4月版のようだ。

2019/12/06リリース版のダウンロードリンク
HPE Power Protector Windows版 v2.02.087 (HPE Power Protector (HPEPP) Clientのインストール方法 (Windows))
HPE Power Protector Linux版 v2.02.087 (HP UPS – HP Power Protector (HPPP) Client のインストール方法 (Linux))

2020/10/23リリース版のダウンロードリンク
HPE Power Protector – Windows版 v2.02.089
HPE Power Protector – Linux版 v2.02.089

2021/08/12リリース版のダウンロードリンク
HPE Power Protector – Windows版 v2.03.091
HPE Power Protector – Linux版 v2.03.091

2022/02/09リリース版のダウンロードリンク
HPE Power Protector – Windows版 v2.04.094
HPE Power Protector – Linux版 v2.04.094

2022/11/21リリース版のダウンロードリンク
HPE Power Protector – Windows版 v2.05.096
HPE Power Protector – Linux x86版 v2.05.096
HPE Power Protector – Linux x64版 v2.05.096

2023/09/20リリース版のダウンロードリンク
HPE Power Protector – Microsoft Windows v2.06.098
HPE Power Protector – Linux x64 v2.06.098
HPE Power Protector – Linux x86 v2.06.098

EATON Intelligent Power Protector (IPP)とIntelligent Power Manager(IPM)

日本代理店ダイトロンの製品ページ「Intellignent Power Protector」「Intelligent Power Manager(旧バージョン)」「Intelligent Power Manager 2

メーカページ「Eaton Intelligent Power Manager

2020年からIPMのライセンス体系が変更になり、また海外ではIPM2も登場した。IPM1とIPM2が互換性がなく、日本国内向けではIPM2は非サポートとなっているようだ(2023年時点ではサポートされた)。

連動シャットダウンについてはWindows仮想マシンにIPMを入れる方向性のようだ IPM2では仮想アプライアンスを使用して行う形となる。

IPM Optimize/(旧名)IPM Silver/ (旧名) IPM Goldを使うライセンスを買うとVMware HAとvSANを含んだシャットダウンにも対応。

VMware HAはWindows仮想マシンにIPMを入れることで対応可能。復電も対応→「シャットダウン for vCSA on vSphere HA by IPM 1.68」「自動起動 for vCSA on vSphere HA by IPM 1.68

vSANはvSANを使っていないESXi上にvCSAとWindows仮想マシン+IPMを置くことで対応可能。復電も対応→「シャットダウン for VMware vSAN 6.6.1 by IPM 1.60

2023/06/08追記:日本でも2023年月ごろから「Intelligent Power Manager 2」の取り扱いが開始されていた。IPM2ではvSphere仮想環境向けアプライアンスイメージファイルでの提供となっている。(Hyper-V,VirtualBox向けファイルもある)

IPM2を使った場合「【IPM2】IPM2 on VMwareのダウンロードから起動まで」「【IPM2】VMware HAのシャットダウン」「【IPM2】VMware HA+共有ストレージのシャットダウン

その他、IPM2関連記事群

オムロン VirtuAttendant

無償のUPS管理ソフト「PowerAct Pro」はvMA利用のためESXi 6.5までになっている(PowerAct Pro Slave Agent VMware版 ダウンロード)

有償のUPS管理ソフト「VirtuAttendant」はESXi 7.0対応版が出ていて、手順説明はリンク先に掲載されている。なお、ライセンス料金は1つのvCenter Server環境につき192500円。

また「構成事例/設定ガイド」の「Nutanix / vSAN / 3Tier の構成事例〈ネットワークカード〉」にESXi6.7に対応したVSAN構成時の設定ガイドvSphere+RAID構成時の設定ガイドが掲載されている。

2023/06/08追記

通常のサーバ向けはUPS管理マスタサーバにWebサーバを建てる「PowerAct Pro」と建てない「PowerAttendant Lite」とオープンソース版「Simple Shutdown Software(オープンソース版)

仮想環境向けは、VirtuAttendant と UPS本体に追加するSNMP管理モジュールSC21 の2製品となっている。

その他参考資料

NEC編

ESMPRO/AutomaticRunningController ダウンロードページ」にある「VMware ESXi 環境における電源管理ソフトウェアの導入(第37版 2020/01/31)(第41 版 2021.11.30)にNECのESMPRO/AutomaticRunningControllerと連携させる場合の詳細解説が書かれている。

富士通編

PRIMERGY 技術情報の「仮想システムでのUPS利用ガイド」にて、PowerChute Network Shutdown Enterprise Editionを使用する場合の説明がある。

また、富士通サーバ ISV/IHV技術情報の「APC PowerChute Network Shutdown」と「APC PowerChute Network Shutdown(過去事例)」とにてAPC UPSを使って行われた各種検証内容に関するレポートが公開されている。

VMware編

VMwareのKnowledgeに「VMware ESXi ホストへの APC Powerchute Network Shutdown ソフトウェアのインストール (1007036)」というのが掲載されたが、2020年2月掲載なのにvMAを利用するバージョンでRelated ProductsもESXi 5.5.xが最新という古い記述になっている。