首先要说明的是,红旗产品手册《RedFlag Desktop 5.0 安装手册》上已经提供有PXE安装方式的说明。而我下面只是作为补充的方式进行,详细的请参考上述手册。 class “pxeclients” { # At least one of the vendor-specific PXE options must be set in option PXE.mtftp-ip 0.0.0.0; # This is the name of the file the boot ROMs should download. # This is the name of the server they should get it from.
我以一台需要安装红旗桌面5.0的空机器为例,后台服务器使用DC Server 4.1,使用ISO方式安装。ISO放在后台服务器上。
(测试中发现,后台服务器如果采用红旗DC Server 5.0,并使用它/usr/lib/syslinux/pxelinux.0文件,版本PXE 2.11。那么,不能用Vmware GSX Server 3.2进行测试。会出现启动到boot:界面,但输入不了字符的错误。但可以用实际机器进行安装,只是虚拟机才会出现问题。而且,如果用DC Server 4.1带的PXE 2.06也正常。)
一、原理
严格来说,PXE并不是一种安装方式,而是一种引导的方式。要进行PXE安装的必要条件是:要安装的计算机包含有一个支持PXE启动的网卡,也就是说网卡中要有PXE Client。通常板载网卡、品牌机和笔记本电脑都可以满足该要求。
PXE(Pre-boot Execution Environment)协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
工作流程如下:
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;
option vendor-class-identifier “PXEClient”;
vendor-option-space PXE;
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we can’t provide multicast TFTP (address 0.0.0.0 means no
# address).
# 指定PXE启动后下载的文件名
filename “pxelinux.0”;
# 这里指定TFTP服务器IP地址
next-server 192.168.228.16;
}
ddns-update-style interim;
ignore client-updates;
default-lease-time 1200;
max-lease-time 9200;
#下面开始定义DHCP的IP范围
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.228.255;
#网关、域名等可以根据实际情况,不要也可以
option routers 192.168.228.1;
option domain-name-servers 192.168.228.1;
option domain-name “mydomain.org”;
subnet 192.168.228.0 netmask 255.255.255.0 {
range 192.168.228.220 192.168.228.225;
}
#根据需要安装机器的网卡地址定义IP,并记录下来
host test {
hardware ethernet 00:0C:29:B7:A8:A3;
fixed-address 192.168.228.221;
}
使用PXE方式安装红旗Desktop 5.0
2、配置TFTP Server
默认TFTP服务是关闭的,修改/etc/xinetd.d/tftp文件,把disable从yes改为no,内容如下:
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
3、配置相关的文件
首先是bootstrap文件,在dhcpd.conf中已经指定了是pxelinux.0,把它从/usr/lib/syslinux/目录中拷贝到/tftpboot/目录下:
然后是为不同的PXEClient指定linux核心、根文件的配置文件。先在/tftpboot下建立一个pxelinux.cfg目录,然后再该目录下根据你DHCP里面指定分配给PXEClient的IP地址建立配置文件,如:
mkdir pxelinux.cfg
我给PXEClient提供的IP是:
C0 A8 E4 DD <--对应的十六进制
所以,我们要建立的文件应该是C0A8E4DD。如果启动的时候找不到该文件,TFTP会以C0A8E4DD->C0A8E4D->C0A8E4->C0A8E->C0A8->C0A->C0->C->default的方式寻找。(所以如果在同时安装多台同系统的机器的时候,可以用C0或default等文件来批量配置)
结果如下:
cat > C0A8E4DD << EOF
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
chmod 644 C0A8E4DD
※这里要注意,ramdisk不能太小,否则可能加载不完linux的核心。另外,C0A8E4DD这个文件的权限最少是644,因为tftp使用nobody用户去读取的。
4、拷贝对应的核心文件和根文件
这里必须拷贝你要安装的linux版本的对应文件。例如,我要安装的是红旗桌面5.0,则把第一张光盘/images/pxeboot目录下的两个文件vmlinuz(Linux内核)和initrd.img(Linux根文件系统)拷贝到主服务器DC Server 4.1上的/tftpboot目录下。
scp /images/pxeboot/initrd.img 192.168.228.16:/tftpboot/
5、启动后台服务
service xinetd start
(TFTP是由xinetd托管的)
6、配置FTP服务器
该FTP服务器主要是为安装程序提供资源,可以用proftpd、vsftpd等。要注意的地方是:
A、红旗桌面5.0的ISO文件先mount到某个目录中,并以该目录为ftp登陆后的根目录
B、可以使用匿名或用户验证方式
7、启动要安装的机器
首先在Bios里面选择从网络启动,会出现这样的界面:
使用FTP、NFS方式安装都必须先把服务停止,以防止缓存导致问题。
※附件:
例程中配置好的文件,点击下载。
在Windows下使用红旗HA Cluster 配置工具
Anaconda 的启动参数
红旗Asianux 3.0 安装 Oracle 9i
安装及配置红旗高可用服务器 HA 5.0 [5] – 使用WebManager
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/linux/113779.html