iSCSIとは、
今週のレシピはUbuntuを使ってiSCSIターゲットを構築し、
そもそもiSCSIとは?
iSCSIはSambaのような、
iSCSIターゲットの構築
それではUbuntuを使ってiSCSIターゲットを構築しましょう。Ubuntuで利用できるiSCSIターゲットソフトウェアには
$ sudo apt-get install iscsitarget <- iscsitargetのインストール $ dd if=/dev/zero of=iscsi.img count=0 bs=1 seek=10G <- 10GBのファイルの作成
iSCSIターゲットの設定は、
$ sudo vi /etc/ietd.conf <- ietd.confファイルの編集 (末尾に追記) Target iqn.2010-06.org.rikunet:lucid64.disk Lun 0 Path=/home/mizuno/iscsi.img,Type=fileio $ sudo service iscsitarget restart <- サービスの再起動
iSCSIイニシエータの設定
次にイニシエータ側の設定を行いましょう。Ubuntuで使えるiSCSIイニシエータには
まずはiSCSIターゲットの検出を行ないましょう。iscsiadmコマンドのモード
最後に、
$ sudo apt-get install open-iscsi <- open-iscsiのインストール $ sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.101 <- 192.168.1.101で動作しているiSCSIターゲットを調べる 192.168.1.101:3260,1 iqn.2010-06.org.rikunet:lucid64.disk $ sudo iscsiadm -m node --targetname iqn.2010-06.org.rikunet:lucid64.disk --login <- ターゲットにログイン Logging in to [iface: default, target: iqn.2010-06.org.rikunet:lucid64.disk, portal: 192.168.1.101,3260] Login to [iface: default, target: iqn.2010-06.org.rikunet:lucid64.disk, portal: 192.168.1.101,3260]: successful $ sudo iscsiadm -m session <- ログイン済みのセッションを確認 tcp: [1] 192.168.1.101:3260,1 iqn.2010-06.org.rikunet:lucid64.disk $ sudo iscsiadm -m node --targetname iqn.2010-06.org.rikunet:lucid64.disk --logout <- 使用後はログアウト
$ dmesg <- ターゲットへのログイン後にdmesgを確認 (...略...) [64138.651423] Loading iSCSI transport class v2.0-870. [64138.680752] iscsi: registered transport (tcp) [64138.778495] iscsi: registered transport (iser) [64257.961268] scsi2 : iSCSI Initiator over TCP/IP [64258.268368] scsi 2:0:0:0: Direct-Access IET VIRTUAL-DISK 0 PQ: 0 ANSI: 4 [64258.271769] sd 2:0:0:0: Attached scsi generic sg1 type 0 [64258.282679] sd 2:0:0:0: [sda] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB) [64258.285488] sd 2:0:0:0: [sda] Write Protect is off [64258.285493] sd 2:0:0:0: [sda] Mode Sense: 77 00 00 08 [64258.288386] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [64258.293266] sda: sda1 sda2 < sda5 > [64258.301948] sd 2:0:0:0: [sda] Attached SCSI disk $ sudo apt-get install lsscsi <- lsscsiパッケージのインストール $ lsscsi <- lsscsiでシステム上のSCSIデバイスをリスト化 [0:0:0:0] cd/dvd HL-DT-ST RW/DVD GCC-4247N 1.02 /dev/sr0 [2:0:0:0] disk IET VIRTUAL-DISK 0 /dev/sda <- VIRTUAL-DISKが追加されている
Mac OS XでのiSCSIイニシエータ
iSCSIは当然、
![図1 globalSANのインストール画面。通常のアプリケーションと同様、mpkgファイルをダブルクリックしてインストールしよう 図1 globalSANのインストール画面。通常のアプリケーションと同様、mpkgファイルをダブルクリックしてインストールしよう](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_mac01.png)
globalSANをインストールして再起動すると、
![図2 [システム環境設定] 図2 [システム環境設定]](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_mac02.png)
![図3 接続したターゲットはデスクトップにアイコンも表示され、ローカルディスクと同様に扱える 図3 接続したターゲットはデスクトップにアイコンも表示され、ローカルディスクと同様に扱える](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH400_mac03.png)
![図4 Time Machineのバックアップ先に設定することも可能。バックアップに失敗しているのは、今回テストで用意したターゲットの容量が小さすぎたため 図4 Time Machineのバックアップ先に設定することも可能。バックアップに失敗しているのは、今回テストで用意したターゲットの容量が小さすぎたため](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_mac04.png)
iSCSIにUbuntuをインストール
Ubuntu Server EditionではインストーラにiSCSIイニシエータが搭載されており、
![図5 iSCSIボリュームの使用を選択する 図5 iSCSIボリュームの使用を選択する](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_iscsi1.png)
ここで"Log into iSCSI targets"を選択し、
![図6 iSCSIターゲットへログインする 図6 iSCSIターゲットへログインする](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_iscsi2.png)
![図7 iSCSIターゲットのIPアドレスとポート番号を入力。ポート番号は省略可能 図7 iSCSIターゲットのIPアドレスとポート番号を入力。ポート番号は省略可能](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_iscsi3.png)
![図8 使用するターゲットのiqnを選択しよう 図8 使用するターゲットのiqnを選択しよう](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_iscsi4.png)
そのあとは通常のインストール手順と同様、
![図9 あとは通常のローカルディスクと同じように扱える 図9 あとは通常のローカルディスクと同じように扱える](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_iscsi5.png)
PXEとiSCSIでディスクレス起動
このようにiSCSIターゲットにUbuntuをインストールするのは簡単ですが、
DHCPサーバとTFTPサーバのインストールは本連載47回とほぼ同一です。/var/
しかし、
$ sudo vi /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/text.cfg label iSCSI initiator menu label ^iSCSI initiator kernel vmlinuz append root=/dev/sda1 iscsi_target_name=iqn.2010-06.org.rikunet:lucid64.disk iscsi_target_ip=192.168.1.101 iscsi_target_port=3260 initrd=initrd.img
rootはルートファイルシステムの場所ですが、
また、
$ sudo vi /var/lib/tftpboot/pxelinux.cfg/default
timeout 100 <- 初期値の0から変更する。100は10秒。
![図10 netbootの起動画面。ここからiSCSIを使用するカーネルを起動させられる 図10 netbootの起動画面。ここからiSCSIを使用するカーネルを起動させられる](/assets/images/admin/serial/01/ubuntu-recipe/0128/thumb/TH800_pxe.png)
これで、
Jun 21 16:27:23 ubuntu kernel: [ 3.251786] iscsi: registered transport (tcp) Jun 21 16:27:23 ubuntu kernel: [ 3.509579] scsi2 : iSCSI Initiator over TCP/IP Jun 21 16:27:23 ubuntu kernel: [ 3.773183] scsi 2:0:0:0: Direct-Access IET VIRTUAL-DISK 0 PQ: 0 ANSI: 4 Jun 21 16:27:23 ubuntu kernel: [ 3.775033] sd 2:0:0:0: Attached scsi generic sg0 type 0 Jun 21 16:27:23 ubuntu kernel: [ 3.779950] sd 2:0:0:0: [sda] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB) Jun 21 16:27:23 ubuntu kernel: [ 3.780861] sd 2:0:0:0: [sda] Write Protect is off Jun 21 16:27:23 ubuntu kernel: [ 3.782569] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA Jun 21 16:27:23 ubuntu kernel: [ 3.786981] sda: sda1 sda2 < sda5 > Jun 21 16:27:23 ubuntu kernel: [ 3.795967] sd 2:0:0:0: [sda] Attached SCSI disk Jun 21 16:27:23 ubuntu kernel: [ 3.939767] EXT4-fs (sda1): mounted filesystem with ordered data mode Jun 21 16:27:23 ubuntu kernel: [ 12.442224] udev: starting version 151 Jun 21 16:27:23 ubuntu kernel: [ 12.457712] Adding 492536k swap on /dev/sda5. Priority:-1 extents:1 across:492536k