Quantcast
Channel: 環境さんぷる » iSCSI
Viewing all 20 articles
Browse latest View live

istgt (iSCSI target) 20120807版 for Debian/NetBSD/FreeBSD

$
0
0

予想通り?細かいバグが存在したので修正しました。
LUの更新をサポートしました。また、リロード中のエラーは
無視して続行するようになりました。
今回からNetBSD用の起動スクリプトもいれてみました。

※接続中のユニットはまだ変更できません。

以前作ったマシンのCPU交換で余ったものを使って
ESXi4.1マシンをESXi5にアップグレードしたところに、
Windows8 Preview版をいれてあります。
もちろん10ギガビットイーサネット(SFP+)で
iSCSI接続したデータストアです。

SIGHUPリロードの現時点の制限:
PG/IG/LU以外の設定はリロードされません。
LUでマッピング中のPGとIGは削除できません。
接続中のLUは変更できません。
接続中のLUを削除すると、そのLUへの全接続が強制終了されます。
(あらかじめ切断した後に削除する事をおすすめします)
IGの変更は既に接続中のホストは次回ログインまで影響を受けません。

istgt (tarball): istgt-20120807.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20120807.tar.gz
# cd istgt-20120807
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

リロード(設定再読込み)の方法:

# /usr/local/etc/rc.d/istgt reload

 
SHA256 (istgt-20120807.tar.gz) = 1f41159382407071336c0b97879bd53a1b2ae449b886a3eb4c5b639d55ef82e4

主な修正点:
データ転送用ロックの期間を短縮。
リロード回数をsyslogに記載。
リロード時のエラーを無視して続行するように変更。
gcc4.1以降のビルトイン関数でのアトミック操作をサポート。
終了時のメモリーリークの修正。
LUNキューで1ループあたり最大2SCSIコマンドまで実行するよう変更。
LUの変更処理(接続中ユニットを除く)をサポート。
複数PGの場合、SendTargetsでアクセス不可のPGを出さないように変更。
デーモン終了時の待ち時間を短縮。


istgt (iSCSI target) 20120811版 for Debian/NetBSD/FreeBSD

$
0
0

実験的にVirtualBoxのライブラリを利用した仮想ディスク(VDI,VHD,VMDK)の
読み書きをサポートしました。ただし、現時点では、スナップショットなどは
サポートされていません。また、仮想ディスク作成はサポートされていませんので、
デーモン起動前に予め作成しておく必要があります。
仮想ディスク容量は任意で構いませんが512バイト/ブロックと固定されています。

仮想ディスクを有効にしてistgtをビルドするにはVirtualBoxのソースファイルと
VBoxDDU.so、VBoxRT.soが必要です。
デーモン実行時にはVBoxDDU.so VBoxRT.soが必要です。

VirtualBox4系をインストールして、それと同バージョンのソースファイルを
/usr/local/src/virtualboxに展開するか –with-vbox=PATH で展開した場所を
指定します。

VirtualBoxの起動は必要としないので、X11関係のPorts全オプション解除でも
問題ありません。

※FreeBSDの場合は
/usr/ports/emulators/virtualbox-ose/work
/usr/ports/emulators/virtualbox-ose-legacy/work
のどちらかが存在すればそちらを優先的に利用します。
FreeBSDでPortからインストールする場合はコンフィグで簡単に選択可能です。

※Linuxの場合は
/usr/src/virtualbox
を優先的に利用します。

仮想ディスクの利用方法:
LogicalUnitセクションでLUN設定に拡張子ごと指定します。
ファイルサイズは計算上無視されますが、新規作成を防ぐため、
Autoにしておくと良いです。仮想ディスク容量は任意で構いませんが
512バイト/ブロックと固定されています。
※デーモン起動前にファイルの作成が必要です。
Windows等で利用していたファイルなども使えるはずです。
ただし、同時に開くと壊れると思うので注意が必要です。

仮想ディスク設定例(いずれかひとつ):

LUN0 Storage /tank/iscsi/istgt-disk.vdi Auto
LUN0 Storage /tank/iscsi/istgt-disk.vhd Auto
LUN0 Storage /tank/iscsi/istgt-disk.vmdk Auto

仮想ディスク作成例(いずれかひとつ):

# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VDI
# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VHD
# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VMDK

SIGHUPリロードの現時点の制限:
PG/IG/LU以外の設定はリロードされません。
LUでマッピング中のPGとIGは削除できません。
接続中のLUは変更できません。
接続中のLUを削除すると、そのLUへの全接続が強制終了されます。
(あらかじめ切断した後に削除する事をおすすめします)
IGの変更は既に接続中のホストは次回ログインまで影響を受けません。

istgt (tarball): istgt-20120811.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20120811.tar.gz
# cd istgt-20120811
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20120811.tar.gz
# cd istgt-20120811
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

Portsビルドの設定変更

# cd /usr/ports/net/istgt
# make config

Portsビルドの設定削除

# cd /usr/ports/net/istgt
# make rmconfig

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

リロード(設定再読込み)の方法:

# /usr/local/etc/rc.d/istgt reload

SHA256 (istgt-20120811.tar.gz) = 0c4413a07687e5746939be4d3ead9f11a5b4c91ff6732996d198ff15f78941a4

主な修正点:
VirtualBoxのライブラリを使った仮想ディスクVDI,VHD,VMDKの読み書きをサポート
利用できる環境では一部のmutexにADAPTIVE_NPを適用

isboot (iSCSI boot driver) version 0.2.5 と統合デモ版(+DN2800MT対応パッチ済み)のFreeBSD 9.1-BETA1-amd64

$
0
0

isboot が FreeBSD 9.0 で動かない問題を修正したパッチ版を一般公開していなかった
ような気がするので再度パッキングした版を公開します。

今回の参考用は9.1-BETA1-amd64にDN2800MTの対応パッチを当てたカーネルと
isboot.koを一緒にisboot.txzとしてまとめたものをmemstickに追加しました。
実際の使い方は別ページに分けて書きましたので合わせてどうぞ。

作成・アップグレード方法:

# cd /usr/src
# tar xvf /path/to/isboot-0.2.5.tar.gz

# make buildkernel
# make installkernel
or
# cd /usr/src/sys/modules/iscsi/isboot
# make obj
# make depend
# make clean
# make all
# make install

インストール後に、新モジュールを適用する為にサーバを再起動してください。
ログで iSCSI boot driver version 0.2.5 が表示される事を確認してください。

主な修正点:
FreeBSD 9.x に対応

ダウンロードリンク:

isboot-0.2.5

0.2.6をリリースしました。

ダウンロードリンク(for testing purpose only):

FreeBSD-9.1-BETA1-amd64-memstick-isboot-0.2.5.img

9.1RC1+0.2.6版をリリースしました。

iPXEとistgtを使ったFreeBSDディスクレスブート(Intel DN2800MT用)

$
0
0

ここではistgtとDHCP設定のクライアント(FreeBSD9.1-amd64)を想定しています。
FreeBSD自体は何でも良いのですが、ここではisbootと一緒に配布している
メモリイメージをLUN割り当てしたものを参考例にしています。

1.埋め込みスクリプト付きのiPXEを作成:
適当なLinuxでgitを使いipxeのソースを取得してきて、ipxeスクリプトを
埋め込んだUSBメモリイメージを作成します。
(テスト用のビルド環境はDebian GNU/Linux 6.0.5を利用)

以下はdn2800mt.ipxeというスクリプトをipxe/srcに用意した場合の例です。

# git clone git://git.ipxe.org/ipxe.git
# cd ipxe/src
# make bin/ipxe.usb EMBED=dn2800mt.ipxe

ここで出来た bin/ipxe.usb をUSBメモリに書き込みます。

2.istgtの設定:
istgtでは複数LUNを1個のTargetに指定でき、かつ、isbootも複数LUNを
処理できるので、

LUN0 起動用ハードディスク
LUN1 FreeBSDインストーラのイメージ

のように指定して初回のみLUN1から起動して、LUN0にインストールを行います。
(DN2800MTでは LUN0=da0, LUN1=da1, USBメモリ=da2 となります)

3.初回起動とLUN1起動方法:
iPXEをインストールしたUSBメモリから起動します。
(DN2800MTの場合はF2でBIOSに入って、USB BootをEnableにして、
F10を押すとブート可能デバイスを選択できます)

インストール前はそのまま放置してもiSCSIディスクが空で起動できないので、
iPXEが起動したらCtrl-Bを押してコマンドラインモードに落ちます。
コマンドラインで以下のようなsanbootを用いLUN1から起動します。

sanboot iscsi:172.18.0.26:::1:iqn.2007-09.jp.ne.peach:aria:dn2800mt-boot

:::1: の部分がキモです。LUN1から起動する設定になります。ポート3260以外に
したい場合、たとえば9999番ポートは ::9999:1: のような感じです。
デフォルトのLUN0とポート番号3260は通常省略されています。
もっと詳しく知りたい場合はRFC4173を参照してください。

※もちろんLUN2など他からも起動可能です。

正しくiSCSIターゲットに接続できれば、FreeBSDインストーラが起動するので
通常のFreeBSD9.1の手順でインストールします。

“iSCSI boot driver + DN2800MT kernel”というのがデフォルトで
選択されているので、そのままインストールします。
その他はお好みで調整可能です。

インストールが終わったら、次回からはLUN0から直接起動できます。
上記パッケージにisboot.koをロードする設定(loader.conf)も同梱されています。

4.不要LUN1の取り外し:
うまくFreeBSDが起動できたらLUN1はもう不要ですので、FreeBSDを
shutdownして終了した後に削除してかまいません。
設定ファイルのLUN1をコメントアウトして、istgt reloadすればOKです。

# /usr/local/etc/rc.d/istgt reload

※終了直後はiSCSIセッションが残って、reloadに失敗する可能性があるので、
その場合は少し時間をおいてから、LUN1を追加しなおして再度取り外してください。
※istgtの現在の仕様です。可能な範囲で順次対応していく予定です。

20120901版でリロード失敗時に再実行できるように設定を維持するようになりました。
失敗した場合はセッションがタイムアウトしたころにリロードすればOKです。

正常にリロードできたら、syslogに

update LU2800: Name=iqn.2007-09.jp.ne.peach:aria:dn2800mt-boot

のような表示が記録されます。

※IQNは大文字小文字関係ないのでここでは小文字で統一してあります。
※LUN0は最新istgtで追加したVBoxの仮想ディスク(20GB)を使っています。
※PG/IG/LUは実際に可動中の設定ファイルの完全コピーです。

istgt.conf の内容(当該LUのみ):

[PortalGroup4]
  Portal PGA 172.18.0.26:3260

[InitiatorGroup2800]
  InitiatorName "iqn.2010-04.org.ipxe:dn2800mt"
  Netmask 172.18.0.0/16

[LogicalUnit2800]
  TargetName "iqn.2007-09.jp.ne.peach:aria:dn2800mt-boot"
  Mapping PortalGroup4 InitiatorGroup2800
  UnitType Disk
  QueueDepth 32
  LUN0 Storage /tank/iscsi/istgt-DN2800MT.vdi Auto
  LUN1 Storage /tank/iscsi/FreeBSD-9.1-BETA1-amd64-memstick-isboot-0.2.5.img Auto

dn2800mt.ipxeの内容:

#!ipxe
ifopen net0
dhcp net0
set initiator-iqn iqn.2010-04.org.ipxe:dn2800mt
prompt --key 0x02 --timeout 3000 Press Ctrl-B for the iPXE command line... && shell ||
sanboot iscsi:172.18.0.26::::iqn.2007-09.jp.ne.peach:aria:dn2800mt-boot

dmesg.boot (ダウンロード用):

Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.1-PRERELEASE #0: Tue Aug 21 01:32:28 JST 2012
    root@dn2800mt:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Atom(TM) CPU N2800   @ 1.86GHz (1866.77-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x30661  Family = 6  Model = 36  Stepping = 1
  Features=0xbfebfbff
  Features2=0x40e39d
  AMD Features=0x20100800
  AMD Features2=0x1
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8218251264 (7837 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: 
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 HTT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP/HT): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP/HT): APIC ID:  3
ioapic0: Changing APIC ID to 8
ioapic0  irqs 0-23 on motherboard
lapic0: Forcing LINT1 to edge trigger
kbd1 at kbdmux0
acpi0:  on motherboard
acpi0: Power Button (fixed)
hpet0:  iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 450
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
acpi0: reservation of 0, 4000 (3) failed
cpu0:  on acpi0
cpu1:  on acpi0
cpu2:  on acpi0
cpu3:  on acpi0
atrtc0:  port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
Event timer "RTC" frequency 32768 Hz quality 0
attimer0:  port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
pcib0:  port 0xcf8-0xcff on acpi0
pci0:  on pcib0
vgapci0:  port 0x40d0-0x40d7 mem 0xd0600000-0xd06fffff irq 16 at device 2.0 on pci0
hdac0:  mem 0xd0800000-0xd0803fff irq 22 at device 27.0 on pci0
pcib1:  at device 28.0 on pci0
pci1:  on pcib1
em0:  port 0x3000-0x301f mem 0xd0400000-0xd041ffff,0xd0000000-0xd03fffff,0xd0420000-0xd0423fff irq 16 at device 0.0 on pci1
em0: Using MSIX interrupts with 3 vectors
em0: Ethernet address: 00:22:4d:81:bb:b2
pcib2:  at device 28.1 on pci0
pci2:  on pcib2
em1:  port 0x2000-0x201f mem 0xd0580000-0xd059ffff,0xd0500000-0xd057ffff,0xd05a0000-0xd05a3fff irq 17 at device 0.0 on pci2
em1: Using MSIX interrupts with 3 vectors
em1: Ethernet address: 00:1b:21:57:18:10
uhci0:  port 0x40a0-0x40bf irq 23 at device 29.0 on pci0
uhci0: LegSup = 0x2f00
usbus0 on uhci0
uhci1:  port 0x4080-0x409f irq 19 at device 29.1 on pci0
uhci1: LegSup = 0x2f00
usbus1 on uhci1
uhci2:  port 0x4060-0x407f irq 18 at device 29.2 on pci0
uhci2: LegSup = 0x2f00
usbus2 on uhci2
uhci3:  port 0x4040-0x405f irq 16 at device 29.3 on pci0
uhci3: LegSup = 0x2f00
usbus3 on uhci3
ehci0:  mem 0xd0704400-0xd07047ff irq 23 at device 29.7 on pci0
usbus4: EHCI version 1.0
usbus4 on ehci0
pcib3:  at device 30.0 on pci0
pci3:  on pcib3
isab0:  at device 31.0 on pci0
isa0:  on isab0
ahci0:  port 0x40c8-0x40cf,0x40dc-0x40df,0x40c0-0x40c7,0x40d8-0x40db,0x4020-0x402f mem 0xd0704000-0xd07043ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.10 with 4 3Gbps ports, Port Multiplier not supported
ahcich0:  at channel 0 on ahci0
ahcich1:  at channel 1 on ahci0
pci0:  at device 31.3 (no driver attached)
acpi_button0:  on acpi0
acpi_button1:  on acpi0
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0:  at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0:  at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0:  at port 0x60,0x64 on isa0
atkbd0:  irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: cannot reserve I/O port range
ctl: CAM Target Layer loaded
est0:  on cpu0
p4tcc0:  on cpu0
est1:  on cpu1
p4tcc1:  on cpu1
est2:  on cpu2
p4tcc2:  on cpu2
est3:  on cpu3
p4tcc3:  on cpu3
Timecounters tick every 1.000 msec
iSCSI boot driver version 0.2.5
IS: Initiator name: iqn.2010-04.org.ipxe:dn2800mt
NIC0: IP address: 172.18.0.152
NIC0: Prefix: 16
NIC0: Gateway: 172.18.0.1
NIC0: MAC address: 00:22:4d:81:bb:b2
TGT0: Target IP address: 172.18.0.26
TGT0: Target Port: 3260
TGT0: Target LUN: 0
TGT0: Target name: iqn.2007-09.jp.ne.peach:aria:dn2800mt-boot
Boot NIC: em0
Configure IPv4 by NIC0
Attempting to login to iSCSI target and scan all LUNs.
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 12Mbps Full Speed USB v1.0
usbus4: 480Mbps High Speed USB v2.0
ugen0.1:  at usbus0
uhub0:  on usbus0
ugen1.1:  at usbus1
uhub1:  on usbus1
ugen2.1:  at usbus2
uhub2:  on usbus2
ugen3.1:  at usbus3
uhub3:  on usbus3
ugen4.1:  at usbus4
uhub4:  on usbus4
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 2 ports with 2 removable, self powered
uhub4: 8 ports with 8 removable, self powered
hdacc0:  at cad 1 on hdac0
hdaa0:  at nid 1 on hdacc0
pcm0:  at nid 3 on hdaa0
hdacc1:  at cad 2 on hdac0
hdaa1:  at nid 1 on hdacc1
hdaa1: No presence detection support at nid 0
pcm1:  at nid 20,27 and 24,25 on hdaa1
pcm2:  at nid 21 and 18 on hdaa1
pcm3:  at nid 30 on hdaa1
da0 at isboot0 bus 0 scbus3 target 0 lun 0
da0:  Fixed Direct Access SCSI-5 device 
da0: 20480MB (41943040 512 byte sectors: 255H 63S/T 2610C)
Boot device: da0
lapic1: Forcing LINT1 to edge trigger
SMP: AP CPU #1 Launched!
lapic3: Forcing LINT1 to edge trigger
SMP: AP CPU #3 Launched!
lapic2: Forcing LINT1 to edge trigger
SMP: AP CPU #2 Launched!
Timecounter "TSC-low" frequency 14584146 Hz quality 1000
ugen4.2:  at usbus4
umass0:  on usbus4
umass0:  SCSI over Bulk-Only; quirks = 0x4100
umass0:4:0:-1: Attached to scbus4
da1 at umass-sim0 bus 0 scbus4 target 0 lun 0
da1: < USB Reader 0001> Removable Direct Access SCSI-0 device 
da1: 40.000MB/s transfers
da1: 1876MB (3842048 512 byte sectors: 255H 63S/T 239C)
ugen4.3:  at usbus4
uhub5:  on usbus4
Root mount waiting for: usbus4
ugen1.2:  at usbus1
ukbd0:  on usbus1
kbd2 at ukbd0
ums0:  on usbus1
uhub5: 4 ports with 4 removable, self powered
ums0: 5 buttons and [XYZ] coordinates ID=1
Trying to mount root from ufs:/dev/da0p2 [rw]...

isboot (iSCSI boot driver) version 0.2.6 と統合デモ版のFreeBSD 9.1-RC1-amd64

$
0
0

Intel以外のNICだと初期接続に失敗するという報告を貰ったので、
急遽修正したバージョンをアップしました。
リンクダウンした後にアップするまでの時間がかかる為と推測できるので、
接続不可の場合は1秒待って再接続を繰り返すようにしました。

また、FreeBSD 9.1-RC1が出ましたので、そちらベースで再度パッキングしました。
このバージョンからDN2800MT用のパッチはすでに適用済みなのでカーネルは
修正していません。


実際の使い方は別ページ
に分けて書きましたので合わせてどうぞ。

作成・アップグレード方法:

# cd /usr/src
# tar xvf /path/to/isboot-0.2.6.tar.gz

# make buildkernel
# make installkernel
or
# cd /usr/src/sys/modules/iscsi/isboot
# make obj
# make depend
# make clean
# make all
# make install

インストール後に、新モジュールを適用する為にサーバを再起動してください。
ログで iSCSI boot driver version 0.2.6 が表示される事を確認してください。

主な修正点:
Intel以外のカードで接続できない問題を修正

ダウンロードリンク:

isboot-0.2.6

ダウンロードリンク(for testing purpose only):

FreeBSD-9.1-RC1-amd64-memstick-isboot-0.2.6.img

istgt (iSCSI target) 20120901版 for Debian/NetBSD/FreeBSD

$
0
0

ちょっと宣伝広告も、
——————————————————————————-
手前味噌ですが、NAS4Free 9.1.0.1.262をリリースしました。
http://sourceforge.net/projects/nas4free/files/NAS4Free-9.1.0.1/

元々FreeNAS Legacyとして継続していたFreeNAS 0.7.5系を継承したもので、
中身はあまりかわっていません・・・。
いわゆる大人の事情により名称が変更されましたです。

最新のistgtを同梱しているのはもちろん、reload機能に対応するため、
NAS4Free側も改良を施しました。

FreeBSD9.1以降に載る機能については出来るだけ取り込みたいとは思っていますが、
RAMDISKのサイズ制限があるので、実現可能かどうかは不明です。
機能追加要望はいつでも歓迎です。<もちろん日本語でOKです。

翻訳データに異常がある場合はこちらで修正可能です。
https://translations.launchpad.net/nas4free

7S-xxx, 9S-xxx を含むFreeNAS 0.7.2.5246以降、または、
すべての FreeNAS 0.7.5 から直接アップグレードも可能です。
ただし設定ファイルの中身が変わるので、アップグレード前後の両方で
設定をバックアップしておくことを強く推奨します。

問題があった場合はこのブログにコメントするか、

aoyama@nas4free.org

にでもメールを投げておいてください。よろしくお願いします。
——————————————————————————-
以上、宣伝広告おわり。

VirtualBox4.2系に対応しました。これにより、qcow, qcow2, qed, vhdx も
直接サポート出来るようになりました。<要VBox4.2インストール

※現時点ではVHDXは読み取り専用のようです。

READ DEFECTを実装した事により、ドライブには常に欠陥は存在しない事を
明示しています。

LUのreload時に失敗すると旧設定が新設定で上書きされて無くなっちゃうので、
その部分だけ戻すように変更しました。

サーバ再起動時にシグナルが届かないというバグも直してあります(汗
Linux用の起動スクリプトを添付しました。(Thanks to David Disseldorp)

ATSコマンドのチューニング、ATA PASS-THROUGHのエラー応答、LOG_SELECT/
LOG_SENSE/サポート外MODE_SENSEのエラー応答などエラーログ低減のための
対策も追加しました。

VBox仮想ディスク対応の注意:
仮想ディスクを有効にしてistgtをビルドするにはVirtualBoxのソースファイルと
VBoxDDU.so、VBoxRT.soが必要です。
デーモン実行時にはVBoxDDU.so VBoxRT.soが必要です。

VirtualBox4系をインストールして、それと同バージョンのソースファイルを
/usr/local/src/virtualboxに展開するか –with-vbox=PATH で展開した場所を
指定します。

VirtualBoxの起動は必要としないので、X11関係のPorts全オプション解除でも
問題ありません。

※FreeBSDの場合は
/usr/ports/emulators/virtualbox-ose/work
/usr/ports/emulators/virtualbox-ose-legacy/work
のどちらかが存在すればそちらを優先的に利用します。
FreeBSDでPortからインストールする場合はコンフィグで簡単に選択可能です。

※Linuxの場合は
/usr/src/virtualbox
を優先的に利用します。

仮想ディスクの利用方法:
LogicalUnitセクションでLUN設定に拡張子ごと指定します。
ファイルサイズは計算上無視されますが、新規作成を防ぐため、
Autoにしておくと良いです。仮想ディスク容量は任意で構いませんが
512バイト/ブロックと固定されています。
※デーモン起動前にファイルの作成が必要です。
Windows等で利用していたファイルなども使えるはずです。
ただし、同時に開くと壊れると思うので注意が必要です。

仮想ディスク設定例(いずれかひとつ):

LUN0 Storage /tank/iscsi/istgt-disk.vdi Auto
LUN0 Storage /tank/iscsi/istgt-disk.vhd Auto
LUN0 Storage /tank/iscsi/istgt-disk.vmdk Auto

仮想ディスク作成例(いずれかひとつ):

# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VDI
# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VHD
# VBoxManage createhd --filename /tank/iscsi/istgt-disk --size 10240 --format VMDK

SIGHUPリロードの現時点の制限:
PG/IG/LU以外の設定はリロードされません。
LUでマッピング中のPGとIGは削除できません。
接続中のLUは変更できません。
接続中のLUを削除すると、そのLUへの全接続が強制終了されます。
(あらかじめ切断した後に削除する事をおすすめします)
IGの変更は既に接続中のホストは次回ログインまで影響を受けません。

istgt (tarball): istgt-20120901.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20120901.tar.gz
# cd istgt-20120901
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20120901.tar.gz
# cd istgt-20120901
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

Portsビルドの設定変更

# cd /usr/ports/net/istgt
# make config

Portsビルドの設定削除

# cd /usr/ports/net/istgt
# make rmconfig

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

リロード(設定再読込み)の方法:

# /usr/local/etc/rc.d/istgt reload

SHA256 (istgt-20120901.tar.gz) = 5adbf9e90c403fa866ca1915bc5b698499a83769007095b3f7a730156a5e405b

主な修正点:
VirtualBox 4.2に対応した、QCOW, QCOW2, QED, VHDXのサポート
i386において実装されていない命令をconfigureで切り分け
サーバ再起動時にreloadなどシグナル不達の問題を修正
Linux用の起動スクリプトを添付(Thanks to David Disseldorp)
ATSコマンドの処理時間削減のチューニング
ATA PASS-THROUGH、LOG_SELECT/LOG_SENSE/サポート外MODE_SENSE
などのエラー応答を追加
READ DEFECTに正常応答を追加(常に欠陥なし)

ESXi5.1のドライバを作成してみる(VIA VT6130/VT6122編)

$
0
0

以前作ったVT6130用のESXi4ドライバをESXi5で使えるように修正して、
バグ修正+αで再度コンパイルしてみました。
動作テストはESXi5.1のみですが、5.0でも同様に使えると思います。

テスト環境はESXi5.1.0, 799733 + VM(Win8プレビュー版)
NEC Express 5800/S70PJ + メモリ16GBに以下の4枚差しです。

Qlogic QLE-8152 (10GbE SFP+ x2)
Intel ET DualPort Server (82576)
GbE-PCIe2 (VT6130)
GbE-PCI2 (VT6122)

今回はさらに「VT6122 の性能(4) – ドライバの強化」にあるパッチを適用して、
http://moimoitei.blogspot.jp/2009/10/adaptive-interrupt-patch-for-via.html

最新istgt-20121004(非公開)において最大速度が出るようにRX/TXリング数などを
を変更してみたところかなり良い結果が出たので、調整版を公開します。

ESXi5ではVMwareの署名がされていない独自ドライバを導入するには、
受け入れ設定を変更する必要があります。
(一度実行すれば再度変更するまで設定は継続します)

# esxcli software acceptance set --level=CommunitySupported

準備が出来たら、適当な場所にドライバをダウンロードして、
esxcliコマンドでインストールします。
ここの例では、/tmpに置いてあると仮定しています。

# esxcli software vib install -v /tmp/net-velocity-1.14-p2.x86_64.vib

VIA VT6130/VT6122用ESXi5.1ドライバ(iSCSI調整済み): net-velocity-1.14-p2.x86_64.vib

ソースファイルは後日まとめてアップする予定です。

既知の問題:
稀に超高負荷時にクラッシュするようです。<原因不明
ハードの状態?によってはドライバ初期化に失敗して通信できない事があります。
電源コンセントを抜いて完全に切った上で、再度立ち上げれば使えるようになります。

パフォーマンステスト結果:
当方のメインZFSプールから切り出したデータストア(2TB)を
計測カードのみLANケーブルを接続し、1本のみのiSCSI接続して実施。

さすがに無調整Intelカードに書き込み処理で負けていますが、
読み込みはかなりまともになっているようです。
ESXi4時代の結果はこちら

ESXi5.1のドライバを作成してみる(intel 82579LM/82574L編)

$
0
0

追記:
net-e1000e-2.3.2 を公開しました。http://shell.peach.ne.jp/aoyama/archives/2907
追記:

富士通 PRIMERGY TX100 S3 に搭載されている 82579LM は ESXi5.1で
認識しないので、intelからダウンロードしたe1000eドライバ(2.1.4)を
ビルドしてみました。
動作テストはESXi5.1のみですが、5.0でも同様に使えると思います。

テスト環境はESXi5.1.0, 799733 + VM(Win8プレビュー版)
富士通 PRIMERGY TX100 S3 + Xeon E3-1240 + メモリ8GBに以下のNIC4枚差しです。

NetXen NX3-20GCu (Qlogic QLE-3142/Dual 10GbE) x3
Intel ET DualPort Server (82576)

↓ドライバ適用するとこんな感じです。

↓ちゃんと動くならメモリ増設してNEC Express5800/110Ge(Socket775)をリプレースする予定です。

(クリックで拡大)

TX100 S3 に搭載されている両方のLANポート(82579LM + 82574L)が対象です。
このドライバは既存ドライバを置き換える目的で作成しているので、
VMware純正ドライバを消したくない人はインストールしないでください。

ESXi5ではVMwareの署名がされていない独自ドライバを導入するには、
受け入れ設定を変更する必要があります。
(一度実行すれば再度変更するまで設定は継続します)

# esxcli software acceptance set --level=CommunitySupported

準備が出来たら、適当な場所にドライバをダウンロードして、
esxcliコマンドでインストールします。
ここの例では、/tmpに置いてあると仮定しています。

# esxcli software vib install -v /tmp/net-e1000e-2.1.4.x86_64.vib

Intel 82579LM/82574L他用ESXi5.1ドライバ: net-e1000e-2.1.4.x86_64.vib

ソースファイルは後日まとめてアップする予定です。

パフォーマンステスト結果:
当方のメインZFSプールから切り出したデータストア(2TB)を
計測カードのみLANケーブルを接続し、1本のみのiSCSI接続して実施。

なぜかMTU9000において82579LMがシーケンシャル読み込みで12MB/sと
とても遅くなっています。
MTU1500で再計測した所、書き込みが若干遅くなるけど、
期待値で読み込みはされているようです。

82574LはMTU9000で速度に問題はありませんでした。

※LANケーブルの差し込みを都度変えているので、
スイッチ側(Dell PowerConnect 5324)のポート(設定)はすべて同一です。

↓いつも通りMTU9000で計測
↓LANポート上側

↓LANポート下側

↓ET拡張カード(igb)

↓MTU1500に変更してみた


NEC Express 5800/S70 タイプPJ とESXi5のDirectPass I/OでNAS4Free用VMを作ってみる

$
0
0

先日購入したTX100S3がすごい使い易くて、S70PJはゴミ同然になったので、
再利用するべくDirectPass I/O用にしてみました。

※本題から外れますが、拡張スロットの相性がおバカすぎて
S70PJは正直あまり使えないです。

現在、ESXi5.1はオンボードSATAのパススルーが使えない
(正確には指定できるけどVMが起動できない)
のでESXi5.0U1+パッチを使います。
補足:
5.1でも ESXi510-201212001.zip を適用すればパススルーが使えるようになりました。

また、VHV(VM内仮想化ソフトでの64ビット実行)はDirectPass I/Oと併用できなさそう。
(VHV起動するとパススルーしたVMの再起動が正常に動かない)

DirectPass I/O を使うには VT-d(IOMMU)機能に対応したマザーとCPUが
必須になります。S70PJのマザーとチップセットはVT-d対応ですのでCPUのみ
交換します。VT-d対応CPU:
http://ark.intel.com/search/advanced/?s=t&VTX=true&VTD=true&EM64=true
(S70PJで使えるのはLGA1156のみです。)

いくつか構成は考えられますが、ここでは他にiSCSIターゲットが存在しないと
仮定して0から構築するようにしてみます。

オンボードSATAをパススルー指定すると、VMの構成ファイルなどを保存する場所
すらなくなってしまうので、拡張カードを1個挿して、そこに起動HDDを付けます。
(もしくは、オンボードにNAS4Freeを置いて、拡張カードのみをパススルー)

ESXi本体のHDDはNAS4FreeVMを起動する目的にのみ使用し、その他の仮想マシンは
すべてNAS4Free上のZFS上に生成したiSCSIターゲットに置くことにします。

NAS4Freeは破損して起動しなくなっても、新規インストール+コンフィグリストアで
即元に戻るのでRAID上にある必要はありません。

以下のようなパーツを増設してパワーアップしてみました。

アップグレードパーツ:
4x 4GB PC3-1333 メモリ (合計16GB)
Core i7-860 (2.8GHz/4コア/8スレッド)
Seagate ST3250312AS 250GB (NAS4Free起動VM用)
SAMSUNG SSD 830 128GB model (ホストキャッシュとZFSキャッシュ用)
(拡張カードのSATAポートに接続します)

拡張カード:
Qlogic QLE-8152 (10GbE/FCoE SFP+ x2)
Asrok SATA3 Card (Marvell 88SE9123)
Intel ET DualPort Server (82576)
PCI ビデオカード (S3 ViRGE)

ZFSプール用デバイス:
2x WESTERN DIGITAL WD30EZRX (3TB/AFT)
(オンボードSATAポートに接続します)

VM設定:
仮想CPU 1個以上 (2コア以上推奨)
メモリ 6GB以上 (4GBが最低ラインですが、8GB以上推奨です。)
HDD 1GB以上 (embeddedの場合は1GBだけでOK)
NIC 1個以上 (iSCSI専用NICを持つのを推奨です。)
PCIデバイス パススルー (AHCIオンボードコントローラ)

起動ハードディスクは何でも良いのですが、TX100S3で使わない物を
流用しました。S70PJ添付のやつでも問題ないと思う。

拡張カードはAHCI対応のものが面倒なくて良いと思う。
例によって認識しないので、map追加したvibをインストールしました。
使ったVIBファイルは別記事でアップします。)

予め、BIOSの設定でAHCIを使うように設定しておきます。
ZFS用ハードディスクはインストール時に付けていてもいなくてもどちらでも。

追記:
あまりにも普通すぎて書き忘れましたけど、ESXi自体はUSBメモリから起動する設定にします。
追記ここまで:

インストールとVM設定:
まず、ESXi5.0U1をインストールして、パッチを当てます。
ブログを書いている時点では、ESXi500-201209001.zip が最新のようです。

パッチ済みESXiが起動したらvSphere Clientから構成>詳細設定から
パススルーデバイスを指定して、サーバを再起動します。

(クリックで拡大、以下同様)

正しくパススルーできると以下のようになります。

ライセンスやネットワークなど基本設定がおわったらVMを作成します。

構成(標準)-> その他 -> FreeBSD 64ビット
NIC 2個以上(最低1個はiSCSI用にVMXNET3を選択)

当方のESXi環境はiSCSI用に10ギガビットと1ギガビットの環境が混在しているので、
独立して動けるように3個のNICを作成しました。

LAN -> E1000 (9.1.0.1.358以降しか使わないならVMXNET3でもOK)
OPT1 (iSCSI 1ギガビット用) -> VMXNET3
OPT2 (iSCSI 10ギガビット用) -> VMXNET3

仮想ディスクはembeddedなら1GBで十分です。
ディスクタイプはシックでもシンでもお好きな方で。

仮想マシンが出来たら、メモリを6GB以上に変更し、CPUコア数も2以上にしておきます。
追加でPCIデバイスを選びオンボードAHCIコントローラを指定します。

変更して追加すると、こんな感じになります。

ここまで出来たら、次はNAS4Freeをインストールします。

NAS4Freeインストール:
どの方法でインストールしても良いのですが、仮想マシンならISOファイルを
直接指定してCD起動するのが手っ取り早いと思う。

https://sourceforge.net/projects/nas4free/files/NAS4Free-9.1.0.1/

ここから最新版のx64版のISOファイルをダウンロードします。
ブログ書き込み時の最新は NAS4Free-x64-LiveCD-9.1.0.1.358.iso になります。

ダウンロードできたら、ESXiマシンの構成>ストレージからデータストアを選択して
右クリックで参照します。データストアブラウザが開いたら、「ファイルのアップロード」で
ISOファイルをアップロードします。

仮想マシンの設定の編集でISOファイルを指定して、パワーオン時に接続をチェックします。

仮想マシンを起動してNAS4Freeを通常の手順で1GBの仮想ディスクにインストールします。
9) Install/Upgrade NAS4Free from LiveCD/LiveUSB を選び、インストーラを
起動して、特に理由がなければ
「1 Install ‘Embedded’ OS on CF/USB Flash Drive or Hard Drive」
を選択します。
(仮想ドライブしか運用しない場合でもOSとデータ領域は別ドライブをお勧めします)
インストールが完了したらISOイメージは不要なのでパワーオン時に接続と接続中を解除しておきます。

Console setupから 7) Reboot System を選択して、再起動します。
NAS4Freeが起動したら、1) Configure Network Interfaces で
初期LANとOPT1などを指定します。
LAN -> OPT1 以下必要数を繰り返して、最後に none を選択して終了します。

2) Configure Network IP Address でLAN用のIPアドレスを指定します。

ここまで出来たら、後はブラウザから細かい設定を行います。

※長いので続きは別投稿で。

ZFS用カーネルメモリの設定をWebGUIから簡単に行うパッケージ(お試し版)

$
0
0

NAS4Free 9.1系に対応しました。

NAS4Free 9.0.0.1.247より以前のバージョンには深刻な問題が生じているので、
9.0.0.1.249または9.1.0.1.358にアップグレードをお勧めします。

NAS4Freeマシンの物理メモリを選択してSave(保存)をクリックするだけです。
もちろんマシン自体を再起動しないと設定は有効になりません。

なおVirtualBoxを併用する場合は仮想マシン用に利用するメモリを差し引いて設定してください。

ZFS kernel tune (WebGUI extension)
http://www.peach.ne.jp/archives/nas4free/ext/zfskerntune-20121020.tar.gz

インストール例:

# mkdir /mnt/data/zfskerntune
# cd /mnt/data/zfskerntune
# fetch http://www.peach.ne.jp/archives/nas4free/ext/zfskerntune-20121020.tar.gz
# tar xvf zfskerntune-20121020.tar.gz
# cd zfskerntune
# ./zfskerntune-install.php

変更点:
NAS4FreeでWebGUI部分が動かないのを修正しました。
ZFS v28のパラメータを追加しました。

※再起動するとWebGUIは消えるので必要になったら再インストールしてください。
※バージョンは依存しないはずですが、NAS4Free 9.1以降をサポート対象にします。
※FreeNAS 0.7.2/0.7.5 の互換性も付けてありますがテストはあまりされていません。

ESXi5.0からESXi5.1にESXiサーバを置き換えます。

$
0
0

Socket775のESXi5.0からSocket1155の5.1にサーバ環境を置き換えました。
ここで使ったPRIMERGY TX100 S3 は静音なので結構おすすめです。

このESXiサーバは、ブログ等の運用はもちろん、NAS4Freeの正規版ビルドや
動作テスト、istgtの開発、ESXi用ドライバ作成にも使われています。

もちろん最新istgtと10GbEによるiSCSIターゲットを使ったデータストアを
利用しています。ESXi3.5時代のデータストアなど一部はGbEも併用中。

流行りものだからってわけではないのですが、運用途中でアップグレードを
するのも面倒なので最初からESXi5.1を使うようにしました。
旧マシンも10GbEを使っていましたけど、あくまでサブ的な使用だったので、
今後は10GbEをメインに構成を変えていこうと思っています。

今回はデュアルポート10GbEを3枚搭載したので、
ESXiサーバの総帯域 64Gbps!!
(まぁ、フルスピードで動きそうにないしょぼいCPUですが…)

ホストキャッシュいれるか迷ったけど、結局付けませんでした。
10GbEのiSCSI上で動かすから多少遅くてもいいや的な。

旧マシンもiSCSIデータストアのみの完全独立型なので、
全データストアを新マシンで同時に接続して、各VMを個別に停止して、
ネットワーク構成やメモリ値を修正しつつ新マシンで順次起動しました。

基本ユニット:
富士通 PRIMERGY TX100 S3

追加パーツ:
Xeon E3-1240 (3.3GHz/4core/8thread)
SanMax SMD-32G28ECP-13H-Q DDR3-1333 32GB (8GBx4)
NetXen NX3-20GCu (Qlogic QLE-3142/Dual 10GbE) x3
Intel ET DualPort Server (82576)
Silicon Power Ultima II I-Series 4GB (ESXi起動用)

ストレージ:
HDD なし
(データストアは10GbE/GbE混在ですべてistgtによるiSCSIで割り当て)

ハイパーバイザ:
ESXi5.1.0(799733)

旧マシン:
NEC Express5800/110Ge
Pentium DC E6700(3.2GHz/2core) + 8GB + HDDなし
ESXi 5.0.0 821926

↓実際に動いている所。メモリ使用量は12/32GBぐらいですね。

(クリックで拡大)

istgt (iSCSI target) 20121028版 for openSUSE/Debian/NetBSD/FreeBSD

$
0
0

恒例かもしれない宣伝もちょこっと。
——————————————————————————-
NAS4Free 9.1.0.1.394をリリースしました。
http://sourceforge.net/projects/nas4free/files/NAS4Free-9.1.0.1/

大きな変更はSamba 3.6.8を搭載している事と、ここ最近のESXiマシン高速化によるテストで10GbEの改善を行っているistgtとVMXNET3ドライバを同梱した事でしょうか。
あと要望が出ていた、電源コントロールとCPU周波数制御がWebGUIから操作可能になりました。
CLIだけですが acpiconf を追加してあるのでS3スリープ&WOLは出来るようになっています。

ちょっと画像が重いですが、ここにS70PJ+VMXNET3のテスト結果を投稿してあります。
http://forums.nas4free.org/viewtopic.php?f=78&t=1465#p6133
——————————————————————————-

readv/writevを使った複数バッファの一括処理に変更しました。
システム関数の呼び出し回数が減りました。
また、SO_RCVLOWATとNOTE_LOWATを用いて読み出し待ちを回避する試みもしています。

また、エラーが出ていてもどのターゲットか良くわからない事が多いので、
少しログ情報を追加してみました。

あとは以前からずっと存在していたマイナーバグを修正しました。
これにより、FreeBSDでも

# camcontrol modepage /dev/da9 -m 0x08 -e

みたいな感じでライトキャッシュの動的変更が可能になります。

istgt (tarball): istgt-20121028.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20121028.tar.gz
# cd istgt-20121028
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20121028.tar.gz
# cd istgt-20121028
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

Portsビルドの設定変更

# cd /usr/ports/net/istgt
# make config

Portsビルドの設定削除

# cd /usr/ports/net/istgt
# make rmconfig

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

リロード(設定再読込み)の方法:

# /usr/local/etc/rc.d/istgt reload

SHA256 (istgt-20121028.tar.gz) = 2daa454767ca4b731c1eac10f095515119a09f3586fbbf1af70d344da6a7a4dc

主な修正点:
readv/writevを使った複数バッファの一括処理に変更
SO_RCVLOWATとNOTE_LOWATを利用して受信するよう変更
エラーログ情報の追加
MODE_SENSEの変更可能ページのバグを修正

↓ESXi5.1のVMでVMXNET3使って10GbEのターゲットと通信するとこんな感じに。

NAS4Free 9.1.0.1 で phpVirtualBox と VirtualBox 4.2系 を使う。

$
0
0

NAS4Free 9.1.0.1.431 以降ではPHPアプリケーションに必要なモジュールが
予めインストール(バンドル)されているので、追加作業なしにすぐに
インストールできるようになっています。

FreeBSD ドライバもすべてバンドル済なので XXX_load=”YES” を loader.conf
に書けばFreeBSD 添付のドライバもすべて利用できます。

↓NAS4Free ダウンロードはこちらからどうぞ。
https://sourceforge.net/projects/nas4free/files/NAS4Free-9.1.0.1/

インストール手順は以下のようになります。

1.設置するディレクトリをデータディレクトリに用意する。 (/mnt/data など)
2.拡張機能パッケージをダウンロートしてインストーラを起動する
3.NAS4Free の管理画面の拡張タブからphpVirtualBoxを起動する

詳細な手順は英語ですがこちらから参照できます。
https://code.google.com/p/nas4free-extensions/wiki/InstallVirtualBox

以下の作業例ではテスト環境の都合上、/mnt/ufs-data をデータ領域として使いました。

nas4free:~# cd /mnt/ufs-data/
nas4free:/mnt/ufs-data# mkdir VirtualBox
nas4free:/mnt/ufs-data# cd VirtualBox
nas4free:/mnt/ufs-data/VirtualBox#
nas4free:/mnt/ufs-data/VirtualBox# set LATEST=`fetch -o - http://nas4free-extensions.googlecode.com/files/LATEST` ; fetch "$LATEST" ; tar xf `basename $LATEST` ; ./vbox_configure.sh
-                                             100% of   81  B  556 kBps
vbox_installer_0.1.1_beta.tar.gz              100% of   12 kB   57 MBps

VirtualBox on NAS4Free config (version 0.1 beta)
Last update: 10/29/2012
hint: press [ENTER] to show menu again

main menu:
1) Install
2) Update
3) Misc
4) Uninstall
5) Exit
Choose: 1
Are you sure? [y/N] y    ←(実行してもいい?) 実行するのでyを選択
The setup will use the following user to setup VirtualBox:
user: 'vboxuser' with home at: /mnt/ufs-data/vboxuser
Do you want to change the user? [y/N] n    ←(他のユーザに変更する?)で変更しないのでnを選択
[WARNING] The directory /mnt/ufs-data/vboxuser
          doesn't exist. Create it or abort.
Do you want to create it? [y/N] y    ←(作成してもいい?)ホームディレクトリを作成するのでyを選択
fetch soap ...
gsoap.tbz                                     100% of 1243 kB  315 kBps
unpack soap ...
fetch web gui extensions ...
www.tar.gz                                    100% of  473  B 3725 kBps
install web gui extension ...
fetch virtualbox ...
virtualbox-ose-4.2.2.tbz                      100% of   24 MB 3279 kBps
virtualbox-ose-kmod-4.2.2.tbz                 100% of  120 kB  962 kBps
unpack virtualbox ...
install libs ...
libvncserver.tbz                              100% of  384 kB  182 kBps
fetch phpVirtualbox ...
phpvirtualbox-4.2-4.zip                       100% of 3577 kB 1107 kBps
unpack phpVirtualbox ...
create group vboxusers ...
create user vboxuser ...
[INFO] homedir '/mnt/ufs-data/vboxuser' doesn't exist. I create it for you.
[INFO] user 'vboxuser' added.
configure phpVirtualbox ...
update rc.conf ...
add postinit script ...
installing postinit script ...
mount virtualbox ...
restart webserver ...
load kernel modules ...
set websrv auth ...
start vboxwebsrv ...
done

main menu:
1) Install
2) Update
3) Misc
4) Uninstall
5) Exit
Choose: 5
nas4free:/mnt/ufs-data/VirtualBox#

上記作業で必要な一般ユーザ(vboxuser)が作成されて準備が整います。
パスワードはランダムに設定されますので、必要であればNAS4Free側で変更します。

↓NAS4Freeの拡張タブからphpVirtualBoxを起動します。

↓管理者ユーザ名とパスワードはそれぞれ admin が初期値になります。
↓※ファイルメニューのパスワードの変更で後で変更できます。

↓左上の File から Preferences を選択をします。

↓Language の中から日本語を選びOKを押します。

(クリックで拡大、以下同様)

あとはWindows版とほぼ変わらない手順で仮想マシンを作成したり管理できます。

↓NAS4Free(とFreeBSD版)固有の設定としては、画面なしで動かすので、
↓ディスプレイの設定 → リモートディスプレイでVNC接続する為のポートを
↓1個づつ個別に指定する必要があります。(一般的には5900から順番に使います)

↓また、USBコントローラは標準で付いていないので無効にしておく必要があります。
↓追記:USBコントローラはあるけどUSB2.0がないのでした。

↓VirtualBox用ゲストアディションはここからダウンロードしておきます。
↓VBoxGuestAdditions_4.2.2.iso
http://download.virtualbox.org/virtualbox/4.2.2/

↓起動したらVNC ビューアを使って指定したポートに接続します。
↓※5900の場合は IP:0 のように指定できます。同様に5901ならば IP:1 です。
↓※パスワードはデフォルトでは指定なしです。

↓インストール過程は省略して、英語版 WindowsXP を動かすとこんな感じです。
CrystalDiskMark 3 Shizuku Editionを起動してみました。
↓Windows XP on VBox + NAS4Free 9.1.0.1(UFS) on ESXi5.1 + 10GbE(iSCSI) connected to istgt-20121028 + ZFS RAIDZ2

2重仮想化の割りにかなり良い速度が出ているからびっくりした。

Windows 8 Pro を購入したので記念にベンチマークを。

$
0
0

ダウンロード版ですけどねw

そんなわけでアップグレードしたVMの情報をちょこっと載せてみる。

↓グラフィック パフォーマンス 3.0(ぁ

(クリックで拡大)

↓Windows Server 2008R2 の Active Directory も参加できます。
Windows 8 Media Center Pack も入れてみた。

(クリックで拡大)

↓特に語ることは無いはずなベンチマークを。

(クリックで拡大)

ディスクが故障しちゃった(笑)のでZFSプールを強化してみた。

$
0
0

Model Family: Seagate Barracuda LP
Device Model: ST32000542AS

使っていたのはこのモデル。
取り外してゼロフィルして確認したところ、
Reallocated_Sector_Ct が 210個ほど発生していました。
稼働時間と電源投入回数は以下のとおり。

Power_On_Hours 17289
Power_Cycle_Count 81

1万7289時間というと約720日間ですね。東日本大震災 と 計画停電を
経験してきたディスクもご臨終になったようです。

HDD交換自体はリムーバブルベイなのでケース開ける必要なかったのですが、
念の為に全VMを停止させたので、ついでにカードも変更しました。

↓旧構成
Intel Ethernet Server Adapter X520-DA2 (Dual SFP+/82599)
Intel Gigabit ET Dual Port Server Adapter (82576)
ASRock SATA3 Card (SATA3 x2/eSATA共有x1)
Intel PRO/1000 MT Dual Port Server Adapter (82546)
Samsung SSD 830 128GB x1

↓新構成
Intel Ethernet Server Adapter X520-DA2 (Dual SFP+/82599)
Intel Gigabit CT Desktop Adapter (82574L)
High Point Rocket 640L (SATA3 x4)
Intel PRO/1000 MT Dual Port Server Adapter (82546)
Samsung SSD 830 128GB x2

10GbEがメインになったので、使わないETデュアルポートは外しました。
かわりに Rocket 640L という PCIe x4の4ポートSATA3カードを導入しました。

簡単に言うとこのカードは PCIe x1の2ポートカードを二枚合体させたようなものです。
内部バスPCIe2.0x2で最大10Gbpsの帯域が確保できます。
SSDを二台つけるにはまったく向きませんけど、HDDならSATA2で4台接続しても
十分帯域を確保できます。(今回はHDD3台のみ接続)

そんなわけで、ZFSプールを以下のような構成にしました。

HDD 2TB x7 + SSD 128GB x2

接続は 10GbE iSCSI x2 + GbE iSCSI x2(予備) で
4台の物理ESXiサーバに提供しています。

↓こんな状態になりました。

[root@aria ~]# zpool status
  pool: tank
 state: ONLINE
  scan: resilvered 711G in 14h1m with 0 errors on Thu Dec  6 00:11:27 2012
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            ada0p1  ONLINE       0     0     0
            ada7p1  ONLINE       0     0     0
            ada6p1  ONLINE       0     0     0
            ada8p1  ONLINE       0     0     0
            ada4p1  ONLINE       0     0     0
            ada2p1  ONLINE       0     0     0
            ada1p1  ONLINE       0     0     0
        logs
          mirror-1  ONLINE       0     0     0
            ada3p1  ONLINE       0     0     0
            ada5p1  ONLINE       0     0     0
        cache
          ada3p2    ONLINE       0     0     0
          ada5p2    ONLINE       0     0     0

errors: No known data errors

[root@aria ~]# zpool iostat -v 5
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
tank        4.88T  7.75T     33     71  3.07M  1.04M
  raidz2    4.88T  7.75T     33     70  3.07M   976K
    ada0p1      -      -     23     22   451K   205K
    ada7p1      -      -     23     22   452K   205K
    ada6p1      -      -     23     22   451K   205K
    ada8p1      -      -     23     21   452K   205K
    ada4p1      -      -     22     21   449K   205K
    ada2p1      -      -     22     21   448K   205K
    ada1p1      -      -     22     21   449K   205K
logs            -      -      -      -      -      -
  mirror    2.66M  15.9G      0      1      0  93.1K
    ada3p1      -      -      0      1    490  93.1K
    ada5p1      -      -      0      1    491  93.1K
cache           -      -      -      -      -      -
  ada3p2    3.52G  99.7G      0     18     85  2.22M
  ada5p2    3.05G   100G      0     16     92  1.92M
----------  -----  -----  -----  -----  -----  -----

見ての通りミラー構成(RAID1)の16GBログデバイスと
ストライプ構成(RAID0)の200GBキャッシュが付きました!

えーと、L2ARCとZILが共有ですみません・・・。
書き込み速度が160MB/s以上あれば共有してもそんなに影響ないはず。

両方とも使い捨てる予定なのであまり寿命は気にしていません。
単体ドライブだとオンボートSATA3接続のSamsung SSD 830はこれぐらい出ます。
(FreeBSD 9.1-RELEASE で計測)

[root@aria ~]# dd if=/dev/ada3 of=/dev/null bs=1m count=4096
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.955392 secs (479595671 bytes/sec)
[root@aria ~]# dd if=/dev/ada5 of=/dev/null bs=1m count=4096
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.952948 secs (479726594 bytes/sec)

↓軽く負荷をかけるとこんな感じに

               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
tank        4.88T  7.74T      1  4.23K  57.0K   375M
  raidz2    4.88T  7.74T      1  1.70K  57.0K   202M
    ada0p1      -      -      1    476  10.5K  40.6M
    ada7p1      -      -      0    476  6.90K  40.6M
    ada6p1      -      -      1    476  7.20K  40.6M
    ada8p1      -      -      1    477  9.30K  40.6M
    ada4p1      -      -      1    477  10.4K  40.6M
    ada2p1      -      -      1    477  8.30K  40.6M
    ada1p1      -      -      1    476  7.80K  40.6M
logs            -      -      -      -      -      -
  mirror     804K  15.9G      0  2.53K      0   173M
    ada3p1      -      -      0  2.53K      0   173M
    ada5p1      -      -      0  2.53K      0   173M
cache           -      -      -      -      -      -
  ada3p2    7.54G  95.7G      0      1      0   230K
  ada5p2    7.13G  96.1G      0      0      0      0
----------  -----  -----  -----  -----  -----  -----

おもったよりも書き込みが多かった(汗)
SSDは256GBモデルのが良かったかもしれない。


NEC Express 5800/S70 タイプPJ とESXi5のDirectPass I/OでNAS4Free用VMを作ってみる(続き)

$
0
0

NEC Express 5800/S70 タイプPJ とESXi5のDirectPass I/OでNAS4Free用VMを作ってみるの続きです。

ESXi5.1新パッチ ESXi510-201212001.zip でパススルーの問題が
修正されたようなので試してみました。
結論から言うと特に問題なく使えました。実際のベンチマークは画像をどうぞ。

現在のハード構成は以下のようなものです。

NEC Express 5800/S70 PJ (3450チップセット)
Core i7-860 (2.8GHz/4コア/8スレッド)
2x Transcend JetRam JM1600KLH-16GK (合計32GB)
Silicon Power Ultima II I-Series 4GB (ESXi起動用)

拡張カードに接続:
Crucial m4 64GB (NAS4Free起動VM用 VMFS領域)

オンボードに接続:
SAMSUNG SSD 830 128GB (パススルー ZFSキャッシュ/ZIL用)
2x Western Digital WD30EZRX (パススルー ZFSミラー用)

拡張カード:
Qlogic QLE-8152 (10GbE/FCoE SFP+ x2)
玄人志向 SATA2I2-PCIe (Sil 3132)
Intel ET DualPort Server (82576)
PCI ビデオカード (S3 ViRGE)

※本当はZILが単一だと故障した時に処理量が極端に減るのでミラー構成で
付けた方がいいです。
キャッシュ(L2ARC)は読み込み専用でかつオンメモリからあふれるデータを
格納する場所なのでメモリが十分あれば壊れてもさほど影響は与えません。

SSDを2台使った構成の参考用:
http://shell.peach.ne.jp/aoyama/archives/2351

↓ESXi5.1.0 914609 でAHCIコントローラをパススルーしています。
ESXi51-20121222

↓NAS4Free 9.1.0.1 9S-573 でZFSミラー+キャッシュ付きが動いています。
ESXi51-20121222A

↓テストVMで計測した時のiSCSIトラフィック量
ESXi51-PJ70-20121222

CrystalDiskMark 3 Shizuku Editionで計測してみました。
ESXi51-PJ70-20121222A
(クリックで拡大)

Z87X-UD5H + Core i7-4770 で ESXi5.1U1(デバイスパススルーあり) を動かしてみる。

$
0
0

ESXi5.1U1でパススルーを試してみましたが、Z87チップセットのAHCIがリストに出てこないようです。
このマザー固有なのか不明ですが…。

マシン構成:
CPU Core i7-4770 (4core/8Thread, 3.4GHz-3.9GHz, VT-dあり)
マザー GIGABYTE Z87X-UD5H (標準ATX)
メモリ Crucial CT2KIT102464BA160B (8GBx2, PC3-12800)
電源 Corsair AX760 (Seasonic OEM, 760W)

拡張カード:
Qlogic QLE-8152 (10GbE/FCoE SFP+ x2)
Intel ET DualPort Server (82576)
Intel Gigabit CT Desktop Adapter (82574L)

ストレージ:
Silicon Power Ultima II I-Series 4GB (ESXi起動用)
(ディスクレス仕様、10GbEのiSCSIデータストアを利用)

このマザーはNICが両方とも認識しないので独自ドライバを追加します。
今回は起動用とは別のUSBメモリーにFAT16領域を作りインストールしました。

I210 → igb ドライバ
I217 → e1000e ドライバ
QLE-8152 → qlge ドライバ

になります。

igbドライバはIntelドライバがVMwareサイトに登録されています。
↓ESXi 5.x driver package includes version 4.2.16.3 of the Intel igb driver
https://my.vmware.com/web/vmware/details?downloadGroup=DT-ESXI5X-INTEL-IGB-42163&productId=285
ダウンロードしてZIP解凍するとドライバZIPとvibが出てきます。

e1000eドライバは独自ドライバ(e1000e-2.3.2)を使っています。
※ダウンロードページは後ほど書きます。
net-e1000e-2.3.2 を公開しました。http://shell.peach.ne.jp/aoyama/archives/2907

↓VMware ESXi 5.0 Driver for QLogic 10 Gigabit Ethernet Adapter
https://my.vmware.com/web/vmware/details?downloadGroup=DT-ESXI50-Qlogic-qlge&productId=285

ESXiはFAT16しか認識しないらしいので、2GB未満のGPT領域を作り、
FAT16フォーマットします。

USBメモリー作成例(FreeBSD/NAS4Freeでda1の場合):

# gpart create -s gpt da1
# gpart add -t linux-data -s 2000m da1
# gpart show da1
=>     34  7578941  da1  GPT  (3.6G)
       34  4096000    1  linux-data  (2G)
  4096034  3482941       - free -  (1.7G)

# newfs_msdos -F 16 /dev/da1p1

完成したら、Windowsからでもいいので、そこにドライバをコピーします。

USBメモリーからのドライバインストール方法:

1.ESXiサーバのログイン機能を有効にしてログインする
  「Troubleshooting Options」の「Enable ESXi Shell」を選択して、
  ALT+F1を押してサーバにrootユーザでログインします。

2.USBパススルー機能を停止する

# /etc/init.d/usbarbitrator stop

3.ドライバUSBメモリを挿入する(どのUSBポートでもOK)
  ※この時点で /vmfs/volumes/NO_NAME/ に自動マウントされます。

4.ドライバ受け入れ設定を変更する

# esxcli software acceptance set --level=CommunitySupported

5.必要なドライバをインストールする

# esxcli software vib install -d /vmfs/volumes/NO_NAME/igb-4.2.16.3-offline_bundle-1138313.zip
# esxcli software vib install -v /vmfs/volumes/NO_NAME/net-e1000e-2.3.2.x86_64.vib

↓QLE-8152用ドライバ

# esxcli software vib install -d /vmfs/volumes/NO_NAME/qlge-1.0.0.47-offline_bundle-463318.zip

6.ESXiサーバを再起動する
  exitでShellを終了してALT+F2を押して戻ってF12で再起動します。

↓実際にドライバを入れた直後の状態
Z87X-UD5H-1
(クリックで拡大)

↓パススルーを構成してみる
Z87X-UD5H-2
(クリックで拡大)

↓パススルー後の基本情報はこんな感じ
Z87X-UD5H-3
(クリックで拡大)

↓仮想マシンのWin7にI217-VとET dualをパススルー割り当て
Z87X-UD5H-4
(クリックで拡大)

↓10GbE にあるVM中からCrystalDiskMarkを実行してみる
Z87X-UD5H-5
(クリックで拡大)

istgt (iSCSI target) 20141125版 for openSUSE/Debian/NetBSD/FreeBSD および isboot (iSCSI boot driver) version 0.2.8 と統合デモ版のFreeBSD 9.3/10.0

$
0
0

Raspberry Piの作業が全然進んでないので逃避というわけではないけど・・・

NAS4Free 9.3.X.Xの改版に伴うテスト作業を実行するために、
Windows Server 2012 R2 での動作を検証して動かない部分を直しました。
主に複数イニシエータ使用が前提の修正です。
NAS4FreeのSVNにはコミット済みなので次のリリースから適用されます。

istgt (tarball): istgt-20141125.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20141125.tar.gz
# cd istgt-20141125
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20141125.tar.gz
# cd istgt-20141125
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

MD5 (istgt-20141125.tar.gz) = 95dc647d7bf69f10bb6b09ae9d63f0c5
SHA256 (istgt-20141125.tar.gz) = 8fa4120091ce9be694b5d2ff3d6d188386bec4921a3d0a837b6860ea3fdc79bf

主な修正点:
複数イニシエータから登録されたキーを正しくコピーできていなかった問題を修正。
各ターゲット毎に3接続以上(または3台以上のイニシエータ)から接続した場合にRESERVE/RELEASEが期待通り動かない問題を修正。

また、FreeBSD8/9/10に対応したブートドライバも更新しました。
0.2.7でVIMAGEカーネルが対応できなかったので0.2.8になってます・・・。
ビルドは単独のMakefileを用意しましたので、任意の場所に展開して
そのまま make すれば出来上がります。

isboot の使い方は以前のページを参考にしてください。

isboot (iSCSI boot driver) version 0.2.8 ダウンロードリンク:isboot-0.2.8

MD5 (isboot-0.2.8.tar.gz) = fd29a2537ede3cf223ac5c1f07e8128c
SHA256 (isboot-0.2.8.tar.gz) = a513c1efb42819f8fa33ad497d1253d09b86ecefa58a13f70ba36a52c2b2eb12

統合デモ版 ダウンロードリンク(for testing purpose only):

FreeBSD-10.0-RELEASE-amd64-memstick-isboot-0.2.7.img


FreeBSD-9.3-RELEASE-amd64-memstick-isboot-0.2.7.img

(少なくともFreeBSD的には)世界初になるLZ4等複数圧縮対応メモリディスク(/dev/xmd)を搭載したNAS4Free 9.3.0.2.1190がリリースされました

$
0
0

2014/12/21追加:
DHCPの設定によっては正しく動かない問題などがありましたので修正されたバージョン1213がリリースされました。
https://sourceforge.net/projects/nas4free/files/NAS4Free-9.3.0.2/9.3.0.2.1213/
2014/12/21追加ここまで:

ChromeでのUI系の不満を解消するべくメインブラウザをChormeにしているので他ブラウザーでは問題があるかも。
今回のアップデートでは、

インストール先に2GBを想定した各種サイズの拡張
FreeBSD 9.3系をベースに使用
Samba 4.1系および SMB3 をデフォルトに使用
LiveUSBなどにデフォルトスワップ領域を常時設置(ユーザが設定追加するまでのつなぎ)
圧縮機能付きのメモリディスク(geom_xmd.ko)を採用
メモリ512MB搭載マシンでの動作を保証(LiveCDモードを除く)

になったのが大きな変更です。

マイナー系では

メモリ2GB未満のマシンに対するLiveCDモードの廃止
(以後はインストールとアップグレードのみ対応/LiveUSBおよびインストール後は引き続き動作保証)
xzを使った高圧縮を全面的に採用
net.inet.carp.preempt使用時のHAST処理の改善
HASTボリュームのインポート処理改善
HASTボリューム上のNFSサービスのサポート
ZFSにおけるログデバイスの追加削除
HTTPSにおけるSSLv3の廃止
2048ビットキーおよびSHA256ハッシュを使った自己証明書の添付
WebGUIの許可ホストを追加
Windows Server 2012 R2での動作確認済みのistgt-20141125を搭載

などです。
ダウンロードはこちらから:


http://sourceforge.net/projects/nas4free/files/NAS4Free-9.3.0.2/9.3.0.2.1190/

今回のNAS4Freeには、実験的なメモリディスク(geom_xmd.ko)および制御コマンド(/sbin/xmdconfig)を搭載しています。
また xmdの圧縮機能使用を前提として mfsroot を /usr/local とそれ以外に分離。
もちろんxmdなんてなくても動作するけど…消費メモリは激しいです。

主な機能としては、

1. swap_pagerを使った動的な可変サイズメモリ確保/解放(ゼロフィル等の同値やTRIMにも対応)
2. リアルタイムのブロックレベル圧縮機能
3. 複数の圧縮方式や圧縮レベルに対応(無圧縮, LZ4/LZ4HC, ZLIB, LZMA2)
4. 圧縮方法はセグメント単位で独立なのでいつでも xmdconfig から変更可能
5. mkuzip(8) や mkulzma(8) による事前圧縮済みの mfsroot に対応
6. mdconfig(8) と同等のインターフェースを用意

実際に512MBの仮想マシン中で使うとこんな感じに(表示上の空きメモリは150~250MB程度)

20141213b
(クリックで拡大)

全体として1GBのメモリディスクを作成して約330MBを利用している画像です。
768MBのディスクが、157085696バイトのスワップメモリ割り当て。(805306368バイト中19%を割り当て済み)
UFSレベルでは302MB使用しているが、生データは137288660の圧縮データとして保持中。
カレントの圧縮方式はLZ4、圧縮レベルは6を指定済み。(LZ4ではレベル4以上はLZ4HCを使うので実際はLZ4HC)
圧縮方式とレベルはもちろん /sbin/xmdconfig でいつでも変更可能です。

xmdconfigによるオペレーション例:

Using -a and -d option is same as mdconfig:
    # xmdconfig -a -s 256m
    # xmdconfig -d -u 3

Change to fastest LZ4 compression
    # xmdconfig -m -u 0 -t lz4 -c 1

Change to LZMA compression with level6
    # xmdconfig -m -u 1 -t lzma -c 6

Change to ZLIB compression
    # xmdconfig -m -u 2 -t zlib

List the disks with verbose
    # xmdconfig -l -v
    xmd0    preload    128M lz4     1        12% (16528790/16608053/134217728)
    xmd1    swap       768M lzma    6         9% (62249776/74780672/805306368)
    xmd2    swap       128M zlib    1         6% (56211/266240/4128768)

なお、ソースファイルの用意が間に合っていないので、まずは9.3用のバイナリ形式のみを提供:
xmd-0.3.2.tar.gz (binary)

istgt (iSCSI target) 20150713版 for openSUSE/Debian/NetBSD/FreeBSD および isboot (iSCSI boot driver) version 0.2.11 と統合デモ版のFreeBSD 10.2

$
0
0

CD/DVDドライブをパススルーした場合に偶数サイズではないみたいな警告が出るので修正しました。
MacOSで問題が出るらしいmutexの初期化位置を変更しました。
また、キューサイズはディスク型のみ変更可能に制限しました。
isbootの方は10.2でpanicする問題、残してあったイニシエーターとの接続用の変数などを削除、ヘッダーファイルの整理を行いました。
FreeBSD10では新しいiscsidが追加されている事だしiscsi_initiator.koに依存したコードはおそらく今後追加することはないと思われる。

NAS4FreeのSVNにはコミット済みなので次のリリースからisboot 0.2.11が適用されます。
(istgtは既に最新版が搭載済みです)

istgt (tarball): istgt-20150713.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20150713.tar.gz
# cd istgt-20150713
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20150713.tar.gz
# cd istgt-20150713
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

MD5 (istgt-20150713.tar.gz) = da136ed0fe2d7acd01bf4fa1dbf5b330
SHA256 (istgt-20150713.tar.gz) = 7316acade0ad5d28d8835e4558567c7fdb2905f0b72925cac143b4172ac2de43

主な修正点:
パススルー型でバッファーを4バイト境界に整列
mutexの初期化位置の変更
キューサイズの変更をディスク型のみに制限

isboot の使い方は

以前のページを参考
にしてください。

isboot (iSCSI boot driver) version 0.2.11 ダウンロードリンク:

isboot-0.2.11

MD5 (isboot-0.2.11.tar.gz) = 9b14e047ce25ab78ce95fbeadc1913b2
SHA256 (isboot-0.2.11.tar.gz) = c09ade1e119447650c72d4a3387a934f0be7b6f5fb2c9aa5320e284fb2d1ec47

統合デモ版 ダウンロードリンク(for testing purpose only):

FreeBSD-10.2-RELEASE-amd64-memstick-isboot-0.2.11.img

Viewing all 20 articles
Browse latest View live