centos 6.4+kickstart + httpd + tftp
1 安裝需要的軟件包:
yum -y install tftp* yum -y install dhcp* yum -y install httpd* yum -y install system-config-kickstart yum -y install syslinux
2 修改配置文件:
2.1 創建tftp文件夾:
mkdir -p /tftpboot
2.2 將centos 6.4 x86_6的iso掛載到/mnt下:
mount -t iso9660 /dev/cdrom /mnt/
2.3 複製光盤裏的文件:
cp /mnt/images/pxeboot/* /tftpboot
2.4 複製光盤裏的isolinux
cp /mnt/isolinux/*.* /tftpboot
2.5複製pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /tftpboot
2.6創建文件夾:
mkdir -p /tftpboot/pxelinux.cfg
2.7 複製配置文件:
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
2.8 複製dhcpd配置文件:
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcpd/dhcpd.conf
2.9 複製所有的iso 文件到httpd的首頁目錄:
cp -rf /mnt/* /var/www/html/
3 修改tftp配置文件
3.1 修改tfpt 啓動文件項目
vim /etc/xinetd.d/tftp ----------------------------------------------------------------------- # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot ### 這裏改成tftp的文件存放路徑,此處爲/tftpboot/ disable = no ### 把yes 改成 no , 開啓tftp的啓動 per_source = 11 cps = 100 2 flags = IPv4 }
3.2 啓動tftp服務:
service xinetd restart
4 修改dhcpd配置文件:
4.1 修改dhcpd.conf
vim /etc/dhcp/dhcpd.conf -------------------------------------------------------------------------------------------------------------------------------------------------------------- ddns-update-style none; #改成none ignore client-updates; next-server 192.168.80.150; #dhcp服務器地址 filename "/pxelinux.0"; # 手動添加這行 >否則不能啓動安裝 subnet 192.168.80.0 netmask 255.255.255.0 { option routers 192.168.80.254; option subnet-mask 255.255.255.0; option nis-domain "che100.org"; option domain-name "che100.org"; option domain-name-servers 8.8.8.8; option time-offset -18000; range dynamic-bootp 192.168.80.151 192.168.80.153; # 可分配地址空間 default-lease-time 21600; max-lease-time 43200; }
4.2 重啓dhcpd服務:
service dhcpd restart
5 kickstart 配置ks.conf文件:
5.1運行system-config-kickstart
system-config-kickstart
2設置dhcp的訪問地址
3 設置grub 和內核部分:
4 定義分區方式:
5 添加自己的網絡設備
6
7防火牆和selinux的初始化選項,這裏全都是禁止使用:
8 圖形配置的禁用
9 軟件包的選擇:
10 預安裝腳本的添加處:
11安裝後需要執行腳本的添加:
12 保存ks.conf 到網站跟目錄。
配置完成 選擇界面 file --- save --- 保存到httpd的主目錄。我的默認在/var/www/html/ 下名稱爲ks.cfg
注意:在11步的時候需要添加如下的系統服務優化代碼:
for name in `chkconfig --list | grep 3:on | awk '{print $1}'`;do chkconfig --level 3 $name off;done for name in crond network rsyslog sshd;do chkconfig --level 3 $name on;done for name in `chkconfig --list | grep 5:on | awk '{print $1}'`;do chkconfig --level 5 $name off;done for name in crond network rsyslog sshd;do chkconfig --level 5 $name on;done
配置完成選擇界面 file --- save --- 保存到httpd的主目錄。我的默認在/var/www/html/ 下名稱爲ks.cfg
啓動幾項服務:
service httpd restart service xinetd restart service dhcpd restart
----------------------------------------------至此system-config-kickstart 配置完成--------------------------------------------------------------------
6 修改tftp 下的default
vim /tftpboot/pxelinux.cfg/default ------------------------------------------------------------------------------------------------------------------------------------------------- default vesamenu.c32 #prompt 1 timeout 3 display boot.msg menu background splash.jpg menu title Welcome to CentOS 6.4! menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color tabmsg 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color hotsel 0 #ff000000 #ffffffff menu color hotkey 7 #ffffffff #ff000000 menu color scrollbar 0 #ffffffff #00000000 label linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img append ks=http://192.168.80.150/ks.cfg initrd=initrd.img biosdevname=0 ksdevice=eth0 ### 如果這行不存在要添加這行“192.168.80.150”是dhcp服務器地址,後面全都需要 label menu label Install system with ^basic video driver kernel vmlinuz append initrd=initrd.img xdriver=vesa nomodeset label rescue menu label ^Rescue installed system kernel vmlinuz append initrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff label memtest86 menu label ^Memory test kernel memtest append -
--------------------------------------------- -至此 default 文件配置完成--------------------------------------------------------
訪問ks.cfg文件,看看是否可以訪問到ks.cfg文件的所有內容:
#######################服務端配置至此結束#############################
7客戶端測試部分:
1 開始pxe 啓動尋找dhcp服務器
等待ks.conf 信息
自動分區
開始安裝
######################################至此客戶端測試完畢#######################################
排錯部分:
1 kickstart 安裝服務器網卡變成em1 的解決方法:
vim /tftpboot/pxelinux.cfg/default append ks=http://192.168.80.150/ks.cfg initrd=initrd.img biosdevname=0 ksdevice=eth0 解決辦法: 增加 biosdevname=0 網上很多文章說這個地方有沒有無所謂,虛擬機測試的時候確實沒有問題.但是到了真實環境和生產環境問題還是很大的 必須要有.誰也不想自己熟悉的eth0 變成 em1 吧!
2 kickstart 安裝系統需要手工選擇網卡的解決方法:
vim /tftpboot/pxelinux.cfg/default append ks=http://192.168.80.150/ks.cfg initrd=initrd.img biosdevname=0 ksdevice=eth0 解決辦法: 增加 ksdevice=eth0