浅谈基于iSCSI的gPXE无盘工作站架设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文作者(尤国君),请您在阅读本文时尊重作者版权。
浅谈基于iSCSI的gPXE无盘工作站架设
摘要: 本文提出了一种目前在组建教学和办公网中广泛应用的高性价比方案——无盘工作站模式,即基于iSCSI的gPXE无盘工作站技术,并通过具体案例论证该无盘工作站的安装过程及配置方法。
关键词:中职;iSCSI;gPXE
存储技术日新月异的发展使得存储虚拟化、iSCSI、NAS与SAN等的融合成为目前存储技术的发展新焦点。
这些技术为人们解决数据存储提供了新方法,微软公司的Windows XP和Windows 7等产品实现对iSCSI网络存储和网络启动的支持,不难看出未来计算机的发展将逐步实现以网络存储为主体的模式。
本文立足当前学校和企业计算机设备更新速度缓慢,但需求快速增长的现状,提出一种开源平台的无盘工作站新模式,即基于iSCSI的gPXE无盘工作站。
一、实现思路
无盘工作站是指在网络中没有硬盘和软驱的计算机。
无盘工作站技术是计算机网络的一种特殊应用,它不具备本地硬盘,所有数据全部位于服务器上。
它通过网卡上的远程启动芯片(BootROM)从服务器硬盘读取数据,服务器对硬盘数据进行统一管理和调度,实现硬盘共享和数据的同步更新。
当无盘工作站通过远程引导与服务器建立连接后,从服务器上将所需要的数据下传到工作站内存中,所有程序在本地工作站运行,结果存放在服务器上。
iSCSI技术是一种由IBM公司研究开发的,一个供硬件设备使用可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使计算机可以与使用IP网络的储存装置互相交换资料。
,iSCSI的gPXE无盘工作站启动原理具体解释如下:
1.无盘客户端由BOOTROM芯片中的PXE启动代码启动客户机,此时客户机还没有IP地址,它以广播形式发出DHCP请求。
2.网络中运行PXE服务的服务器(gPXE启动服务器)接收到的这个请求帧后,根据这帧中的MAC地址在启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。
FOUND帧中包含的主要信息有客户端的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户端MAC地址和启动映像文件名。
3.客户端根据FOUND帧中的信息通过TFTP服务器下载启动映像文件(undionly.kpxe),并将此文件保存在客户端本地的内存中,然后将控制权交给undionly.kpxe。
4.通过undionly.kpxe引导程序,从iSCSI存储服务器上读取Windows系统文件,并通过这些系统文件启动Windows。
二、基于iSCSI的gPXE无盘工作站构建方案
1.安装环境说明。
(1)服务器操作系统:Red Hat Enterprise Linux 5(IP:192.168.188.8),该服务器同时提供DHCP服务和iSCSI存储服务。
(2)无盘客户端操作系统:Windows XP。
2.服务器安装与配置。
(1)从网站/projects/iscsitarget/files/上下载最新版本的iscsitarget源程序,在无盘服务器上解包后使用命令:make;make install安装iscsitarget。
以目前最新版iscsitarget-1.4.19为例。
(2)使用命令dd if=/dev/zero of=/usr/vm.img bs=1024 count= 4000000创建一个4GB的iSCSI磁盘文件用于保存Windows XP无盘系统数据。
(3)配置/etc/iet/ietd.conf文件,主要配置文件如下:
Target .example:storage.disk2.sys1.xyz
Lun 0 Path=/usr/vm.img,Type=fileio
(4)从网站/上下载最新版的gPXE源程序,在无盘服务器上解包后在src 目录下使用命令:make bin/undionly.kpxe编译gPXE启动文件。
然后在/ tftpboot目录内创建一个名为gpxe的文件夹,将编译后的undionly.kpxe文件拷贝到该目录下;并在该目录下新建一个名为menu.gpxe的文件,在文件中添加如下语句。
#!gpxe chain
sanboot iscsi:192.168.188.8::::.example:storage.disk2.sys1.xyz
以目前最新版gPXE 1.0.0为例。
(5)修改/etc/xinetd.d/tftp配置文件,修改配置项server_args改为server_args= -s /tftpboot/gpxe,disable项改为disable=no,以启用主目录为/tftpboot/gpxe 的TFTP服务。
(6)安装DHCP服务,安装完成后修改DHCP服务配置文件/etc/dhcpd.conf,主要配置文件如下。
ddns-update-style interim;
ignore client-updates;
option space gpxe;
option gpxe-encap-opts code 175 = encapsulate gpxe;
option gpxe.bus-id code 177 = string;
subnet 192.168.188.0 netmask 255.255.255.0 {
option routers192.168.188.1;
option subnet-mask255.255.255.0;
range dynamic-bootp 192.168.188.10 192.168.188.254;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.188.8;
if not exists gpxe.bus-id { filename "undionly.kpxe"; }
else { filename "menu.gpxe";}
}
3.在Windows XP计算机上安装iSCSI补丁,然后通过“开始”→“程序”→“Microsoft iSCSI Initiator”→“Microsoft iSCSI Initiator”,打开Windows中Initiator端配置界面,在“Discovery”选项卡中添加iSCSI服务器;在“Targets”选项卡中连接已发现的iSCSI磁盘。
接着就可以通过“计算机管理”中的“磁盘管理”,像使用本地硬盘一样分区,格式换iSCSI磁盘。
4.在Windows XP中安装SAN启动补丁sanbootconf,使无盘系统的IP地址固定为DHCP获取到的IP,以免多机启动造成IP冲突。
然后使用无盘上传工具,将XP系统上传到iSCSI磁盘内。
5.使用命令/etc/init.d/xinetd restart、/etc/init.d/dhcpd restart和/etc/init.d/iscsi-target restart 重新启动TFTP、DHCP和iscsitarget服务,客户机设置从网卡启动后就可以开始使用该无盘系统了。
因此,通过以上的实例实现了基于iSCSI的gPXE无盘工作站。
笔者所在的学校应用了该系统后,很好地解决了计算机设备更新速度缓慢的问题,同时也极大的降低了系统的维护成本。
(作者单位:广东省电子技术学校)
参考文献:
[1]徐瑾. 从iSCSI SAN直接启动[J].Windows IT Pro Magazine(国际中文版),2009,(6).
[2] (美)Evi Nemeth,Garth Snyder,Trent R.Hein 著,张辉译. Linux系统管理技术手册(第二版)[M]. 北京:人民邮电出版社,2008.。