vSAN データストアには、osfs-mkdir コマンドでディレクトリ(namespace オブジェクト)を作成すると
一般的なファイル(ISO イメージなど)を配置できるようになります。
Unable to upload, copy or create files in a VMware vSAN-backed datastore (2119776)
https://kb.vmware.com/s/article/2119776
ふと、ISO のような一般的なファイルを配置した場合に
仮想マシン ストレージ ポリシー がどう適用されるのか気になったので確認してみました。
今回の環境は、vCenter 6.5 U1 です。
vSAN データストアには、下記のように
デフォルトのストレージポリシーとして「vsan-policy-raid5」を設定しています。
このとき、とくに仮想マシン ストレージ ポリシーを指定せずに
VM を作成すると、データストアのデフォルトの仮想マシン ストレージ ポリシーが設定されます。
VM 作成時の 仮想マシン ストレージ ポリシーの様子。
まず、VM を作成した場合のポリシーの様子です。
たとえば PowerCLI で下記のように VM を作成すると・・・
PowerCLI> New-VM -Name vsan-test-vm -Datastore vsanDatastore-01 -ResourcePool vsan-cluster-01
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
vsan-test-vm PoweredOff 1 0.250
vsanDatastore-01 のデフォルトの仮想マシン ストレージ ポリシーが設定されます。
PowerCLI> Get-VM vsan-test-vm | Get-SpbmEntityConfiguration | Format-List Entity,StoragePolicy,ComplianceStatus
Entity : vsan-test-vm
StoragePolicy : vsan-policy-raid5
ComplianceStatus : compliant
PowerCLI> Get-VM vsan-test-vm | Get-HardDisk | Get-SpbmEntityConfiguration | Format-List Entity,StoragePolicy,ComplianceStatus
Entity : Hard disk 1
StoragePolicy : vsan-policy-raid5
ComplianceStatus : compliant
vSphere Web Client から見ても、ポリシーが設定されています。
仮想ディスクと・・・
仮想マシン ホームのオブジェクトには、どちらもデフォルトのポリシーが設定されました。
vSAN データストアにファイル配置した時のポリシー。
ESXi に SSH でログインして、ディレクトリ(namespace object)を作成します。
ESXi 6.5 U1 です。
[root@hv-i21:~] vmware -vl
VMware ESXi 6.5.0 build-7388607
VMware ESXi 6.5.0 Update 1
osfs-mkdir でディレクトリを作成します。
[root@hv-i21:~] /usr/lib/vmware/osfs/bin/osfs-mkdir /vmfs/volumes/vsanDatastore-01/work
7259115b-7e8f-8fb0-8e97-b8aeedea7a23
今回は、cp コマンドで、ISO イメージ ファイル(photon-2.0-304b817.iso)を配置します。
ISO イメージ ファイルは、あらかじめ NFS データストアを用意して、そこに配置してあります。
[root@hv-i21:~] cp /vmfs/volumes/ds-nfs-work-01/iso/VMware/photon-2.0-304b817.iso /vmfs/volumes/vsanDatastore-01/work/
ファイルが配置されました。
[root@hv-i21:~] ls -l /vmfs/volumes/vsanDatastore-01/work
lrwxr-xr-x 1 root root 36 Jun 1 14:43 /vmfs/volumes/vsanDatastore-01/work -> 7259115b-7e8f-8fb0-8e97-b8aeedea7a23
[root@hv-i21:~] ls -l /vmfs/volumes/vsanDatastore-01/work/
total 2317312
-rw-r--r-- 1 root root 2372728832 Jun 1 14:41 photon-2.0-304b817.iso
UUID をもとに Other の vSAN オブジェクトを確認すると、
ポリシー設定されていない状態に見えます。
ちなみに、esxcli では下記のように見えます。
Type は、namespace になっています。そして vSphere Web Client でみたとおり、
vSAN オブジェクトのコンポーネントは RAID5 にならず 1つだけです。
実行したコマンド:
esxcli vsan debug object list -u <UUID。今回は namespace オブジェクトの UUID>
vSAN データストアには、できるだけ VM / VMDK にかかわるファイルだけ配置して、
ISO イメージのようなものは NFS データストアなどを用意して配置する方が
よいかもしれません。
以上、vSAN データストアにファイルを配置してみる話でした。