iSCSI 設定 · 6 min read · Feb 07, 2026
Fedora 10でのiSCSIの使用 (イニシエーターとターゲット)
Fedora 10でのiSCSIの使用 (イニシエーターとターゲット)
バージョン 1.0
著者: Falko Timme
このガイドでは、Fedora 10を実行しているiSCSIターゲットとiSCSIイニシエーター(クライアント)を設定する方法を説明します。iSCSIプロトコルは、ストレージエリアネットワーク(SAN)プロトコルであり、iSCSIイニシエーターが通常のイーサネットケーブルを使用して(リモート)iSCSIターゲット上のストレージデバイスを使用できるようにします。iSCSIイニシエーターにとって、リモートストレージは通常のローカル接続されたハードドライブのように見えます。
これがあなたにとって機能するという保証はありません!
1 予備ノート
ここでは、2つのFedora 10サーバーを使用しています:
- server1.example.com (イニシエーター): IPアドレス 192.168.0.100
- server2.example.com (ターゲット): IPアドレス 192.168.0.101
2 ターゲットの設定 (server2)
server2:
まず、ターゲット(server2)を設定します。必要なパッケージはRPMFusionリポジトリにのみ存在するため、最初にそれを有効にする必要があります:
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm次に、iSCSIターゲットパッケージをインストールできます:
yum install iscsitarget kmod-iscsitargetこれにより、カーネルが更新される可能性があります。この場合は、システムを再起動してください:
rebootストレージには未使用の論理ボリューム、イメージファイル、ハードドライブ(例:/dev/sdb)、ハードドライブパーティション(例:/dev/sdb1)またはRAIDデバイス(例:/dev/md0)を使用できます。この例では、ボリュームグループVolGroup00内にstorage_lun1という名前の20GBの論理ボリュームを作成します:
lvcreate -L20G -n storage_lun1 VolGroup00(イメージファイルを使用する場合は、次のように作成できます:
mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000
これにより、サイズ20GBのイメージファイル/storage/lun1.imgが作成されます。
)
次に、/etc/ietd.confを編集します…
vi /etc/ietd.conf… そして、そのファイル内のすべてをコメントアウトします。最後に、次のスタンザを追加します:
| [...] Target iqn.2001-04.com.example:storage.lun1 IncomingUser someuser secret OutgoingUser Lun 0 Path=/dev/VolGroup00/storage_lun1,Type=fileio Alias LUN1 #MaxConnections 6 |
ターゲット名はグローバルに一意である必要があります。iSCSI標準は「iSCSI Qualified Name」を次のように定義しています:iqn.yyyy-mm.<逆ドメイン名>[:identifier];yyyy-mmはドメインが有効な日付です;識別子は自由に選択できます。IncomingUser行には、ユーザー名とパスワードが含まれており、このユーザー名とパスワードを提供するイニシエーター(クライアント)だけがログインしてストレージデバイスを使用できます。認証が不要な場合は、IncomingUser行にユーザー名とパスワードを指定しないでください。Lun行では、ストレージデバイスへのフルパスを指定する必要があります(例:/dev/VolGroup00/storage_lun1、/storage/lun1.img、/dev/sdbなど)。
次に、ターゲットに対して、IPアドレス192.168.0.100(server1.example.com)からデバイスiqn.2001-04.com.example:storage.lun1への接続を許可するように指示します:
vi /etc/initiators.allow| [...] iqn.2001-04.com.example:storage.lun1 192.168.0.100 |
次に、iscsi-targetのシステム起動リンクを作成し、開始します:
chkconfig –levels 235 iscsi-target on
/etc/init.d/iscsi-target start
3 イニシエーターの設定 (server1)
server1:
server1で、イニシエーターをインストールします:
yum install iscsi-initiator-utils次に、/etc/iscsi/iscsid.confを開きます…
vi /etc/iscsi/iscsid.conf… そして、node.startupが自動に設定されていることを確認します:
| [...] node.startup = automatic [...] |
次に、ターゲット(server2)に接続し、提供されているストレージデバイスを確認します:
iscsiadm -m discovery -t st -p 192.168.0.101[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Starting iscsid: [ OK ]
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
iscsiadm -m node[root@server1 init.d]# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
ストレージデバイスiqn.2001-04.com.example:storage.lun1の設定は、ファイル/var/lib/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/defaultに保存されます。そのファイル内でターゲットのユーザー名とパスワードを設定する必要があります。そのファイルを手動で編集する代わりに、iscsiadmコマンドを使用してこれを行うことができます:
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.authmethod –value=CHAP
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.username –value=someuser
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.password –value=secret
これで、ログインできます:
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login[root@server1 init.d]# iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –login
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: successful
[root@server1 init.d]#
(ログアウトしたい場合は、次のように実行できます:
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout)
fdisk -l の出力には、新しいハードドライブ(この例では/dev/sdb)が表示されるはずです。これが私たちのiSCSIストレージデバイスです:
[root@server1 init.d]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn’t contain a valid partition table
[root@server1 init.d]#
そのデバイスを使用するには、フォーマットする必要があります:
fdisk /dev/sdb[root@server1 init.d]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa1870fdd.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.
The number of cylinders for this disk is set to 20480.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
- software that runs at boot time (e.g., old versions of LILO)
- booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): <– n
Command action
e extended
p primary partition (1-4)
<– p
Partition number (1-4): <– 1
First cylinder (1-20480, default 1): <– ENTER
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20480, default 20480): <– ENTER
Using default value 20480
Command (m for help): <– t
Selected partition 1
Hex code (type L to list codes): <– L
0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c7 Syrinx
5 Extended 41 PPC PReP Boot 85 Linux extended da Non-FS data
6 FAT16 42 SFS 86 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set de Dell Utility
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee GPT
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Hex code (type L to list codes): <– 83
Command (m for help): <– w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@server1 init.d]#
その後、
fdisk -lの出力は次のようになります:
[root@server1 init.d]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0xa1870fdd
Device Boot Start End Blocks Id System
/dev/sdb1 1 20480 20971504 83 Linux
[root@server1 init.d]#
次に、/dev/sdb1にファイルシステムを作成します…
mkfs.ext3 /dev/sdb1… そしてテスト目的でマウントします:
mount /dev/sdb1 /mntこれで、次の出力に新しいデバイスが表示されるはずです…
mount[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt type ext3 (rw)
[root@server1 ~]#
… と
df -h[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /mnt
[root@server1 ~]#
これを次のようにアンマウントできます:
umount /mntブート時に自動的にデバイスをマウントするには、たとえば/storageディレクトリに、そのディレクトリを作成します…
mkdir /storage… そして/etc/fstabに次の行を追加します:
vi /etc/fstab| [...] /dev/sdb1 /storage ext3 defaults,auto,_netdev 0 0 |
テスト目的で、システムを再起動できます:
reboot再起動後、デバイスがマウントされているはずです:
mount[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /storage type ext3 (rw,_netdev)
[root@server1 ~]#
df -h[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /storage
[root@server1 ~]#
4 リンク
- Open-iSCSI: http://www.open-iscsi.org/
- iSCSI Enterprise Target: http://iscsitarget.sourceforge.net/
- Fedora: http://fedoraproject.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。