VMware 担当者コラム
VMware
vSAN6.7Update1新機能 UNMAPを設定してみよう
皆さま、こんにちは。
VMware担当の河野です。
前回に引き続きvSAN6.7Update1(以下vSAN6.7U1)で追加された新機能について紹介していきたいと思います。
今回は実際にUNMAPを設定してみましたので、是非ご覧ください!
■TRIM/UNMAPのサポート
vSAN6.7U1から、TRIM/UNMAPがサポートされました。
今回はその中でもHDDに対して有効な、UNMAPにフォーカスしてご紹介していきたいと思います。
UNMAPが有効となっている場合、OS上でデータが削除されると、自動でストレージに通知し、ストレージは削除されたデータが使用していたブロックのマッピングを開放することで、ストレージの物理容量を空けることができます。UNMAPが使用できない場合、OS上でファイルを削除しても、ストレージには通知されないため、不要なブロックが残ってしまいます。(図1)
今回のUNMAPサポートにより、従来のvSANでは手動実行および外部ストレージへのストレージvMotion、もしくはVMのパワーオフを必要としましたが、vSAN6.7U1以降では自動で実行してくれるようになります。
■UNMAPの設定手順
vSANでUNMAPを有効化または無効化する場合は、vSANクラスタ及びゲストOSで設定を行う必要がありますので、こちらの手順を紹介したいと思います。
手順の流れ
-
vSANクラスタの設定
- 1) vCenter ServerにSSHでアクセスする
- 2) RVCに接続しUNMAPを有効/無効化する
-
ゲストOSの設定
- 1) Windows PowerShellでUNMAPを有効/無効化する
-
動作確認
- 1) UNMAPの動作確認
補足
▸vSANクラスタ
vSANクラスタの設定は、vCenter ServerにSSHでアクセスすることで使用可能な、RVC※での操作が必要になります。今回はTera Termを用いてvCenter ServerにSSHでアクセスを行います。
なお、vSAN6.7U1のUNMAPの標準設定は”有効”です。
※RVC(Ruby vSphere Console):vCenter Server上にあるCLIのツールのことで、GUIではできない高度な設定が行えます。
RVCについての詳しい資料はこちらになります。
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/products/vsan/vmware-ruby-vsphere-console-command-reference-for-virtual-san.pdf
▸ゲストOS
ゲストOSはWindows Server 2016を使用し、リモートデスクトップを用いて、Windows PowerShell上で設定を行います。
なお、Windows Server 2012以降のUNMAPの標準設定は”有効”です。
Linuxは別途下記設定が必要になります。
https://storagehub.vmware.com/t/vmware-vsan/vsan-space-efficiency-technologies/unmap-trim-space-reclamation-on-vsan-1/
それでは実際の手順を紹介していきます。
-
vSANクラスタの設定
-
vCenter ServerにSSHでアクセスする
Tera Termを起動し、「ホスト」にvCenter ServerのIPアドレス、またはFQDNを入力します。サービスは「SSH」にチェックを入れ、「OK」ボタンをクリックします。
「ユーザー名」「パスフレーズ」をそれぞれ入力し「OK」ボタンをクリックします。
以下の画面になればvCenterへのアクセスは成功です。
-
RVCに接続しUNMAPを有効/無効化する
以下のコマンドを順に実行していきます。
#RVCに接続 #rvc “ユーザー名” @localhost > rvc administrator@vsphere.local@localhost「computers」の中身を確認し、設定を行うvSANクラスタの名前が見えているかを確認します。(今回なら赤枠の”vSAN_1”)
Install the "ffi" gem for better tab completion.
WARNING: Nokogiri was built against LibXML version 2.9.4, but has dynamically loaded 2.9.8
password:
#vSANクラスタに移動 0 /
1 localhost/
/localhost> ls
0 Datacenter (datacenter)
/localhost> cd 0
/localhost/Datacenter> ls
0 storage/
1 computers [host]/
2 networks [network]/
3 datastores [datastore]/
4 vms [vm]/
/localhost/Datacenter> cd 1
/localhost/Datacenter/computers> ls
0 vSAN_1 (cluster): cpu 5 GHz, memory 23 GB
続いて、以下のコマンドを実行しUNMAPを有効/無効化します。“vSANクラスタ名”に入るのは先ほど確認したクラスタ名となります。
▸UNMAPの有効化
#vsan.unmap_support “vSANクラスタ名” -e > vsan.unmap_support vSAN_1 -e▸UNMAPの無効化
Unmap support is already disabled
vSAN_1: success
VMs need to be power cycled to apply the unmap setting
# vsan.unmap_support “vSANクラスタ名” -d > vsan.unmap_support vSAN_1 -d赤枠のように「“vSANクラスタ名”:success」と表示されれば、vSANクラスタのUNMAPの設定は成功です。
Unmap support is already enabled
vSAN_1: success
VMs need to be power cycled to apply the unmap setting
以上で、vSANクラスタで行う設定は完了となります。
-
-
ゲストOSの設定
-
Windows PowerShellでUNMAPを有効/無効化する
リモートデスクトップを用いてVMへアクセスします。ゲストOS上でWindows PowerShellを起動後、以下のコマンドを実行し、UNMAPの設定状況を確認します。
#UNMAPの設定状況確認 > fsutil behavior query disabledeletenotify有効化されている場合は「NTFS DisableDeleteNotify = 0」、
NTFS DisableDeleteNotify = 0
ReFS DisableDeleteNotify は現在設定されていません
無効化されている場合は「NTFS DisableDeleteNotify = 1」と表示されます。
※今回の検証環境ではReFSを利用していません。
以下のコマンドを実行しUNMAPを有効/無効化します。
※OSにより書式が異なる可能性があるため、事前に「fsutil behavior set /?」で書式を確認してください。
▸UNMAPの有効化
#UNMAPの有効化 > fsutil behavior set DisableDeleteNotify 0赤枠のように「NTFS DisableDeleteNotify = 0」と表示されればUNMAPの有効化されています。
NTFS DisableDeleteNotify = 0
▸UNMAPの無効化
#UNMAPの無効化 > fsutil behavior set DisableDeleteNotify 1赤枠のように「NTFS DisableDeleteNotify = 1」と表示されればUNMAPの無効化されています。
NTFS DisableDeleteNotify = 1
これでゲストOSでの設定も完了となります。
-
-
動作確認
-
UNMAPの動作確認
ゲストOS上でファイルの削除を行い、vSANデータストアの空き容量が増えるか確認をします。 Windows PowerShellで以下のコマンドを実行し、10GB(任意)のファイルを作成します。#ファイルの作成 #fsutil file createnew “ファイル名” “サイズ(Bite)” >fsutil file createnew test 10000000000次に10GBのファイルを作成した直後のvSANデータストアの容量をvCenter Serverで確認します。
vSANデータストアの容量を確認するには、vSANクラスタを選択し、「監視」タブ→「vSAN」→「容量」をクリックします。
空き容量は以下画像の赤枠で確認できます。現在は356GBです。
※反映には20-30分かかります。
次に作成した10GBのファイルを完全に削除(Shift + Delete)し、vSANデータストアの容量を再度確認します。
空き容量は以下の通り375GBになりました。
※反映には20-30分かかります。
ファイルを削除したことでvSANデータストアの容量が増えたので、UNMAPが実行されていることがわかりました。
ちなみに、空き容量が約20GBも増えた理由は、vSANでミラーリングを適用したVMだったためです。
UNMAPのスループットもvCenter Serverで確認することが出来ます。
ホストを選択し、「監視」タブ→「vSAN」→「パフォーマンス」→「バックエンド」をクリックすると、図で表示されます。
赤枠のピークが今回の動作確認によるスループットです。
想定以上にスループットが大きければ無効化を検討してみましょう。
以上でUNMAPの設定は完了です。
-
いかがでしょうか。
やや専門的な内容になっていますが、手順に書かれているコマンドをコピー&ペーストするだけで簡単に設定できますので、vSANデータストアの容量やパフォーマンスをみて、UNMAPを活用してみてください。
本コラムが皆様の快適なvSANライフの助けになれば幸いです。
VMwareの記事
※閲覧にはiDATEN(韋駄天)へのログインが必要です。