「Open-iSCSI」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://sourceforge.net/」を「https://sourceforge.net/」に置換) |
Blackteahamburger (トーク | 投稿記録) 細 (Blackteahamburger がページ「ISCSI イニシエータ」を「Open-iSCSI」に移動しました: Sync title) |
(相違点なし)
|
2020年8月18日 (火) 17:39時点における版
関連記事
iSCSI を使うことで IP ベースのネットワーク上のストレージにアクセスすることができます。
エクスポートされるストレージエンティティがターゲットでインポートするエンティティがイニシエータです。
この記事では Open-iSCSI イニシエータを使って iSCSI ターゲットにアクセスする方法を説明します。
目次
インストール
公式リポジトリから open-iscsi パッケージをインストールしてください。
概要
以下は構成要素の互いの関係を示した図式になります。より詳しいバージョンが次のページにあります: Open-iSCSI modules
+-------------------------------------------------------+ | Targets & Sessions configuration Database (DBM based) | +-------------------------------------------------------+ +--------------------------+ +----------------------------------+ | iscsiadm | | iscsid: iSCSI daemon | | | | | | * Command line tool |<--->| * Implements Session management | | * Manages database of | | * Communicates with iscsiadm | | sessions and targets | | and iscsi kernel modules | +--------------------------+ +---------------+------------------+ | User space | - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - Kernel v +-----------------------------------------------------------+ | kernel modules: scsi_transport_iscsi, iscsi_tcp, libiscsi | +-----------------------------------------------------------+
Open-iSCSI の README より:
永続的な設定は DBM データベースとして実装され、以下の2つのテーブルを含みます:
- ディスカバリテーブル (
/etc/iscsi/send_targets
) - ノードテーブル (
/etc/iscsi/nodes
)
設定
サービスの起動
iscsid
は systemd ユニットで管理します。
systemd で open-iscsi.service
を起動してください。
SCSI ターゲットがイニシエータによる認証を必要とする場合、設定ファイル /etc/iscsi/iscsid.conf
を更新してください。
イニシエータのログインセッションを認証してターゲットからイニシエータにセッションを確立するのには以下のパラメータを使います:
node.session.auth.authmethod = CHAP node.session.auth.username = <username in target> node.session.auth.password = <password in target> node.session.auth.username_in = <username in initiator> node.session.auth.password_in = <password in initiator>
イニシエータのディスカバリセッションを認証してターゲットからイニシエータにセッションを確立するのには以下のパラメータを使います:
discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = <username in target> discovery.sendtargets.auth.password = <password in target> discovery.sendtargets.auth.username_in = <username in initiator> discovery.sendtargets.auth.password_in = <password in initiator>
ターゲットのディスカバリ
# iscsiadm -m discovery -t sendtargets -p <portalip>
ターゲットの削除
# iscsiadm -m discovery -p <portalip> -o delete
利用可能なターゲットにログイン
# iscsiadm -m node -L all
もしくは特定のターゲットにログイン:
# iscsiadm -m node --targetname=<targetname> --login
ログアウト:
# iscsiadm -m node -U all
情報の確認
実行中のセッションを確認するには:
# iscsiadm -m session -P 3
上のコマンドの最後の行にはアタッチされたデバイスの名前が表示されます。例:
Attached scsi disk sdd State: running
既知のノードを確認するには:
# iscsiadm -m node
ボリュームのオンラインリサイズ
iscsi ブロックデバイスにパーティションテーブルが含まれている場合、オンラインリサイズを行うことはできません。その場合、ファイルシステムをアンマウントしてからパーティションのサイズを変更する必要があります。
- 現在のセッションで有効なノードを再スキャン:
# iscsiadm -m node -R
- マルチパスを使っている場合、マルチパスのボリューム情報も再スキャンしてください:
# multipathd -k"resize map sdx"
- 最後にファイルシステムをリサイズ:
# resize2fs /dev/sdx
ヒント & トラブルシューティング
アタッチされている iSCSI デバイスの /dev
ツリーにある場所は ls -lh /dev/disk/by-path/*
でも確認できます。
サーバー (ターゲット) 側では acl の設定に /etc/iscsi/initiatorname.iscsi
からクライアントの iqn を記述する必要があります。
iscsiadm
の操作は基本的に iSCSI デーモン iscsid
が動作していることを必要とします。動作しているか確認するには、open-iscsi.service
の状態を確認してください。
参照
- iSCSI ブート - iSCSI ターゲットで Arch Linux を起動。