RHEL / CentOS7でiSCSIターゲット/イニシエーターを使用して一元化されたセキュアストレージを作成する-パート12


iSCSIは、TCP/IPネットワークを介して、特に長距離でストレージデバイスを管理するためのブロックレベルのプロトコルです。 iSCSIターゲットは、リモートiSCSIサーバー(または)ターゲットから提示されたリモートハードディスクです。一方、iSCSIクライアントはイニシエーターと呼ばれ、ターゲットマシンで共有されているストレージにアクセスします。

この記事では、次のマシンが使用されています。

Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.29
Ports Used : TCP 860, 3260
Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.30
Ports Used : TCP 3260

ステップ1:iSCSIターゲットにパッケージをインストールする

ターゲットに必要なパッケージをインストールするには(後でクライアントを処理します)、次の手順を実行します。

# yum install targetcli -y

インストールが完了すると、次のようにサービスを開始して有効にします。

# systemctl start target
# systemctl enable target

最後に、firewalldでサービスを許可する必要があります。

# firewall-cmd --add-service=iscsi-target
# firewall-cmd --add-service=iscsi-target --permanent

最後になりましたが、iSCSIターゲットの検出を許可することを忘れてはなりません。

# firewall-cmd --add-port=860/tcp
# firewall-cmd --add-port=860/tcp --permanent
# firewall-cmd --reload

ステップ2:ターゲットサーバーでLUNを定義する

ターゲットでのLUNの定義に進む前に、RHCSAシリーズのパート6(「システムストレージの構成」)で説明されているように、2つの論理ボリュームを作成する必要があります。

今回は、図1に示すように、 vol_projects vol_backups という名前を付け、 vg00 というボリュームグループ内に配置します。各LVに割り当てられたスペースを選択します。

LVを作成したら、クライアントマシンで使用できるようにするために、ターゲットでLUNを定義する準備が整います。

図2に示すように、 targetcli シェルを開き、次のコマンドを発行します。これにより、2つのブロックバックストア(イニシエーターが実際に使用するLUNを表すローカルストレージリソース)とIscsi修飾が作成されます。名前(IQN)、ターゲットサーバーをアドレス指定する方法。

IQNの構造の詳細については、RFC3720の 32ページを参照してください。特に、コロン文字(:tgt1)の後のテキストはターゲットの名前を指定し、(server :) の前のテキストはターゲット内のターゲットのホスト名を示します。ドメイン。

# targetcli
# cd backstores
# cd block
# create server.backups /dev/vg00/vol_backups
# create server.projects /dev/vg00/vol_projects
# cd /iscsi
# create iqn.2016-02.com.tecmint.server:tgt1

上記の手順で、新しいTPG(ターゲットポータルグループ)が、すべてのIPアドレスのポート3260でリッスンするデフォルトポータル(IPアドレスとイニシエーターがターゲットに到達する方法であるポートで構成されるペア)とともに作成されました。

ポータルを特定のIP(たとえば、ターゲットのメインIP)にバインドする場合は、デフォルトのポータルを削除し、次のように新しいポータルを作成します(それ以外の場合は、次のtargetcliコマンドをスキップします。簡単にするために、次のようにスキップしていることに注意してください。上手):

# cd /iscsi/iqn.2016-02.com.tecmint.server:tgt1/tpg1/portals
# delete 0.0.0.0 3260
# create 192.168.0.29 3260

これで、LUNの作成に進む準備ができました。以前に作成したバックストア( server.backups および server.projects )を使用していることに注意してください。このプロセスを図3に示します。

# cd iqn.2016-02.com.tecmint.server:tgt1/tpg1/luns
# create /backstores/block/server.backups
# create /backstores/block/server.projects

ターゲット構成の最後の部分は、イニシエーターごとにアクセスを制限するためのアクセス制御リストの作成で構成されます。クライアントマシンの名前は「client」なので、そのテキストをIQNに追加します。詳細については、図4を参照してください。

# cd ../acls
# create iqn.2016-02.com.tecmint.server:client

この時点で、図5に示すように、targetcliシェルで構成済みのすべてのリソースを表示できます。

# targetcli
# cd /
# ls

targetcliシェルを終了するには、exitと入力してEnterキーを押します。構成は自動的に/etc/target/saveconfig.jsonに保存されます。

上の図5でわかるように、予想どおり、すべてのIPアドレスのポート3260でリッスンしているポータルがあります。 netstatコマンドを使用して次のことを確認できます(図6を参照)。

# netstat -npltu | grep 3260

これでターゲット構成は完了です。システムを自由に再起動して、すべての設定が再起動後も存続することを確認してください。そうでない場合は、ファイアウォール構成で必要なポートを開き、起動時にターゲットサービスを開始してください。これで、イニシエーターをセットアップしてクライアントに接続する準備が整いました。

ステップ3:クライアントイニシエーターを設定する

クライアントに、iscsi-initiator-utilsパッケージをインストールする必要があります。このパッケージは、iSCSIプロトコル(iscsid)のサーバーデーモンと、管理ユーティリティであるiscsiadmを提供します。

# yum update && yum install iscsi-initiator-utils

インストールが完了したら、/ etc/iscsi/initializername.iscsiを開き、デフォルトのイニシエーター名(図7にコメント)をサーバーのACLで以前に設定した名前(iqn.2016-02.com.tecmint)に置き換えます。 .server:client)。

次に、ファイルを保存し、ターゲットを指す検出モードでiscsiadmを実行します。成功すると、このコマンドは図7に示すようにターゲット情報を返します。

# iscsiadm -m discovery -t st -p 192.168.0.29

次のステップは、iscsidサービスを再起動して有効にすることです。

# systemctl start iscsid
# systemctl enable iscsid

ノードモードでターゲットに接続します。これにより、カーネルレベルのメッセージが生成されます。これは、dmesgを介してキャプチャされると、リモートLUNがローカルシステムで指定されていることを示すデバイスIDを示します(図8のsdeおよびsdf)。

# iscsiadm -m node -T iqn.2016-02.com.tecmint.server:tgt1 -p 192.168.0.29 -l
# dmesg | tail

この時点から、他のストレージデバイスの場合と同じように、パーティション、またはLV(およびその上にあるファイルシステム)を作成できます。簡単にするために、使用可能なスペース全体を占める各ディスクにプライマリパーティションを作成し、ext4でフォーマットします。

最後に、/ dev/sde1と/ dev/sdf1をそれぞれ/ projectsと/ backupsにマウントしましょう(これらのディレクトリを最初に作成する必要があることに注意してください)。

# mount /dev/sde1 /projects
# mount /dev/sdf1 /backups

さらに、blkidによって返される各ファイルシステムのUUIDを使用して、起動時に両方のファイルシステムが自動的にマウントされるように、/ etc/fstabに2つのエントリを追加できます。

ネットワークサービスが開始されるまでこれらのファイルシステムのマウントを延期するには、_netdevマウントオプションを使用する必要があることに注意してください。

これで、他のストレージメディアと同じようにこれらのデバイスを使用できます。

概要

この記事では、RHEL/CentOS7ディストリビューションでiSCSIターゲットとイニシエーターをセットアップおよび構成する方法について説明しました。最初のタスクはEX300(RHCE)試験に必要な能力の一部ではありませんが、2番目のトピックを実装するために必要です。

この記事についてご質問やご意見がございましたら、お気軽にお問い合わせください。下のコメントフォームからお気軽にご連絡ください。

RHEL/CentOS 6でiSCSIターゲットとクライアントイニシエーターをセットアップする場合は、次のガイドに従ってください:クライアントイニシエーターを使用した集中型iSCSIストレージのセットアップ。