読者です 読者をやめる 読者になる 読者になる

仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

ESXi 5でSSDをホストキャッシュに追加する

 VMware vSphere 5がいよいよリリースされて、ESXi 5も数日前からダウンロードできるようになりました。私も早速入手して、ちょっとずつ触っているところです。かるく触ってみた感じでは、インストール時にキーボードやパスワードを設定できるようになったりしていますが、基本的にはESXi 4とほぼ変わりない雰囲気でした。

 さて、ESXi 5では「ホストキャッシュ」と言う機能が追加されて、SSDVMのメモリのスワップ置き場にすることで、メモリスワップ時の速度低下を低減させる、と言うもののようです。まずはホストキャッシュの追加までできましたので、こちらの手順をご紹介します。

 検証に使用しているサーバーはHP ProLiant DL360 G6です。余談ですが、例によって数週間前にヤフオクで入手された出物です。ストレージ構成は次の通り。おなじみのSmartArray P410iで構成されています。

  • 論理ボリューム1: 10kRPM 146GB SASディスク 1本
  • 論理ボリューム2: Samsung 64GB MLC SSD (MMCRE64G5MXP-0VB) 1本

 vSphere Clientの「構成タブ」-「ソフトウェア」-「ホスト キャッシュの構成」を選択します。

 「ストレージの追加」をクリックして、ストレージを追加します。追加ウィザードは、通常のデータストアの追加方法と全く同じですので、手順は割愛します。

 ……手順を割愛したものの、実はここでSSDが非SSDとして認識されていました。よって上記リストには表示されず、データストアでのみ表示されるようになっていました。データストアのリストを見ると、次のように表示されています。

 HP Smart Array では論理ボリュームを作る時にSATA SSDとして認識されていますが、ESXi側では単純にHP Serial Attached SCSI Diskとしてしか見えないようです。

 マニュアルの「vSphere ストレージ ガイド (vSphere Storage)」を参照すると「15. Solid State Disks Enablement」の章の144ページに、自動で認識されなかった場合に手動でドライブのタイプをSSDにする手順が記載されていましたので、こちらを試してみます。

  • ESXiのコマンドラインにアクセスする(SSHやvSphere CLIなど)。
  • 「esxcli storage nmp device list」を実行する。すると、次のように、ストレージの一覧が表示されるので、SSDのデバイス名(naaで始まる文字列)と、Storage Array Typeを確認する。
    ~ # esxcli storage nmp device list
    naa.600508b1001c97ac14eb5b233da87a59
       Device Display Name: HP Serial Attached SCSI Disk (naa.600508b1001c97ac14eb5b233da87a59)
       Storage Array Type: VMW_SATP_LOCAL
       Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
       Path Selection Policy: VMW_PSP_FIXED
       Path Selection Policy Device Config: {preferred=vmhba0:C0:T0:L1;current=vmhba0:C0:T0:L1}
       Path Selection Policy Device Custom Config: 
       Working Paths: vmhba0:C0:T0:L1
    
    naa.600508b1001c2a9d6a8d81dc7a150ec9
       Device Display Name: HP Serial Attached SCSI Disk (naa.600508b1001c2a9d6a8d81dc7a150ec9)
       Storage Array Type: VMW_SATP_LOCAL
       Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
       Path Selection Policy: VMW_PSP_FIXED
       Path Selection Policy Device Config: {preferred=vmhba0:C0:T0:L2;current=vmhba0:C0:T0:L2}
       Path Selection Policy Device Custom Config: 
       Working Paths: vmhba0:C0:T0:L2
  • バイスにルールを追加して、SSDとして認識するようにする。
    ~ # esxcli storage nmp satp rule add -s VMW_SATP_LOCAL --device naa.600508b1001c2a9d6a8d81dc7a150ec9 --option=enable_ssd
    ※ esxcli storage nmp satp rule add -s [Storage Array Type] --device [デバイス名] --option=enable_ssd
  • unclaimを実行(どう訳して良いか分からないのですが、おそらく認識を解除)する。
    ~ # esxcli storage core claiming unclaim --type device --device naa.600508b1001c2a9d6a8d81dc7a150ec9
    ※ esxcli storage core claiming unclaim --type device --device [デバイス名]
  • 次のコマンドを実行して再認識させる。
    ~ # esxcli storage core claimrule load
    ~ # esxcli storage core claimrule run

 そうして、データストアを見てみると、SSDが無効のような状態になっていた(うろおぼえですみません……)ため、一度「更新」を実行。すると、SSDとして認識されるようになりました。

 ホストキャッシュのリストにも無事表示されています。プロパティを表示して、SSDをホストキャッシュに使用するための設定を行います。

 「ホスト キャッシュに領域を割り当て」にチェックをして、割り当てる容量を設定します。今回は全部の容量を使用することにしました。

 設定後の一覧は次の通りです。「ホスト キャッシュ 領域」が0から58GBに変化しています。

まとめ

 RAIDカードなどで論理ボリュームとして作成されたSSDドライブをホストキャッシュとして追加するには、ちょっと一手間必要なようでしたが、とりあえず追加することができました。ちなみに、手動でSSDとして認識させる設定を削除する手順も、同じマニュアルに記載されていますので、削除したいという場合にはそちらを参照して下さい。

 次は、実際にスワップした時にどうなるか試してみたいと思います。