「ISCSI/LIO」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「Tips and tricks」を「ヒントとテクニック」に置換) |
(python-configshell-fbがaurからExtra入りしていたためリンクを変更) |
||
(他の1人の利用者による、間の7版が非表示) | |||
2行目: | 2行目: | ||
[[Category:ストレージ]] |
[[Category:ストレージ]] |
||
[[Category:ネットワーク]] |
[[Category:ネットワーク]] |
||
− | [[en:ISCSI |
+ | [[en:ISCSI/LIO]] |
[[zh-hans:ISCSI Target]] |
[[zh-hans:ISCSI Target]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
8行目: | 8行目: | ||
{{Related|iSCSI ブート}} |
{{Related|iSCSI ブート}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
+ | [http://linux-iscsi.org/ LIO]{{Dead link|2022|12|31|接続不可; 3週間前の Web アーカイブ版}} (LinuxIO) は、カーネル内の [[iSCSI]] ターゲットです(Linux 2.6.38 以降)。 |
||
− | [[Wikipedia:iSCSI|iSCSI]] を使うことで IP ベースのネットワーク経由でストレージにアクセスすることができます。 |
||
+ | == インストール == |
||
− | エクスポートされたストレージエンティティは'''ターゲット'''と呼ばれ、インポートするエンティティは'''[[iSCSI イニシエータ|イニシエータ]]'''と呼ばれます。様々なモジュールでターゲットをセットアップすることができます: |
||
− | * Linux 2.6.38 以前は [http://stgt.berlios.de/ SCSI Target Framework (STGT/TGT)] が標準でした。 |
||
− | * 現在の標準は [http://linux-iscsi.org/ LIO ターゲット] です。 |
||
− | * [http://iscsitarget.sourceforge.net/ iSCSI Enterprise Target (IET)] は旧式の実装で [http://scst.sourceforge.net/ SCSI Target Subsystem (SCST)] が IET の後継です。IET は LIO が標準に決まる前の候補のひとつでした。 |
||
− | + | iSCSI ターゲットファブリックは Linux 3.1 から含まれています。 |
|
− | LIO ターゲットは Linux 2.6.38 からカーネルに含まれています。ただし、iSCSI ターゲットファブリックが含まれるようになったのは Linux 3.1 からです。 |
||
− | 重要なカーネルモジュールは ''target_core_mod'' と ''iscsi_target_mod'' です。 |
+ | 重要なカーネルモジュールは ''target_core_mod'' と ''iscsi_target_mod'' であり、これらはカーネルに組み込まれており、自動的にロードされるべきです。 |
− | フリーブランチ |
+ | フリーブランチのパッケージ {{AUR|targetcli-fb}}、{{AUR|python-rtslib-fb}}、および {{Pkg|python-configshell-fb}} の使用が強く推奨されます。 |
− | + | 必要なモジュールをロードし、configfs をマウントし、以前に保存された iSCSI ターゲット設定をロードするために、{{AUR|python-rtslib-fb}} に含まれる {{ic|target.service}} を[[開始/有効化]]してください。 |
|
+ | == targetcli == |
||
− | 以下のコマンドで LIO ターゲットを起動できます: |
||
− | # systemctl start target |
||
− | |||
− | 上記のコマンドで必要なモジュールがロードされ、configfs がマウントされて前に保存した iSCSI ターゲットの設定がロードされます。 |
||
− | |||
− | 実行中の設定については以下のコマンドで情報を表示できます (フリーブランチの場合のみ): |
||
− | # targetcli status |
||
− | |||
− | さらに以下のコマンドで起動時に LIO ターゲットを有効にすることが可能です: |
||
− | # systemctl enable target |
||
− | |||
− | 設定を作成するときは '''targetcli''' を使います。 |
||
− | |||
− | === targetcli を使う === |
||
外部マニュアルは''フリーブランチ''にしか存在しません。[https://github.com/agrover/targetd targetd] は AUR に存在しませんが、フリーブランチに依存しています。 |
外部マニュアルは''フリーブランチ''にしか存在しません。[https://github.com/agrover/targetd targetd] は AUR に存在しませんが、フリーブランチに依存しています。 |
||
設定シェルはほとんどの名前と数字を自動的に作成しますが、自分で設定することもできます。シェルの中で {{ic|help}} と入力することで実行できるコマンドを確認できます。 |
設定シェルはほとんどの名前と数字を自動的に作成しますが、自分で設定することもできます。シェルの中で {{ic|help}} と入力することで実行できるコマンドを確認できます。 |
||
{{Tip| |
{{Tip| |
||
− | * シェルではタブ補完が利用できます。 |
+ | * シェルではタブ補完が利用できます。シェルに {{ic|cd}} と入力するとパスが表示・選択されます。}} |
− | * シェルに {{ic|cd}} と入力するとパスが表示・選択されます。}} |
||
ターゲットの起動後、以下のコマンドで設定シェルを開くことができます: |
ターゲットの起動後、以下のコマンドで設定シェルを開くことができます: |
||
97行目: | 79行目: | ||
最初の2つはターゲットのユーザー名とパスワードです。設定したユーザー名とパスワードを使用してイニシエータはターゲットにログインします。("mutual_" と付いている) 残りの2つはイニシエータのユーザー名とパスワードです (全てのイニシエータは同じユーザー名とパスワードを使います)。イニシエータのユーザー名とパスワードは任意のパラメータであり、イニシエータは許可されたターゲットからの接続だけを通すようになります。 |
最初の2つはターゲットのユーザー名とパスワードです。設定したユーザー名とパスワードを使用してイニシエータはターゲットにログインします。("mutual_" と付いている) 残りの2つはイニシエータのユーザー名とパスワードです (全てのイニシエータは同じユーザー名とパスワードを使います)。イニシエータのユーザー名とパスワードは任意のパラメータであり、イニシエータは許可されたターゲットからの接続だけを通すようになります。 |
||
− | + | == ヒントとテクニック == |
|
* {{ic|targetcli sessions}} で現在開いているセッションを確認できます。このコマンドは {{AUR|targetcli-fb}} パッケージには含まれていますが ''lio-utils'' やオリジナルの ''targetcli'' には存在しません。 |
* {{ic|targetcli sessions}} で現在開いているセッションを確認できます。このコマンドは {{AUR|targetcli-fb}} パッケージには含まれていますが ''lio-utils'' やオリジナルの ''targetcli'' には存在しません。 |
||
+ | == 参照 == |
||
− | === 上流のドキュメント === |
||
* [http://www.linux-iscsi.org/wiki/Targetcli targetcli] |
* [http://www.linux-iscsi.org/wiki/Targetcli targetcli] |
||
− | * [http://www.linux-iscsi.org/wiki/Lio-utils_HOWTO LIO utils] |
||
− | * ''フリーブランチ''版の {{AUR|targetcli-fb}} をインストールした場合 {{ic|man targetcli}} が使えます。 |
||
− | |||
− | == SCSI Target Framework (STGT/TGT) のセットアップ == |
||
− | [[AUR]] から {{AUR|tgt}} パッケージをインストールする必要があります。 |
||
− | |||
− | 詳しくは [[TGT iSCSI ターゲット]]を見てください。 |
||
− | |||
− | == 参照 == |
||
− | * [[iSCSI ブート]]: iSCSI ターゲットの {{ic|/}} で Arch Linux を起動。 |
||
* [[永続的なブロックデバイスの命名]]: 適切なターゲットのブロックデバイスを使用。 |
* [[永続的なブロックデバイスの命名]]: 適切なターゲットのブロックデバイスを使用。 |
2024年6月8日 (土) 17:13時点における最新版
関連記事
LIO[リンク切れ 2022-12-31] (LinuxIO) は、カーネル内の iSCSI ターゲットです(Linux 2.6.38 以降)。
インストール
iSCSI ターゲットファブリックは Linux 3.1 から含まれています。
重要なカーネルモジュールは target_core_mod と iscsi_target_mod であり、これらはカーネルに組み込まれており、自動的にロードされるべきです。
フリーブランチのパッケージ targetcli-fbAUR、python-rtslib-fbAUR、および python-configshell-fb の使用が強く推奨されます。
必要なモジュールをロードし、configfs をマウントし、以前に保存された iSCSI ターゲット設定をロードするために、python-rtslib-fbAUR に含まれる target.service
を開始/有効化してください。
targetcli
外部マニュアルはフリーブランチにしか存在しません。targetd は AUR に存在しませんが、フリーブランチに依存しています。
設定シェルはほとんどの名前と数字を自動的に作成しますが、自分で設定することもできます。シェルの中で help
と入力することで実行できるコマンドを確認できます。
ターゲットの起動後、以下のコマンドで設定シェルを開くことができます:
# targetcli
シェルの中では以下のようにして使用するブロックデバイスを指定できます (例: /dev/disk/by-id/md-name-nas:iscsi
):
/> cd backstores/block /backstores/block> create md_block0 /dev/disk/by-id/md-name-nas:iscsi
iSCSI Qualified Name (IQN) とターゲットポータルグループ (TPG) を作成するには:
...> cd /iscsi /iscsi> create
ターゲットのバックストアとしてブロックデバイスを使用することを LIO に伝えるには以下を実行:
.../tpg1> cd luns .../tpg1/luns> create /backstores/block/md_block0
それからポータルを作成して、デーモンが接続を待機するようにしてください:
.../luns/lun0> cd ../../portals .../portals> create
targetcli は LIO が接続を listen する IP とポートを表示します (デフォルトは 0.0.0.0 (all) です)。最低でもクライアントの IP が必要です。ポートは標準ポートの 3260 にするべきです。
クライアント/イニシエータから接続するにはターゲットの設定にイニシエータの IQN を記述する必要があります:
...> cd ../../acls .../acls> create iqn.2005-03.org.open-iscsi:SERIAL
iqn.2005-03.org.open-iscsi:SERIAL
はイニシエータの IQN に置き換えてください。通常は /etc/iscsi/initiatorname.iscsi
で確認できます。接続する全てのイニシエータを設定してください。targetcli は作成済みの LUN を新しく作成した ACL に自動的にマッピングします。
最後に設定を保存します:
...> cd / /> saveconfig
上記のコマンドで /etc/target/saveconfig.json
に設定が作成されます。これで設定を失うことなく target.service
を安全に起動・停止することが可能になります。
認証
デフォルトで CHAP によるターゲットの認証が有効になっています。パスワードを設定したり、逆に認証を無効化することができます。
認証の無効化
targetcli でターゲットまで移動して (/iscsi/iqn.../tpg1
)、以下のコマンドを実行してください:
.../tpg1> set attribute authentication=0
認証情報の設定
ターゲットの ACL に移動して (/iscsi/iqn.../tpg1/acls/iqn.../
)、以下のコマンドを実行すると現在の認証情報が表示されます:
...> get auth
以下のようにして認証情報を設定してください:
...> set auth userid=<username in target> ...> set auth password=<password in target> ...> set auth mutual_userid=<username in initiator> (optional) ...> set auth mutual_password=<password in initiator> (optional)
最初の2つはターゲットのユーザー名とパスワードです。設定したユーザー名とパスワードを使用してイニシエータはターゲットにログインします。("mutual_" と付いている) 残りの2つはイニシエータのユーザー名とパスワードです (全てのイニシエータは同じユーザー名とパスワードを使います)。イニシエータのユーザー名とパスワードは任意のパラメータであり、イニシエータは許可されたターゲットからの接続だけを通すようになります。
ヒントとテクニック
targetcli sessions
で現在開いているセッションを確認できます。このコマンドは targetcli-fbAUR パッケージには含まれていますが lio-utils やオリジナルの targetcli には存在しません。
参照
- targetcli
- 永続的なブロックデバイスの命名: 適切なターゲットのブロックデバイスを使用。