(2016年時点での内容をアーカイブとして掲載しているため、一部の掲載内容が最新情報とは異なる場合がありますので、ご了承ください。最新のIBM Cloudのアップデート情報はこちらを参照してください。)
概要
仮想サーバー用のSANディスクの利用形態の一つであるポータブル・ディスクの利用方法についてご紹介します。物理サーバーにポータブル・ストレージを接続することはできないので、ご注意お願いします。
ポータブル・ストレージのオーダー
ポータブル・ストレージをオーダーするには、カスタマーポータルの「Storage」->「Block Storage」->「Order Block Storage」でオーダーのウィンドを開きます。 そして、「Select Storage Type:」で Portable Storage を選択します。
次の画面のように、「Storage Description」、「Select Storage Size」、「Location」を設定して、「Payment」を選択して、「Continue」をクリックします。
オーダー確認画面で、MSAに同意するチェックを入れ「Place Order」をクリックして注文を確定します。
ポータブル・ストレージのデプロイが完了すると、以下の「Portable Strage」のリストに表示されるようになります。
上記の状態では、仮想サーバーにも繫がっていないので、「Device Name」が「Unattached」になっています。
仮想サーバーへのアタッチ
「Portable Strage」のリストの右側の「Actions」->「Attach」を選択します。
「Portable Name」の選択リストで接続したいサーバーを選択するなどして、「Search」をクリックして、ポータブル・ディスクのリストを取得します。
次に「Attach」をクリックして選択を確定します。
ポータブル・ディスクを接続するに際して再起動することの確認があります。
ディスクの接続処理の結果が通知されます。
ポータブル・ディスクに接続されている仮想サーバーが表示されるようになります。
ファイルシステムの作成とマウント
ディスクが繫がったことを確認するために、lsblkコマンドを実行します。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 25G 0 disk
├─xvda1 202:1 0 243M 0 part /boot
└─xvda2 202:2 0 24.8G 0 part /
xvdc 202:32 0 10G 0 disk
xvdb 202:16 0 2G 0 disk
└─xvdb1 202:17 0 2G 0 part [SWAP]
xvdcが追加されたディスクです。 mkfs.ext4コマンドでファイル・システムを作成します。データ・ディスクとして専用に使うので、パーティションを作成しないで、全体を一つのファイル・システムしてしまいます。
# mkfs.ext4 /dev/xvdc
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 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
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
次のmountコマンドを実行して、/mntにディスクをマウントします。 dfコマンドで、以下のように見えていれば成功です。
root@tkr01:~# mount -t ext4 /dev/xvdc /mnt
root@tkr01:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 25555836 7524348 16733312 32% /
udev 499456 4 499452 1% /dev
tmpfs 101536 184 101352 1% /run
none 5120 0 5120 0% /run/lock
none 507676 0 507676 0% /run/shm
/dev/xvda1 240972 19674 208857 9% /boot
/dev/xvdc 10321208 154100 9642820 2% /mnt
ポータブル・ストレージの取り外し
ポータブル・ディスクのデタッチの際に、再起動が入るのですが、一応アンマウントします。
# umount /mnt
ポータブル・ストレージのリスト画面の右側で 「Detach」をクリックします。
取外し実行中は、停止することが警告されます「Yes」をクリックして続行します。この後、仮想サーバーのシャットダウンが実行され、ポータブル・ディスク取外し成功のダイアログ・ウィンドが表示されます。
lsblkコマンドで確認してみます。ポータブル・ディスクの取外し後は、次のように認識されていないことが分ります。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 25G 0 disk
├─xvda1 202:1 0 243M 0 part /boot
└─xvda2 202:2 0 24.8G 0 part /
xvdb 202:16 0 2G 0 disk
└─xvdb1 202:17 0 2G 0 part [SWAP]
パフォーマンス測定
最新鋭の東京データセンターのSANディスクの性能は、どの程度か興味深いですよね。そこで、fioコマンドを利用して、簡単にテストしました。結果は、ランダム書込みの場合 3.6K IOPS, ランダム読取りの場合 84.8K IOPS というたいへん良いパフォーマンスが出ていることが分りました。 ご参考までに、コマンドの実行結果を以下に添付します。
ランダムライト
# fio --filename=/mnt/testfile --direct=1 --rw=randwrite --bs=4k --size=5G --numjobs=32 --runtime=10 --group_reporting --name=file
file: (g=0): rw=randwrite, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
...
file: (g=0): rw=randwrite, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
fio 1.59
Starting 32 processes
Jobs: 32 (f=32): [wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww] [100.0% done] [0K/15749K /s] [0 /3845 iops] [eta 00m:00s]
file: (groupid=0, jobs=32): err= 0: pid=5112
write: io=143476KB, bw=14316KB/s, iops=3579 , runt= 10022msec
clat (usec): min=138 , max=659793 , avg=8928.75, stdev=51868.78
lat (usec): min=140 , max=659796 , avg=8931.09, stdev=51868.78
bw (KB/s) : min= 6, max= 598, per=3.11%, avg=444.60, stdev=81.52
cpu : usr=0.22%, sys=0.15%, ctx=72752, majf=0, minf=918
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued r/w/d: total=0/35869/0, short=0/0/0
lat (usec): 250=65.30%, 500=30.52%, 750=0.18%, 1000=0.04%
lat (msec): 2=0.89%, 4=0.11%, 10=0.13%, 20=0.01%, 50=0.02%
lat (msec): 100=0.03%, 250=0.06%, 500=2.64%, 750=0.07%
Run status group 0 (all jobs):
WRITE: io=143476KB, aggrb=14316KB/s, minb=14659KB/s, maxb=14659KB/s, mint=10022msec, maxt=10022msec
Disk stats (read/write):
xvdc: ios=0/35348, merge=0/30, ticks=0/9632, in_queue=9632, util=96.36%
ランダムリード
# fio --filename=/mnt/testfile --direct=1 --rw=randread --bs=4k --size=5G --numjobs=32 --runtime=10 --group_reporting --name=file
file: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
...
file: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1
fio 1.59
Starting 32 processes
Jobs: 32 (f=32): [rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr] [100.0% done] [417.7M/0K /s] [104K/0 iops] [eta 00m:00s]
file: (groupid=0, jobs=32): err= 0: pid=5350
read : io=3312.5MB, bw=339025KB/s, iops=84756 , runt= 10005msec
clat (usec): min=3 , max=35535 , avg=364.44, stdev=1208.29
lat (usec): min=4 , max=35536 , avg=367.36, stdev=1212.40
bw (KB/s) : min= 2504, max=13824, per=3.09%, avg=10473.63, stdev=4228.70
cpu : usr=0.61%, sys=2.23%, ctx=142977, majf=0, minf=982
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued r/w/d: total=847987/0/0, short=0/0/0
lat (usec): 4=0.06%, 10=79.25%, 20=4.19%, 50=0.01%, 100=0.01%
lat (usec): 250=0.01%, 500=0.75%, 750=2.47%, 1000=1.80%
lat (msec): 2=6.65%, 4=2.53%, 10=2.02%, 20=0.24%, 50=0.01%
Run status group 0 (all jobs):
READ: io=3312.5MB, aggrb=339025KB/s, minb=347161KB/s, maxb=347161KB/s, mint=10005msec, maxt=10005msec
Disk stats (read/write):
xvdc: ios=135256/2, merge=0/1, ticks=108472/0, in_queue=108472, util=97.32%
その他の注意点
仮想サーバーに、ポータブル・ストレージを接続した状態で、仮想サーバーをキャンセルすると、ポータブル・ストレージも一緒にキャンセルされてしまいます。 もしもデータ用のストレージとしている場合、取り返せない結果になりますので注意が必要です。
SLコマンドで、ポータブル・ストレージを操作できません。 ポータブル・ストレージを操作するサブコマンドがないので、シェルからポータブル・ディスクの付け替えといったことができません。
ポータブル・ディスク、SANディスクは、名前からして物理サーバーに、ファイバー・チャネルのアダプタを付ければアクセスできそうですが、残念ながら仮想サーバー専用のストレージです。物理サーバーに接続できないので名前に騙されないように注意が必要です。
ポータブル・ディスクは、データセンターを超えて接続することができません。例えば、北米サンノゼのポータブル・ディスクを東京データセンターの仮想サーバーに接続するといった使い方はできません。