4.6.1 ISCSIネットワークストレージ
現在、コンピュータ分野のストレージソリューションには、主にダイレクトストレージ(DAS)、ストレージエリアネットワーク(SAN)、ネットワーク付加ストレージ(NAS)の3種類があります.
DAS(Direct-Attached Storage)とは、ホストバスがSCSIインタフェースを介してストレージデバイスに直接接続されていることを意味し、この接続方式は主に家庭のパソコン環境に応用されている.
SAN(Storage Area Network)はストレージネットワーク全体のソリューションを指し、SANはファイバチャネル技術を採用し、SANはファイバスイッチを通じてサーバとストレージ設備を接続するネットワーク全体の環境であり、SANの優位性はその先進的なファイバ通信技術にあり、現在の爆発的なデータ成長環境に迅速かつ効率的なストレージ方案を提供している.
NAS(Network-ATtached Storage)は一般的なネットワーク環境を使用でき、イーサネットスイッチなどの機器を介してサーバとストレージ機器を接続できる.NASの利点は、ネットワーク環境を改造する必要がなく、NASは既存のネットワーク環境を使用することができ、また異なるメーカーの設備はTCP/IPプロトコルを使用すれば、機器間の互換性の要求を満たすことができ、NFSとCIFSはネットワーク付加ストレージの解決策に属する.ファイルシステムの共有を提供します.
従来のSANは高価な光ファイバデバイスを基盤としているため、IP技術に基づくSANがあり、IPネットワークを介してデータストレージを行うことができ、サーバはいかなる改造も行わずに既存のイーサネットカードを使用してIP SANにアクセスすることができる(ISCSIはこのような技術である).
NASとSANの主な違いは、NASが共有しているのはファイルシステムであり、SANが共有しているのはブロックデバイスである.
このセクションでは、ISCSIネットワークストレージとデータ同期rsyncシステムに焦点を当てます.
4.6.1 ISCSIネットワークストレージ
ISCSI(Internet Small Computer System Interface)は典型的なIP-SAN技術であり、インターネットベースのSANストレージ技術であり、IPプロトコルベースのネットワーク上でSCSIコマンドを伝送することができ、ISCSI環境ではクライアント(initiators)がリモートのSCSIストレージ装置(targets)にSCSIコマンドを送信し、データのストレージとバックアップ機能を実現する.ISCSIは、TCPの860および3260ポートを使用して通信する.
ISCSIとSCSIの最大の違いは、ISCSIがストレージデバイスの距離の制限から脱し、どのホストもローカルエリアネットワークまたは広域ネットワークを通じてストレージデバイスにアクセスできるようにすることであり、データセンターにとって重要です.
次に、Centos 6.3にISCSIサーバとクライアントがアクセスする環境を配備します.
1.ISCSIサービスの導入
Centos 6.3プラットフォームでISCSIサービスを導入するにはtargetソフトウェアをインストールする必要があります.インストールが完了した後、コマンドまたはプロファイルの変更の2つの方法でISCSIサービスを導入できます.
コマンド構成サービスを使用する必要がある場合は、tgtadmコマンドのmanマニュアルを参照してください.詳細な例があります.次の操作は、プロファイルを変更する方法で行います.まず、LUN、IQNの2つの概念を明らかにします.
LUN(Logic Unit Number)はデバイスの論理ユニット番号であり、一般的には数値であり、LUNを使用してストレージデバイスを識別します.
IQN(ISCSI Qualified Name)はISCSI合格名称であり、一般的なフォーマットはiqnである.yyyy-mm:identifier、yyyyは年、mmは月、reversed domain nameはドメイン名の逆書き、identifierは識別名です.
ISCSIサーバを配備する場合は、まずscsi-target-utilsソフトウェアをインストールする必要があります.デフォルトのサーバプロファイルは/etc/tgt/targetsです.conf、プロファイルに共有デバイスを追加し、共有デバイスのLUNとIQNを作成する必要があります.
[root@instructor ~]# yum -y install scsi-target-utils
[root@instructor ~]# vim /etc/tgt/targets.conf
backing-store /dev/sdb3
backing-store /dev/sdb5
backing-store /dev/sdc3
lun 10
vendor_id jacob Inc.
incominguser tom tompass12
backing-store /dev/sdd3
lun 20
initiator-address 192.168.0.102
incominguser tom tompass12
[root@instructor ~]# service tgtd restart && chkconfig tgtd on
/etc/tgt/targets.confプロファイルの説明は以下の通りです.
最初のtargetは2つのLUNを定義し、LUN番号は自動的にLUN 1、LUN 2に順番に割り当てられ、LUN 0は一般的にSCSIコントローラに割り当てられます.デフォルトでは、targetにすべての人がアクセスできます./dev/sdb 3および/dev/sdb 5は、共有を準備するデバイスであり、backing-storeによってデバイスパスを指定し、backing-storeはファイルまたはブロックデバイスをサポートする.また、direct-storeを使用してデバイスパスを指定することもできますが、direct-storeはローカルSCSIデバイスのみをサポートします.
2番目のtargetはLUNを定義し、LUN番号は手動で構成された10であり、共有デバイスは/dev/sdc 3であり、手動でデバイスを変更するメーカー情報はjacob Inc.である.また、incominguserオプションでtargetをtomアカウントのみのアクセスを許可するように設定し、パスワードはtompass 12です.
3番目のtargetはLUNを定義します.LUN番号は20、共有デバイスは/dev/sdd 3であり、tomアカウントのみが192.168.0.102ホストを介してtargetにアクセスできるようにします.
backing-storeバックアップストレージは、一般にlvボリューム、パーティション、ファイルなどの非現実的な物理ディスクからなるブロックデバイスを指す.direct_storeは直接保存され、backing-storeとは対照的に、ハードディスク全体などの実際の物理ディスクを指します.initiator-addressはchap認証プロトコルを使用し、targetによってinitiator側を認証します.フォーマットは「incominguser username userpasword」です.outgingUsernameはchap認証プロトコルを使用し、initiatorによってtarget側を認証し、フォーマットは「outgoingusername username userpasword」で、使用は少ない.
サーバ側がtgtdサービスを開始すると、いつでもtgtadmコマンドでISCSIの詳細を表示できます.以下のtgtadmの出力内容は、簡略化された部分出力結果である.
[root@instructor ~]# tgtadm --lld iscsi --op show --mode target( tgt-admin -s)
Target 1: iqn.2014-08.com.example.instructor:disk2
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 10
Type: disk
SCSI ID: IET 0001000a
SCSI SN: beaf110
Size: 1086 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdc3
Backing store flags:
Account information:
tom
ACL information:
ALL
Target 2: iqn.2014.08.com.example.instructor:disk1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 1
Type: disk
SCSI ID: IET 00020001
SCSI SN: beaf21
Size: 1086 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdb3
Backing store flags:
LUN: 2
Type: disk
SCSI ID: IET 00020002
SCSI SN: beaf22
Size: 1086 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdb5
Backing store flags:
Account information:
ACL information:
ALL
Target 3: iqn.2014.08.com.example.instructor:disk3
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 20
Type: disk
SCSI ID: IET 00030014
SCSI SN: beaf320
Size: 1086 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdd3
Backing store flags:
Account information:
tom
ACL information:
192.168.0.102
2.クライアントアクセス
LinuxクライアントがISCSIサーバにアクセスするにはiscsi-initiator-utilsパッケージをインストールする必要があります.第1部では,iscsiadmコマンドのdiscoveryオプションによりサーバ側ISCSIのIQNを発見する.ステップ2では、サーバのIQNをloginオプションでロードします.
[root@desktop24 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.254
Starting iscsid: [ OK ]
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
[root@desktop24 ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk1 -p 192.168.0.254 -l
このHDDを電源を入れて自動的にマウントするには、defaultではなく_netdev.
[root@desktop24 ~]# echo '/dev/sdc1 /iscsi_ceshi ext4 _netdev 0 0' >> /etc/fstab
現在のリンクステータスの表示
[root@desktop24 ~]# iscsiadm -m node -S
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2
アンインストール
[root@desktop24 ~]# umount /iscsi_ceshi/
[root@desktop24 ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk1 -u
Logging out of session [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260]
Logout of [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260] successful.
キャッシュ情報はまだシステムにあり、次回起動すると自動的にリンクされます.
[root@desktop24 ~]# ls /var/lib/iscsi/nodes
iqn.2014.08.com.example.instructor:disk1
iqn.2014-08.com.example.instructor:disk2
iqn.2014.08.com.example.instructor:disk3
キャッシュ情報の削除
[root@desktop24 ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk
{1,2,3} -o delete
クライアントがパーティションを暗号化する構成
[root@desktop24 ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = tom
node.session.auth.password = tompass12
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = tom
discovery.sendtargets.auth.password = tompass12
[root@desktop24 ~]# iscsiadm -m discovery -t st -p 192.168.0.254
[root@desktop24 ~]# service iscsi restart
[root@desktop24 ~]# ls /dev/sd*( )
/dev/sdc /dev/sdd /dev/sde /dev/sdf