はじめに
Bluemix Infrastructureを用いて、レッドハットを乗せた仮想サーバーをオーダーして、その後ディスクを増設してみました。
主な手順は
KnowlegeLayer「Accessing Block Storage on Linux 」を参考にしました。
https://knowledgelayer.softlayer.com/procedure/block-storage-linux
追加ディスクをAuthorizeした時などにマシンの再起動を必要とはしませんでした。
サーバーを注文する
Bluemix Infrastructureのトップ画面のDeviceアイコンをクリックし、Virtualサーバー(仮想サーバー)を選択します。
今回は短時間での検証だったのでHourly(時間課金)で以下の画像の構成を組みました。
OSはもちろんRed Hatで。
サーバーにログインする
サーバーにログインします。
トップ画面上部のDevicesタブからDeviceListに入ります。
DeviceListから先ほど注文したサーバーを選択し、「Configuration」タブから「IP Address(Public)」、「Password」タブから「Password」を確認し、メモします。
そのパスワードを元にサーバーにログインします。今回はMacを用いて一連の作業を行ったので、Macの「ターミナル」からログインしました。
ターミナルに ssh root@(あなたのIP Address)
を打ち込みエンターを押します。
その後、Passwordを入力しエンターを押すとサーバーにログインすることができます。
追加ディスクを注文する
Bluemix Infrastructureトップ画面のStorageアイコンをクリックし、Block Storageを選択します。
今回は下の図のようなストレージにしました。
追加ディスクをAuthorizeする
Device ListのStorageタブから追加ストレージを選択します。
Block Storage一覧の右上にある"Authorize Storage"からAuthorizeできるストレージの一覧を出し、適当なストレージを選択します。
Submitを押したら確定です。
(画像はAuthorizeが済んだ後に思い出してキャプチャを撮ったものです。すいません)
ストレージをマウントさせる
(1)iSCSIと必要な要素をインストール
yum install iscsi-initiator-utils device-mapper-multipath
(2)Multipath Configuration Fileを編集
vi /etc/multipath.conf
私の場合、何も入っていなかったので全部コピペしました。
"i"を押してinsertモードに入り以下をコピペします。
defaults {
user_friendly_names no
max_fds max
flush_on_last_del yes
queue_without_daemon no
dev_loss_tmo infinity
fast_io_fail_tmo 5
}
blacklist {
wwid "SAdaptec*"
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
device {
vendor "NETAPP"
product "LUN"
path_grouping_policy group_by_prio
features "3 queue_if_no_path pg_init_retries 50"
prio "alua"
path_checker tur
failback immediate
path_selector "round-robin 0"
hardware_handler "1 alua"
rr_weight uniform
rr_min_io 128
}
}
編集し終えたらEscキーを1回、Shift+Zキーを2回それぞれ入力し、保存してファイルを閉じましょう
(ファイルを編集した後保存して終わる際は必ずこの作業で終わります)
(3)Multipath Mdouleをロードし、Multipath Servicesを開始
以下のコマンドを入力します。
modprobe dm-multipath
service multipathd start
chkconfig multipathd on
(4)Multipathが動いているか確認
multipath -l
を入力します。
(5)ファイルをアップデート
vi /etc/iscsi/initiatorname.iscsi
を入力して出てきたファイルを編集します。
”InitiatorName”の"="以後をStorageのIQNに書き換えます。
(6)CHAP settingsを編集
vi /etc/iscsi/iscsid.conf
を入力しでてきたファイルを以下のようになるように該当部分を書き換えます。(各行のはじめの#も消します)
ストレージのユーザー名とパスワードは、Bluemix InfrastructureのDevice ListのStorageタブから新たに購入したストレージの詳細を確認すると見つかります。
node.session.auth.authmethod = CHAP
node.session.auth.username = "ストレージのユーザー名"
node.session.auth.password = "ストレージのパスワード"
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = "ストレージのユーザー名"
discovery.sendtargets.auth.password = "ストレージのパスワード"
(7)iSCSIを設定
下のコマンドをそれぞれ入力しiSCSIをセットアップします。
chkconfig iscsi on
chkconfig iscsid on
service iscsi start
service iscsid start
(8)ターゲットIPアドレスを使っているデバイスを探す
ストレージのIPアドレスはDevice Listの中にある、新規に追加したストレージのIPアドレスを用います。
iscsiadm -m discovery -t sendtargets -p "ストレージのIPアドレス"
iscsiadm -m node -L automatic
(9)iSCSIにログインしているか確認
以下のコマンドを入力します。
iscsiadm -m session
multipath -l
(10)デバイスが接続されているかを確認
以下のコマンドを入力します。
fdisk -l | grep /dev/mapper
ファイルシステムを作成(オプション)
(1)ディスク名を取得
以下のコマンドを入力します。
fdisk -l | grep /dev/mapper
(2)ディスクにパーティションを作成
fdisk /dev/mapper/XXX
XXXの部分には、(1)を入力した際に取得されたディスク名(dev/mapper/XXX)を入力します。
その後下の図の順にコマンドを入力します。

(3)新パーティションにファイルシステムを作成
fdisk –l /dev/mapper/XXX
上のコマンドを入力すると/dev/mapper/XXXlp1のような形でパーティション名が取得されますので次のコマンドで使います。
mkfs.ext3 /dev/mapper/XXXlp1
(末尾の英字部分込みでコマンドを打つとうまくいかない場合もありますので、その際は末尾の英字を消してみてください)
(4)マウントポイントを作成
mkdir /PerfDisk
(※PerfDiskではなく、自分でマウント先を選択することもできます)
mount /dev/mapper/XXXlp1 /PerfDisk
df -h
ファイルが作成されているか確認
ls /PerfDisk
作成したファイルシステムがリストに存在しているかが確認できたら完了です!
おつかれさまでした♪