Dec 8, 2006

貧乏人のためのboot-from-SAN (3) iSCSI InitiatorとVM編

このエントリーでは、VMware Serverが動作するホストマシン上にiSCSI Initiatorを設定し、iSCSIディスクをVMのPhysical Diskとして利用する方法について述べます。

以降の説明では、ホストマシンにはCentOS 4.4とVMware Server 1.01がインストールされているものとします。

なぜCentOSなのかといえば、RedHat Enterprise Linuxとバイナリ互換性があるので、VMware Serverのインストール時にカーネルモジュールのコンパイルが不要なので楽である(という理由でVMware Serverホストに使うことを私が好んでいる)からです。

iSCSI Initiatorのインストールと設定

まず、iscsi-initiator-utilsをインストールしておきます。

# yum -y install iscsi-initiator-utils
# /sbin/chkconfig iscsi on

次いで/etc/iscsi.confを編集します。iSCSI Targetのホスト名が「iscsi.as-is.net」、iSCSI Qualified Nameが「iqn.2006-12.net.as-is.iscsi:test」とすると、以下のように設定します。

DiscoveryAddress=iscsi.as-is.net:3260
Enabled=no
TargetName=iqn.2006-12.net.as-is.iscsi:test
  Enabled=yes

上の設定は、iSCSI Targetとして「iscsi.as-is.net」を参照し、iSCSI Qualified Nameが「iqn.2006-12.net.as-is.iscsi:test」のドライブのみをアタッチするという意味になります。DiscoveryAddressはIPアドレスで指定しても構いません。

この設定が済んだら/etc/init.d/iscsiを起動します。

# /etc/init.d/iscsi start

うまくアタッチできれば、以下のようなコンソールメッセージが表示されます。

iscsi-sfnet: Loading iscsi_sfnet version 4:0.1.11-3
iscsi-sfnet: Control device major number 254
iscsi-sfnet:host1: Session established
scsi1 : SFNet iSCSI driver
  Vendor: IET       Model: VIRTUAL-DISK      Rev: 0
  Type:   Direct-Access                      ANSI SCSI revision: 04
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
SCSI device sdb: drive cache: write through
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
SCSI device sdb: drive cache: write through
 sdb: unknown partition table
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0

iscsi-lsコマンドで確認することもできます。

# /sbin/iscsi-ls -l
*******************************************************************************
SFNet iSCSI Driver Version ...4:0.1.11-3(02-May-2006)
*******************************************************************************
TARGET NAME             : iqn.2006-12.net.as-is.iscsi:test
TARGET ALIAS            :
HOST ID                 : 1
BUS ID                  : 0
TARGET ID               : 0
TARGET ADDRESS          : 192.168.0.1:3260,1
SESSION STATUS          : ESTABLISHED AT Fri Dec  8 17:17:06 JST 2006
SESSION ID              : ISID 00023d000001 TSIH 700
*******************************************************************************
 
DEVICE DETAILS:
---------------
LUN ID : 0
  Vendor: IET      Model: VIRTUAL-DISK     Rev: 0
  Type:   Direct-Access                    ANSI SCSI revision: 04
  page83 type1: 494554000000000000000000650000008733000010000000
  page80: 0a
  Device: /dev/sdb
*******************************************************************************

/dev/sdbとしてアタッチされたことが分かりました。

iSCSIドライブのPhysical Diskとしての利用

VMware Serverでは(WorkstationやPlayerでも)VMはユーザ権限で動作します(Windows版の場合はAdministrator権限を持ったユーザで実行している場合が多いために意識しないかもしれませんが)。VMの仮想ディスクファイルがユーザ権限で作られているのはそのためです。

Physical Diskを利用する場合も同様で、/dev/sdbがVMオーナーのユーザ権限で読み書きできる必要があります。

# ls -l /dev/sdb
brw-rw----  1 root disk 8, 16 Dec  8 17:17 /dev/sdb

となっていることからdiskグループにVMオーナーを加えればよいことが分かります。

# /usr/sbin/usermod -a -G disk ogawa

それが済んだら、おもむろにVMware Server Consoleを起動し、File > New > Virtual MachineでNew Virtual Machine Wizardを開きます。

ほとんどの部分はデフォルトで問題ありませんが、以下の設定が必要です。

  1. Select The Appropriate Configuration
    → 「Custom」を選択。
  2. Select I/O adapter Types
    → 「LSI Logic」を選択(Fedora Core 5や6のインストーラではBuslogicのSCSIドライバが読み込まれないため、LSI Logicを選択する必要があります)。
  3. Select a Disk
    → 「Use a physical disk (for advanced users)」を選択。
  4. Select a Physical Disk
    → DeviceはiSCSIでアタッチしたドライブ「/dev/sdb」を設定。Usageは「Use entire disk」を選択。

あとは通常通り、VMの仮想CD-ROMドライブにインストールCDのISO imageをマウントして、VMを起動してインストールを開始するだけです。


About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com