興味深い
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