Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071597
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: 系统运维

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,以下供参考。

install
text
url --url /> key --skip
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --hostname example.com
rootpw --iscrypted $1$y2JFaQSB$
firewall --disabled
authconfig --useshadow  --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --all --initlabel
part /boot --fstype ext3 --size=102 --asprimary
part /usr --fstype ext3 --size=1048
part /tmp --fstype ext3 --size=600
part swap --size=200 --asprimary
part / --fstype ext3 --size=1 --grow

%packages
development-libs
%post
这个未验证

xen client
1.需要xen package
yum groupinstall virtualization 

# Virtualization/Xen packages kernel-xen kernel-xen-devel kernel-doc SDL libvirt libvirt-python python-virtinst xen-libs xen virt-manager virt-viewer gnome-applet-vm Virtualization-en-US


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  ;}
        }


}



阅读(2559) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~