Linux项目之PXE实现不同系统安装

一、准备工作

1.yum源
2.最少3台x86_64机器
3.局域网环境(主机需要下载好所有的包或者一张光盘上含有所有的包文件)

二、对主机要求

0.注意本实验的servercentos7环境哦!centos67类似只不过是命令不太相同。
1.selinux 设置为permissive
2.iptables设置为临时清空,或者有特殊的设置以供访问,但是需要注意的是,后边安装的时候可能会采用到DHCP服务,所以在DHCP中你所设置的网段也要采用规则。

iptables -F

3.安装包:dhcp、tftp-server、httpd(ftpd)、syslinux
4.重启并检查服务状态

systemctl enable dhcpd.service tftp.service  httpd
systemctl start tftp(dhcpd.service httpd)
systemctl status tftp(dhcpd.service httpd)
ss -nulp 检查端口(67,69,80)
此时DHCP服务市启动失败的,需要注意。原因没有主配置文件,后边有配置文件的范例

3、实验正式步骤

(1)DHCP设置

vim /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'

我们可以根据模板文件进行修改,或者直接把文件复制过来,进行修改。这里我就直接复制过来进行修改。

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

添加以下设置

以下网段可以根据自己网络范围进行设置,假如不在这个范围也可以再加一个地址池,,PXE支持非同一局域网的安装。
subnet 192.168.40.0 netmask 255.255.255.0 {
     range 192.168.40.1 192.168.40.100;
     (网络范围)
     option routers 192.168.8.1; 
     (默认路由)
     option domain-name-servers 114.114.114.114,114.114.115.115;
     (默认DNS)
     filename "pxelinux.0";(pxelinux文件名称)
     next-server 192.168.40.199;
    (需要跳转的下一台主机,主机上一定要包含pxelinux.0这个文件)
}
systemctl start dhcpd(重启服务)

(2)准备kickstart文件

mkdir /dev/sr0 /var/www/html/centos{6,7}
mount /dev/sr0 /var/www/html/centos7
mount /dev/sr1 /var/www/html/centos6
这里只是给了两个系统安装的方式,可以一次类推。
yum clean all
yum repolist
yum -y install system-config-kickstart
system-config-kickstart

Linux项目之PXE实现不同系统安装_第1张图片
basic configuration

选择好安装的默认语言、键盘布局、时区、密码和服务器架构
Linux项目之PXE实现不同系统安装_第2张图片
安装方式

这里选择全新安装的安装方式,可以使用光盘,NFS、HTTP等安装方式,这里只是选用http的方式进行安装。在 HTTP:Server:写上安装地址,这里是11服务器本省作为http的server所以就写成本机,假如你在其他的机器上搭建的server的话,你可以写上其他的地址, HTTP Directory目录的话是相对于你共享出去的目录作为根目录,所以一定不要搞错了。
Linux项目之PXE实现不同系统安装_第3张图片
MBR

这里是展示的是你是否想要创建新的BootLoader
第一个选项是全新的安装MBR
第二项是当启动时弹出GRUB引导方式的时候,是否要创建密码,这个是加密的。防止系统文件被修改,生产环境建议启用
第三项是是否在新的BootLoader上创建MBR。
Linux项目之PXE实现不同系统安装_第4张图片
分区

第一项是清除MBR信息
第二项是移除所有已有磁盘分区
第三项,给磁盘打标签
最后的add是自己添加分区大小,可以按照生产的需求创建分区
Linux项目之PXE实现不同系统安装_第5张图片
手动创建分区

Linux项目之PXE实现不同系统安装_第6张图片
网卡

这个地方一定要注意,你自己需要添加网卡, 最少一个,最少一个,最少一个切记,没有网卡可能创建不成功,当然生产环境中一般都是四块网卡,所以就选择4快网卡吧。这里只是添加一块网卡作为范例。
Linux项目之PXE实现不同系统安装_第7张图片
认证方式

有的公司可能会有严苛的加密机制,所以会有加密的选项,没有的话就不用勾选了
Linux项目之PXE实现不同系统安装_第8张图片
Firewalls

第一项SElinux建议暂时改为warm
第二项是否开启防火墙,看生产需要了
Linux项目之PXE实现不同系统安装_第9张图片
图形方式

是否安装图形环境,这里就不用了,也不建议装,占用内存挺大的。为了生产的最大使用率,建议放弃。
Linux项目之PXE实现不同系统安装_第10张图片
包组安装

会有很多不同的包组供你选择,有开发包组,看个人需求了。这里就不多说了。
centos7.3(1611)这个版本kickstart工具有一个小bug安装之后这个界面不能选择,只需要你自己写一个yum源命名为 development就可以了,再不行的话,就把 development里的 【$name】也给改成 development就一定可以。
Linux项目之PXE实现不同系统安装_第11张图片
前后脚本

看好了,第一个安装前脚本,第二个是安装后脚本,可以把自己需要布置的安装前环境和安装后环境写成的脚本给写进去,可以直接部署。到了这里一定要注意,还有有结束,假如你感觉自己已经搞定的话,你就白做了还有最重要的一步。
Linux项目之PXE实现不同系统安装_第12张图片
保存

这个不是点击 x就可以保存的,是要手动保存的。之后会生成一个 ks.cfg文件,你可以给它换个别的名字,因为是多个不同版本系统的安装。

mkdir /var/www/html/ks
mv /$PATH/ks.cfg /var/www/html/ks/centos7.cfg(名称必须不同,会有多个cfg文件)
chmod a+r  /var/www/html/ks/*(添加读取权限)

(3)准备anaconda-ks.cfg文件

mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
# 我这里是自己写的,你也可以随便找个自己原来的安装过的操作系统应答文件自己修改下。
default menu.c32
timeout 600

menu title PXE CentOS Linux 7 Install Menu
label automini
  menu label Install CentOS ^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img ks=http://192.168.40.11/ks/centos7.cfg
label autodesktop 
  menu label Install CentOS ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img ks=http://192.168.40.11/ks/centos6.cfg
# 这里可以添加很多系统,看个人需求
label local
  menu label Boot from ^local drive
  menu default      #默认安装设置为本地
  localboot 0xffff

OK了,所有都大功告成了,但是在安装之前,一定要先找个实验环境,仔仔细细测试下。

你可能感兴趣的:(Linux项目之PXE实现不同系统安装)