基于easeboot的无盘win7方案二(使用FBWF实现多主机共用同一镜像及零回写)

基于easeboot的无盘win7方案二(使用FBWF实现多主机共用同一镜像及零回写)

一,方案概述

此方案在方案一的基础上进行改进,使用了FBWF软件来实现多主机共用同一镜像及零回写。具有以下特点:

1.使用到的软件除操作系统外,都可以免费取得。

2.使用FBWF来实现客户机内存回写,所有文件的写操作都重定向到内存,对ISCSI SERVER 没有写操作,减少了网络流量。由于系统镜像制作完成后,只有读操作,所以可以放心使用SSD硬盘,不必担心SSD硬盘的寿命问题。

3.防木马及病毒,系统镜像制作完后,将ISCSI SERVER的镜像权限改为只读模式,将不会有木马及病毒的问题,如果客户机中了木马或病毒,重启后便可清除。

二,软件准备

1.easeboot.tar.gz easeboot.com/easeboot.tar.gz
2.win 7 安装盘
3.FBWF FOR win7 megaupload.com/?d=24F0NH09
4.FREENAS sourceforge.net/projects/freenas/
5.Router OS

三,网络架构
如图

四,安装设置路由器
1.Router OS 中用于LAN接口的网卡请选用1000M网卡,WAN接口的网卡可用100M的网卡。按IP地址为192.168.1.254/24安装设置好Router OS路由器后,再用如下命令设置DHCP 服务器:
/ip dhcp-server network
addaddress=192.168.1.0/24 gateway=192.168.1.254 dns-server=192.168.1.254next-server=192.168.1.250 boot-file-name=easeboot.kpxe
注:next-server指向freenas的tftp服务,easeboot.kpxe文件在easeboot.tar.gz中。在后面的freenas安装设置中,会将easeboot.kpxe复制到freenas的tftp服务目录下。

2.用winbox登陆Router os ,在FIREWIRERULE下新建一条规则,IN.INTERFACE与OUT.INTERFACE都为LAN网络接口。---做这条规则是因为 WIN7的iscsi请求包都会发到网关,再由网关转发到ISCSI SERVER.ISCSISERVER的响应包直接发给win7客户机。如果没有做个步骤,win7会找不到网络硬盘。这也是要求LAN接口使用 1000M网卡的原因。

五.安装设置FREENAS
1.安装过程请参考http://bbs.easeboot.com/viewtopic.php?f=4&t=12
2.设置ISCSI Target时请使用file模式,Target的大小建议20G或更大,一般win7默认安装后占空间12G.
如果要求高性能,建议使用ZFS文件系统,另外FREENAS作者博客http://shell.peach.ne.jp/aoyama/上有ZFS 13版的FREENAS.性能更强。使用SSD固体硬盘也是提高性能的一个方法
3.开启TFTP服务,从FREENAS首页的[SERVICE]进入[TFTP],开启TFTP服务,同时为TFTP服务指定一个根目录,再将 easeboot.tar.gz中的easeboot.kpxe文件复制到TFTP服务根目录下。具体方法可以通过winxp自带的命令行tftp工具上传便可,或通过FREENAS的SMB/FTP服务。

六.安装win7+FBWF镜像
1.安装win7过程与方案一的方法一样:http://bbs.easeboot.com/viewtopic.php?f=4&t=9
2.安装完win7后,进入win7系统,开启administrator帐号,注销,用administartor登陆后,删掉安装时新建的帐号。
3.安装常用软件,禁用虚拟内存,关机。
4.用另外一台winxp连接刚才的装有win7系统的iscsi target.备份里面的windows/bootstat.dat文件.然后断开。
5.打开win7客户机,安装FBWF。本文提供的FBWF可能要安装两次才能安装成功。安装成功后,重启。在命令行下输入fbwfmgr查看是否安装成功。如果安装成功会显示当前FBWF状态,进一步设置,输入fbwfmgr /enable 开启,输入fbwfmgr /addvolume c:来保护C盘。重启进入系统,用fbwfmgr查看刚才设置是否生效。然后关机
6.用另外一台winxp连接刚才的装有win7系统的iscsitarget.恢复刚才备份的windows/bootstat.dat文件.同时将一开机自动改计算机名的脚本复制到administrator的自动运行文件夹内(\Users\Administrator\AppData \Roaming\Microsoft\Windows\StartMenu\Programs\Startup)。然后断开
=============================================开机自动改计算机名的脚本,请复制代码到一空白txt 文件中,再改为bat文件========

@echo off
ipconfig |findstr “IPv4” >c:\kk.txt
for /f " tokens=2 delims=:" %%i in (c:\kk.txt) do @echo %%i >c:\kk.txt
for /f " tokens=3,4 delims=." %%i in (c:\kk.txt) do set ip=%%i#%%j
del c:\kk.txt
set nameq=pc#
set name=%nameq%%ip%
regadd"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName"/v %name% /t reg_sz /d %name% /f >nul
reg add"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters"/v “NV Hostname” /t reg_sz /d %name% /f >nul
reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters” /v “Hostname” /t reg_sz /d %name% /f >nul
reg add “HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName” /v %name% /t reg_sz /d %name% /f
exit

=============================代码结束==================================================================================

以上代码按IP地址的后两个数字命名计算机,如192.168.1.80,则更改后的计算机名为pc#1#80,以此类推。
7.进入freenas的设置,设置iscsi target为只读模式。
七. 制作引导项目,批量添加主机及邦定
1.根据www.easeboot.com中的帮助文件,建一个sanboot.c32引导项目,用来引导win7.
2.利用www.easeboot.com中[主机管理]页面的[批量添加内网未注册主机]功能,来自动添加局域网中的主机。先按一定顺序将主机开启,进入easeboot.com菜单。然后用一台可上网主机登陆www.easeboot.com,进入[批量添加内网主机]页面,此时会显示刚才开启的主机信息,选择要添加的主机后,点添加按钮,便可将主机添加。此功能限制半小时内进入easeboot.com菜单的内网未注册主机,才会出现。
3.利用www.easeboot.com中[主机管理]页面的[批量邦定引导项目]功能,来为刚才添加的主机邦定win7启动项目。

如果将easeboot烧录到主板或网卡上,可以省去TFTP服务及DHCP中的next-server与boot-file-name两个参数 。