1: 部署 FTP 服务
- [[email protected] ~]# yum -y install vsftpd
- [[email protected] ~]# rpm -q vsftpd
- vsftpd-3.0.2-25.el7.x86_64
- [[email protected] ~]# mkdir /var/ftp/centos7
- [[email protected] ~]# umount /dev/sr0
- [[email protected] ~]# mount/dev/sr0 /media/
mount: /dev/sr0 写保护, 将以只读方式挂载
- [[email protected] ~]# cp -ar /media/* /var/ftp/centos7/
- [[email protected] ~]# du /var/ftp/centos7/
- 2508 /var/ftp/centos7/EFI/BOOT/fonts
- 8464 /var/ftp/centos7/EFI/BOOT
- 8468 /var/ftp/centos7/EFI
- 57848 /var/ftp/centos7/images/pxeboot
- 66556 /var/ftp/centos7/images
- 58232 /var/ftp/centos7/isolinux
- 442744 /var/ftp/centos7/LiveOS
- 3892616 /var/ftp/centos7/Packages
- 14660 /var/ftp/centos7/repodata
- 4483316 /var/ftp/centos7/
2: 启动 FTP 服务, 并设置为开机自启动
- [[email protected] ~]# systemctl start vsftpd // 启动 vsftpd 服务
- [[email protected] ~]# systemctl enable vsftpd // 开机自动 vsftpd 服务
- Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
- [[email protected] ~]# echo $? // 检测上一步命令是否成功为 0 成功非 0 出错
- 0
3: 部署 TFTP 服务
- [[email protected] ~]# yum -y install tftp-server // 安装 tftp 服务
- [[email protected] ~]# rpm -q tftp-server
- [[email protected] ~]# VIM /etc/xinetd.d/tftp // 修改配置文件开启 TFTP 服务
- [[email protected] ~]# systemctl start tftp // 启动 TFTP 服务
- [[email protected] ~]# systemctl enable tftp // 开机自启 TFTP 服务
- Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
- [[email protected] ~]# echo $?
- 0
- [[email protected] ~]# netstat -anput | grep 69 // 检测端口号
- udp6 0 0 :::69 :::* 1/systemd
4: 准备相关文件以及 PXE 引导程序
- [[email protected] ~]# cd /var/ftp/centos7/isolinux/ // 准备 Linux 内核, 初始化镜像文件
- [[email protected] isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/
- [[email protected] isolinux]# ll /var/lib/tftpboot/
总用量 57844
-rw-r--r--. 1 root root 52584760 8 月 21 15:41 initrd.img
-rwxr-xr-x. 1 root root 6639904 8 月 21 15:41 vmlinuz
5: 准备 lickstart 配置文件
- [[email protected] isolinux]# cd /root
- [[email protected] ~]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
- [[email protected] ~]# chmod 777 /var/ftp/ks.cfg
- [[email protected] ~]# ll /var/ftp/ks.cfg
-rwxrwxrwx. 1 root root 1569 8 月 21 15:41 /var/ftp/ks.cfg
[[email protected] ~]# VIM /var/ftp/ks.cfg
此处只添加如下命令什么都不删除
- url --url=ftp://192.168.200.112/centos7 // 指定安装源
- #cdrom
6: 准备 PXE 引导程序, 启动菜单文件
- [[email protected] ~]# yum -y install syslinux
- [[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib//tftpboot/
- [[email protected] ~]# ls /var/lib/tftpboot/
- initrd.img pxelinux.0 vmlinuz
- [[email protected] ~]# cp /var/ftp/centos7/isolinux//isolinux.cfg /var/lib/tftpboot/
- [[email protected] ~]# chmod 664 /var/lib/tftpboot/isolinux.cfg
- [[email protected] ~]# ll /var/lib/tftpboot/
总用量 57876
-rw-r--r--. 1 root root 52584760 8 月 21 15:41 initrd.img
-rw-rw-r--. 1 root root 3032 8 月 21 15:52 isolinux.cfg
-rw-r--r--. 1 root root 26759 8 月 21 15:49 pxelinux.0
-rwxr-xr-x. 1 root root 6639904 8 月 21 15:41 vmlinuz
7: 创建 PXE 启动菜单
- [[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
- [[email protected] ~]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot//pxelinux.cfg/default
- [[email protected] ~]# ll -R /var/lib/tftpboot/
- /var/lib/tftpboot/:
总用量 57872
-rw-r--r--. 1 root root 52584760 8 月 21 15:41 initrd.img
-rw-r--r--. 1 root root 26759 8 月 21 15:49 pxelinux.0
drwxr-xr-x. 2 root root 21 8 月 21 15:54 pxelinux.cfg
-rwxr-xr-x. 1 root root 6639904 8 月 21 15:41 vmlinuz
/var/lib/tftpboot/pxelinux.cfg:
总用量 4
-rw-rw-r--. 1 root root 3032 8 月 21 15:52 default
8: 修改 PXE 启动菜单, 指定安装源位置 PXE 和 ks.fg 文件位置
[[email protected] ~]# VIM /var/lib/tftpboot/pxelinux.cfg/default
此处只修改与添加不删任何东西
第一行修改: default Linux
第二行添加: prompt 0
第三行修改: timeout 600
- label Linux
- menu label ^Install CentOS 7
- kernel vmlinuz
第六十五行修改: append initrd=initrd.img ks=ftp://192.168.200.112/ks.cfg
9: 部署 DHCP 服务
9.1: 安装 DHCP 服务
- [[email protected] ~]# yum -y install dhcp
- [[email protected] ~]# rpm -q dhcp
- dhcp-4.2.5-68.el7.CentOS.1.x86_64
9.2: 修改 DHCP 配置文件
- [[email protected] ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example> /etc/dhcp/dhcpd.conf
- [[email protected] ~]# VIM /etc/dhcp/dhcpd.conf
内容只剩如图所示其余全部删除
- ption domain-name "pxe.yunban.cn";
- option domain-name-servers 192.168.200.112; // 此处填写本机 ip
- default-lease-time 21600; // 默认租约 6 小时
- max-lease-time 43200; // 最长租约 12 小时
- subnet 192.168.200.0 netmask 255.255.255.0 {
- range 192.168.200.120 192.168.200.200; //ip 池 120 到 200, 新建虚拟机在 ip 池中随机选择
- next-server 192.168.200.112;
- filename "pxelinux.0";
- } // 此处不加分号结尾
开启客户端测试
****** 内存改为 2G,CD/DVD 为自动检测 (目的让新虚拟机自动获取 IP 及 NETMASK 地址)
来源: http://www.bubuko.com/infodetail-3164745.html