iSCSIの使用マニュアル

大西 祥代,廣安 知之,三木 光範

ISDL Report No. 20050913004

2006年 1月 22日

Abstract

大容量で高速アクセスが可能なストレージへの要求が高まっている今日,「ネットワーク・ストレージ」が注目されており,これを実現する方法の一つとして,「iSCSI」という技術がある.iSCSIは既存のIPネットワーク上に,ストレージを直接接続することが可能である.本報告では,iSCSIの使用方法について述べる.

1  はじめに

近年,音楽や写真などのマルチメディアファイルや,インターネットによるビデオ配信の利用などにより,日常の生活で利用するデー多量が増加の傾向にある.そのため,コンピュータの世界ではストレージに対する要求は高まる一方である.そこで,近年のネットワーク技術の進化により,既存のIPネットワーク上にストレージを直接接続できるiSCSIが注目されている.

2  iSCSI

iSCSIとは,記憶装置とコンピュータ間の通信に利用するSCSIコマンドをIPネットワーク経由で送受信するためのプロトコルである.iSCSIではSCSIコマンドやレスポンスなどのメッセージとデータを,TCP/IPパケットにカプセル化することでIPネットワーク上でデータ送受信を行う.コマンドを発行し,処理を要求するInitiatorと,その処理を行い,レスポンスを返すTargetにより構成される.iSCSIでは,ストレージがTargetにあたり,ストレージにアクセスする側がInitiatorとなる.

3  Targetの設定

ストレージとなるLinuxマシンに,iSCSI Targetのセットアップを行う.

3.1  インストール

The iSCSI Enterprise Target ProjectからiSCSI Targeソフトウェアをダウンロードし,インストールを行う.本マニュアルでは,2005年11月時点での最新バージョン0.4.12を使用する.iSCSIはカーネルのバージョンに依存する.本マニュアルにおいて利用するバージョン0.4.12では,カーネルはバージョン2.6.13以降のものが必要である.

iSCSI Targetをダウンロードしパッケージを展開する.展開されたディレクトリに移動する.

 $ tar xvfz iscsitarget-0.4.12.tar.gz
 $ cd iscsitarget-0.4.12

コンパイルし,インストールする.

 # make
 # make install

3.2  設定

iscsitarget-0.4.12/etc/ietd.confの設定ファイルを/etc以下にコピーする.

 # cp iscsitarget-0.4.12/etc/ietd.conf /etc

コピーしたietd.confを編集する.

 Target ipn.2009-08.isdl.doshisha.ac.jp:storage.lvm
  	#Users, who can access this target
 	#(no users means anyone can access the target)
 	IncomigUser
 	OutgoingUser
 	#Lun definition
 	#(right now only block devices are possible)
 	Lun 0 /dev/hdc fileio
 	#Alias name for this target
 	Alias iSCSI
 	#various iSCSI parameters
 	

ipn.2009-08.isdl.doshisha.ac.jp:storage.lvmはiSCSIネームで,ノード識別や管理のために持つ固有の名前である.isdl.doshisha.ac.jpはドメイン名である.この設定では認証を行っていない.ハードディスク/dev/hdcにアクセスを行う.このターゲットのエイリアスはiSCSIである.

2.3  起動

以下のコマンドにより,Targetサービスを起動する.

 # /etc/init.d/iscsi-target start

以下のコマンドにより,起動時にTargetサービスを自動的に起動させることができる.

 # chkconfig iscsi-target on

4  WindowsでのInitiatorの設定

WindowsマシンからiSCSIストレージを利用する場合の,Initiatorの設定を行う.

4.1  インストール

Microsoft iSCSI Software Initiatorよりイニシエーターソフトウェアをダウンロードし,インストールを行う.

インストーラの指示に従いデフォルトのままですすむ.インストールが完了するとデスクトップにiSCSI Initiatorのアイコンが表示される.

4.2  設定

Fig 1のAddボタンを押し,Fig 2でターゲットのIPアドレスを入力する.そして,Fig 3のLog Onを押すとターゲットにアクセスすることができる.

add
Fig 1: ターゲットの設定@
AddTargetPortal
Fig 2: ターゲットの設定A
logon
Fig 3: ターゲットの設定B

「管理ツール」にある「コンピュータの管理」を確認すると,ローカルマシンのハードディスクと同じように認識される.このハードディスクを利用するために,右クリックで「新しいパーティション」を作成する.

format
Fig 4: ハードディスクのフォーマット

以上でWindowsマシンからiSCSIを用いてネットワーク越しにストレージを使用可能となる.

5  LinuxでのInitiatorの設定

LinuxマシンからiSCSIストレージを利用する場合の,Initiatorの設定を行う.

5.1  インストール

Linux-iSCSI project page on SourceForgeよりiSCSI Initiatorをダウンロードする.本マニュアルでは,2005年11月時点での最新バージョン4.0.2を使用する. ダウンロードするものは,以下の2つである.
  1. linux-iscsi-kernel-4.0.2
  2. linux-iscsi-kernel-4.0.2.patch

5.2  カーネルの再構築

本マニュアルで使用するバージョン4.0.2のiSCSI Initiatorでは,カーネル2.6.10以降でなければならない.また,iSCSiを使用するために,再構築を行う必要がある.まず,/usr/src/iscsiというディレクトリを作り,これの下にlinux-iscsi-kernel-4.0.2.patchを置く.以下のコマンドを実行する.

 # patch -p0 < linux-iscsi-kernel-4.0.2.patch

これにより,/usr/src/linux-2.6.10(カーネルのバージョンにより異なる)/drivers/scsiの下に,iscsi-sfnetができる.

次にSourceForgeより,sysfsutils-1.3.0をダウンロードし,以下のように行う.

 # ./configure
 # make
 # make install

次にカーネルを再構築する.以下のiSCSIを組み込みモジュールに設定する.

 Device Deivers ---->
   SCSI device support ----->
      SCSI low-level drivers ----->
		   iSCSI Driver support 
 ------>  [M]Provides ability to access storage using iSCSI protocol

以下のコマンドを実行し,モジュールの作成とインストールを行う.

 # make modules
 # make modules-install

5.3  設定

/usr/src/iscsi以下にiSCSI Intiatorのパッケージを展開し,生成されたlinux-iscsi-4.0.2に移動する.

 $ tar xvzf linux-iscsi-4.0.2.tgz
 $ cd linux-iscsi-4.0.2
次に以下のコマンドを実行する.
 # make
 # make install

以下のコマンドでiSCSI Initiatorが起動する.

 # /etc/init.d/iscsi start
 

Initiatorが起動すると,自動的にTargetを認識し接続される.接続されたTargetを確認するためには以下のコマンドを使用する.

 $ iscsi-ls
 

ストレージを使用するために,fdiskでパーティションを作成する.

 # fdisk /dev/sda
  

mkfsコマンドにより,Linuxのファイルシステムをハードディスクのパーティション上に構築する.

 # mkfs /dev/sda1
  

マウントする.

 # mount /dev/sda1 /mnt/iscsi
 

成功すると以下のように表示される.

 # df
 Filesystem    1K-blocks  Used    Available Use% Mounted on
 /dev/hda1     18508428   3619348  13948880  21% /
 tmpfs         127984         0    127984    0%  /dev/shm
 /dev/sda1     40000000   16000    39984000  1%  /mnt/iscsi
 

Initiatorの設定の変更は/etc/iscsi.confで行う.

 # vi /etc/iscsi.conf
 

Reference

[1]
Going Enterprise - FC4 iSCSIターゲットを5分でセットアップする http://fedoranews.yanbaru.dyndns.org/creativecommons/fc4iscsi/index.html
[2]
Ardis: Linux iSCSI target http://www.ardistech.com/iscsi/
[3]
Linux-iSCSI Project http://linux-iscsi.sourceforge.net/
[4]
A Quick Guide to iSCSI on Linux http://www.cuddletech.com/articles/iscsi/index.html


Copyright (C) 2005 Tomoyuki Hiroyasu, All rights reserved.
Copyright (C) 2005 Mitsunori Miki, All rights reserved.
Copyright (C) 2005 Sachiyo Onishi, All rights reserved.

No part of this document may be reproduced, copied, distributed,
transferred, modified, or transmitted, in any form or by any means,
without the prior written permission of the authors.
In no event shall the authors be liable for any damages caused in any way
out of the use of this document.

Back to Top