Kickstart无人值守安装Centos6系统+集成saltstack客户端程序

前端之家收集整理的这篇文章主要介绍了Kickstart无人值守安装Centos6系统+集成saltstack客户端程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果要同时上线2,3台服务器,可以使用手动安装操作系统,10台20台基本没法忍受,上百台呢,根本不可能手动安装管理,只考虑到这里并不能解决所有问题,只装个系统并不能满足批量管理的需求,这就需要在安装好系统后自动启动salt客户端程序,实现在装完系统后就在运维人员的管理范围之类,这篇文章就是基于这样的需求而完成的。

环境介绍:Centos6.5+PXE+TFTP+FTP+DHCP+Kickstart


1.配置DHCP服务程序

①安装DHCP服务

yum -y install dhcp

②配置DHCP服务

vim /etc/dhcp/dhcp.conf

  1. allowbooting;
  2. allowbootp;
  3. ddns-update-styleinterim;
  4. ignoreclient-updates;
  5. subnet192.168.6.0netmask255.255.255.0{
  6. range192.168.6.200192.168.6.210;
  7. optionsubnet-mask255.255.255.0;
  8. optionrouters192.168.6.1;
  9. optiondomain-name-servers202.106.0.20;
  10. default-lease-time21600;
  11. max-lease-time43200;
  12. next-server192.168.6.107;#服务器端IP
  13. filename"pxelinux.0";#引导文件
  14. }

③启动服务

service dhcpd start


2.配置TFTP服务程序(提供引导以及驱动文件

①安装TFTP服务

yum -y install tftp-server

②配置TFTP服务

vim /etc/xinetd.d/tftp

  1. servicetftp
  2. {
  3. socket_type=dgram
  4. protocol=udp
  5. wait=yes
  6. user=root
  7. server=/usr/sbin/in.tftpd
  8. server_args=-s/var/lib/tftpboot
  9. disable=no#修改为no
  10. per_source=11
  11. cps=1002
  12. flags=IPv4

③启动TFTP服务,开启相应端口

service xinetd restart#在Centos7中没有这个服务,启动tftp.socket即可

iptables -I INPUT -p udp --dport 69 -j ACCEPT


3.配置SYSlinux服务程序(提供引导文件)

①安装SYSlinux服务

yum -y install syslinux

②复制引导文件到TFTP中

cd /var/lib/tftpboot/

cp /usr/share/syslinux/pxelinux.0 .

mount /dev/cdrom /media/#挂载光盘镜像

cp /media/images/pxeboot/{vmlinuz,initrd.img} .

cp /media/isolinux/{vesamenu.c32,boot.msg} .

修改默认开机菜单

cd /var/lib/tftpboot/

mkdir pxelinux.cfg

cp /media/isolinux/isolinux.cfg pxelinux.cfg/default

chmod a+w pxelinux.cfg/default#默认是只读文件

vim pxelinux.cfg/default

  1. defaultlinux#修改成linux,这样在启动时就会自动选择此选项
  2. #prompt1
  3. timeout600
  4.  
  5. displayboot.msg
  6.  
  7. menubackgroundsplash.jpg
  8. menutitleWelcometoCentOS6.5!
  9. menucolorborder0#ffffffff#00000000
  10. menucolorsel7#ffffffff#ff000000
  11. menucolortitle0#ffffffff#00000000
  12. menucolortabmsg0#ffffffff#00000000
  13. menucolorunsel0#ffffffff#00000000
  14. menucolorhotsel0#ff000000#ffffffff
  15. menucolorhotkey7#ffffffff#ff000000
  16. menucolorscrollbar0#ffffffff#00000000
  17.  
  18. labellinux
  19. menulabel^Installorupgradeanexistingsystem
  20. menudefault
  21. kernelvmlinuz
  22. appendinitrd=initrd.imginst.stage2=ftp://192.168.66.23ks=ftp://192.168.66.23/pub/ks.cfgquiet#修改默认安装方式为FTP文件传输方式,指定Kickstart应答文件获取路径
  23.  
  24. labelvesa
  25. menulabelInstallsystemwith^basicvideodriver
  26. kernelvmlinuz
  27. appendinitrd=initrd.imgxdriver=vesanomodeset
  28. labelrescue
  29. menulabel^Rescueinstalledsystem
  30. kernelvmlinuz
  31. appendinitrd=initrd.imgrescue
  32. labellocal
  33. menulabelBootfrom^localdrive
  34. localboot0xffff
  35. labelmemtest86
  36. menulabel^Memorytest
  37. kernelmemtest
  38. append-


4.配置vsftpd服务程序

①安装vsftpd服务

yum -y instlal vsftpd

②启动vsftpd服务,开启相应端口

service vsftpd start

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I INPUT -p tcp --dport 20 -j ACCEPT

iptables -I INPUT -p tcp --dport 21 -j ACCEPT

③拷贝光盘镜像文件到vsftpd中

cp -r /media/* /var/ftp/

5.创建Kickstart应答文件

①复制应答文件到VSFTPD中,并添加可读权限

cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg

chmod +r /var/ftp/pub/ks.cfg

②编辑应答文件

vim/var/ftp/pub/ks.cfg

  1. #Kickstartfileautomaticallygeneratedbyanaconda.
  2.  
  3. #version=DEVEL
  4. install
  5. url--url=ftp://192.168.6.107#修改为url安装方式
  6. langen_US.UTF-8
  7. keyboardus
  8. network--onbootyes--deviceeth0--bootprotodhcp--noipv6#修改自动获取ip
  9. rootpw--iscrypted$6$LCJ6k6MZq5bR6VFp$i.UkCmr7KbhB5Wx0IhQ9L834eW3eO1GZRKa0RxFiCGmXvbZd6wN7n7BkP961FU5DaX53ydFlj5lVSmHfGUWrY/
  10. firewall--service=ssh#防火墙配置
  11. authconfig--enableshadow--passalgo=sha512
  12. selinux--disable#selinux关闭
  13. reboot#安装后自动重启
  14. timezoneAsia/Shanghai#时区
  15. bootloader--append="rhgbquiet"--location=mbr--driveorder=sda
  16.  
  17. clearpart--all--initlabel#清理所有分区
  18. #LVM方式分区
  19. part/boot--fstype="ext4"--size=200#boot分区200M
  20. partpv.01--grow--size=1
  21. volgroupVolGroup--pesize=4096pv.01
  22. logvol/--fstype="ext4"--name=lv_root--vgname=VolGroup--size=10240#根分区10G
  23. logvolswap--name=lv_swap--vgname=VolGroup--size=2048#交换分区2G
  24.  
  25. %packages#安装基础包
  26. @base
  27. @console-internet
  28. @core
  29. @debugging
  30. @directory-client
  31. @hardware-monitoring
  32. @java-platform
  33. @large-systems
  34. @network-file-system-client
  35. @performance
  36. @perl-runtime
  37. @server-platform
  38. @server-policy
  39. @workstation-policy
  40. pax
  41. oddjob
  42. sgpio
  43. device-mapper-persistent-data
  44. samba-winbind
  45. certmonger
  46. pam_krb5
  47. krb5-workstation
  48. perl-DBD-sqlite
  49. %end
  50.  
  51. %post#安装后执行脚本
  52. /usr/sbin/ntpdate182.92.12.11#和阿里云服务器对时
  53. /sbin/hwclock-w#让硬件时间和系统时间同步
  54. /sbin/ifconfig|grepBcast|awk'{print$2}'|awk-F'.''{print$4}'>/etc/hostname#截取Ip地址最后一段做为主机名
  55. /usr/bin/yum-yinstallepel-release#安装epel仓库
  56. /usr/bin/yum-yinstallsalt-minion#安装salt客户端
  57. /bin/sed-i"s/#master:salt/master:192.168.6.107/"/etc/salt/minion#修改客户端配置文件的master连接地址
  58. /sbin/servicesalt-minionstart#启动salt-minion服务
  59. /sbin/chkconfigsalt-minionon#因为装完系统会自动重启,所以先设置开机启动项
  60.  
  61. %end

6.自动部署客户端主机

流程如下:

自动获取IP--自动开始安装--自动选择所有可选项--自动分区--安装基础包(621个)--运行脚本--自动重启--进入操作系统

需要检查的东西:

主机名(hostname),ip地址(ifconfig),时间(date),salt-minion服务是否已经开启(service salt-minion status)

7.和已经安装好salt客户端的主机建立连接

①salt-key list

看到以ip地址最后一位命名的主机的验证请求

②salt-key -A

至此已经进入运维人员管理范围。

猜你在找的CentOS相关文章