一、自动化安装系统工具
1、Cobbler
另一个自动化安装工具;
2、Kickstart
二、使用kickstart自动化安装系统
服务器安装的软件:
1、dhcp服务
[root@clz ~]# yum install dhcp -y
dhcpd的配置文件:
1 subnet 192.168.10.0 netmask 255.255.255.0 { 2 range 192.168.10.100 192.168.10.120; 3 option domain-name-servers 8.8.8.8; 4 option domain-name "clz.seagate.com"; 5 option routers 192.168.10.10; 6 option broadcast-address 192.168.10.255; 7 next-server 192.168.10.10;设置tftpd服务器的地址 8 filename "pxelinux.0";Tftpd服务器的文件名 9 default-lease-time 600; 10 max-lease-time 7200; 11 }
2、tftpd服务
[root@clz dhcp]# yum install tftp-server
tftpd服务的文件目录:
[root@clz tftpboot]# pwd /var/lib/tftpboot
修改/etc/xinetd.d/tftp启用tftpd服务:
6 service tftp 7 { 8 socket_type = dgram 9 protocol = udp 10 wait = yes 11 user = root 12 server = /usr/sbin/in.tftpd 13 server_args = -s /var/lib/tftpboot 14 disable = no 15 per_source = 11 16 cps = 100 2 17 flags = IPv4 18 }
3、安装syslinux服务,提取引导文件pxelinux.0文件到tftpd文件目录:
[root@clz tftpboot]# yum provides */pxelinux.0 syslinux-4.05-8.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem Repo : mine Matched from: Filename : /usr/share/syslinux/pxelinux.0
[root@clz tftpboot]# yum install syslinux-4.05-8.el7.x86_64 -y
[root@clz syslinux]# cp pxelinux.0 /var/lib/tftpboot/
4、从安装光盘镜像的/images/pxeboot目录下拷贝initrd.img,vmlinuz 文件到 tftpd的文件目录
[root@clz pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
5、在tftpd文件目录下面创建pxelinux目录
[root@clz tftpboot]# mkdir pxelinux.cfg
6、拷贝安装光盘镜像/isolinux/目录下面的isolinux.cfg,boot.msg到tftpd文件目录下,并命名为default,给用户写权限
[root@clz isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@clz isolinux]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
[root@clz isolinux]# cp boot.msg /var/lib/tftpboot/
7、安装http服务,配置http安装源
[root@clz pxelinux.cfg]# yum install httpd -y
在http的根目录/var/www/html创建iso目录,将安装光盘镜像iso的所有文件拷贝到iso目录下面,配置/var/www/html/iso目录:
130 <Directory "/var/www/html/iso"> 131 AllowOverride None 132 # Allow open access: 133 Require all granted 134 </Directory>
8、创建kickstart自动安装脚本
可以从一台已装好系统的机器上面的root家目录下面的anaconda-ks.cfg作为参考,脚本里面有以下一些必须要写的命令:
bootloader:
keyboard:
lang:
part or partition:
rootpw:
timezone:
安装包选择:
以%package开始,以%end结束,中间的软件包以@开始,软件包的定义在iso安装镜像的repodata目录下面的*comps-Server.x86_64.xml定义
31 %packages 32 @base 33 @core 34 @desktop-debugging 35 @dial-up 36 @fonts 37 @gnome-desktop 38 @guest-agents 39 @guest-desktop-agents 40 @input-methods 41 @internet-browser 42 @multimedia 43 @print-client 44 @x11 45 46 %end
安装前脚本:以%pre开始,以%end结束;
安装后脚本:以%post开始,以%end/结束;
9、生成kickstart脚本并放到http根目录/var/www/html下面:
auth --enableshadow --passalgo=sha512 install url --url http://192.168.10.10/iso firstboot --enable ignoredisk --only-use=sda keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto network --hostname=localhost.localdomain rootpw --plaintext redhat timezone Asia/Chongqing --isUtc --nontp xconfig --startxonboot bootloader --location=mbr --boot-drive=sda part / --fstype=xfs --size=5000 part swap --fstype=swap --size=512 clearpart --none --initlabel %packages @base @core
@desktop-debugging @dial-up @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @multimedia @print-client @x11 %end %post useradd redhat echo redhat |passwd --stdin redhat cat >/etc/yum.repos.d/test.repo<<EOF [test] name=test baseurl=file:///iso gpgcheck=0 <<EOF %end reboot
10、在/var/lib/tftpboot/pxelinux.0/default文件里面修改ks安装源
append initrd=initrd.img inst.ks=http://192.168.10.10/ks.cfg
11、新建虚拟机,启动虚拟机,从pxe network 启动,系统将会自动安装