ウェブサイト検索

RHEL/CentOS/Fedora 上で iSCSI ターゲットを使用して一元化されたセキュア ストレージを作成する パート -I


iSCSI は、TCP/IP ネットワーク経由でRAW ストレージ デバイスを共有し、iSCSI 経由でストレージを共有およびアクセスするためのブロック レベルのプロトコルで、NIC などの既存の IP およびイーサネット ネットワークで使用できます。 、スイッチ、ルーターなど。iSCSI ターゲットは、リモート iSCSI サーバー (または) ターゲットから提供されるリモート ハードディスクです。

クライアント側の安定した接続とパフォーマンスのために高いリソースは必要ありません。 iSCSI サーバーはターゲットと呼ばれ、この共有はサーバーからのストレージです。 iSCSI クライアントはイニシエーター と呼ばれ、ターゲット サーバーから共有されるストレージにアクセスします。 SAN ストレージなどの大規模ストレージ サービス用に、iSCSI アダプタが市販されています。

大容量ストレージ領域に iSCSI アダプタが必要なのはなぜですか?

イーサネット アダプタ (NIC) は、システム、サーバー、NAS ストレージなどのストレージ デバイス間でパケット化されたファイル レベルのデータを転送するように設計されており、インターネット経由でブロック レベルのデータを転送することはできません。

iSCSIターゲットの特徴

  1. 単一マシン上で複数の iSCSI ターゲットを実行可能。
  2. 単一マシンにより、iSCSI SAN 上で複数の iSCSI ターゲットが使用可能になります。
  3. ターゲットはストレージであり、ネットワーク経由でイニシエータ (クライアント) が利用できるようにします。
  4. これらのストレージは一緒にプールされ、iSCSI LUN (論理ユニット番号) としてネットワークで利用できるようになります。
  5. iSCSI は同じセッション内の複数の接続をサポートします
  6. iSCSI イニシエータはネットワーク内のターゲットを検出し、LUN で認証してログインし、リモート ストレージをローカルに取得します。
  7. ベース システムにインストールしたものと同様に、ローカルにマウントされた LUN に任意のオペレーティング システムをインストールできます。

なぜ iSCSI が必要なのでしょうか?

仮想化では、高い冗長性と安定性を備えたストレージが必要ですが、iSCSI はそれらすべてを低コストで提供します。ファイバーチャネルSANに比べて低価格でSANストレージを構築でき、NICやイーサネットスイッチなどの既存のハードウェアを利用してSANを構築するための標準装備を利用できます。

iSCSI ターゲットを使用して集中型セキュア ストレージのインストールと構成を開始しましょう。このガイドでは、次のセットアップを使用しました。

  1. iSCSI ターゲット サーバーとイニシエーター (クライアント) をセットアップするには、別のシステムが必要です。
  2. 大規模なストレージ環境では複数のハードディスクを追加できますが、ここではベース インストール ディスクを除いて 1 台の追加ドライブのみを使用します。
  3. ここでは 2 つのドライブのみを使用し、1 つはベース サーバーのインストール用、もう 1 つはこのシリーズのパート II で作成するストレージ (LUN) 用です。
マスターサーバーのセットアップ
  1. オペレーティング システム – CentOS リリース 6.5 (最終版)
  2. iSCSI ターゲット IP – 192.168.0.200
  3. 使用ポート : TCP 860、3260
  4. 設定ファイル:/etc/tgt/targets.conf

このシリーズは、パート 1 ~ 3 まで「iSCSI を使用した集中型セキュア ストレージのセットアップの準備」というタイトルで、次のトピックを扱います。

iSCSIターゲットのインストール

ターミナルを開き、yum コマンドを使用して、iscsi ターゲットのインストールを取得する必要があるパッケージ名を検索します。

yum search iscsi
サンプル出力
========================== N/S matched: iscsi =======================
iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils
lsscsi.x86_64 : List SCSI devices (or hosts) and associated information
scsi-target-utils.x86_64 : The SCSI target daemon and utility programs

上記のような検索結果が得られたので、ターゲットパッケージを選択し、インストールして試してみます。

yum install scsi-target-utils -y

インストールされているパッケージを一覧表示して、デフォルトの構成、サービス、マニュアル ページの場所を確認します。

rpm -ql scsi-target-utils.x86_64

iSCSI サービスを開始し、tgtd という名前の iSCSI サービスが稼働中であることを確認してみましょう。

/etc/init.d/tgtd start
/etc/init.d/tgtd status

次に、システムの起動時に自動的に開始するように構成する必要があります。

chkconfig tgtd on

次に、tgtd サービスに対して実行レベルが正しく設定されていることを確認します。

chkconfig --list tgtd

tgtadm を使用して、現在サーバーに構成されているターゲットと LUN をリストしてみましょう。

tgtadm --mode target --op show

tgtd はインストールされて実行されていますが、ターゲット サーバーで LUN がまだ定義されていないため、上記のコマンドからの出力はありません。マニュアルページの場合は、「man」コマンドを実行します。

man tgtadm

最後に、ターゲットサーバーに iptables がデプロイされている場合は、iSCSI の iptables ルールを追加する必要があります。まず、次の netstat コマンドを使用して、iscsi ターゲットのポート番号を見つけます。ターゲットは常に TCP ポート 3260 で待機します。

netstat -tulnp | grep tgtd

次に、iptables が iSCSI ターゲット検出をブロードキャストできるようにするために、次のルールを追加します。

iptables -A INPUT -i eth0 -p tcp --dport 860 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3260 -m state --state NEW,ESTABLISHED -j ACCEPT

: ルールはデフォルトの CHAIN ポリシーによって異なる場合があります。次に、iptables を保存し、iptables を再起動します。

iptables-save
/etc/init.d/iptables restart

ここでは、TCP/IP 経由でターゲットと認証する任意のイニシエータと LUN を共有するターゲット サーバーをデプロイしました。これは小規模から大規模な運用環境にも適しています。

次回の記事では、ターゲット サーバーで LVM を使用して LUN を作成する方法と、クライアント マシンで LUN を共有する方法を説明します。それまでは、TecMint の最新情報に注目して、貴重なコメントを残すことを忘れないでください。