LoginSignup
2
1

More than 5 years have passed since last update.

ESXiサーバのHDD性能を測定してみた

Last updated at Posted at 2017-07-18

初投稿です。
ツッコミや追加測定したほうがいい事項あればコメントください

背景

自作サーバを構築したので、VMWare ESXiホストにして、VMをファイルサーバとして使いたい。
仮想ディスクではオーバーヘッドが大きくなってしまうが、rawディスクとしてゲストOSにマウントすれば行けるんじゃないだろうか?

ということで、

(1) HDDを直接マウント
(2) ESXi上の仮想マシン・仮想ディスク
(3) ESXi上の仮想マシン・HDDをrawディスクマウント

のそれぞれでディスク性能を比較してみる。
あと、趣旨とは関係ないのだが初めてM.2インタフェースのSSDを買っちゃったのでついでに性能を図ってみている。

環境

ハード

  • マザーボード: GIGABYTE GA-H270-HD3
  • CPU : Intel Core i5 7600T
  • メモリ: DDR4 32GB
  • SSD(OS用): Samsung 960 EVO M.2
  • HDD(データ用) : TOSHIBA DT01ACA300 3000GB

ソフト

  • ゲストOS・直接マウント用OS:CentOS 7.3 Minimal
  • ESXi : VMWare ESXi 6.0 Update 2
  • fio : fio-2.17

方法

fioを使う。
使い方は以下URLを参考にした。
http://ossfan.net/setup/linux-24.html

手順

(1)HDD直接マウント

1. CentOSをインストール

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 

2. パーティション作成

[root@localhost ~]# parted
GNU Parted 3.1
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) select /dev/sda
/dev/sda を使用
(parted) mkpart
パーティションの名前?  []? test
ファイルシステムの種類?  [ext2]? xfs 
開始? 0G
終了? 3000G
(parted) quit                                                             
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

3. XFSでフォーマット。

あまり考えずにCentOS7から標準になったXFSを選択した。ひょっとして速度的にはext4の方が良かったりするんだろうか?

[root@localhost ~]# df -Th
ファイルシス        タイプ   サイズ  使用  残り 使用% マウント位置
/dev/mapper/cl-root xfs         50G  3.1G   47G    7% /
devtmpfs            devtmpfs    16G     0   16G    0% /dev
tmpfs               tmpfs       16G     0   16G    0% /dev/shm
tmpfs               tmpfs       16G   17M   16G    1% /run
tmpfs               tmpfs       16G     0   16G    0% /sys/fs/cgroup
/dev/nvme0n1p1      xfs       1014M  170M  845M   17% /boot
tmpfs               tmpfs      3.2G     0  3.2G    0% /run/user/0
/dev/sda1           xfs        2.8T   33M  2.8T    1% /mnt

4.以下のfioコマンドを実行。
以下を参考に作成。
http://qiita.com/toshihirock/items/fa4d310115e6921ab0ac

ファイルサーバ想定なのでベースサイズは32MBに設定。
32MBでも少ない?

(☆)

# シーケンシャルリード
fio -filename=/mnt/test2g -direct=1 -rw=read -bs=32m -size=2G -numjobs=16 -runtime=10 -group_reporting -name=file1 -output=seqread.txt

# シーケンシャルライト
fio -filename=/mnt/test2g -direct=1 -rw=write -bs=32m -size=2G -numjobs=16 -runtime=10 -group_reporting -name=file1 -output=seqwrite.txt

# ランダムリード&ライト
fio -filename=/mnt/test2g -direct=1 -rw=randrw -bs=32m -size=2G -numjobs=16 -runtime=10 -group_reporting -name=file1 -output=randrw.txt

5. 結果は以下の通り。

  • HDD直接マウント
type IOPS スループット(MB/s) 実行時間(ms)
seqread 11 380 10980
seqwrite 6 231 11314
randread 2 96.4 12533
randwrite 2 69.8 12510
  • SSD直接マウント
type IOPS スループット(MB/s) 実行時間(ms)
seqread 36 1234 10281
seqwrite 46 1577 10320
randread 26 874 10294
randwrite 26 903 10294

(2)ESXi上の仮想マシン・仮想ディスク

6.サーバにESXiをインストールする。
7.VMを作成し、CentOSをインストールする。
7.HDDをデータストアに追加する。
8.新規仮想ディスクを作成し、CentOSにマウントする。
9.4.と同じコマンドで測定。
10.結果は以下の通り。

  • HDD仮想ディスク
type IOPS スループット(MB/s) 実行時間(ms)
seqread 11 386 11034
seqwrite 6 206 12233
randread 2 77.9 12932
randwrite 1 62.3 12932
  • SSD仮想ディスク
type IOPS スループット(MB/s) 実行時間(ms)
seqread 28 967 10509
seqwrite 47 1587 10297
randread 21 715 10276
randwrite 23 774 10276

(3)ESXi上の仮想マシン・HDDをrawディスクマウント

11.7.で追加したデータストアを削除。
12.HDDをRawディスクとしてマウントする。
以下、参考。
http://blog.hitsujin.jp/entry/2014/06/08/161357

  • ESXiサーバにSSH接続して(SSHのサービスはデフォルトでは止まっているのでClient Hostで立ち上げる) 以下コマンドを実行。
[root@localhost:~] vmkfstools -z /vmfs/devices/disks/t10.ATA_____TOSHIBA_DT01ACA300_________________________________57
8BL1XAS "/vmfs/volumes/datastore1/test2/rawhdd.vmdk"
  • VMのプロパティから、既存の仮想ディスクの追加操作をして、↑で追加したファイルを選択する。

こんな感じになる。

kobito.1500402321.081352.png

13.4.と同じコマンドで測定。

14.結果は以下の通り。

  • HDDrawマウント
type IOPS スループット(MB/s) 実行時間(ms)
seqread 12 422 10817
seqwrite 8 275 11590
randread 3 112 12012
randwrite 2 75.5 12012
  • SSDrawマウントは出来ないのでありません。

まとめ

  • ひとまず、期待通りrawマウントによる性能劣化はなさそう。
  • 仮想ディスクだと10%程度スループットが低くなる。
  • 管理の上でも仮想ディスクを選択するメリットは(少なくともご自宅用の範囲では)ないのでは?
  • SSD速い。キャッシュとして使って高速なファイルサーバとして構築できたりしないだろうか。

実施中のCPU・メモリ等ログもとってあるのでもうちょい考察して更新します。

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1