kickstart
是什么?
批量部署Linux服務器操作系統
運行模式:
C/S client/server
服務器上要部署:
DHCP tftp(非交互式文件共享)
安裝系統的三個步驟:
1、加載vmlinuz、 initrd (微型啟動根目錄,它啟動系統的init,init再啟動根目錄)?
2、加載install.img文件-->交互式安裝界面(anaconda):安裝設備(基本存儲設備)-->主機名-->root-->時區-->分區-->格式化磁盤 ks.cfg文件
3、安裝軟件包--通過調用rpm命令安裝
?
pxe工作流程:
1、客戶端從DHCP服務器那里獲得IP地址,和tftp服務器的ip地址及要獲取什么文件(pxelinux.0)
pxelinux.0:記錄著客戶端自動部署系統的步驟。
2、客戶端請求pxe配置文件(pxelinix.cfg/default--->告知客戶端通過什么方式獲得ks.cfg文件)
3、客戶端獲取vmlinuz(可執行的Linux內核)
4、客戶端獲取initrd文件
四個文件:pxelinux.0 pxelinix.cfg/default vmlinuz initrd
?
實驗過程:
1、搭建DHCP
ip 掩碼 [gateway dns]
next-server tftpIP;
filename "pxelinux.0"
subnet 192.168.19.0 netmask 255.255.255.0 {
range 192.168.19.240 192.168.19.249;
next-server 192.168.19.251;
filename "pxelinux.0";
}
2、搭建tftp
非獨立式服務 xinetd
啟動tftp:
1) 進入到其配置文件 disable = no
2) 重啟xinetd service xinetd restart /etc/init.d/xinetd restart
yum install -y tftp-server xinetd-*
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot/linux-install //指定共享目錄
disable = no //改成no
per_source = 11
cps = 100 2
flags = IPv4
}
啟動tftp service xinetd restart
vmlinuz initrd.img pxelinux.0 pxelinux.cfg(isolinux.cfg)
3、共享配置
mkdir -pv /tftpboot/linux-install
將vmlinuz和initrd.img文件復制到共享目錄
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /tftpboot/linux-install
將pxelinux.0 復制到共享目錄(安裝syslinux*)
yum install syslinux-nonlinux(syslinux) -y
(或yum -y install syslinux)
find / -name pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /tftpboot/linux-install
將pxelinux.cfg復制到共享目錄(配置default)
mkdir pxelinux.cfg
cd pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg ./default
配置pexlinux.cfg文件夾下的default文件
default ks
label ks
kernel vmlinuz
append ks=http://192.168.19.251/ks.cfg initrd=initrd.img
(append:設置文件的搜索路徑)
配置ks.cfg文件(安裝system-config-kickstart)---->注意磁盤分區設置
yum install system-config-kickstart
system-config-kickstart(啟動kickstart)開啟圖形界面,配置系統選項
保存為/root/ks.cfg
復制軟件包
vim ~/anaconda-ks.cfg ks.cfg 拷貝軟件包
將ks.cfg復制到apache默認目錄下
cp ks.cfg /var/www/html
掛載光盤到apache默認目錄下
mount /dev/cdrom /var/www/html/rhel6
serivce httpd restart
?
也可用ftp代替http
如果用ftp時(注意ftp配置文件設置為允許匿名用戶登錄下載)
yum -y install vsftpd
/etc/init.d/vsftpd start
cd /var/ftp
mkdir share
修改pxelinux.cfg/default
default ks
label ks
kernel vmlinuz
append ks=ftp://192.168.19.251/ks.cfg initrd=initrd.img
system-config-kickstart中修改為相應的ftp即可
cp ks.cfg /var/ftp/share
掛載ftp共享目錄
mount /dev/sr0 /var/ftp/share
?