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 



All Articles