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 ←マウントを実行