iSCSIターゲットボックス

興味深いiSCSIターゲットボックスプロジェクト-サポートされているハードウェアにiSCSIサーバー(いわゆるターゲット)を迅速に展開できるLinuxミニディストリビューションに注目したいと思います。
これはArch LinuxとそのMkinitcpio initrdイメージ生成スクリプトに基づいており、カーネルまたはその他のコンポーネントを更新する際に迅速かつ簡単に再構築できます。 実際、これはLinux + BusyBox + iSCSI Enterprise Target カーネルがInitrdイメージにパックされており、必要な構成ファイルが取り出されています。

設置


サイトからシステムのバイナリイメージをダウンロード 、ブートディスクのルート(HDD、USBフラッシュ、メモリカードなど)に解凍し、そこにgrub(または他のお気に入りのブートマネージャー)をインストールし、その構成でLinuxカーネルブートを設定します。
 タイトルLinux iSCSIターゲットボックス
 ルート(hd0.0)
  kernel / vmlinuz26 root = / dev / sdb1 ro ip = <this-box-ip> :: <gw-ip>:<netmask> :: eth0:なし
  initrd /initrd-iscsi.img

/ dev / sdb1は、設定ファイルを含むiscsi-target-etcディレクトリが存在するルートにあるパーティションの名前です。 そして、 ip = ::: -ネットワーク設定。
Mkinitcpioのドキュメントでカーネルパラメーターの詳細を読む

カスタマイズ


すべての可変設定はiscsi-target-etcディレクトリにあります。このディレクトリは、カーネルのロード時に指定されたパーティションのルートに配置する必要があります。 システム起動時のこのディレクトリの内容は、単純に/などにコピーされ、Linux環境の構成ファイルが含まれる場合があります。 コピーされたファイルにrc.localファイルが存在する場合、コピー後にファイルが開始されるため、システムイメージを再構築せずに環境を追加設定できます。
iSCSI Enterprise Targetデーモンの構成は、 / iscsi-target-etc / iet /ディレクトリにあります。このディレクトリは、起動時に/ etc / iet /にコピーされ、事前構成が必要です。 たとえば、次のような行をietd.confファイルに書き込むことができます。
 ターゲットiqn.2001-04.com.example:storage.disk1.sys1.xyz
 Lun 0パス= / dev / sda、タイプ= blockio、ScsiId = xyz、ScsiSN = xyz 

これにより、ドライブ/ dev / sdaをブロックデバイスとして共有できます。

ietadm管理ユーティリティを使用して、デーモンを動的に管理することもできます。 たとえば、次のコマンドでターゲットを作成します。
ietadm --op new --tid = 1 --params Name = iqn.2001-04.com.example:storage.disk1.sys1.xyz
LUNに追加します。
ietadm --op new --tid = 1 --lun = 0 --params Path = / dev / sda、Type = blockio
iSCSI Enterprise Targetの構成の詳細については、ドキュメントをご覧ください。

コンソールへのアクセスは、直接またはTelnetを介して可能です。 ルートのデフォルトパスワードは666666です
パスワードを変更するには、 シャドウ用のファイルをiscsi-target-etcディレクトリに配置し、root用に新しく生成されたパスワードを使用します。システムが起動すると、イメージに配線されているパスワードが上書きされます。

したがって、ご覧のとおり、データバックアップまたは仮想化システム用のiSCSIサーバーの展開は簡単で、数分かかります。 確かに、プロジェクトの開発は始まったばかりなので、本番環境ではまだ使用を推奨していません。

組立


アセンブリに使用されるすべてのスクリプト 、GPLv2ライセンスの下でソースコードで利用できます 。 イメージをビルドするには、mkinitcpioおよびmkinitcpio-nfs-utilsパッケージがインストールされたArch Linuxが必要です。 また、AURから取得できるiSCSI Enterprise Target( iscsitarget-kernelおよびiscsitarget-usr)をインストールするか、 公式サイトから最新バージョンのソースをダウンロードして手動でコンパイルする必要もあります。
 tar xf iscsitarget-1.4.20.1.tar.gz
 cd iscsitarget-1.4.20.1
作る
インストールする

次に、iSCSIターゲットボックスプロジェクトサイトからソースコードアーカイブをダウンロードし、/ lib / initcpio /ディレクトリに展開して、ベースシステムのインストールスクリプトへのハードリンクを作成します。
  ln base-iscsi ../install/base-iscsi 

画像を生成します:
  mkinitcpio -c /lib/initcpio/iscsi-target-box/mkinitcpio.conf -g /boot/initrd-iscsi.img 

QEMUを使用して、アセンブリの正常性をすばやく確認できます。
  qemu -snapshot -kernel / boot / vmlinuz26 -initrd /boot/initrd-iscsi.img 

Source: https://habr.com/ru/post/J98463/


All Articles