「オープンソース」を使ってみよう (第9回:OpenfilerによるiSCSIストレージのつくりかた)
08/02
Use it ! OSS No Comments
Tweet
———————–
自宅SAN友の会
島崎 聡史
———————–
●はじめに
ここ数年、ITインフラ関連でトレンドとなっているキーワードのひとつに『サー
バ仮想化』がありますが、サーバ仮想化をフルに活用する上で欠かせないコン
ポーネントとして『共有ストレージ』があります。
共有ストレージは、ネットワークを介して複数の物理サーバから参照可能なスト
レージのことです。多くのサーバ仮想化ソフトでは、ライブマイグレーションに
よる計画停止の回避や負荷分散、高可用性機能による障害からの自動復旧など、
サーバ仮想化環境を効率的・柔軟に運用するための機能がありますが、それらを
使用するにはVMの構成情報ファイルや仮想HDDを共有ストレージ上に置くことが
条件になっています。
そうした背景から、サーバ仮想化環境を構築・運用するインフラエンジニアには
ストレージシステムに対する理解が求められていますし、サーバ仮想化の検証を
するにも共有ストレージが必須といえるでしょう。
●共有ストレージを手に入れよう
最近は安価なサーバ機がPCより安いような価格で販売されているため、サーバ仮
想化の検証用にマシンを個人でそろえるのは難しくありませんが、ストレージに
関してはどうでしょう?
まず、企業向けのストレージを個人で買うのは金額的に難しいです。家庭用の
NASなどを使って共有ストレージを作ることもできますが、安価な製品では性能
的に厳しい場合が多く、サーバ仮想化の検証にはOSインストールの際などにやた
らと時間がかかってしまいますし、ホームユースでも十分な性能を持った製品を
求めるとそれなりに高くついてしまいます。
そこで役に立つのが、オープンソースのストレージ用OSです。Linuxベースの
OpenfilerやFreeBSDベースのFreeNAS、OpenSolarisベースのNexentaStorなどの
種類があります。
ストレージ用OSの特長は、ストレージ機能を設定するためのGUIが充実している
点です。ストレージ用OSではなく、ベースになっている各種OSを使って、NAS
やSANのストレージ機能を持ったマシンを作ることはできますが、ストレージに
特化している分、取っつきやすくなっています。
これらのストレージ用OSを安価なサーバ機や仮想マシン上にインストールすれ
ば、簡単に共有ストレージを作ることができます。また、安価なサーバ機でも家
庭用の安価なNASに比べればハードウェア性能にも余裕がありますし、必要に応
じてハードウェア構成を拡張することもできます。
●Openfilerの入手
Openfilerはコミュニティの公式サイトからダウンロード可能です。執筆時点での
最新版はバージョン2.99で、x86_64アーキテクチャ向けISOイメージが提供され
ています。旧バージョンの2.3ではx86とx86_64向けに、ISOイメージおよび仮想
アプライアンス(VMware Workstation、VMware ESX、Citrix XenServer、Xen
向け)が提供されています。
●インストール
インストール作業はGUIとTextどちらでも可能です。インストーラはRHEL/Cent
OSなどと同じanacondaなので、それらLinuxディストリビューションのインスト
ール経験があれば、特に迷うことなくインストールできます。手順はOpenfiler
公式サイトのダウンロードページにスクリーンショット付きで解説されています。
バージョン2.3での解説になっていますが、大きな違いはありません。
ひとつ注意すべき点は、インストール時のパーティションレイアウトです。
Openfilerではディスクの未使用領域に共有データ用のパーティションや論理ボ
リュームを作成しますので、OSインストールの段階では未使用領域を残したパー
ティション構成にしましょう。バージョン2.99では自動的に未使用領域を残した
構成になりますが、旧バージョンを使用する場合にはディスク全体がOpenfiler
のシステム領域にされてしまいます。
なお、バージョン2.99ではUSBメモリへのインストールも簡単にできるように
なっています(バージョン2.3ではサポートされていないため、USBメモリへのイ
ンストールには手間がかかっていました)ので、システム領域と共有領域の物理
ディスクを完全に分けた構成も容易です。
●共有ストレージ(iSCSI)の構成
Openfilerは様々な形式のストレージとして使用できますが、今回はiSCSIスト
レージ(iSCSI Target)として構成する流れを紹介します。iSCSIはSCSIコマ
ンドをIPネットワーク経由で送受信するためのプロトコルです。ごく普通の
Ethernet環境で共有ストレージが作れるため、検証環境の作成に重宝します。
Openfilerのインストールが終わって起動すると、コンソールにWebインター
フェースのアドレスが表示されますので、Webブラウザで接続します。デフォル
トの管理ユーザーはopenfiler、パスワードはpasswordになっていますので、初
回ログイン後に変更しておいた方が良いでしょう。変更は[Accounts]メニューの
[Admin Password]から可能です。
・ボリューム設定
OpenfilerのiSCSI Targetは、LinuxのLVMで作成した論理ボリュームを他のサー
バに貸し出すようになっていますので、通常のLVMと同じ流れで物理ボリューム
(PV)→ボリュームグループ(VG)→論理ボリューム(LV)を設定していきま
す。これらの設定は[Volumes]メニュー内で可能です。
・セキュリティ設定
[System]メニュー下部のNetwork Access ConfigurationでOpenfilerにアクセス
するホストのIPアドレスまたはネットワークアドレスを入力し、[Update]をク
リックします。
・サービス設定
次にiSCSI Targetサービスの有効化を[Services]メニューから行います。Start/
Stopの項目でStartしますが、システム起動に連動するように、Modify Bootも
Enableにしておくと良いでしょう。
サービスが起動したら、iSCSI Targetの設定をします。[Volumes]メニュー内の
[iSCSI Targets]セクションで設定をしていきます。詳細な設定が可能ですが、
とりあえず最小限の設定で使ってみたい場合は以下の流れで可能です。
- [Target Configuration]のAdd new iSCSI TargetでTarget IQNはデフォルト値のまま
[Add]をクリック。
- [LUN Mapping]は共有したい論理ボリュームの行で、右側にある[map]をクリック。
- [Network ACL]は先ほどセキュリティ設定で登録したアドレスが表示されるので、
設定値を”Allow”に変更して[Update]をクリック。
- [CHAP Authentication]は変更せずにそのまま。 ※ストレージに認証設定をする
項目なので、セキュリティを考慮する必要がある環境で使う場合は設定してくだ
さい。
Openfiler側の設定は以上です。
・サーバ側の接続設定
ここからは、iSCSIストレージに接続するホスト側(iSCSI Initiator)の設定で
す。設定方法はOSや使用するツールによって異なりますが、ここではScientific
Linux 6.1を例にします。
1. iSCSIターゲットに接続するには、iscsi-initiator-utilsが必要なので、パッ
ケージを追加します。
# yum install -y install iscsi-initiator-utils
2. iSCSIターゲットに接続し、情報を取得します。
# iscsiadm -m discovery -t sendtargets -p 192.168.9.226
iscsid を起動中: [ OK ]
192.168.9.226:3260,1 iqn.2006-01.com.openfiler:tsn.79f0de456e02
3. iSCSIストレージから取得した情報を確認します。
# iscsiadm -m node -o show
# BEGIN RECORD 2.0-872
node.name = iqn.2006-01.com.openfiler:tsn.79f0de456e02
node.tpgt = 1
node.startup = automatic
iface.hwaddress =
iface.ipaddress =
iface.iscsi_ifacename = default
iface.net_ifacename =
iface.transport_name = tcp
iface.initiatorname =
node.discovery_address = 192.168.9.226
node.discovery_port = 3260
node.discovery_type = send_targets
(省略)
# END RECORD
4. 情報を取得したiSCSI Targetにログインします。
# iscsiadm -m node –login
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.
79f0de456e02, portal: 192.168.9.226,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.
79f0de456e02, portal: 192.168.9.226,3260] successful.
5. iSCSI接続により追加されたボリュームを確認します。
# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda
8 1 512000 sda1
8 2 20458496 sda2
253 0 16326656 dm-0
253 1 4128768 dm-1
8 16 2097152 sdb
以上で接続は完了です。iSCSIストレージは、接続したホスト側から見るとブ
ロックデバイス(ディスク)として認識され、パーティションやファイルシステ
ムの作成はローカルディスクと同様に行えます。より詳細な使い方はiscsiadmコ
マンドのmanページや様々なWebサイトでの解説が参考になります。
●おわりに
今回はiSCSIの設定について紹介しましたが、OpenfilerはFibre Channelストレージ
としても動作可能です。Fibre Channelはエンタープライズ向けのストレージに使わ
れる接続規格で、通常であれば個人所有するのは難しいものですが、Openfilerを使
えばFibre Channel環境であっても安価かつ容易に作成可能です。
自宅SAN友の会の過去のセミナーでも取り上げていますので、興味のある方は
自宅SAN友の会のWebサイトをご覧ください。