1. iptables -Fcss
setenforce 0 臨時關掉selinux,清掉防火牆 永久生效更改配置文件:vim /etc/sysconfig/selinux chkconfig iptables off
2. yum -y install httpd dhcp tftp-serverhtml
安裝http服務用於構建鏡像文件的yum倉庫 安裝dhcp服務,搭建dhcp服務器,爲客戶端分配ip地址 安裝tftp服務,搭建tftp服務器,準備系統啓動的引導文件,如pxelinux.0 menu32 內核以及,磁盤映像文件
3. 構建yum倉庫linux
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引導文件nginx
在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服務器sql
tftp 爲非獨立服務,centos6上面由Xinetd服務監聽端口69 centos7上面由systemd監聽 service xinetd start chkconfig tftp on 開啓tftp服務 ss -unlp |grep -w 69 查看69端口是否開啓
7. 準備系統引導文件vim
通常的系統引導文件放在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 查找引導文件,沒有須要安裝 syslinux pxelinux.0 menu32 兩個文件複製到工做目錄下 mkdir pxelinux.cfg 複製光盤鏡像裏面的isolinux.cfg 重命名爲default文件 編輯default文件
default menu.c32
timeout 600centoslabel local
menu label Boot from ^local drive
menu default
localboot 0xffff
menu title http://192/168.190.146/
label linux
menu label ^AutoInstall CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=http://192.168.190.146/ksdir/ks7.cfg瀏覽器label manual
menu label ^Manual install CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img服務器inst.repo=http://192.168.190.146/centos/7/os/x86_64/網絡
label linux
menu label ^AutoInstall CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=http://192.168.190.146/ksdir/ks6.cfg
label manual
menu label ^Manual install CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img
repo=http://192.168.190.146/centos/6/os/x86_64/
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.新建一個虛擬機,添加僅主機模式的網卡(和服務器必定要在同一個網絡)。進行測試,效果以下: