Skip to content

vSphere 上の仮想マシンのディスクを擬似的に SSD として認識させる

Emulating an SSD Virtual Disk in a VMware Environment の手順通りに設定すると、vSphere 上の仮想マシンに接続されたディスクを擬似的に SSD に見せかけることが出来ます。今回は vSphere 6.0 Update2 上に作成した CentOS7 仮想マシンで試してみます。

仮想マシンの設定ファイル

ディスクを擬似的に SSD として扱うには仮想マシンの設定ファイルを直接、手動で修正する必要があります。仮想マシンの設定ファイルは /vmfs/volumes/datastore1/[仮想マシン名]/[仮想マシン名].vmx です。例えば VIRTUAL-MACHINE という仮想マシンの場合は /vmfs/volumes/datastore1/VIRTUAL-MACHINE/VIRTUAL-MACHINE.vmx になります。

初期状態(Disk が 1 つだけ)

設定ファイル中、ディスク関連の設定部分は初期状態で以下のようになっていました。現状ではディスクが 1 つだけなので、scsi0:0 しか見えません。

1
2
3
4
5
6
7
8
9
# grep scsi VIRTUAL-MACHINE.vmx
scsi0.virtualDev = "lsilogic"
scsi0.present = "TRUE"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "VIRTUAL-MACHINE.vmdk"
sched.scsi0:0.shares = "normal"
scsi0:0.present = "TRUE"
sched.scsi0:0.throughputCap = "off"
scsi0.pciSlotNumber = "16"

ディスクを追加

vSphere Web Client 上からディスクを追加した後では以下のようになりました。scsi0:0 に加えて scsi0:1 が追加されています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# grep scsi VIRTUAL-MACHINE.vmx
scsi0.virtualDev = "lsilogic"
scsi0.present = "TRUE"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "VIRTUAL-MACHINE.vmdk"
sched.scsi0:0.shares = "normal"
scsi0:0.present = "TRUE"
sched.scsi0:0.throughputCap = "off"
scsi0.pciSlotNumber = "16"
scsi0:1.deviceType = "scsi-hardDisk"
scsi0:1.fileName = "VIRTUAL-MACHINE_1.vmdk"
sched.scsi0:1.shares = "normal"
sched.scsi0:1.throughputCap = "off"
scsi0:1.present = "TRUE"

VirtualSSD

擬似的に SSD へ見せかけるディスクに対して virtualSSD = "1" という設定を追加します。今回は最下行に scsi0:1.virtualSSD = "1" という定義を追加しました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# grep scsi VIRTUAL-MACHINE.vmx
scsi0.virtualDev = "lsilogic"
scsi0.present = "TRUE"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "VIRTUAL-MACHINE.vmdk"
sched.scsi0:0.shares = "normal"
scsi0:0.present = "TRUE"
sched.scsi0:0.throughputCap = "off"
scsi0.pciSlotNumber = "16"
scsi0:1.deviceType = "scsi-hardDisk"
scsi0:1.fileName = "VIRTUAL-MACHINE_1.vmdk"
sched.scsi0:1.shares = "normal"
sched.scsi0:1.throughputCap = "off"
scsi0:1.present = "TRUE"
scsi0:1.virtualSSD = "1"

CentOS7 へ smartctl のインストール

ディスクが HDD なのか、SSD なのかを判定する方法は幾つかありますが、今回は smartctl を使います。smartctl をインストールします。

1
yum -y install smartmontools

HDD の確認

smartctl を使って HDD(/dev/sda)を確認してみます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# smartctl -a /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-514.6.1.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               VMware
Product:              Virtual disk
Revision:             1.0
User Capacity:        21,474,836,480 bytes [21.4 GB]
Logical block size:   512 bytes
Logical block provisioning type unreported, LBPME=-1, LBPRZ=0
Device type:          disk
Local Time is:        Sat Feb 18 14:36:44 2017 JST
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===

Error Counter logging not supported

Device does not support Self Test logging

SSD の確認

次は SSD を確認してみます。「Rotation Rate: Solid State Device」と表示されていることが分かります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# smartctl -a /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-514.6.1.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               VMware
Product:              Virtual disk
Revision:             1.0
User Capacity:        21,474,836,480 bytes [21.4 GB]
Logical block size:   512 bytes
LU is thin provisioned, LBPRZ=1
Rotation Rate:        Solid State Device
Device type:          disk
Local Time is:        Sat Feb 18 14:37:05 2017 JST
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===

Error Counter logging not supported

Device does not support Self Test logging

参考