前言:随着公司业务不断增加,需要对之前的windows服务器升级成Linux,有的服务器CPU不支持64位系统,只能安装32位系统,版本不一致,这就需要kickstart支持多系统安装了。目前kickstart多系统方案以运行在实际环境中。
一、正式安装:
Kickstart可以安装的版本如下:Centos 5.0、Centos 5.3(64位)、Centos 5.4
从最简单的dhcp、tftp、nfs开始配置:
- yum install -y dhcp* tftp* 即可!nfs系统默认已经安装,稍后会配置;
- vi /etc/xinetd.d/tftp
- service tftp
- {
- disable = no
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -u nobody -s /tftpboot
- per_source = 11
- cps = 100 2
- flags = IPv4
- }
- 需要修改1个地方
- disable = yes 修改为no 即可!
配置tftp+pxe:
- 安装linux系统,首先需要挂载linux安装镜像,可以是iso,可以是linux光盘:【这样需要注意:分别挂载3个系统的光盘,也可以从其他地方拷贝iso文件。】
- 我开始挂载的是centos5.0光盘:
- mount /dev/cdrom /mnt 即可!然后执行如下步骤:
- mkdir -p /tftpboot/{centos5.0,centos5.3,centso5.4}
- cd /tftpboot &&cp /usr/lib/syslinux/pxelinux.0 ./
- mkdir -p pxelinux.cfg
- cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default
- 如上这些文件可以共用:但是下面这些文件只能拷贝对应ISO镜像的文件到如下目录
- cp /mnt/images/pxeboot/{vmlinuz,initrd.img} centos5.0/
- 完毕!此步操作还需要分别进入5.3、5.4光盘:拷贝
- vmlinuz,initrd.img 两个文件到对应的目录:
- tftpboot目录下文件截图如下
在/tftpboot下新建一个文件boot.msg文件,写入以下内容:是一个启动信息,可以根据你自己的喜好随便填写。
- ###+## Welcome To Linux Install Center ##########################
- Please select system version , You can select 5.0 or 5.3 or 5.4!
- This 5.0 is 32 bit ,and 5.3 is 64 bit ,5.4 is 32 bit ++++++++++++
然后编辑defalut配置文件:【还是在 /tftpboot 目录下】
vi pxelinux.cfg/default (修改配置如下:)
vi pxelinux.cfg/default (修改配置如下:)
- timeout 60
- display boot.msg
- F1 boot.msg
- F2 options.msg
- F3 general.msg
- F4 param.msg
- F5 rescue.msg
- label 5.0
- kernel centos5.0/vmlinuz
- append ks=nfs:192.168.2.79:/centosinstall/centos5.0/ks.cfg ksdevice=eth0 initrd=centos5.0/initrd.img
- label 5.3
- kernel centos5.3/vmlinuz
- append ks=nfs:192.168.2.79:/centosinstall/centos5.3/ks.cfg ksdevice=eth0 initrd=centos5.3/initrd.img
- label 5.4
- kernel centos5.4/vmlinuz
- append ks=nfs:192.168.2.79:/centosinstall/centos5.4/ks.cfg ksdevice=eth0 initrd=centos5.4/initrd.img
- label text
- kernel vmlinuz
- append initrd=initrd.img text
- label ks
- kernel vmlinuz
- append ks initrd=initrd.img
- label local
- localboot 1
- label memtest86
- kernel memtest
- append -
修改如上两个红色地方即可:【设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了,192.168.2.79是kickstart服务器,/centosinstall/centos5.0 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件,稍后会详细配置】
自此tftp配置完毕!我们可以启动它,它是非独立服务,需要借助xinetd启动如下:
chkconfig tftp --level 35 on && service xinetd restart 即可!
(3)、接下来安装nfs+kickstart:
创建nfs共享目录,也是存放linux镜像的目录:
mkdir -p /centosinstall/{centos5.0,centos5.3,centos5.4}
分别拷贝各自系统盘所有内容到各自系统,注意不要拷乱了。 拷贝完后,设置nfs共享:添加如下三行即可。
- vi /etc/exports
- /centosinstall/centos5.0 *(rw,sync)
- /centosinstall/centos5.3 *(rw,sync)
- /centosinstall/centos5.4 *(rw,sync)
保存退出即可!【可根据实际控制权限访问*代表所有】
nfs配置完毕,接着配置kickstart主配文件:
在/centosinstall/{centos5.0,centos5.3,centos5.4}三个文件下分别创建ks.cfg文件,输入的内容可以适当修改:
【这是我的实际使用的配置文件,当然你可以根据需要修改】有下载地址:
- # Kickstart file automatically generated by anaconda.
- install
- text
- nfs --server=192.168.2.79 --dir=/centosinstall/centos5.0
- key --skip
- lang zh_CN.UTF-8
- keyboard us
- network --device eth0 --bootproto=dhcp --noipv6
- rootpw linux@passwd
- firewall --disabled
- authconfig --enableshadow --enablemd5
- selinux --disabled
- timezone Asia/Shanghai
- bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
- # The following is the partition information you requested
- # Note that any partitions you deleted are not expressed
- # here so unless you clear all partitions first, this is
- # not guaranteed to work
- clearpart --all --initlabel
- part /boot --fstype ext3 --size=200
- part swap --size=4000
- part /www/logs --fstype ext3 --size=20000
- part / --fstype ext3 --size=20000
- part /home --fstype ext3 --size=10000
- part /www --fstype ext3 --size=1 --grow
- %packages
- @admin-tools
- @base
- @core
- @development-libs
- @development-tools
- @editors
- @system-tools
- @base-x
- @chinese-support
- keyutils
- kexec-tools
- trousers
- fipscheck
- device-mapper-multipath
- imake
- audit
- xorg-x11-server-Xnest
- xorg-x11-server-Xvfb
在拷贝5.3和5.4的话直接修改红色部分即可:记住咯每个安装目录都得有ks.cfg文件。
如上ks.cfg配置完毕,并设置其权限:这里设置为:
find /centosinstall -name ks.cfg |xargs chmod 777
(4)、最后我们来配置dhcp服务:
- ddns-update-style interim;
- ignore client-updates;
- next-server 192.168.2.79;
- filename "pxelinux.0";
- allow booting;
- allow bootp;
- subnet 192.168.0.0 netmask 255.255.252.0 {
- # --- default gateway
- option routers 192.168.0.1;
- option subnet-mask 255.255.252.0;
- # option nis-domain "domain.org";
- # option domain-name "192.168.0.10";
- # option domain-name-servers 192.168.0.10;
- option time-offset -18000; # Eastern Standard Time
- # option ntp-servers 192.168.1.1;
- # option netbios-name-servers 192.168.1.1;
- # --- Selects point-to-point node (default is hybrid). Don't change this unless
- # -- you understand Netbios very well
- # option netbios-node-type 2;
- host ns {
- hardware ethernet 00:1a:a0:2b:38:81;
- fixed-address 192.168.2.101;}
- host ns1 {
- hardware ethernet 00:0c:29:2b:90:67;
- fixed-address 192.168.2.102;}
- }
三、整个环境部署完毕!接下来我们重启所有服务,并测试,注意这里安装完后重启登陆的密码为ks.cfg里面配置的rootpwd 后面的 linux@passwd
service xinetd restart && service nfs restart && service dhcpd restart 即可!
找一台需要安装linux系统机器,进入bios把第一启动项设置为LAN 也即是网卡启动!然后启动,系统会自动查找本地pxe 服务器然后,自动安装!
安装如下图:
报错没有发现kernel Image:linux 没关系,意思是没发现默认的linux引导项,因为我们设置成为了三个系统,任意输入一个即可如输入:5.0 截图如下即可自动安装了:
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/591898