RHEL/CentOS 7 で 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 の構造の詳細については、RFC 3720 の 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 アドレスとイニシエーターの接続方法であるポートで構成されるペア) とともに作成されました。ターゲットに到達できます)、すべての IP アドレスのポート 3260 でリッスンします。
ポータルを特定の IP (ターゲットのメイン IP など) にバインドする場合は、デフォルトのポータルを削除し、次のように新しいポータルを作成します (それ以外の場合は、次のtargetcli コマンドをスキップします。 style="color:red;">わかりやすくするために、 それらも省略していることに注意してください)。
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
ターゲット構成の最後の部分は、イニシエータごとにアクセスを制限するアクセス制御リストの作成で構成されます。クライアント マシンの名前は「クライアント 」 なので、そのテキストを IQN に追加します。参照図。詳細については、 4 を参照してください。
cd ../acls
create iqn.2016-02.com.tecmint.server:client
この時点で、図 1 に示すように、targetcli シェルで設定されたすべてのリソースを表示できます。 5:
targetcli
cd /
ls
targetcli シェルを終了するには、exit と入力して Enter を押します。設定は、/etc/target/saveconfig.json に自動的に保存されます。
ご覧のとおり図1 。上の 5 では、予想どおり、すべての IP アドレスのポート 3260 をリッスンするポータルがあります。 netstat コマンドを使用してそれを確認できます (図 6 を参照)。
netstat -npltu | grep 3260
これでターゲットの設定は完了です。自由にシステムを再起動し、すべての設定が再起動後も存続することを確認してください。そうでない場合は、ファイアウォール構成で必要なポートを開き、起動時にターゲット サービスを開始するようにしてください。これで、イニシエーターをセットアップしてクライアントに接続する準備が整いました。
ステップ 3: クライアント イニシエーターのセットアップ
クライアントでは、iSCSI プロトコル (iscsid) と iscsiadm< のサーバー デーモンを提供する iscsi-initiator-utils パッケージをインストールする必要があります。、管理ユーティリティ:
yum update && yum install iscsi-initiator-utils
インストールが完了したら、/etc/iscsi/initiatorname.iscsi を開き、デフォルトのイニシエータ名 (図 7 でコメント化されている) を、以前に設定した名前に置き換えます。サーバー上のACL (iqn.2016-02.com.tecmint.server:client)。
次に、ファイルを保存し、ターゲットを指定して検出モードで iscsiadm を実行します。成功すると、 このコマンドは図 1 に示すようなターゲット情報を返します。 7:
iscsiadm -m discovery -t st -p 192.168.0.29
次のステップでは、iscsid サービスを再起動して有効にします。
systemctl start iscsid
systemctl enable iscsid
ノードモードでターゲットに接続します。これによりカーネル レベルのメッセージが生成されます。このメッセージは、dmesg show を通じてキャプチャされると、ローカル システム (sde) でリモート LUN が指定されているデバイス ID を示します。 と sdf (図 8):
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
さらに、/etc/fstab に 2 つのエントリを追加すると、blkidによって返された各ファイル システムの UUID を使用して両方のファイル システムが起動時に自動的にマウントされるようになります。強い>。
ネットワーク サービスが開始されるまでこれらのファイル システムのマウントを延期するには、_netdev マウント オプションを使用する必要があることに注意してください。
これらのデバイスを他のストレージ メディアと同様に使用できるようになりました。
まとめ
この記事では、RHEL/CentOS 7 ディストリビューションで iSCSI ターゲットとイニシエーターをセットアップおよび構成する方法について説明しました。最初のタスクはEX300 (RHCE) 試験の必須コンピテンシーの一部ではありませんが、2 番目のトピックを実装するために必要です。
この記事に関してご質問やコメントがございましたら、お気軽にお知らせください。下のコメント フォームを使用してお気軽にお問い合わせください。
RHEL/CentOS 6 で iSCSI ターゲットとクライアント イニシエーターをセットアップするには、このガイドに従ってください: クライアント イニシエーターを使用した集中型 iSCSI ストレージのセットアップ。