NFS+TFTP+DHCPD+PXE自動化運維(多系統)

# NFS+TFTP+DHCPD+PXE自動化運維(多系統)
NFS+TFTP+DHCPD+PXE自動化運維(多系統)
1.配置前準備

[root@node1 ~]# /etc/init.d/iptables stop
[root@node1 ~]#setenforce 0

2.dhcpd服務配置

[root@node1 ~]#yum install dhcp-y
[root@node1 ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#

ddns-update-style interim;
ignore client-updates;
next-server 192.168.110.16;  # dhcpd服務器IP
filename "pxelinux.0";
option domain-name-servers 8.8.8.8;
option routers 192.168.110.254;
option subnet-mask 255.255.255.0;
allow booting;
allow bootp;

subnet 192.168.110.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.110.18 192.168.110.50;  #客戶端ip分配範圍
}

[root@node1 ~]#/etc/init.d/dhcpd start

3. tftp服務配置
3.1 tftp服務配

[root@node1 ~]#yum install tftp-server –y
[root@node1 ~]#vim /etc/xinetd.d/tftp
        server_args             = -s /tftpboot  #默認目錄爲/var/lib/tftpboot
        disable                 = no  #默認爲yes,修改爲no

3.2 tftp目錄配置

[root@node1 ~]# yum install syslinux -y
[root@node1 ~]#mkdir /tftpboot/{centos6.4,centos6.5,pxelinux.cfg} -pv
[root@node1 ~]#cp /usr/share/syslinux/pxelinux.0 /tftpboot
[root@node1 ~]#cp /centosinstall/centos6.5/isolinux/ vesamenu.c32 /tftpboot
[root@node1 ~]#cp /centosinstall/centos6.5/isolinux/boot.msg /tftpboot
[root@node1 ~]# cp /centosinstall/centos6.5/images/vmlinuz /tftpboot/centos6.5
[root@node1 ~]#cp /centosinstall/centos6.5/images/initrd.img /tftpboot/centos6.5
[root@node1 ~]#cp /centosinstall/centos6.4/images/vmlinuz /tftpboot/centos6.4
[root@node1 ~]#cp /centosinstall/centos6.4/images/initrd.img /tftpboot/centos6.4
[root@node1 ~]#cp /centosinstall/centos6.5/isolinux/isolinux.cfg /tfpboot/pxelinux.cfg/default

3.3 修改/tftpboot/pxelinux.cfg/default文件,添加如下內容即可

[root@node1 ~]#vim /tftpboot/pxelinux.cfg/default
default vesamenu.c32  
label centos64
  menu label ^Install Centos6.4 system
  menu default
  kernel centos64/vmlinuz  #默認會在tftp服務目錄下查找,當多系統時,需指定路徑
  append ks=nfs:192.168.110.16:/centosnfs/centos64/ks64.cfg  initrd=centos64/initrd.img
label centos65
  menu label ^Install Centos6.5 system
  menu default
  kernel centos65/vmlinuz
  append ks=nfs:192.168.110.16:/centosnfs/centos65/ks65.cfg initrd=centos65/initrd.img

3.4 啓動tftp服務

[root@node1 ~]#/etc/init.d/xinetd start

4. nfs服務配置
4.1 nfs服務配置

[root@node1 ~]#yum install nfs-utils –y
[root@node1 ~]# echo “/centosinstall/centos6.4 *(rw,sync)” /etc/exports
[root@node1 ~]#echo “/centosinstall/centos6.5 *(rw,sync)” /etc/exports
[root@node1 ~]# /etc/init.d/rpcbind start
[root@node1 ~]# /etc/init.d/nfs start

4.2 nfs共享文件配置(掛載光盤,複製iso鏡像到共享目錄)

[root@node1 ~]# mkdir /mnt/{centos6.4,centos6.5}
[root@node1 ~]#mount /dev/cdrom /mnt/centos6.4
[root@node1 ~]#cp –a /mnt/centos6.4 /centosinstall/centos6.4
[root@node1 ~]#cp /root/ks64.cfg /centosinstall/centos6.4
[root@node1 ~]#mount /dev/cdrom /mnt/centos6.5
[root@node1 ~]#cp –a /mnt/centos6.5 /centosinstall/centos6.5
[root@node1 ~]#cp /root/ks65.cfg  /centosinstall/centos6.5

4.3 啓動nfs服務

[root@node1 ~]#/etc/init.d/rpcbind start
[root@node1 ~]#/etc/init.d/nfs start

5. 製作ks.cfg文件
ks.cfg文件可以自己編寫,也可以使用軟件system-config-kickstart生成。

firewall --disabled
install
nfs --server=192.168.110.16 --dir=/centosnfs/centos65
rootpw --iscrypted $1$2h9mMmFM$.rT/T4yqo/zj63mtkuueo/
auth  --useshadow  --passalgo=sha512
text
firstboot --disable
keyboard us
lang en_US
selinux --disabled
logging --level=info
reboot
timezone  Asia/Shanghai
network  --bootproto=dhcp --device=eth0 --onboot=on --noipv6  --nameserver=192.168.200.254
bootloader --location=mbr
zerombr
clearpart --all --initlabel 
part / --fstype="ext4" --grow --size=1

%packages 
@core
@base
wget

%end

6. 客戶機進行測試
7. 要想全自動化,可以設置默認安裝系統,只需要將第3步中的C步驟中

default vesamenu.c32  修改爲 default centos6.4  (表示默認安裝centos6.4) 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章