本文共 2888 字,大约阅读时间需要 9 分钟。
1. iptables -F
setenforce 0 临时关掉selinux,清掉防火墙 永久生效更改配置文件:vim /etc/sysconfig/selinux chkconfig iptables off
2. yum -y install httpd dhcp tftp-server
安装http服务用于构建镜像文件的yum仓库 安装dhcp服务,搭建dhcp服务器,为客户端分配ip地址 安装tftp服务,搭建tftp服务器,准备系统启动的引导文件,如pxelinux.0 menu32 内核以及,磁盘映像文件
3. 构建yum仓库
service httpd start 开启http服务 ss -tnlp |grep -w 80 查看80服务的端口是否打开 echo 'test' > /var/www/html/index.html 用浏览器打开httpd服务器的ip地址,测试能否打开 mkdir -p /var/www/html/centos/7/os/x86_64 mkdir -p /var/www/html/centos/6/os/x86_64 该虚拟机可以添加两个光盘驱动,分别将对应的镜像文件,一一挂载到上面两个相对应的目录 mount /dev/sr0 /var/www/html/centos/7/os/x86_64 mount /dev/sr1 /var/www/html/centos/7/os/x86_64 到此,镜像文件的yum仓库已经构建好了,可以打开网页,测试一下。 http://192.168.190.146/centos/6/os/x86_64/ http://192.168.190.146/centos/7/os/x86_64/6 生产环境中,http服务器要保证有足够的容量存放,镜像文件,或者创建软连接到存储上。
4. 准备ks引导文件
在6上面使用服务器(安装了图形化),使用system-config-kickstart 命令可以编辑ks文件,设定分区大小,密码,要安装的包组,初始化环境脚本,等等最后保存为ks6.cfg文件。同理,在7的服务器上面使用同样的命令制作ks.cfg文件。在编辑时,无法选择rpm包组,解决方法为:将本机的本地仓库文件名,即【base】更改为 【development】后,再次执行 system-config-kickstart 即可 ksvalidator ks7.cfg 检查ks文件的语法将准备好的ks文件,放到pxe服务器的/var/www/html/,下面
5. 搭建tftp服务器
tftp 为非独立服务,centos6上面由Xinetd服务监听端口69 centos7上面由systemd监听 service xinetd start chkconfig tftp on 开启tftp服务 ss -unlp |grep -w 69 查看69端口是否开启
7. 准备系统引导文件
一般的系统引导文件放在tftp服务器的工作目录 /var/lib/tftpboot/ [root@centos6 tftpboot]#tree . ├── kernel6 │ ├── initrd.img │ └── vmlinuz ├── kernel7 │ ├── initrd.img │ └── vmlinuz ├── menu.c32 ├── pxelinux.0 └── pxelinux.cfg └── default准备好相应的启动文件。cp /var/www/html/centos/7/os/x86_64/isolinux/initrd.img .cp /var/www/html/centos/7/os/x86_64/isolinux/vmlinuz .cp /var/www/html/centos/6/os/x86_64/isolinux/{initrd.img,vmlinuz} .rpm -ql syslinux 查找引导文件,没有需要安装 syslinuxpxelinux.0 menu32 两个文件复制到工作目录下mkdir pxelinux.cfg复制光盘镜像里面的isolinux.cfg 重命名为default文件编辑default文件
default menu.c32
timeout 600label local
menu label Boot from ^local drivemenu defaultlocalboot 0xffffmenu title label linuxmenu label ^AutoInstall CentOS 7kernel kernel7/vmlinuzappend initrd=kernel7/initrd.img ks=label manual
menu label ^Manual install CentOS 7kernel kernel7/vmlinuzappend initrd=kernel7/initrd.imginst.repo=
label linux
menu label ^AutoInstall CentOS 6kernel kernel6/vmlinuzappend initrd=kernel6/initrd.img ks=label manualmenu label ^Manual install CentOS 6kernel kernel6/vmlinuzappend initrd=kernel6/initrd.imgrepo=
7. 搭建dhcp服务器
首先要配置dhcp服务的配置文件,否则启动dhcp服务会失败 vim /etc/dhcp/dhcpd.conf cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 直接用dhcp的模板配置文件覆盖原来的配置文件,在基础上进行修改 vim /etc/dhcp/dhcpd.conf
service dhcpd start 开启dhcp服务 ss -unlp |grep dhcpd 查看dhcp服务端的端口67 是否开启 到此,dhcp服务器已搭建完毕
8.新建一个虚拟机,添加仅主机模式的网卡(和服务器一定要在同一个网络)。进行测试,效果如下:
转载于:https://blog.51cto.com/11912662/2142563