注:服務端須要安裝配置DHCP+HTTP+TFTP+Kickstart(重點建立ks.cfg文件)程序。html
服務端軟件安裝配置:java
1、DHCP服務linux
yum -y install dhcp #安裝shell
rpm -ql dhcp |grep "dhcpd.conf" #檢查vim
vim /etc/dhcp/dhcpd.conf #配置服務器
ddns-update-style none; # 不進行DDNS的更新網絡
ignore client-updates; # 不容許客戶機更新DNS記錄app
subnet 172.16.1.0 netmask 255.255.255.0 # 與下面的range配合聲明可分配IP的範圍socket
{ide
option routers 172.16.1.20 ; # 設置網關
range 172.16.1.30 172.16.1.50; # 可分配的起始IP 結束IP
option subnet-mask 255.255.255.0; # 設定netmask
default-lease-time 21600; # 設置默認的IP租用期限
max-lease-time 43200; # 設置最大的IP租用期限
next-server 172.16.1.20 ; # 用來告知主機TFTP服務器的ip
filename "/pxelinux.0"; # tftp服務器根目錄下面的文件名(pxelinux.0是PXE專用的一個boot loader 文件)
}
service dhcpd start #啓動
chkconfig dhcpd on #設置開機啓動
netstat -nlptu |grep dhcp #檢查服務
sed -i 's/DHCPDARGS= /DHCPDARGS=eth0/g' /etc/sysconfig/dhcpd #僅在eth0上提供dhcp服務
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf&&sysctl -p #開啓路由功能
2、HTTP服務
yum -y install httpd #安裝
chkconfig httpd on #開機自啓動
service httpd start #啓動服務
mkdir -p /var/www/html/os #建立掛載目錄
mount /dev/cdrom /var/www/html/os/ #掛載系統鏡像
3、TFTP服務
yum -y install tftp-server #安裝
vim /etc/xinetd.d/tftp #配置
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #指定默認目錄
disable = no #由原來的yes,改成no
per_source = 11
cps = 100 2
flags = IPv4
}
yum -y install syslinux #安裝引導程序(提供pxelinux.0文件)
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #複製引導文件到TFTP的根目錄
cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
cp /var/www/html/os/p_w_picpaths/pxeboot/vmlinuz /var/lib/tftpboot
cp /var/www/html/os/p_w_picpaths/pxeboot/initrd.img /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/os/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷貝啓動菜單
vim /var/lib/tftpboot/pxelinux.cfg/default #配置文件
default vesamenu.c32
prompt 0
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
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 ks=http://172.16.1.20/ks.cfg ksdevice=eth0 ip=dhcp
label vesa
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 -
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #設置文件權限
ls /var/lib/tftpboot #檢查
initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz
4、配置kickstart自動安裝文件
yum -y install system-config-kickstart #建議在圖形化界面內安裝配置
vim /var/www/html/ks.cfg #配置
#by lrj 2016-3-29
# Kickstart file automatically generated by anaconda.
install #告知安裝程序,這是一次全新安裝,而不是升級
url --url=http://172.16.1.20/os/ #告知安裝程序,這是一個網絡安裝,使用HTTP來提供安裝所需的資源
text #使用文本模式安裝
lang en_US.UTF-8 #默認語言是英語
keyboard us #使用美式鍵盤
zerombr #清空mbr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #指定bootloader的安裝位置及參數
network --device eth0 --bootproto dhcp --onboot on --hostname=CentOS6 --noipv6 #設置安裝完成後的主機名和網絡
timezone Asia/Shanghai #設置時區
auth --useshadow --passalgo=sha512 #設置密碼加密方式爲sha512 啓用shadow文件
rootpw --iscrypted $6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0 #設定root的密碼
clearpart --all --initlabel #清空全部分區
part /boot --fstype=ext4 --size=200 #新建/boot分區
part swap --fstype=swap --size=1000 #新建swap分區
part / --fstype=ext4 --size=10000 #新建/分區
part /data --fstype=ext4 --grow --size=1 #新建/data分區
#part pv.008002 --size=5120 #新建2個pv,每一個pv大小爲5G
#part pv.008003 --size=5120
#volgroup vg_root --pesize=4096 pv.008002 pv.008003 #新建一個VG,名爲vg_root 包含了剛纔建立的2個PV
#建立LV
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=5120
#logvol swap --name=lv_swap --vgname=vg_root --size=2048
#logvol /data --fstype=ext4 --name=lv_data --vgname=vg_root --grow --size=1 #餘下部分
firstboot --disable #禁止firstboot,firstboot就是咱們使用圖形化安裝完系統,重啓後有一個初始設置
selinux --disabled #禁止selinux
firewall --disabled #禁止防火牆
logging --level=info #設定安裝過程當中的日誌級別
reboot #設定安裝完成後重啓
#安裝包我選擇的是Basic模式,添加了中文支持
%packages
@base
@development
#中文支持
@chinese-support
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
#加上優化腳本
%post
cd /root
/usr/bin/wget http://172.16.1.20/shell.tar.gz
/bin/tar -zxf shell.tar.gz
/bin/sh ` find ./ -name '*.sh' `
%end
注意:
grub-crypt #密方式爲sha512生成的密碼
Password: rhce
Retype password: rhce
$6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0
特別注意分區方面,大小要以機器硬盤大小爲主修改編寫(不然出錯),後續還能夠加上一些自動化腳本作優化。