PXE + KickStart 自動安裝系統

實驗1:dhcp服務
DHCP端口號:UDP67 UDP68

[root@centos7 ~]#yum -y install dhcp
[root@centos7 ~]#rpm -ql dhcp //此處簡單列出dhcp包裏文件
/etc/dhcp/dhcpd.conf //dhcp配置文件,默認爲空
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example //dhcp配置樣板文件

[root@centos7 ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷貝樣板文件並重命名
[root@centos7 ~]#vim /etc/dhcp/dhcpd.conf //編輯配置文件
option domain-name "magedu.com";
option domain-name-servers 223.5.5.5, 223.6.6.6,8.8.8.8; //配置多個DNS服務器

#默認ip租賃時間, 默認客戶端IP租約時間的最大值。單位:秒
default-lease-time 86400;
max-lease-time 172800;

#設置子網,子網掩碼,dhcp分配的ip範圍,及網關
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
option routers 10.0.0.1;
}

#把客戶端主機mac和分配的ip綁定
host centos7 {
hardware ethernet 00:0c:29:10:b6:f1;
fixed-address 10.0.0.10;
}

[root@centos7 ~]#systemctl start dhcp //啓動服務
[root@centos7 ~]#systemctl enable dhcp //設爲開機啓動
[root@centos7 ~]#ss -nul //查看UDP67 ,UDP68是否監聽

實驗2:實現tftp服務器
tftp端口號: UDP69

centos7上:
[root@centos7 ~]#yum -y install tftp-server
[root@centos7 ~]#systemctl start tftp
[root@centos7 ~]#systemctl enable tftp
[root@centos7 ~]#ss -nul //查看UDP69端口是否監聽
[root@centos7 ~]#rpm -ql tftp-server
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/var/lib/tftpboot
centos6上:
[root@centos6 ~]yum -y install tftp-server
[root@centos6 ~]chkconfig tftp on
[root@centos6 ~]service xinetd restart

實驗3:PXE 、 kickstart網絡自動化安裝系統
實驗環境:
centos7 IP:10.0.0.200/24 ( dhcp,http,tftp服務器 )
prefix:24
gateway:10.0.0.1
subnet range 10.0.0.10 10.0.0.100
獨立的非橋接的網段:vmnet6(僅主機模式)
虛擬網絡編輯器:關閉dhcp
關閉selinux,防火牆

  1. 安裝包:httpd、 dhcp、tftp-server和syslinux
    [root@centos7 ~]#yum -y install httpd dhcp tftp-server syslinux

  2. 準備http yum源
    [root@centos7 ~]systemctl start httpd //啓服務
    [root@centos7 ~]systemctl enable httpd //開機啓動

[root@centos7 ~]#mkdir /var/www/html/centos/6/os/x86_64 -pv
[root@centos7 ~]#mkdir /var/www/html/centos/7/os/x86_64 -pv //在http服務/var/www/html下創建centos/7/os/x86_64
[root@centos7 ~]#mount /dev/sr0 /var/www/html/centos/7/os/x86_64 //把光盤掛載到centos/7/os/x86_64

打開虛擬機firefox瀏覽器測試成功:
http://10.0.0.200/centos/6/os/x86_64/
http://10.0.0.200/centos/7/os/x86_64/

  1. ks文件
    [root@centos7 ~]#system-config-kickstart //方法一:ks文件可以用此命令生成
    [root@centos7 ~]#cat /root/anaconda-ks.cfg //方法二:可以參考root目錄下的anacon-ks.cfg文件

[root@centos7 ~]#mkdir /var/www/html/ks/ //在/var/www/htmp目錄下創建ks目錄
[root@centos7 ~]#vim /var/www/html/ks/centos7-mini.cfg //按需要編輯cfg文件
備註: 實驗時我有之前準備好的cfg文件
[root@centos7 ks]#ls
centos6-mini.cfg centos7-mini.cfg ks7-mini.cfg

4.dhcp服務配置
[root@centos7 ~]#vim /etc/dhcp/dhcpd.conf //編輯dhcp服務配置文件
option domain-name "magedu.com";
option domain-name-servers 223.5.5.5, 223.6.6.6,8.8.8.8;

default-lease-time 86400;
max-lease-time 172800;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
option routers 10.0.0.1;
next-server 10.0.0.200;
filename "pxelinux.0";
}

[root@centos7 ~]#systemctl start dhcpd

  1. 準備tftpboot目錄相關文件

[root@centos7 etc]#rpm -ql syslinux //查看syslinux包裏文件
[root@centos7 isolinux]#cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot/ //menu.c32啓動後菜單背景文件; pxelinux.0 拷貝到tftp工作目錄下

[root@centos7 isolinux]#ls
boot.cat boot.msg grub.conf initrd.img isolinux.bin isolinux.cfg memtest splash.png TRANS.TBL vesamenu.c32 vmlinuz
[root@centos7 isolinux]#cp initrd.img vmlinuz /var/lib/tftpboot/ //把initrd.img和內核vmkinuz 拷貝到tftp工作目錄下

[root@centos7 isolinux]#mkdir /var/lib/tftpboot/pxelinux.cfg/ //在tftp的/var/lib/tftpboot/路徑下創建pxelinux.cfg目錄
[root@centos7 isolinux]#cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //拷貝isolinux.cfg 文件到pxelinux.cfg下並改名爲default

[root@centos7 ~]#tree /var/lib/tftpboot/ //tftp工作目錄必須有的文件結構:
/var/lib/tftpboot/
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│ └── default
└── vmlinuz

1 directory, 5 files

  1. 準備安裝菜單

[root@centos7 ~]#vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
#prompt 1
timeout 600

menu title Welcome to www.magedu.com

label mini
menu label ^Install an Mini Centos7.5 system
kernel vmlinuz
append initrd=initrd.img ks=http://10.0.0.200/ks/centos7-mini.cfg

label local
menu label Boot from ^local drive
menu default //默認啓動選項
localboot 0xffff

  1. 客戶端測試

新創建一個虛擬機:
硬盤:200g
網卡:自定義 VMnet6(僅主機模式)
內存:1558Mb
掛centos7.5.iso鏡像

開機選擇:Install an Mini Centos7.5 system

成功安裝系統!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章