利用kickstart,制作无人值守安装光盘
- 格式:doc
- 大小:28.00 KB
- 文档页数:4
部署PXE实现Kickstart⽆⼈值守安装⼀、部署PXE远程安装服务1.PXE服务相关介绍PXE是有Intel公司开发的⽹络引导技术,⼯作在Client/Server模式(也简称CS模式),允许客户机通过⽹络从远程服务器下载引导镜像,并加载安装⽂件或整改操作系统。
2..若要搭建PXE⽹络体系,必须要满⾜⼀下⼏个前提条件客户机的⽹卡⽀持PXE协议(集成BOOTROM芯⽚),且主板⽀持⽹络引导;⽹络中有⼀台DHCP服务器以便于为客户机⾃动分配IP地址、指定引导⽂件位置;服务器通过TFTP(简单⽂件传输协议)提供引导镜像⽂件的下载3.PXE服务具备的优点规模化:同时装配多台服务器,⽆需每⼀台单独安装操作系统;⾃动化:实现服务器的⾃动安装及⾃动配置各种服务;远程实现:不需要光盘、U盘等安装介质,⽅便快捷的同时⼜可以保障服务器安全。
4.PXE服务的⼯作原理PXE(Pre-boot Execution Environment远程引导技术)是RPL (Remote Initial Program Load远程启动服务)的升级产品。
它们的不同之处为: RPL是静态路由,PXE是动态路由。
RPL 是根据⽹卡上的ID号加上其它的记录组成的⼀个帧向服务器发出请求,⽽服务器那⾥早已经有了这个ID数据,匹配成功则进⾏远程启动;PXE则是根据服务器端收到的⼯作站MAC地址(就是⽹卡号)使⽤DHCP服务给这个MAC地址指定⼀个IP地址,每次重启动可能同⼀台⼯作站有与上次启动有不同的IP,即动态分配地址以⼯作站引导过程说明PXE的原理:⼯作站开机后,PXEBootROM(⾃启动芯⽚)获得控制权之前先做⾃我测试,然后以⼴播形式发出⼀个请求FIND帧。
如果服务器收到⼯作站所送出的要求,就会送回DHCP回应,内容包括⽤户端的IP地址,预设通讯通道,及开机映像⽂件。
否则,服务器会忽略这个要求。
⼯作站收到服务器发回的相应后则会回应⼀个帧,以请求传送启动所需⽂件。
PXE kickstart无人值守安装流程目录一: DHCP服务器搭建 (2)1:安装DHCP软件 (2)2:配置dhcp (2)3:修改配置文件:dhcpd.conf (2)二:共享安装目录树文件。
(2)1:修改匿名用户家目录 (2)2:重启vsftp服务 (2)三:共享下面四个文件 (3)1:cp 四个文件 (3)2:追加信息 (3)四: kickstart (ks.cfg)编写 (3)1:生成ks.cfg文件 (3)2:共享ks.cfg文件 (4)五: 关闭防火墙和selinux (4)六:虚拟机配置 (4)一: DHCP服务器搭建1:安装DHCP软件dhcp-client和dhcp-server。
yum install dhcp,yum install dhclient2:配置dhcpcp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcpd.conf rhel5cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf rhel63:修改配置文件:dhcpd.confRPM包安装完DHCP后,配置文件默认在/etc目录下,配置文件名称为dhcpd.conf,vimdhcpd.conf。
vim修改:subnet 192.168.56.0 netmask 255.255.255.0 {range 192.168.56.10 192.168.56.40;option routers 192.168.56.2;next-server option routers 192.168.0.1;;filename pxelinux.0;}然后重启dhcpd服务。
在虚拟机测试dhclient eth0是否能获取dhcpserver的ip。
如果不行。
查看/var/log/message。
KickStart 无人值守批量安装Linux系统一:需求分析不适合本地安装的情况如下:(1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。
(2)非标准的软驱和光驱:虽然笔记本电脑都会配置光驱。
但是并不一定都是标准的IDE设备,有些通过USB接口或1394接口(例如Samsung的Q10)连接。
在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装。
(3)在一些场合,如机房中有大量的计算机需要同时安装Linux。
如果通过光驱的方式逐台安装,不仅效率低,也不利于维护。
(4)光驱或安装光盘故障。
基于以上所属情况,kickstart服务就可以解决这些问题。
二:方案设计什么是PXE:所有系统的网络安装和无人职守安装都是基于PXE,PXE技术与RPL技术不同之处为RPL是静态路由,PXE是动态路由。
RPL是根据网卡上的ID 号加上其他记录组成的一个Frame(帧)向服务器发出请求。
而服务器中已有这个ID数据,匹配成功则进行远程启动。
PXE则是根据服务器端收到的工件站MAC地址,使用DHCP服务为这个MAC地址指定个IP地址。
每次启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。
下以客户端引导过程说明PXE的原理。
(1)客户端开机后,PXE BootROM(自启动芯片)获得控制权之前执行自我测试,然后以广播形式发出一个请求FIND帧。
(2)如果服务器收到客户端所送出的要求,就会送回DHCP回应,包括用户端的IP地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。
(3)客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件,并把自己的MAC地址写到服务器端的Netnames.db文件中。
(4)将有更多的消息在客户端与服务器之间应答,用于决定启动参数。
BootROM由TFTP通信协议从服务器下载开机映像文档。
客户端使用TFTP 协议接收启动文件后,将控制权转交启动块以引导操作系统,完成远程启动。
r h e l k i c k s t a r t无人值守安装公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]Unattended _deloyprinciple使用企kickstart 来完成批量部署linux系统,可以在部署的时候实现软件的定制,以及环境的定制.use at (dhcp+ vsftp + tftp + kickstart)Let's beginshow of the IP and systemversion[root@instructor ~]# ifconfig eth0 | awk /Mask/inet addr: Bcast: Mask:[root@instructor ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release (Santiago)yum[root@instructor ~]# cat /etc/[yum]baseurl=gpgcheck=0the packages in need[root@instructor ~]# yum -y install dhcp tftp tftp-server syslinux system-config-kickstartdhcp service and start it[root@instructor ~]# cp /usr/share/doc/dhcp-4.1.1/ /etc/dhcp/ cp: overwrite `/etc/dhcp/' yes[root@instructor ~]# vim /etc/dhcp/subnet netmask {option routers ;range dynamic-bootp ;filename "";next-server ;}[root@instructor ~]# service dhcpd restartStarting dhcpd: [ OK ][root@instructor ~]# chkconfig --level 35 dhcpd onPXE[root@instructor ~]# mkdir /tftpboot[root@instructor ~]# vim /etc/tftpservice tftp{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/server_args = -s /tftpbootdisable = noper_source = 11cps = 100 2flags = IPv4}[root@instructor ~]# cp /media/isolinux/* /tftpboot/[root@instructor ~]# cd /tftpboot/[root@instructor tftpboot]# mkdir[root@instructor tftpboot]# cp default[root@instructor ]# chmod 664 default[root@instructor ]# chkconfig tftp on[root@instructor ]# service xinetd restartStopping xinetd:[FAILED]Starting xinetd:[ OK ][root@instructor ]# vim defaulttimeout 5 # 这里的时间如果为0 那么安装需要手动选择label linuxmenu label ^Install or upgrade an existing systemmenu defaultkernel vmlinuzappend initrd= ks=nfs::/ks/ #这个文件是用kickstart生成nfs service[root@instructor ~]# vim /etc/exports/media *(rw)/ks *(rw)[root@instructor ~]# service nfs restart[root@instructor ~]# mkdir /kskickstart in desktop[root@instructor ~]# system-config-kickstart[root@instructor ~]# chmod 757 /ks/[root@instructor ~]# cat /ks/ | gawk "NF>0" | grep -v "^#"firewall --disabledinstallnfs --server= --dir=/mediarootpw --iscrypted $1$tQb5ejy4$zdVAuOfSH82zdaObOg2a00 network --bootproto=dhcp --device=eth0 --onboot=onauth --useshadow --passalgo=md5textkeyboard uslang en_USselinux --enforcingskipxlogging --level=infotimezone Africa/Abidjanbootloader --location=mbrzerombrclearpart --all --initlabelpart / --fstype="ext4" --size=5000part /boot --fstype="ext4" --size=512part /home --fstype="ext4" --size=1024part swap --fstype="swap" --size=1024%packages@basic-desktop%endall of the services and test[root@instructor ~]# service dhcpd restart [root@instructor ~]# service nfs restart [root@instructor ~]# service xinetd restart ps:[root@instructor tftpboot]# iptables -F [root@instructor tftpboot]# setenforce 0。
centos6.5 Linux+ftp+kickstart无人值守安装大概原理:待安装主机通过PXE技术向服务器发起请求;首先请求IP,服务器通过dhcp向安装端分配IP地址,请求到了IP后接着下载default文件,该文件是定义安装信息,也就是安装系统的初始界面,接着,读取default里的ks.cfg文件路径,并下载到安装端,安装接着安装定义好的ks.cfg 开始自动安装系统,大概就这么个过程。
1.DHCP 服务器2.TFTP 服务器3.KickStart所生成的ks.cfg配置文件4.一台存放系统安装文件的服务器,如NFS、HTTP 或FTP 服务器5.带有一个PXE 支持网卡的将安装的主机把系统安装光盘mount到主机上最好虚拟机桥接并且联网1、搭建Yum源(本地光盘镜像)# mount /dev/cdrom /media/cdrom# vim /etc/yum.repos.d/base.repo[base]name=base repobaseurl=file:///media/cdromenabled=1gpgcheck=0安装所需要的服务yum -y install dhcp* tftp* vsftpd* syslinux配置TFTP,制定可供下载文件的目录。
vim /etc/xinetd.d/tftp1、编辑TFTP配置文件# default: off# description: The tftp server serves files using the trivial file transfer \# protocol. The tftp protocol is often used to boot diskless \# workstations, download configuration files to network-aware printers, \# and to start the installation process for some operating systems.service tftp{disable = no #找到disable,将yes修改为nosocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpboot #此处为TFTP提供下载的位置,默认为:/var/lib/tftpboot/per_source = 11cps = 100 2flags = IPv4}. ps:/tftpboot目录是要手动建立的,该目录用于存放系统安装的引导文件2,TFTP目录建立与设置#mkdir /tftpboot#cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #注意这里用红色标注的地方因系统版本的不一样可能会出现不一样的路径。
Linux无人值守安装(光盘)步骤一:准备安装系统的iso镜像,作者在此以rhel6系统为例。
[root@localhost /]#mkdir -p /opt/rhel6[root@localhost /]#mount /dev/cdrom /media[root@localhost /]#cp -arf /media/. /opt/rhel6 //参数-a表示权限不变制作ks.cfg文件,也就是kickstart生产的配置文件。
1.在命令行中输入system-config-kickstart即可打开kickstart的配置向导。
也可修改之前安装好的anaconda-ks.cfg文件,路径:/root[root@localhost /]#system-config-kickstart注意:前提是已近安装好system-config-kickstart,没有则执行yum -y install system-config-kickstart进行安装。
注意:安装方法选项,需要选择cdrom,而不是ftp或其他,/boot分区至少200M。
以下配置是根据已经安装好的anaconda-ks.cfg文件修改,因为新建无法进行软件包选择三、拷贝ks.cfg文件到系统镜像目录,并修改isolinux.cfg 配置文件。
[root@localhost /]#cp /root/ks.cfg /opt/rhel6/isolinux/[root@localhost /]#vim /opt/rhel6/isolinux/isolinux.cfg四、重新封装iso镜像文件(win下操作)1、打开原版iso镜像文件(删除自动的isolinux.cfg文件,然后把我们重新编辑过的文件添加进去)2、添加我们制作的ks.cfg文件到光盘根目录下,然后进行iso文件生成即可五、安装系统。
上述的四步操作已经将一个一键安装rhel6的iso镜像配置完成了,现在需要测试此iso镜像文件是否可用,我们可以使用虚拟机进行测试,新建虚拟机,使用rhel6.iso进行安装,出现安装界面后,需要等待60s左右就开始自动安装了,不需要其他操作将自动安装。
使用KickStart无人值守安装RHEL
目的
通过PXE引导系统,并结合KickStart,实现RHEL4的无人值守安装。
环境
●服务器:RHEL4.7,192.168.8.31,安装好httpd,tftpd,dhcpd,没有配置过相关服务。
挂载RHEL4.7的安装光
盘到/media/cdrom。
●客户机:无其它要求,需支持PXE的网卡
步骤
1
的文件拷贝到/var/www/html目录中,取名为ks.cfg。
ks.cfg的编写规范和要求见相关文档。
注意有一个地方不能设置错误,即http服务器的地址和目录:
1可以对default这个文件进行相应的修改。
8.启动客户机,并选择从网卡启动,这时通过DHCP会自动联系到TFTP服务器,下载启动内核,并运行到启动安
装的命令行,这时需要输入KickStart脚本的位置,确认后将开始无人安装。
9.稍等片刻后,系统就会一直开始安装,直到系统完成安装。
Linux Kickstart无人值守安装(上)标签:Kickstart linux系统 pxe 大规模部署Linux Kickstart大规模部署安装在我们的网络维护生涯中,有不少朋友,感觉到自己在机械的做一件事情,在无聊、无趣和无奈中工作。
尤其一些简单重复的操作更容易让大家感到工作的无趣。
今天将给大家介绍如何大规模的部署RedHat Linux操作系统,避免了手工安装的繁琐。
当然本方法也使用于一些特殊场合,譬如没有光驱或光驱坏掉的计算机、手中没有安装光盘等情况。
在安装RedHat Linux企业版的过程中,我们都知道它允许通过NFS、HTTP或FTP协议来进行网络安装。
但是在一般情况下我们需要有一个安装引导介质(引导光盘、引导软盘、U盘等),有没有一种方法不通过引导光盘方式来安装呢,而直接通过网络来进行安装?答案是有,即通过PXE技术实现。
一、基本原理PXE到底是什么东东?PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。
协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client 通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。
简单地说PXE网络安装,客户机通过支持PXE的网卡向网络中发送请求DHCP 信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。
在这个过程中需要一台服务器来提供启动文件、安装文件、以及安装过程中的自动应答文件等。
RHEL6 Kickstart无人值守安装方法:FTP+TFTP+DHCP+Kickstart+PXE从网络引导系统的做法可以不必从硬盘、软盘或者CD-ROM光盘,而是完全通过网络来引导一台计算机。
这对于安装来说很方便,因为它意味着你可以坐在桌子旁边,不必走到机器那里插入CD-ROM光盘或者软盘,就可以从网络上引导位于别处的一台机器。
PXE的作用就像是在网卡上ROM里的一小小操作系统,它通过一个标准API把自已的网络引导功能提供给系统的BIOS,就可以通过网络启动linux;PXE网络引导过程:一台主机广播一个设置了PXE选项的DHCP“发现”请求,然后一台DHCP服务器用一个包含有PXE选项的DHCP包来响应它(引导服务器的IP地址和引导文件的名字)。
客户机通过TFTP下载它的引导文件,然后执行这个引导文件。
Red Hat用于执行自动安装的工具叫做kickstart,由system-config-kickstart工具生成kickstart 的配置文件ks.cfg.实验环境:准备两台虚拟机,一台作为测试环境(RHEL6,IP为192.168.10.1),另一台作为RHEL6被安装端,设置网络引导安装。
安装所需要的服务及修改相应配置文件:1.用yum来安装所需要的软件包,先来搭建yum光盘源:[root@test1 ~]# mount /dev/cdrom /mnt在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:[root@test1 ~]# vi /etc/yum.repos.d/serverl.repo配置内容如下:2.安装ftp服务以及开启服务,设置为开机自动启动。
[root@test1 ~]# yum install vsftpd –y[root@test1 ~]# /etc/init.d/vsftpd start[root@test1 ~]# chkconfig vsftpd on3.安装TFTP,修改tftp配置文件及开启服务[root@test1 ~]# yum install tftp –y[root@test1 ~]# yum install tftp-server –y修改配置文件里面的13,14行接着重新启动xinetd服务,然后查看服务端口是否打开。
目地:利用kickstart,制作无人值守安装光盘
作用:对于一些不熟悉linux系统安装的,用自制的无人值守安装光盘,完成整个系统的安装.
1、准备安装源
#mount /dev/cdrom /mnt
#mkdir /data #建立自建ISO源目录
#cp -a /mnt/. /data/ #注意不要用*,要用.号代替,如果用*,隐藏文件将不会拷贝
2、修改启动加载设置
#vim /data/isolinux/isolinux.cfg
default test install
prompt 1
timeout 50
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label test install
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img
label linux
kernel vmlinuz
append initrd=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 -
1)设置默认启动为test install
2)设置开机后等候5分钟
3)新增的操作系统,代号为test install
4)kickstat配置文件的定义,利用这个参数,可以让Anaconda从安装光盘顶层目录中的ks.cfg作为kickstart配置文件。
注:kickstart的配置文件,可以放在其它目录,比如isolinux目录下,如果在顶层目录,文件名必须为ks.cfg,放在其他位置,可以自己指定.
3.kickstart 配置文件的制作:
可以对/root/anaconda-ks.cfg文件进行修改,生成自己所需要ks.cfg,也可以利用system-config-kickstart图形化生成
#cat ks.cfg
#platform=x86, AMD64, or Intel EM64T
# System authorization information
install
text
cdrom
lang en_US.UTF-8
keyboard us
reboot
key --skip
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --drives=hda --initlabel
# Use graphical install
#graphical
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
skipx
# Installation logging level
logging --level=info
# Use network installation
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$jcKDPffl$8uVOA.SIV39O67W0HOM7G.
# SELinux configuration
selinux --disabled
# System timezone
timezone America/New_York
# Install OS instead of upgrade
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
part /boot --fstype ext3 --size=100 --ondrive=hda
part / --fstype ext3 --size=5000 --ondrive=hda
part swap --size=2000 --ondrive=hda
part /home --fstype ext3 --size=5000
%packages
@development-libs
@development-tools
@system-tools
@admin-tools
4、产生自制安装光盘
1)删除各目录中的TRANS.TBL文件
#find /data -type f -name "TRANS.TBL"|xargs rm -f
2)删除isolinux/boot.cat文件
#rm /data/isolinux/boot.cat
3)将isolinux/中所有文件设为可写入
chmod +w /data/isolinux/*
4)制作ISO
#mkisofs -o /centos.iso-J -r -v -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "centos install DVD" /data (光盘源目录)
5)产生检验码
默认情况下,系统是没有安装implantisomd5工具,需要单独安装两个rpm包:
anaconda-11.1.2.195-1.el5.centos.i386.rpm
anaconda-runtime-11.1.2.195-1.el5.centos.i386.rpm
安装完以后,将会在/usr/lib/anaconda-runtime生成一批文件
#/usr/lib/anaconda-runtime/implantisomd5 --force /centos.iso
6)在linux下刻录光盘
#growisofs -dvd-compat -Z /dev/cdrom=/centos.iso
完成刻录!
制作过程中出现的问题:
1)启动过程中,提示cd-rom 没有找到
解决方法:注意检查ISO顶级目录是否存在.discinfo文件,如果这个文件不存在,将导致初始化过程中找不到光盘。
2)在安装包的过程中,提示一些包,不能被打开
解决方法:这有可能在制作ISO的过程中,RPM有损坏,可以用UltraISO工具去加载ISO 删除这个包,然后,从完整的源盘的增加这个包。
另外,也可以考虑重新制作。
3)光盘启动,提示checksum error,光盘校验码出错
解决方法:用implantisomd5工具,产生检验码,并保证,源盘数据完整。