SCSIコマンドをTCP/IPでカプセリングする事で、既存のIP網でSCSIを扱えるようにする技術。
SAN(StorageAreaNetwork)の形成に利用する技術で、従来はFC(FiberChannel)が使われていた。
既存設備を流用出来るがiSCSIのメリットだがSCSIコマンドをIP網に流す為、
TCP/IPの性質上、パケット送受信・L2/L3スイッチの負荷は注視する必要がある。
iSCSIは1対1のサーバ(iSCSIターゲット)・クライアント(iSCSIイニシエータ)方式が基本体系となる為、
一つのターゲットに複数のイニシエータを接続するのは非推奨動作となる。
それでも接続する場合は、ターゲットをクラスタリング構成にするか、
複数イニシエータからの同時操作を抑制(排他)制御する必要がある。
よく、iSCSI・NFS・CIFSで比較される事があるが、
用途がそれぞれ違うので、必要に応じて最適な物を選択する。
# yum install iscsi-initiator-utils # chkconfig iscsid on
# vi /etc/iscsi/iscsid.conf --- # iscsidの起動方法 iscsid.startup = /etc/rc.d/init.d/iscsid force-start # 自動起動・自動接続を行う node.startup = automatic # ログイン時の読込みを禁止 node.leading_login = No # デフォルトの認証方式をCHAPに変更 node.session.auth.authmethod = CHAP # コネクションエラー発生から、I/Oエラー応答までの待ち時間(単位:秒) node.session.timeo.replacement_timeout = 120 # ログイン時の待ち時間(単位:秒) node.conn[0].timeo.login_timeout = 15 # ログアウト時の待ち時間(単位:秒) node.conn[0].timeo.logout_timeout = 15 # ping死活監視間隔(単位:秒) node.conn[0].timeo.noop_out_interval = 5 # ping死活監視がエラーと判断するまでの待ち時間(単位:秒) node.conn[0].timeo.noop_out_timeout = 5 # デフォルトユーザ・パスワードをコメントアウト。CHAP認証情報は後で入力する #node.session.auth.username = iscsi_user #node.session.auth.password = iscsi_pass #node.session.auth.username_in = username_in #node.session.auth.password_in = password_in
認証方法 | CHAP |
iSCSIターゲット | 192.168.0.1 |
ポート番号 | 3260 |
ポータルグループタグ | 1 |
IQN | iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 |
ログインユーザ名 | USER |
ログインパスワード | PASSWORD |
# iscsiadm -m node --- 192.168.0.1:3260,1 iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345
# iscsiadm -m discovery -t sendtargets -p 192.168.0.1:3260 --- 192.168.0.1:3260,1 iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345
# iscsiadm -m node -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260,1 --op update -n node.session.auth.authmethod -v CHAP # iscsiadm -m node -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260,1 --op update -n node.session.auth.username -v USER # iscsiadm -m node -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260,1 --op update -n node.session.auth.password -v PASSWORD
# iscsiadm -m node -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260,1 --login
# cat /var/lib/iscsi/send_targets/{ターゲットIPアドレス,ポート番号}/{IQN,ポータルグループ,ポート番号}/default
# iscsiadm -m node -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260,1 --logout
# iscsiadm -m node -o delete -T iqn.2016-12.com.hoge:iscsi-target:iscsi.hostname.e12345 -p 192.168.0.1:3260
変更前デバイス名 | /dev/sdb |
変更前のマウントポイント1 | /dev/sdb1 |
変更前のマウントポイント2 | /dev/sdb2 |
固定後デバイス名 | /dev/sdc |
固定後のマウントポイント1 | /dev/sdc1 |
固定後のマウントポイント2 | /dev/sdc2 |
# udevadm info --query=all --name=/dev/sdb | grep ID_SERIAL= | sed 's/.*=//g' --- abcdef111222333444555666777888999
# vi /etc/udev/rules.d/80-scsi.rules --- SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", ENV{ID_SERIAL}=="abcdef111222333444555666777888999", NAME="sdc%n", OWNER:="root", GROUP:="disk", MODE:="0660"
# start_udev
# ls -l /dev/disk/by-path
# ls -l /dev/sdc* --- brw-rw---- 1 root disk 8, 30 12月 1 12:00 2016 /dev/sdc brw-rw---- 1 root disk 8, 31 12月 1 12:00 2016 /dev/sdc1
# fdisk /dev/sdc
コマンド (m でヘルプ): p --- ディスク /dev/sdc: 536.9 GB, 536870912000 バイト ヘッド 255, セクタ 63, シリンダ 8158 Units = シリンダ数 of 16065 * 4096 = 65802240 バイト セクタサイズ (論理 / 物理): 4096 バイト / 4096 バイト I/O size (minimum/optimal): 1048576 bytes / 1048576 bytes
コマンド (m でヘルプ): n --- コマンドアクション e 拡張 p 基本パーティション (1-4) --- p
パーティション番号 (1-4): 1 --- 最初 シリンダ (1-8158, default 1): [改行] Using default value 1 --- Last シリンダ, +シリンダ数 or +size{K,M,G} (1-8158, default 8158): [改行] Using default value 8158
コマンド (m でヘルプ): p --- デバイス ブート 始点 終点 ブロック Id システム /dev/sdc1 1 8158 524232828 83 Linux
コマンド (m でヘルプ): x
上級者コマンド (m でヘルプ): p --- ディスク /dev/sdc: ヘッド 255, セクタ 63, シリンダ 8158 Nr AF Hd Sec Cyl Hd Sec Cyl 開始 サイズ ID 1 00 1 1 0 254 63 1023 63 131058207 83 Partition 1 does not start on physical sector boundary. 2 00 0 0 0 0 0 0 0 0 00 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
上級者コマンド (m でヘルプ): b パーティション番号 (1-4): 1 新規データ開始位置 (1-131058269, default 63): 64
上級者コマンド (m でヘルプ): p --- ディスク /dev/sdc: ヘッド 255, セクタ 63, シリンダ 8158 Nr AF Hd Sec Cyl Hd Sec Cyl 開始 サイズ ID 1 00 1 1 0 254 63 1023 64 131058206 83 Partition 1 does not start on physical sector boundary. 2 00 0 0 0 0 0 0 0 0 00 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
上級者コマンド (m でヘルプ): w
# mkfs.ext4 -m 0 -b 4096 /dev/sdc1
# blkid /dev/sdc1 --- /dev/sdc1: UUID="f424f1fa-cd1f-4780-94d1-e686897f809e" TYPE="ext4"
# vi /etc/fstab --- UUID=f424f1fa-cd1f-4780-94d1-e686897f809e /mnt/sdc1 ext4 defaults,_netdev 1 2
# mkdir /mnt/sdc1 # mount -a