一、准备工作
1.yum源
2.最少3台x86_64机器
3.局域网环境(主机需要下载好所有的包或者一张光盘上含有所有的包文件)
二、对主机要求
0.注意本实验的server
为centos7
环境哦!centos6
与7
类似只不过是命令不太相同。
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
选择好安装的默认语言、键盘布局、时区、密码和服务器架构
这里选择全新安装的安装方式,可以使用光盘,NFS、HTTP等安装方式,这里只是选用http的方式进行安装。在
HTTP:Server:
写上安装地址,这里是11服务器本省作为http的server所以就写成本机,假如你在其他的机器上搭建的server的话,你可以写上其他的地址,HTTP Directory
目录的话是相对于你共享出去的目录作为根目录,所以一定不要搞错了。这里是展示的是你是否想要创建新的BootLoader
第一个选项是全新的安装MBR
第二项是当启动时弹出GRUB引导方式的时候,是否要创建密码,这个是加密的。防止系统文件被修改,生产环境建议启用
第三项是是否在新的BootLoader上创建MBR。
第一项是清除MBR信息
第二项是移除所有已有磁盘分区
第三项,给磁盘打标签
最后的add是自己添加分区大小,可以按照生产的需求创建分区
这个地方一定要注意,你自己需要添加网卡,
最少一个,最少一个,最少一个
切记,没有网卡可能创建不成功,当然生产环境中一般都是四块网卡,所以就选择4快网卡吧。这里只是添加一块网卡作为范例。有的公司可能会有严苛的加密机制,所以会有加密的选项,没有的话就不用勾选了
第一项SElinux建议暂时改为warm
第二项是否开启防火墙,看生产需要了
是否安装图形环境,这里就不用了,也不建议装,占用内存挺大的。为了生产的最大使用率,建议放弃。
会有很多不同的包组供你选择,有开发包组,看个人需求了。这里就不多说了。
centos7.3(1611)这个版本kickstart工具有一个小bug安装之后这个界面不能选择,只需要你自己写一个yum源命名为
development
就可以了,再不行的话,就把development
里的【$name】
也给改成development
就一定可以。看好了,第一个安装前脚本,第二个是安装后脚本,可以把自己需要布置的安装前环境和安装后环境写成的脚本给写进去,可以直接部署。到了这里一定要注意,还有有结束,假如你感觉自己已经搞定的话,你就白做了还有最重要的一步。
这个不是点击
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了,所有都大功告成了,但是在安装之前,一定要先找个实验环境,仔仔细细测试下。