0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

1.6.6 パフォーマンス・ストレージを利用するには?

Posted at

(2016年時点での内容をアーカイブとして掲載しているため、一部の掲載内容が最新情報とは異なる場合がありますので、ご了承ください。最新のIBM Cloudのアップデート情報はIBM Cloud アップデート情報柔らか層本をご参照ください。)

概要
共有型ストレージは、一本のディスク・ドライブで利用するよりも、はるかに高いパフォーマンスを得ることができます。 しかし同じストレージ・プールを共有する他のユーザーが激しくアクセスを行うと、影響を受け遅くなってしまいます。この共存ユーザーの影響の課題を解決するのがパフォーマンス・ストレージ(Performance Storage)です。

パフォーマンス・ストレージの概要
このストレージの特徴は、容量(GB)と性能(IOPS)の値で月額料金が決まることです。 容量は20 GB〜12000 GB まで範囲、性能は 100 IOPS 〜 6000 IOPS で選択できます。 このストレージへの接続はiSCSIで行います。そしてマルチパスI/Oが提供されています。

次の図のように、このiSCSIストレージは、SoftLayerのプライベート・ネットワーク上で提供され、仮想サーバーや物理サーバーからアクセスできます。このためリンク速度は1ギガbps以上を選択することがおすすめです。 また物理サーバーでは、MTUサイズを9Kに変更すると性能向上に寄与するかもしれません。

オーダー方法
カスタマーポータルから「Storage」->「Block Storage」->「Order Block Storage」を選択すると次の画面が表示されます。「Select Storage Type」に「Performance」を選択し、必要項目をセットして「Continue」をクリックして進みます。

各項目の解説は、http://knowledgelayer.softlayer.com/topic/performance-storage にありますので、合わせて参照すると理解が深まります。

しばらくすると、次の画面のようにパフォーマンス・ストレージが利用可能になります。「Notes (Clieck cell to edit)」にコメントを記入できますから、システム名や用途などを入力して、管理に役立てることができます。

サーバーへアクセス権限付与
これでiSCSIのブロックデバイスとして利用できるようになったので、LinuxとしてCentOS6から認識させ、ファイルシステムを作成して、マウントする作業をみていきます。 同じ東京データセンターにCentOS6のサーバーと今回注文したストレージを利用可能な状態にしていきます。

このストレージにアクセスする許可をサーバーへ与えるために、この画面の下の方の「Authorize Host」をクリックします。

次にストレージに接続可能なサーバーのリストが表示されますから選択して「Submit」をクリックして先へ進めます。

サーバーにアクセス権限が付与されると、ユーザーID、パスワード、IQN (iSCSI Qualified Name) が表示されるようになります。これらの値をiSCSIの設定ファイルにセットします。

LinuxのiSCSIシングルパス設定
当たり前の話ですが、OSを最新状態に更新してから、iscsi関連のパッケージのインストールを開始します。

# yum update -y 

iSCSIとの接続方法は、このリンクに記載されているので、合わせて参照すると、より良い理解が得られると思います。http://knowledgelayer.softlayer.com/procedure/connect-iscsi-lun-linux-open-iscsi

# yum install iscsi-initiator-utils -y

/etc/iscsi/initiatorname.iscsi にIQNを設定します。

# pwd
/etc/iscsi
# vi initiatorname.iscsi
# cat initiatorname.iscsi
InitiatorName=iqn.2005-05.com.softlayer:SL01SU294470-7

/etc/iscsi/iscsid.conf に上記のユーザー名などを設定します。 以下のファイルの例は、最小限必要項目を抜き出したものですので、実際のファイルを編集する際は、項目名で探して編集をお願いします。 この例は認証に関わる最小限ですから、タイムアウト値などのチューニング項目は、前述のKnowledge Layerのリンクを参照願います。

# vi iscsid.conf
# cat iscsid.conf

node.startup = automatic
node.session.auth.authmethod = CHAP
node.session.auth.username = SL01SU294470-7
node.session.auth.password = A59rNqqBdG45HWM

discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = SL01SU294470-7
discovery.sendtargets.auth.password = A59rNqqBdG45HWM

次のiscsiadmコマンドで割当られたiscsiターゲットを探します。この「-p」以降のIPアドレスは、「Block Storage Detail」の画面の「Target Address」のIPアドレスを利用します。 この画面にアクセスするには、「Storage」->「Block Storage」->「LUN Name」の順に進みます。

# iscsiadm -m discovery -t sendtargets -p 10.3.78.55
iscsid を起動中:                                           [  OK  ]
10.3.78.55:3260,1031 iqn.1992-08.com.netapp:tok0201
10.3.78.64:3260,1032 iqn.1992-08.com.netapp:tok0201

iscsiのサービスをリスタートすると、以下のように、ブロック・デバイスが認識できるようになります。

[root@tkr07 iscsi]# service iscsi restart
Stopping iscsi:                                            [  OK  ]
Starting iscsi:                                            [  OK  ]
[root@tkr07 iscsi]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvdb    202:16   0    2G  0 disk
└─xvdb1 202:17   0    2G  0 part [SWAP]
xvda    202:0    0   25G  0 disk
├─xvda1 202:1    0  256M  0 part /boot
└─xvda2 202:2    0 24.8G  0 part /
sda       8:0    0   20G  0 disk
sdb       8:16   0   20G  0 disk 

ファイルシステムを作成します。 一般的なSATAのストレージでは 500 〜 900 IOPS 程度の性能があります。 もし100 IOPS に指定した場合、性能が 1/5 〜1/9 制限されるため数倍の時間がかかります。

[root@tkr07 iscsi]# mkfs.ext3 /dev/sda

ファイルシステムの作成が完了したら、マウントして df コマンドで、確認します。

[root@tkr07 iscsi]# mount -t ext3 /dev/sda /mnt
[root@tkr07 iscsi]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/xvda2      25544012 1267108  22979344   6% /
tmpfs             508116       0    508116   0% /dev/shm
/dev/xvda1        253871   84527    156237  36% /boot
/dev/sda        20642428  176196  19417656   1% /mnt

これでパフォーマンス・ストレージが利用できるようになりました。

マルチパスI/Oの設定
マルチパスI/O(MPIO)によって、iSCSIストレージのアクセス経路を複数にすることで、性能と可用性の改善が期待されます。パフォーマンス・ストレージはマルチパスI/Oの機能がサポートされていますので、設定方法について見ていきます。設定を行なう前に、/mntをアンマウントしておきます。 これを忘れると、マルチパスI/O化が途中で失敗するので、忘れないように最初で実施します。そして次に必要なモジュールをインストールします。

# yum install device-mapper-multipath -y

iSCSIターゲットのWWIDを調べます。このパフォーマンス・ストレージは、最初から二つのデバイスが提供されますが、取り違いがないようにデバイス名を指定してWWIDが同じであることを確認します。

[root@tkr07 iscsi]# /sbin/scsi_id -g /dev/sda
3600a098038303467663f466451573353
[root@tkr07 iscsi]# /sbin/scsi_id -g /dev/sdb
3600a098038303467663f466451573353

次の/etc/multipath.conf のテンプレートに、上記で得たWWIDをセットします。以下では、aliasのyellow が、デバイスマッパーのデバイス名になるので、適当な名前に変更します。この例では変更しません。

defaults {
    user_friendly_names yes
}
blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^hd[a-z]"
}
multipaths {
    multipath {
        wwid    3600a098038303467663f466451573353
        alias   yellow
        path_grouping_policy    multibus
        path_selector           "round-robin 0"
        failback                manual
        rr_weight               priorities
        no_path_retry           5
    }
}

マルチパスI/Oのサービスを開始します。

[root@tkr07 ~]# service multipathd start
Starting multipathd daemon:                                [  OK  ]

マルチパスI/Oのデバイスの動作を確認します。mulitpath -ll コマンドでパフォーマンス・ストレージのsda,sdbにyelloが紐づいていることが分かります。

[root@tkr07 iscsi]# multipath -ll
yellow (3600a098038303467663f466451573353) dm-0 NETAPP,LUN C-Mode
size=20G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=30 status=active
  |- 0:0:0:1 sda  8:0    active ready running
  `- 1:0:0:1 sdb  8:16   active ready running

マルチパスI/Oのデバイス /dev/mapper/yellow をマウントして、df コマンドで確認します。

[root@tkr07 ~]# mount -t ext3 /dev/mapper/yellow /mnt
[root@tkr07 ~]# df
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/xvda2          25544012 1270596  22975856   6% /
tmpfs                 508116       0    508116   0% /dev/shm
/dev/xvda1            253871   84527    156237  36% /boot
/dev/mapper/yellow  20642428  176196  19417656   1% /mnt

これでマルチパスI/Oの設定が完了しました。これで、マルチパスI/Oにしたら速くなるかと言えば、1コアの条件では逆に遅くなる要素もあるので、パフォーマンスを優先する場合は、シングル接続が良いこともあります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?