PXE安装ubuntu系统_落英缤纷

PXE安装ubuntu系统_落英缤纷

PXE安装ubuntu系统

最近有批量安装操作系统需求,之前在测试环境中使用过如Cobbler,FAI,Kickstart,比较之后,采用PXE+Kickstart+Ubuntu10.04(32位)这个方案

中心服务器

在中心服务器(ubuntu10.04+64,Ip,eth0:192.168.2.111)上构建Server环境

 (1)基本概念

  • PXE

PXE是一种操作系统的引导方式。进行PXE安装的必要条件是在要安装的计算机中必须包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client

PXE(Pre-bootExecution Environment)协议可以使计算机通过网络启动。此协议分为Client端和Server端,而PXE Client则在网卡的ROM中

当计算机引导时,BIOS把PXE Client调入内存中执行,然后由PXE Client将放置在远端的文件通过网络下载到本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器

DHCP服务器会给PXE Client(将要安装系统的主机)分配一个IP地址,由于是给PXE Client分配IP地址,所以在配置DHCP服务器时需要增加相应的PXE设置

此外,在PXE Client的ROM中,已经存在了TFTP Client,那么它就可以通过TFTP协议到TFTP Server上下载所需的文件了

  • Kickstart

KickStart是一种无人职守安装方式,通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;

在其他机器的安装过程中当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,

当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,就需要简单的手工参与了。

  • Tftp

TFTP是一个传输文件的简单协议,它基于UDP协议而实现。此协议设计的时候是进行小文件传输的

因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据

 (2) 构建环境

apt-get install apache2 apt-get installsystem-config-kickstart apt-get installtftpd-hpa tftp-hpa apt-get installdhcp3-server

1.kickstart

在命令行中键入system-config-kickstart,根据出现的界面配置相关信息,最后保存为ks.cfg,如下是我在实验环境中使用的配置信息:

#Generated byKickstart Configurator #platform=AMD64 or Intel EM64T

#System language lang en_US #Language modules to install langsupport zh_CN –default=en_US #System keyboard keyboard us #System mouse mouse #System timezone timezone Asia/Shanghai #Root password rootpw –disabled #Initial user user ubuntu –fullname “luoying” –password qq:55754206 #Reboot after installation reboot #Use text mode install text #Install OS instead of upgrade install #Use Web installation url –url http://192.168.2.111/ubuntu #System bootloader configuration bootloader –location=mbr #Clear the Master Boot Record zerombr yes #Partition clearing information clearpart –all –initlabel #Disk partitioning information part /boot –fstype ext4 –size 256 part swap –size 4096 part / –fstype ext4 –size 1 –grow #System authorization infomation auth  –useshadow  –enablemd5 #Network information network –bootproto=dhcp–device=eth0 –onboot=on #Firewall configuration firewall –disabled #Do not configure the X Window System skipx %packages @openssh-server

也可以自己新建ks.cfg,内容如上即可

sudo vi ks.cfg

sudo cp ks.cfg  /var/www/ubuntu/

创建目录mkdir -p/var/www/ubuntu,将上述的ks.cfg文件保存在/var/www/ubuntu中.

2. 镜像文件

从官网下载ubuntu的iso,

mkdir /ubuntu mount -o loop ubuntu-10.04.4-server-i386.iso/ubuntu cp -r /ubuntu/* /var/www/ubuntu/

3. Tftp

将iso文件中的install/netboot/下的所有文件与目录copy到/var/lib/tftpboot/

cp -r/ubuntu/install/netboot/*/var/lib/tftpboot/ chmod 755 /var/lib/tftpboot/* -R

修改/var/lib/tftpboot/ubuntu-installer/i386/boot-screens/text.cfg

default install label install menu label ^Install menu default kernel ubuntu-installer/i386/linux append ks=http://192.168.2.111/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz — quiet label cli menu label ^Command-line install kernel ubuntu-installer/i386/linux append tasks=standardpkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normalinitrd=ubuntu-installer/amd64/initrd.gz — quiet

sudo mv /var/lib/tftpboot/pxelinux.0  /var/lib/tftpboot/pxelinux.0.bak

sudo cp /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.0  /var/lib/tftpboot/pxelinux.0

sudo cp –r /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg  /var/lib/tftpboot/

4.Dhcp

vim/etc/dhcp3/dhcpd.conf

添加如下信息: subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.150 192.168.2.200; option routers 192.168.2.1; #option domain-name-serversns1.internal.example.org;  #注释掉,以免安装时寻找DNS 浪费时间

 #option domain-name “internal.example.org”;           #注释掉,以免安装时寻找DNS 浪费时间

default-lease-time 600; max-lease-time 7200;  next-server 192.168.2.111; filename “pxelinux.0”; }

6.重启相关服务

sudo/etc/init.d/apache2 restart sudo /etc/init.d/tftpd-hpa restart sudo /etc/init.d/dhcp3-server restart

客户端

客户端启动的时候,BIOS中开启PXE引导选项,

选择从网络启动即可进行无人安装系统。

PS:

  • Dnsmasq

Dnsmasq 提供DNS缓存和DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度作为DHCP 服务器, dnsmasq 可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现.

dnsmasq轻量且易配置适用于个人用户或少于50台主机的网络.在这里主要使用它和hostname的相关性,在批量安装系统时,根据ip设置系统对应的hostname.

PXE安装ubuntu系统_落英缤纷_001

PXE安装ubuntu系统_落英缤纷_002

PXE安装ubuntu系统_落英缤纷_003

PXE安装ubuntu系统_落英缤纷_004

问题

 (1)configuring net 要求输入”Name server address”

解决办法:

在dhcpd.conf 中加入此参数option domain-name-servers

 

Print Friendly

发表评论

电子邮件地址不会被公开。 必填项已用*标注