红联Linux门户
Linux帮助

Linux自动化安装操作系统

发布时间:2014-08-02 21:50:47来源:linux网站作者:wodemeng

自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统。


首先调试环境:

基于DHCP、TFTP、HTTP来完成PXE自动的实现

1、安装服务

[root@localhost/]# yum install dhcp---------dhcp服务

[root@localhost/]# yum install tftp tftp-server-----tftp服务

[root@localhost/]# yum install http--------http服务

[root@localhost/]# yum install syslinux--------PXE基于syslinux


2、配置服务

DHCP:

[root@localhost/]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

[root@localhost/]# vim /etc/dhcp/dhcpd.conf

optiondomain-name "ning";-----------------dhcp服务器的名字

optiondomain-name-servers 8.8.8.8;--------dns服务器的地址

default-lease-time600;-------------------------租约时间

max-lease-time7200;--------------------------最大超时时间

subnet192.168.1.0 netmask 255.255.255.0 {------------------------指定网段

range 192.168.1.10 192.168.1.20;--------------地址池子

host apple {------------------------------------预留主机的名字apple

hardware ethernet 00:0C:29:72:9A:CF;-----------------预留地址MAC

fixed-address 192.168.1.6;----------------------------预留给主机的IP

}

option routers 192.168.1.1;-------------------------------网关

next-server 192.168.1.5;-----------------------tftp服务器的地址

filename "pxelinux.0";----------------------------指定文件名字

}

[root@localhost/]# service dhcpd ?----------------dhcp服务的管理及查看状态的命令

Usage:/etc/init.d/dhcpd {start|stop|restart|forcereload|condrestart| restart|configtest|status}


例如:

#service dhcpd configtest------查看dhcp配置有没有语法错误

#service dhcpd force-reload----在不关闭dhcp服务的情况下加载修改的配置信息

查看是否开启,也可以通过端口来查看服务,dhcp端口为:67和68(命令ss -unlp)

TFTP-server:tftp来提供

[root@localhost /]# rpm -ql tftp-server-----查看tftp-server生成的配置文件

/var/lib/tftpboot--------一般这个目录当作tftp服务存储库

[root@localhost /]# service xinetd ? ----------------tftp服务的管理及查看状态的命令

Usage: /etc/init.d/xinetd{start|stop|status|restart|condrestart|reload}


例如:

#service tftp start------启用tftp服务

查看是否开启,也可以通过端口来查看服务,tftp端口为69(命令ss -unlp)

HTTP:

[root@localhost]# rpm -ql httpd-------查看生成配置文件

/var/www/html------文件存储库

[root@localhost~]# service httpd ? ---------------http服务的管理及查看状态的命令

Usage:httpd{start|stop|restart|condrestart|try-restart|force-                            reload|reload|status|fullstatus|graceful|help|configtest}


例如:

#service httpd start------启用http服务

查看是否开启,也可以通过端口来查看服务,http端口为80(命令ss -tnlp)


PXE具体配置操作

DHCP:我们上面已经配置,主要作用是分配IP地址,让用户来识别加载TFTP库配置文件

TFTP:存放安装系统的基本PXE图形加载系统内核前的所有配置及显示:


1、 复制基于PXE的图形界面环境:syslinux

#cp /user/shar/syslinux/pxelinux.0 /var/lib/tftpboot----------------复制到tftp服务 目录下,提供客户机获取IP地址的时候加载此文件


2、复制ios启动时所需要的图片及其启动菜单一些配置文件

(1)复制ioslinux中的启动图片splash.jpg;

# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg} /var/lib/tftpboot

# mkdir /var/lib/tftpboot/pxelinux.cfg/

# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


以上复制的文件要注意权限问题,要是从光盘中复制要给文件加上,写权限后进行修改配置文件

splash.jpg----是启动菜单的图形界面

isolinux.cfg------是linux安装系统启动菜单得定义的配置文件

vesamenu.c32来加载isolinux.cfg

#vim /var/lib/tftpboot/pxelinux.cfg/default ----- 启动时列表的配置信息

defaultvesamenu.c32

#prompt 1

timeout 600

displayboot.msg

menu backgroundsplash.jpg

menu titleWelcome to CentOS 6.5!-------系统启动时显示的系统名字

menu colorborder 0 #ffffffff #00000000

menu color sel7 #ffffffff #ff000000

menu colortitle 0 #ffffffff #00000000

menu colortabmsg 0 #ffffffff #00000000------图片显示

menu colorunsel 0 #ffffffff #00000000

menu colorhotsel 0 #ff000000 #ffffffff

menu colorhotkey 7 #ffffffff #ff000000

menu colorscrollbar 0 #ffffffff #00000000

label linux-----------------------------------------更新和安装

menu label ^Install or upgrade an existingsystem

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.1.5/centos6.cfg--------指定ks文件位置

label vesa-----------------------简化版linux安装

menu label Install system with ^basic videodriver

kernel vmlinuz

append initrd=initrd.img xdriver=vesanomodeset

label rescue-----------------------------------修复linux

menu label ^Rescue installed system

kernel vmlinuz

append initrd=initrd.img rescue

label local-------------------------------------本地启动,启动后寻找本地的iso文件

menu label Boot from ^local drive

localboot 0xffff

label memtest86

menu label ^Memory test-------------------测试检查

kernel memtest

append –


HTTP:主要是来提供(整个系统:内核、驱动、应用程序)和ks配置文件

1、复制挂载镜像:

在/var/www/html/默认库中创建一个目录,把整个镜像文件挂载到目录上。

#mkdir –pv /var/www/html/cetos6 -----创建目录centos6

#mount --bind /media/cdrom /var/www/html/centos6----挂载:我们这里的镜像来自光盘举例


2、复制ks.cfg配置文件到/var/www/html/目录下(注意:ks.cfg文件的权限问题)

[root@localhost /]# ls /var/www/html/---------查看http下是否有已下两个文件。

centos6 centos6.cfg


至此我们PXE基于HTTP的自动化安装以完成。大家要知道原理就容易配置了。


KS.CFG的制作!

这个过程中最重要的一点ks.cfg文件的制作:以上操作就是为这个管家服务的!嘻嘻

下面我们具体来说下,ks.cfg的制作,由于在下是初学者还不能自己撰写配置文件。。我们可以用一个工具来生成ks.cfg。但是大家要看懂这里面的信息,容易排查错误,切记!


配置ks环境

图形配置接口:

#yum install system-config-kickstart--------安装system-config-kickstart图形配置工具

配置命令:

#system-config-kickstart----进入图形界面进行配置安装过程中的一些文件应答

这里面的配置和我们正常安装一个系统很类似。注意http镜像文件的路径和分区信息正确就行了。其他的自己正常配置就好了!

这里分区不能设置LVM,,所以在这里只要设置简单的分区就行如:/、boot、swap

配置完成后的语法检查命令:

#ksvalidator centos6(centos5没有此功能)

不是太完美!