さくらの専用サーバでFusion-io ioDriveをマウント

2012年9月11日 | 八子 武司

さくらの専用サーバ エクスプレスG2シリーズのFujitsu RX100 S7 Xeon 4Core SATA + ioDriveで、ioDriveをマウントしたときのメモです。

あらかじめ、サーバにはioDriveのセットアップに必要なパッケージ等がインストールされていて、フォーマット+マウントするだけで、すぐに使い始める事ができました。

 

Fusion-io ioDriveとは?

サーバ内蔵型の超高速フラッシュストレージです。
 

こちらの資料が参考になります。

At link2011-12 2011(公開用) from Joutaro Ooura

 
『Fusion-ioのCEOに直接聞いた、フラッシュドライブの破壊的な能力と仕組み、そして将来』via Publickey
http://www.publickey1.jp/blog/12/fusion-ioceo.html
CEOのデイビット・フリン氏のインタヴューです。

 
『Appleの共同創業者・ウォズニアックに聞くGTD』via Lifehacker
http://www.lifehacker.jp/2009/04/applegtd.html
Fusion-ioにスティーブ・ウォズニアック氏がJoinした事でも話題になりました。

 

使用するサーバ

http://server.sakura.ad.jp/dedicated/expressg2.html
さくらの専用サーバ エクスプレスG2シリーズ
Fujitsu RX100 S7 Xeon 4Core SATA + ioDrive
CentOS 6.3

 

ioDriveの接続を確認

# lspci | grep -i fusion
01:00.0 Mass storage controller: Fusion-io ioDimm3 (rev 01)

接続されていますね。

さくらの専用サーバにはデフォルトでioDriveのRPMパッケージがインストールされています。
確認してみましょう。

 

ioDriveのRPMパッケージを確認

# rpm -qa | grep "iomemory"
iomemory-vsl-2.6.32-279.5.2.el6.x86_64-2.3.10.110-1.0.el6.x86_64
iomemory-vsl-source-2.3.10.110-1.0.el6.x86_64
iomemory-vsl-config-2.6.32-279.5.2.el6.x86_64-2.3.10.110-1.0.el6.x86_64
iomemory-vsl-2.6.32-220.el6.x86_64-2.3.10.110-1.0.el6.x86_64
iomemory-vsl-config-2.6.32-220.el6.x86_64-2.3.10.110-1.0.el6.x86_64
# rpm -qa | grep "fio"
fio-sysvinit-2.3.10.110-1.0.el6.x86_64
fio-common-2.3.10.110-1.0.el6.x86_64
libfio-2.3.10.110-1.0.el6.x86_64
fio-util-2.3.10.110-1.0.el6.x86_64
fio-firmware-107053-1.0.noarch

 

ioDriveのステータスを確認

ユーティリティの動作確認も兼ねて、ioDriveのステータスを見てみます。

# fio-status -a
 
Found 1 ioDrive in this system
Fusion-io driver version: 2.3.10 build 110
 
Adapter: ioDrive
HP 320GB MLC PCIe ioDrive for ProLiant Servers, Product Number:600279-B21 SN:475324
Low-Profile ioDIMM Adapter, PN:00119200008, Mfr:003, Date:20120507
External Power: NOT connected
Powerloss protection: available
PCIE Bus voltage: avg 12.11V, min 12.08V, max 12.12V
PCIE Bus current: avg 0.42A, max 0.96A
PCIE Bus power: avg 5.05W, max 11.60W
PCIE Power limit threshold: 24.75W
PCIE slot available power: 75.00W
Sufficient power available: Unknown
PCIE negotiated link: 4 lanes at 2.50 Gbits/sec each, 1000 MBytes/sec total
Connected ioDimm module:
fct0: HP 320GB MLC PCIe ioDrive for ProLiant Servers, Product Number:600279-B21 SN:479364
 
fct0 Attached as 'fioa' (block device)
HP 320GB MLC PCIe ioDrive for ProLiant Servers, Product Number:600279-B21 SN:479364
HP ioDIMM 320GB, PN:00309800503, Mfr:003, Date:20120507
Powerloss protection: protected
PCI:01:00.0
Vendor:1aed, Device:1005, Sub vendor:103c, Sub device:178c
Firmware v5.0.7, rev 107053
320.00 GBytes block device size, 406 GBytes physical device size
Format: block, v300, 625,001,920 sectors, 512 bytes per sector
Error correction: 39 bits per 960 bytes
FPGA ID:0 Format UID:000000075084013303bb0049dcb8dc00
PCIE slot available power: 75.00W
Sufficient power available: Unknown
PCIE negotiated link: 4 lanes at 2.50 Gbits/sec each, 1000 MBytes/sec total
Internal temperature: 60.0 degC, max 62.0 degC
Board temperature: 49 degC
Internal voltage: avg 0.999V, max 1.022V
Aux voltage: avg 2.473V, max 2.479V
Media status: Healthy; Reserves: 100.00%, warn at 10.00%
Lifetime data volumes:
Physical bytes written: 58,946,596,878,144
Physical bytes read : 31,717,220,756,920
RAM usage:
Current: 107,337,728 bytes
Peak : 107,337,728 bytes

 

ioDriveをフォーマット

ディスクのパーティションを確認

# /sbin/fdisk -l
 
Disk /dev/sda: 999.7 GB, 999653638144 bytes
255 heads, 63 sectors/track, 121534 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d009a
 
Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 256000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 542 4096000 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 542 121535 971871232 83 Linux
 
Disk /dev/fioa: 320.0 GB, 320000983040 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

/dev/fioaが接続されている事がわかります。

ディスクのパーティションを設定します。

# fdisk /dev/fioa
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2ee10d3c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
 
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): [Enter]
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-38904, default 38904): [Enter]
Using default value 38904
 
Command (m for help): [p]
 
Disk /dev/fioa: 320.0 GB, 320000983040 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: 0x2ee10d3c
 
Device Boot Start End Blocks Id System
/dev/fioa1 1 38904 312496348+ 83 Linux
 
Command (m for help): [w]
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

パーティションブロックの割り当て情報を確認。

# cat /proc/partitions
major minor #blocks name
 
8 0 976224256 sda
8 1 256000 sda1
8 2 4096000 sda2
8 3 971871232 sda3
252 0 312500960 fioa
252 1 312496348 fioa1

ファイルシステムext4でフォーマットをします。

# /sbin/mkfs.ext4 /dev/fioa1
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 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

 

ioDriveをマウント

マウントします。

# mkdir /fioa
# mount /dev/fioa1 /fioa

マウントされている事を確認。

# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda3 ext4 956621508 3139048 904888900 1% /
tmpfs tmpfs 8216324 0 8216324 0% /dev/shm
/dev/sda1 ext4 247919 49950 185169 22% /boot
/dev/fioa1 ext4 307591508 195416 291771276 1% /fioa

起動時に自動でマウントするように、fstabファイルに追記しておきましょう。

# vi /etc/fstab
/dev/fioa1 /fioa ext4 defaults 1 2

簡単ですね!
 

 

ベンチマーク・資料

最後に色々な角度でベンチマークしている方々のリンクをご紹介します。

『System x部 (生!) 第九回資料 Fusion-io ioDriveがもたらした新世界とテクノロジーの肝』by 2011/10/06 Fusion-io
http://www-06.ibm.com/jp/domino04/pc/support/Sylphd07.nsf/jtechinfo/SYJ0-03844D4

包括的な内容でioDriveについて説明されています。

『MySQLデータベースにおける Fusion-io社 ioDrive使用時の優位性について』by 2012/07/23@GMO yours
http://www.s-style.co.jp/wp/wp-content/uploads/2012/07/mysql_fusion-io_slide_20120723.pdf

MySQLに主眼をおいたベンチマークをしています。

『ioDrive de benchmarking ~ベンチマークで見るioDrive~』by Masahito Zembutsu
http://www.slideshare.net/zembutsu/io-drive-de-benchmarking-2011-1209zemdistribution-10557525

計測手法の検討からはじまって、実際に使うときに役に立つデータを数値化しています。

『第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ』by 外道 父
http://www.slideshare.net/GedowFather/welcome-to-iodrive-world

DRECOMでのMySQL用途での導入事例です。

『CROOZ社によるFusion-io利用のきっかけ』by takaoka susumu
http://www.slideshare.net/sususlideshare/crooz-meet-fusion-io2-open
こちらも、MySQL用途での導入事例です。

PICK UP

お問い合わせ

サービスに関するご相談は
こちらよりお気軽にお問い合わせください。

e-Agencyの様々な情報をSNSでお届けします!