linux的pxe自动化安装

liuguohui2006@黑暗阳光

系统环境:centos6.9 (该实验只需要一台主机即可)
网络配置:192.168.1.93
预安装软件:dhcp,tftp-server,httpd,syslinux和syslinux-nonlinux(centos7只需安装syslinux软件包即可),通过yum安装即可。
说明:syslinux和syslinux-nonlinux软件包提供是配置自动化安装系统时所需的相关文件

操作系统安装流程:
通过U盘,光盘等安装介质安装操作系统的执行过程:
(1)安装介质:比如光盘,U盘,硬盘等
(2)bootloader:引导加载程序(grub),执行后会显示一个安装菜单
(3)加载内核:把内核加载到内存中,此处的内核是安装介质里自带的,以便运行之后的安装程序
(4)安装程序,比如:设置语言,键盘类型,时区,磁盘分区,配置网络信息等操作都是通过该程序来完成

通过网络引导安装操作系统的执行过程:
(1)启动主机:开启要安装操作系统的主机
(2)连接dhcp服务器:通过dhcp服务动态获取一个ip地址,同时还要获得tftp服务器地址,以便进行下一步加载pxelinux.0文件
(3)连接tftp服务器:下载并执行服务器上pxelinux.0网络引导文件,会显示一个安装菜单
(4)加载内核:从tftp服务器上下载内核,把内核加载到内存中
(5)安装程序:执行安装程序,读取kickstart文件,实现自动化配置安装

实验配置:
一. 配置dhcp服务
1.默认安装dhcp后,在/etc/dhcpd/dhcpd.conf文件中只有几行说明性的内容,真正的配置文件模板在/usr/share/doc/dhcp-4.1.1/目录下,文件名为dhcpd.conf.sample,把这个文件复制到/etc/dhcpd/目录下
[root@bbs ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

2.编辑配置文件
	需要理解或配置的选项如下:
	option domain-name "test.com"; (域名,根据实际情况修改)
	option domain-name-servers 192.168.1.1; (dns服务器地址,可以是IP地址或域名)
	default-lease-time 43200; (默认租约期限,单位s)
	max-lease-time 86400; (最大租约期限,单位s)
	log-facility local7; (配置记录dhcp日志的文件,默认会记录到/var/log/messages)

	subnet 192.168.1.0 netmask 255.255.255.0 {	(设置要分配IP地址的ip地址网段和子网掩码)
		 range 192.168.1.40 192.168.1.49;	(要分配的IP地址池的范围)
		 option routers 192.168.1.1;	(默认网关)
		 filename "pxelinux.0";		(指明进行网络引导的文件名称)
		 next-server 192.168.1.93;		(指明网络引导文件所在服务器的IP地址)
	}

3.启动dhcp服务
[root@bbs ~]# service dhcpd start

4.查看服务是否启动成功 (dhcp服务默认监听udp67端口)
[root@bbs ~]# ss -unl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:67 :

二.配置httpd服务
1.创建/var/www/html/repo/centos/6/x86_64/目录
[root@bbs ~]# mkdir -pv /var/www/html/repo/centos/6/x86_64/

2.挂载centos光盘镜像到 /var/www/html/repo/centos/6/x86_64/目录下
(提供了安装系统过程中需要的程序包仓库)
[root@bbs ~]# mount /dev/cdrom /var/www/html/repo/centos/6/x86_64/

3.创建/var/www/html/kickstarts/目录
[root@bbs ~]# mkdir /var/www/html/kickstarts/

4.在/var/www/html/kickstarts/目录下创建kickstart文件(安装程序的自动化配置文件,本例中名为centos6.cfg)
centos6.cfg文件内容如下:

扫描二维码关注公众号,回复: 4347459 查看本文章
install   (用于系统安装)
lang en_US.UTF-8	(设置系统语言类型)
keyboard us	(设置键盘语言类型)
network --onboot no --device eth0 --bootproto dhcp	(网络配置)
rootpw  --iscrypted $6$BUb5tHjSmwp5DGc6$fFTzHZsbJ2qzDBIyPZ9qjw8ayZCNoV4ZbqiZOEDPWQS0AzNXYMyVXGP5H9wgvMdwEnW4amwO8u2wNVNGdlu200
(设置root密码)
firewall --disabled	(设置防火墙)
authconfig --enableshadow --passalgo=sha512		(认证配置)
selinux --disabled 	(设置selinux)
timezone --utc Asia/Shanghai	(设置时区)
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"	
(设置系统引导时的选项配置)
text	(设置安装方式)
zerombr	(设置分区前清空mbr)

part /boot --fstype=ext4 --size=200
part / --fstype=ext4 --size=60000
part swap --size=2000
(设置分区)

url --url="http://192.168.1.93/repo/centos/6/x86_64/" 	(设置程序包仓库的url)

%packages 
@core
%end

三.配置tftp服务
目的:复制一些自动化安装过程中要用到的文件到tftp的家目录下
1.到/usr/share/syslinux/目录下复制相关文件到/var/lib/tftp/目录下
[root@bbs ~]# cp /usr/share/syslinux/{pxelinux.0,chain.c32,memdisk,mboot.c32,menu.c32} /var/lib/tftpboot/

2.复制需要用到的initrd.img和vmlinuz文件到/var/lib/tftp/目录下
[root@bbs ~]# cp /var/www/html/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
initrd.img文件:加载内核需要用到的中间文件
vmlinuz:内核文件

3.在/var/lib/tftpboot目录下还需要创建一个名为pxelinux.cfg的目录,放置pxelinux.0的配置文件,名为default(该目录和文件的名字不能任意更改)
[root@bbs tftpboot]# mkdir pxelinux.cfg
编辑default文件
[root@bbs tftpboot]# vim pxelinux.cfg/default

配置内容如下:
default menu.c32	(设置安装界面类型)
timeout 10	(设置安装界面的超时时间)
label linux auto install	
menu label Install CentOS 6.9 x86_64 
kernel vmlinuz	(指定内核文件)
append initrd=initrd.img   ks=http://192.168.1.93/kickstarts/centos6.cfg 
(指定加载内核时,传递给内核的参数)

6.启动tftp服务
编辑配置文件:

	service tftp
	{
    socket_type             = dgram
    protocol                = udp
    wait                    = yes
    user                    = root
    server                  = /usr/sbin/in.tftpd
    server_args             = -s /var/lib/tftpboot
    disable                 = no (修改为no,默认为yes)
    per_source              = 11
    cps                     = 100 2
    flags                   = IPv4
	}

[root@bbs ~]# service xinetd start (启动tftp服务)

完成以上配置后,创建一个虚拟主机进行实验即可

猜你喜欢

转载自blog.csdn.net/weixin_42162725/article/details/83897702
今日推荐