SSDやioDriveといった高速ストレージの性能をチェック――はじめての「さくらの専用サーバ」(4) 2ページ

SSDやPCI Express接続フラッシュストレージが有用なシーン

 SSDやPCI Express接続フラッシュストレージが有用なケースとしては、大規模なデータベースサーバーでの利用が挙げられる。大規模なデータベースサーバーはCPUよりもストレージの性能がボトルネックになることが多いためだ。特にioDriveはその高速性から大規模な環境での導入が多く、サーバー台数を数分の1に減らすことができたという実例もあるという。

 また、画像や音声、動画といった大容量のコンテンツを扱うようなサーバーではSSDがその効果を発揮するだろう。さくらの専用サーバではストレージとしてSSDを選択した場合でも料金はあまり変わらないため導入もしやすい。ただし、容量はHDDと比べると多くないため、その点には注意する必要がある。

ioDriveの利用には専用のドライバが必要な点に注意

 さくらの専用サーバにおいては、SSDについてはHDDとまったく同様に利用でき、とくに設定を行う必要もない。容量はHDDと比べて少なめだが、どのプランでもHDD/SDDを増設するオプションが提供されているので、容量が必要な場合はこれらを検討すると良いだろう。なお、搭載できるストレージ数はエクスプレスシリーズの場合最大4台、エクスプレスG2シリーズの場合は最大4台もしくは8台(シリーズによって異なる)、フレックスシリーズの場合は最大12台だ。

 いっぽうのioDriveについては、一般的なHDDやSSDとは異なり、利用には専用のドライバが必要となる。コントロールパネルのOSインストール機能からOSをインストールした場合はこれらドライバが自動的にインストールされるが、それ以外のOSを利用する場合は別途自分でドライバをインストールする必要があるので注意したい。また、さくらの専用サーバでioDriveを利用する際は、必ずHDDもしくはSSDとセットで提供されるため、通常はHDDもしくはSSDにOSをインストールし、ioDriveはデータ専用のストレージとして利用する形になる。

 ioDriveの設定方法についてはさくらインターネットの技術ドキュメントにまとめられているのでそちらを参照してほしいが、初期設定ではioDriveはOS側から認識されてはいるものの、マウントはされていない。接続されているioDriveの情報は、fio-statusコマンドで確認できる。たとえば次の実行例では、320GBのioDriveが接続されており、/dev/fct0および/dev/fioaというデバイスファイル経由でアクセスできるということが分かる。/dev/fct0はioDrive自体をコントロールするためのデバイスファイルで、/dev/fioaはストレージとして利用するためのデバイスファイルだ。フォーマットやマウントといったストレージに対する操作は/dev/fioaに対して実行する。

# fio-status

Found 1 ioMemory device in this system
Driver version: 3.2.6 build 1212

Adapter: Single Adapter
        HP 320GB MLC PCIe ioDrive for ProLiant Servers, Product Number:600279-B21, SN:908961
        External Power: NOT connected
        PCIe Power limit threshold: 24.75W
        Connected ioMemory modules:
          fct0: Product Number:600279-B21, SN:491019

fct0    Attached
        HP ioDIMM 320GB, SN:491019
        Located in slot 0 Center of Low-Profile ioDIMM Adapter SN:908961
        PCI:01:00.0, Slot Number:3
        Firmware v7.1.15, rev 110356 Public
        320.00 GBytes device size
        Internal temperature: 59.55 degC, max 59.55 degC
        Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%
        Contained VSUs:
          fioa: ID:0, UUID:df6c54d2-f962-433a-930b-d402f902aafa

fioa    State: Online, Type: block device
        ID:0, UUID:df6c54d2-f962-433a-930b-d402f902aafa
        320.00 GBytes device size

 初期状態ではioDriveは未フォーマットなので、パーティションの作成およびフォーマットを行った上でマウントする必要がある。パーティションについては、一般的なストレージと同様fdiskコマンドで確認および作成を行える。

# fdisk -l /dev/fioa  ←現在のパーティション設定を確認する

Disk /dev/fioa: 320.0 GB, 320000000000 bytes
255 heads, 63 sectors/track, 38904 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 32768 bytes
Disk identifier: 0x00000000

# fdisk /dev/fioa  ←パーティションを作成する
  
  
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-38904, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-38904, default 38904):
Using default value 38904

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

# fdisk -l /dev/fioa  ←作成後のパーティション設定を確認する

Disk /dev/fioa: 320.0 GB, 320000000000 bytes
255 heads, 63 sectors/track, 38904 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 32768 bytes
Disk identifier: 0xe6aaeb67

    Device Boot      Start         End      Blocks   Id  System
/dev/fioa1               1       38904   312496348+  83  Linux

 以上でioDrive上にパーティションが作成され、それに対し/dev/fioa1というデバイスファイル経由でアクセス可能になる。続いてフォーマットを行い、マウントすればストレージとして利用可能になる。

# mkfs.ext4 /dev/fioa1  ←ext4形式でファイルシステムを作成
mke2fs 1.41.12 (17-May-2010)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=8 blocks
19537920 inodes, 78124087 blocks
3906204 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2385 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

# mkdir /fioa1  ←マウント先ディレクトリを作成
# mount -t ext4 /dev/fioa1 /fioa1  ←マウントを実行