GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7/RHEL7でiSCSIターゲットとイニシエーターを構成する

iSCSIはInternetSmallComputer Systems Interfaceの略で、IPベースのストレージであり、IPネットワークを介してSCSIコマンドを実行することにより、インターネットプロトコル上で機能します。 iSCSIは、クライアントマシンのiSCSIイニシエーターとストレージデバイス(サーバー)のiSCSIターゲットの間でブロックレベルのデータを転送します。

iSCSIストレージはRedhatクラスターの共有ストレージとして使用されます 、VMware vSphere、Redhat Enterprise Virtualization Manager、Ovirtなど。

環境

サーバー: server.itzgeek.local

IPアドレス: 192.168.12.20

OS: CentOS Linuxリリース7.4.1708(コア)

クライアント: node1.itzgeek.local

IPアドレス: 192.168.12.11

OS: CentOS Linuxリリース7.4.1708(コア)

ストレージ構成

ここでは、クライアントの共有ストレージとして使用するために、ターゲットサーバー上に5GBのLVMディスクを作成します。以下のコマンドを使用して、ターゲットサーバーに接続されている使用可能なディスクを一覧表示しましょう。 ディスク全体をLVMに使用する場合は、ディスクのパーティション分割手順をスキップしてください

 [root @ server〜]#fdisk -l | grep -i sd 

出力:

ディスク/dev/ sda:107.4 GB、107374182400バイト、209715200セクター/ dev / sda1 * 2048 1026047 512000 83 Linux / dev / sda2 1026048 209715199 104344576 8e LinuxLVMディスク/dev/ sdb:10.7 GB、10737418240バイト、20971520セクター 

上記の出力から、私のシステムには10GBのディスク( / dev / sdb )があることがわかります。 )。上記のディスクに5GBのパーティションを作成し、LVMに使用します。

 [root @ server〜]#fdisk / dev / sdb fdisk(util-linux 2.23.2)へようこそ。変更は、書き込むことを決定するまで、メモリにのみ残ります。 writeコマンドを使用する前に注意してください。デバイスに認識されたパーティションテーブルが含まれていませんディスク識別子0x173dfa4dで新しいDOSディスクラベルを作成しています。コマンド(ヘルプはm):n->新しいパーティション パーティションタイプ:pプライマリ(0プライマリ、0拡張、4フリー)e拡張選択(デフォルトp):p->プライマリパーティション パーティション番号(1-4、デフォルト1):1-->パーティション番号 最初のセクター(2048-20971519、デフォルトは2048):->入力するだけです デフォルト値2048の使用最後のセクター、+セクターまたは+ size {K、M、G}(2048-20971519、デフォルト20971519):+5G->サイズを入力 Linuxタイプでサイズ5GiBのパーティション1が設定されていますコマンド(ヘルプはm):t->ラベルの変更選択したパーティション1の16進コード(すべてのコードを一覧表示するにはLを入力):8e->LVMとして変更ラベル パーティションのタイプを「Linux」から「LinuxLVM」コマンドに変更しました(ヘルプはm):w->保存 パーティションテーブルが変更されました! ioctl()を呼び出してパーティションテーブルを再読み取りします。ディスクを同期しています。

/ dev / sdb1パーティションを使用してLVMを作成します( / dev/sdb1をディスク名に置き換えます

 [root @ server〜]#pvcreate / dev / sdb1 [root @ server〜]#vgcreate vg_iscsi / dev / sdb1 [root @ server〜]#lvcreate -l 100%FREE -n lv_iscsi vg_iscsi 

iSCSIターゲットを構成する

これで、認証の有無にかかわらずターゲットを作成するオプションがあります。この記事では、両方のシナリオの手順を見つけることができます。どちらが環境に適しているかを判断するのはあなた次第です。

ここでは、CHAP認証なしでiSCSIターゲットを構成します。

targetcliパッケージをサーバーにインストールします。

 [root @ server〜]#yum install targetcli -y 

パッケージをインストールしたら、以下のコマンドを入力して、対話型プロンプトのiSCSICLIを取得します。

 [root @ server〜]#targetcliWarning:設定ファイル/root/.targetcli/prefs.bin.targetcliシェルバージョン2.1.fb41Copyright 2011-2013 by Datera、Incなどを読み込めませんでした。コマンドのヘルプについては、「」と入力してください。ヘルプ'。>

次に、既存の論理ボリューム( / dev / vg_iscsi / lv_iscsi )を使用します )ストレージオブジェクト scsi_disk1_serverのブロックタイプのバッキングストアとして 「。

 />cdバックストア/ブロック / backstores / block>  create scsi_disk1_server / dev / vg_iscsi / lv_iscsi  / dev / vg_iscsi/lv_iscsiを使用してブロックストレージオブジェクトscsi_disk1_serverを作成しました。

ターゲットを作成します。

 / backstores / block>  cd / iscsi  / iscsi>  create iqn.2016-02.local.itzgeek.server:disk1  作成されたターゲットiqn.2016-02.local.itzgeek.server:disk1.Created TPG 1.Global pref auto_add_default_portal =trueすべてのIP(0.0.0.0)、ポート3260./iscsi>
でリッスンするデフォルトポータルを作成しました

クライアントマシンのACLを作成します(クライアントが接続に使用するのはIQNです)。

 / iscsi>  cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/acls  /iscsi/iqn.20...sk1/tpg1/acls>  create iqn.2016-02.local.itzgeek.server:node1node2  iqn.2016-02.local.itzgeek.server:node1node2
のノードACLを作成しました

ターゲットの下にLUNを作成します。 LUNは、「 scsi_disk1_server」という名前の前述のバッキングストレージオブジェクトを使用する必要があります 「。

 /iscsi/iqn.20...er:disk1/tpg1>  cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/luns  /iscsi/iqn.20...sk1/tpg1/luns>  create / backstores / block / scsi_disk1_server  LUN0を作成しました。ノードACLにLUN0->0マッピングを作成しました。iqn.2016-02.local.itzgeek.server:node1node2 

ターゲットサーバーの構成を確認します。

 /iscsi/iqn.20.../tpg1/portals>  cd /  />  ls  o-/..............................................。 .................................................。 ........................[...]o-バックストア.................。 .................................................。 .......................................... [...] | o-ブロック..............................................。 .................................................。 。[ストレージオブジェクト:1] | | o-scsi_disk1_server..............................................。 ... [/ dev / vg_iscsi / lv_iscsi(5.0GiB)ライトスルーがアクティブ化] | o-fileio..............................................。 .................................................。 [ストレージオブジェクト:0] | o- pscsi..............................................。 .................................................。 。[ストレージオブジェクト:0] | o-ramdisk..............................................。 ................................................. [ストレージオブジェクト:0] o- iscsi ........................................... .. .................................................。 ................ [ターゲット:1] | o- iqn.2016-02.local.itzgeek.server:disk1..................................。 ......................................... [TPG:1] | o-tpg1..............................................。 .................................................。 。[gen-acls、no-auth] | o-acls..............................................。 .................................................。 ......... [ACL:1] | | o- iqn.2016-02.local.itzgeek.server:node1node2..................................。 ....................... [マップされたLUN:1] | | o-mapped_lun0..............................................。 ......................[lun0ブロック/scsi_disk1_server(rw​​)] | o-luns..............................................。 .................................................。 ......... [LUN:1] | | o-lun0..............................................。 ................ [block / scsi_disk1_server(/ dev / vg_iscsi / lv_iscsi)] | o-ポータル..............................................。 .................................................。 ... [ポータル:1] | o-0.0.0.0:3260..........................................。 .................................................。 ........[OK]o-ループバック...................................。 .................................................。 ................... [ターゲット:0]ターゲットCLIを保存して終了します。
 />  saveconfig  /etc/target/backupに保存された最後の10個の構成。/etc/target/saveconfig.json/>に保存された構成exit グローバル設定auto_save_on_exit=true最後の10個の構成が/etc/target/backupに保存されました。構成が/etc/target/saveconfig.jsonに保存されました

ターゲットサービスを有効にして再起動します。

 [root @ server〜]#systemctl enable target.service [root @ server〜]#systemctl restart target.service 

iSCSIトラフィックを許可するようにファイアウォールを構成します。

 [root @ server〜]#firewall-cmd --permanent --add-port =3260 / tcp [root @ server〜]#firewall-cmd --reload 

イニシエーターの構成

次に、作成したターゲットをストレージとして使用するようにクライアントマシンを構成します。以下のパッケージをクライアントマシン( node1 )にインストールします 。

 [root @ node1〜]#yum install iscsi-initiator-utils -y 

イニシエーター名.iscsiファイルを編集します。

 [root @ node1〜]#vi /etc/iscsi/initiatorname.iscsi 

iSCSIイニシエーター名を追加します。

 InitialatorName =iqn.2016-02.local.itzgeek.server:node1node2 

以下のコマンドを使用してターゲットを発見します。

 [root @ node1〜]#iscsiadm -m Discovery -t st -p 192.168.12.20 

出力:

 192.168.12.20:3260,1 iqn.2016-02.local.itzgeek.server:disk1 

イニシエーターサービスを再起動して有効にします。

 [root @ node1〜]#systemctl restart iscsid.service [root @ node1〜]#systemctl enable iscsid.service 

検出されたターゲットにログインします。

 [root @ node1〜]#iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -l <​​/ pre> 

出力:

 [iface:デフォルト、ターゲット:iqn.2016-02.local.itzgeek.server:disk1、ポータル:192.168.12.20,3260]にログイン(複数)[iface:デフォルト、ターゲット:iqn.2016にログイン-02.local.itzgeek.server:disk1、portal:192.168.12.20,3260]成功しました。
ISCSIディスク上にファイルシステムを作成

検出されたターゲットにログイン(接続)した後、メッセージファイルを確認します。以下のような同様の出力があり、そこからディスクの名前を見つけることができます。

 [root @ node1〜]#cat / var / log / messagesFeb 23 14:54:47 node2 kernel:sd 34:0:0:0:[sdb] 10477568 512バイトの論理ブロック:(5.36 GB / 4.99 GiB)Feb 23 14:54:47 node2カーネル:sd 34:0:0:0:[sdb]書き込み保護がオフですFeb 23 14:54:47 node2カーネル:sd 34:0:0:0:[sdb]書き込みキャッシュ:無効、読み取りキャッシュ:有効、DPOまたはFUAFebをサポートしていません23 14:54:48 node2カーネル:sdb:不明なパーティションテーブル2月23日14:54:48node2カーネル:sd 34:0:0: 0:[sdb]接続されたSCSIディスク 

出力:

 Feb 23 14:54:48 node2 iscsid:session2の優先度を設定できませんでした。全体の読み取り/書き込みと遅延が影響を受ける可能性があります。2月23日14:54:48node2iscsid:Connection2:0 to [target:iqn.2016-02.local.itzgeek.server:disk1、portal:192.168.12.20,3260] [iface:デフォルト]が機能するようになりました

接続されているディスクを一覧表示します。

 [root @ node1〜]#cat / proc / partition 

出力:

 major minor #blocks name 8 0 104857600 sda 8 1 512000 sda1 8 2 104344576 sda2 11 0 1048575 sr0 253 0 2113536 dm-0 253 1 52428800 dm-1 253 2 49799168 dm-2  8 16 5238784 sdb  

新しいディスクをフォーマットします(記事のために、パーティションを作成する代わりにディスク全体をフォーマットしました)

 root @ node1〜]#mkfs.xfs / dev / sdb 

出力:

 meta-data =/ dev / sdb isize =256 agcount =8、agsize =163712 blks =sectsz =512 attr =2、projid32bit =1 =crc =0data =bsize =4096ブロック=1309696、imaxpct =25 =sunit =0 swidth =0 blksnaming =version 2 bsize =4096 ascii-ci =0 ftype =0log =internal log bsize =4096blocks =2560、version =2 =sectsz =512 sunit =0 blks、lazy-count =1realtime =none extsz =4096ブロック=0、rtextents =0 

ディスクをマウントします。

 [root @ node1〜]#mount / dev / sdb / mnt 

以下のコマンドを使用して、ディスクがマウントされていることを確認します。

 [root @ node1〜]#df -hT 

出力:

使用されるファイルシステムタイプサイズ使用率使用率/dev/ mapper / centos-root xfs 50G 955M 50G 2%/ devtmpfs devtmpfs 908M 0 908M 0%/ devtmpfs tmpfs 914M 54M 861M 6%/ dev / shmtmpfs tmpfs 914M 8.5M 905M 1%/ runtmpfs tmpfs 914M 0 914M 0%/ sys / fs / cgroup / dev / mapper / centos-home xfs 48G 33M 48G 1%/ home / dev / sda1 xfs 497M 97M 401M 20%/ boot  / dev / sdb xfs 5.0G 33M 5.0G 1%/ mnt  

iSCSIストレージの自動マウント

再起動のたびにiSCSIストレージを自動マウントするには、/ etc/fstabファイルにエントリを作成する必要があります。

/ etc / fstabファイルを更新する前に、次のコマンドを使用してiSCSIディスクのUUIDを取得します。 / dev/sdbをiSCSIディスク名に置き換えます。

 blkid / dev / sdb 

出力:

 / dev / sdb:LABEL ="/" UUID =" 9df472f4-1b0f-41c0-a6eb-89574d2caee3  "TYPE =" xfs "

次に、/ etc/fstabファイルを編集します。

 vi / etc / fstab 

以下のようなエントリを作成します。

 ## / etc / fstab#2018年1月30日火曜日02:14:21にanacondaによって作成##アクセス可能なファイルシステムは、参照により、「/ dev / disk」の下に維持されます#manページfstab(5)、findfsを参照してください(8)、mount(8)および/またはblkid(8)で詳細を確認#UUID =9df472f4-1b0f-41c0-a6eb-89574d2caee3 / xfs defaults 0 0  UUID =c7469f92-75ec-48ac-b42d-d5b89ab75b39 / mnt xfs _netdev 0 0  

iSCSIストレージを削除する

追加したディスクを取り外したい場合は、手順(アンマウントしてログアウト)に従ってください。

 [root @ node1〜]#umount / mnt / [root @ node1〜]#iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -u 
>

出力:

セッションからのログアウト[sid:1、target:iqn.2016-02.local.itzgeek.server:disk1、portal:192.168.12.20,3260] Logout of [sid:1、target:iqn.2016-02 .local.itzgeek.server:disk1、portal:192.168.12.20,3260]成功しました。

以上です。


Cent OS
  1. CentOS/RHEL – 古い ISCSI ターゲット ノード情報を ISCSI イニシエーター サーバーから削除する方法

  2. Centos 7 :インストール、構成、管理

  3. Centos 7 :DNS サーバーの構成

  1. CentOSでMariaDBサーバーを構成する

  2. CentOS / RHEL 6 で iSCSI イニシエーター (クライアント) を構成する方法

  3. CentOS / RHEL 6,7 :イニシエーター (iSCSI クライアント) で iSCSI ターゲットを削除する方法

  1. CentOS7にVNCをインストールして設定する方法

  2. CentOS / RHEL 7 で iSCSI イニシエーター (クライアント) を構成する方法

  3. CentOS / RHEL で iSCSI イニシエーターから iSCSI ターゲットへの DM-Multipath を構成する方法