分类: 系统运维
2011-04-29 15:11:42
1.原理pxe网卡启动,通过dhcp获取ip,然后tftp下载用于存放操作系统的kernel(vmlinuz)和ramdisk(initrd.img),在BIOS设置PXE启动并且加到boot sequnence里面,比如你要从eth2启动,那么eth2必须enable PXE而且在boot seq里,否则也会失败。
2.安装172.17.0.86(dhcp,tftp,http,syslinux)等
yum install tftp-server dhcpd,http #默认tftp-server的时候安装了xinetd
3.vim /etc/xinetd.d/tftp
server_args = -s /tftpboot
disable = no # 默认yes,改为no
4.给个范文dhcpd.conf (/etc/dhcpd.conf)
###################################
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 172.17.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 172.17.0.1; ##### 默认网关 ##########
option subnet-mask 255.255.255.0;
option domain-name-servers 202.106.0.20;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 172.17.0.11 172.17.0.250; ##### 分配ip #####
default-lease-time 21600;
max-lease-time 43200;
}
next-server 172.17.0.86; ########### tftp server #####
filename "/pxelinux.0"; #### 引导文件名 ###########
这个pxelinux.0是syslinux安装以后有的,直接拷贝到/tftpboot/
5.安装http,拷贝光盘文件到/var/www/html下
6.建立tftp的根目录/tftpboot
然后cp -rf /var/www/html/isolinx/* /tftpboot (实际上只需要部分文件,这里为了方便)
mkdir /tftpboot/pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default (被pxelinux.0读取)
7.在/var/www/html下建立ks.cfg
.............
8. dhcp,tftp,http启动
9. 注意调试,tftp能get文件否(应该和selinux有关,注意关闭),还得给/tftpboot下的755权限,否则提示找不到kernel image。
vim /tftpboot/pxelinux.cfg/default
##############################################
default text
prompt 150 ###应该是等15s,默认选择ks安装,对应label text
timeout 150
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img ################ 这里也可以设另外一个ks.cfg ,根据需要来设 ################################
label text
kernel vmlinuz
append ks= initrd=initrd.img text devfs=nomount ramdisk_size=9216 ksdevice=eth0 ## 不写会安装过程会让你选择网卡,无法全自动。
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
############################################################
ks.cfg可能和各个版本有关系,建议安装一次,参考anaconda-ks.cfg ,注意磁盘分区的时候,需要clearpart --all --initlabel,以下供参考。
%packages
development-libs
%post
这个未验证
xen client
1.需要xen package
yum groupinstall virtualization
2.cpu需要支持,grep 'flags' /proc/cpuinfo
若是自动安装需要koan包
koan --virt --server=192.168.0.3(#cobbler server) --profile=rhel-server-5.7-xen-x86_64 --virt-name=pekdev233
cobbler server
需要安装cobbler package ,httpd/tftp/dhcp
mount -o loop CentOS-5.4-x86_64-bin-DVD.iso /data/centos
cobbler import --mirror=/data/centos --name=Centos-5.4-x86_64
create kickstart.cfg
cobbler profile add --name=S3APP0001 --distro=Centos-5.4-xen-x86_64 --kickstart=/etc/cobbler/kickstarts/S3APP0001.ks --kopts='noipv6'--virt-path=/dev/domovg/S3APP0001 --virt-ram=2048 --virt-cpus=2 --virt-type=xenpv --virt-bridge=xenbr0
cobbler system add --name=S3APP0001 --profile=S3APP0001 --virt-path=/dev/domovg/S3APP0001 --mac=00:16:3E:1d:3d:65
注意不同版本的dhcp,配置也有区别,看下下边一例:
ddns-update-style interim;
ignore client-updates;
shared-network xxx
{
option domain-name "xxx.com";
option domain-name-servers 172.16.2.1;
option time-offset -18000;
option routers 172.16.2.254;
default-lease-time 14400;
allow bootp;
allow booting;
next-server 172.16.1.50;
filename "/pxelinux.0";
subnet 10.0.0.0 netmask 255.0.0.0{}
subnet 192.168.1.0 netmask 255.255.255.0{}
pool
{
deny unknown-clients; # 除非MAC地址匹配,否则不会使用该地址段。
range 192.168.1.2 192.168.1.240; # range 纯做DHCP服务
}
pool
{
allow unknown-clients; # 跟deny相反。
range dynamic-bootp 172.16.10.1 172.16.10.230; # range dynamic-bootp 允许PXE,来分配IP,用于kickstart。
}
group
{
allow bootp;
host b47.xxx .com{ hardware ethernet 00:1E:8C:B4:57:C8;fixed-address 10.11.1.1 ;}
}
}