DHCP+TFTP+HTTP+KS無人值守安裝

PXE啓動的原理什麼的這裏就不介紹了,網上有很多,一定要理解原理再來做,不但便於記憶,也便於操作,可以把安裝步驟模塊化,前後要融會貫通。如果有不好的地方請諒解。

j_0057.gif

環境:

centos 6.8_x86_64

Apache2.2.27編譯安裝


安裝配置DHCP服務器

rpm -qa | grep dhcp     #查看DHCP服務是否已經安裝了,一般默認有個dhcp- common-4.1.1-51.P1.el6.centos.x86_64,這個不是主程序


yum install dhcp.x86_64 dhcp-devel.x86_64 -y    #安裝DHCP服務和devel,必須要有devel否則出錯


cat /etc/dhcp/dhcpd.conf     #查看配置文件

# DHCP Server Configuration file.        #一下是查看DHCP配置文件的方法,這裏我們用第一種方法

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'


===DHCP服務安裝完成============================


rpm -ql dhcp | grep sample

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample    #DHCP的配置文件


egrep -v "#|^$" /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf

##去除dhcpd.conf.sample文件中的空行和註釋行,並重定向到/etc/dhcpdhcpd.conf文件中


vim /etc/dhcp/dhcpd.conf    #編輯配置文件,留下一下內容即可,其他的參數用不到,紅色的是自己加的

subnet 192.168.199.0 netmask 255.255.255.0 {    #DHCP分配的網段

  range 192.168.199.2 192.168.199.6;                     #DHCP分配的地址段

  option domain-name-servers ns1.internal.example.org;    #DNS服務器地址,這裏就默認把

  option domain-name "internal.example.org";            #域名

  option routers 192.168.199.1;            #默認路由,其實就是網關地址

  option broadcast-address 192.168.199.255;    #廣播地址

  default-lease-time 600;    #默認租期

  max-lease-time 7200;    #最大租期

  next-server 192.168.199.214;                            #tftp服務器所在的地址

  filename "pxelinux.0";                                       #網絡引導文件名,引號別忘了,我經常忘記

}


service dhcpd start    #啓動服務

    提示:如果服務器啓動失敗,可以查看/var/log/messages日誌信息,在之後的安裝系統時最好關閉網絡中的其他有DHCP功能的設備,比如路由器等,否則不能正確指向TFTP服務器,從而無法正常引導、啓動和安裝。


netstat -nupl | grep dhcp    #查看DHCP的工作端口號


iptables -I INPUT -p udp --dport 67 -j ACCEPT     #添加放火牆端口


service iptables save    #保存配置規則


===DHCP服務器配置完成=======================


yum install httpd        #安裝httpd服務器,我等等就用之前編譯好的httpd服務器了,但是用yum安裝的作爲演示


service httpd start        #啓動httpd服務


curl localhost                #測試下服務器是否正常用功了


iptables -I INPUT -p tcp --dport 80 -j ACCEPT         ##添加防火牆規則


===httpd安裝和配置完成=========================


yum install tftp.x86_64 tftp-server.x86_64 -y            #安裝tftp和tftp-server,同時會安裝一個xinetd


vim /etc/xinetd.d/tftp            #編輯tftp文件將disable的yes改成no

        disable                 = no


service xinetd start                #啓動xinetd服務


netstat -nupl| grep xinetd    #查看xinetd的工作端口


iptables -I INPUT -p udp --dport 69 -j ACCEPT        #給防火牆添加開放的端口


service iptables save        #保存規則


mkdir /var/www/cdrom -p        #yum安裝的站點目錄是/var/www/html/,我是編譯的所以自己新建


mount /dev/cdrom /var/www/cdrom/    #爲了方便這裏將iso文件直接掛載了


cd /var/www/cdrom/isolinux/        #進入isolinux目錄


cp -v  boot.msg vmlinuz vesamenu.c32 initrd.img /var/lib/tftpboot/     #複製這四個文件到指定                                                                                                                        tftp的工作目錄


mkdir /var/lib/tftpboot/pxelinux.cfg -p            #在tftp工作目錄創建pxelinux.cfg目錄


cat isolinux.cfg > /var/lib/tftpboot/pxelinux.cfg/default        #查看重定向,到default文件


vim /var/lib/tftpboot/pxelinux.cfg/default 

timeout 5            #超時時間

label linux

  menu label ^Install or upgrade an existing system

  menu default                        默認選擇menu label ^Install or upgrade an existing system

  kernel vmlinuz                    #內核文件

  append initrd=initrd.img ks=http://192.168.199.214/ks.cfg

##編輯default文件添加紅色部分,即爲ks.cfg文件存放的位置,centos7還可以在理這頂安裝文件路徑,但是沒什麼意義,因爲指定了ks.cfg文件的位置後,ks.cfg文件中又指定了一次


yum install syslinux-devel.x86_64 syslinux.x86_64 -y        #安裝syslinux,因爲他又我們所需  要 網 絡  引導文件


find / -name "pxelinux.0" -exec cp {} /var/lib/tftpboot/ \;        #找到這個文件並且複製到指定位置


===TFTP服務+網絡引導+linux內核什麼的準備完成================


cd /var/www/        #進入站點根目錄


vim ks.cfg      #添加ks.cfg的配置文件,也可以自己用圖化system-config-kickstart.noarch編輯

# Kickstart Configurator for CentOS 6.7 by yao zhang

install

url --url="http://192.168.199.214/cdrom/"                #指定安裝盤的網絡位置

#text                                                                    #這個看習慣開把我還是喜歡圖形界面

lang en_US.UTF-8

keyboard us

zerombr

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6

timezone --utc Asia/Shanghai

authconfig --enableshadow --passalgo=sha512

rootpw  --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/

clearpart --all --initlabel

part /boot --fstype=ext4 --asprimary --size=200

part swap --size=1024

part / --fstype=ext4 --grow --asprimary --size=200

firstboot --disable

selinux --disabled

firewall --disabled

logging --level=info

reboot

%packages

@base

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

%end


注意:centos7的anaconda-ks.cfg拿過來修改下安裝方式,就是上面的紅色部分就可以用了,centos6.x的不行,也有可能是我比較菜,還不知道怎麼弄,如果直接複製家目錄下的anaconda-ks.cfg,記得一定要給權限否則會報錯,ks.cfg文件出錯chmod 777 ks.cfg



wKioL1jiAVmj3Gb4AADcY0rBtvc835.png-wh_50

#新建一個這樣的空虛擬機,不要掛載光盤,還有就是網絡一定要和我們搭建的DHCP服務器一個網絡,否則會找不到,或者直接出錯


後面全程高速公路無人駕駛模式,可以把整個過程回憶一遍,自己一定要總結,多操作,否則容易忘記。root密碼就不寫了,我是爲了強行讓自己回憶一遍修改root的步驟。我對ks文件的編輯不很熟悉,碰過好多次壁,有不對的地方還請諒解。上面的ks文件是我參考老男孩老師提供的,因爲我自己寫了6次都出問題了j_0004.gif


===只待開機完成了================================


wKioL1jiB1Wz9A9WAAATor6RxOM303.png-wh_50

===安裝完成=================================


參見錯誤:

  1. DHCP服務器

    a)centos的配置文件查找不是查找sample

    b)dhcp配置文件的filename "pxelinux.0";一定不要忘記引號和分號

    c)記得要麼關閉防火牆和selinux除非你非常瞭解selinux這個服務

  2. httpd服務器

    a)服務是否能夠正常工作

    b)默認站點不要弄錯

    c)如果是自己創建的話文件夾權限,還有最好關閉selinux

    d)記得要麼關閉防火牆和selinux除非你非常瞭解selinux這個服務

  3. tftp服務

    a)如果在安裝了tftp-server,並沒有安裝xinetd記得自行安裝,yum的話一般都是裝的

    b)如果tftpboot目錄是自己創建的注意權限和selinux問題

    c)pxelinux.cfg目錄下的文件名不要出錯

    d)記得要麼關閉防火牆和selinux除非你非常瞭解selinux這個服務

  4. default文件

    a)超時時間自己隨意

    b)centos6不用在append的後面加inst.stage2=http://IP/iso,直接ks=http://IP/ks.cfg就好了

    加了反而在centos6.X中會出錯

    c)centos7的menu default是在媒體測試選項上的記得自己改下

  5. ks.cfg

    a)這個文件的配置也是個大學問,每一句話是有順序問題的,所以順序不能亂

    b)常見的編輯方法就是system-config-kickstart.noarch編輯

    c)centos6.x如果都到了選語言的界面之後,出現異常提出的問題,絕對就是ks.cfg文件有問題,再改改


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