kickstart 自动化安装

本文详细介绍了如何使用CentOS7通过kickstart实现Linux系统的自动化安装。步骤包括设置静态IP,安装DHCP和TFTP服务,配置Apache服务器提供ISO镜像,并创建kickstart配置文件实现无人值守安装。
摘要由CSDN通过智能技术生成

用centos 7 通过kickstart 实现自动化安装Linux系统

前言:毋庸置疑在多台物理机需要安装Linux系统时,网络安装可以成为首选方案。好处就是一次配置无限次循环使用

1,用centos7 最小化安装 来搭建一个kickstart应用,实现系统安装自动化

a, 先固定ens33网口 ip地址

     cat /etc/sysconfig/network-scripts/ifcfg-ens33
     BOOTPROTO="static"
     DEVICE="ens33"
     IPADDR=192.168.0.22
     GATEWAY=192.168.0.1
     PREFIX=24
     DNS1=8.8.8.8
     ONBOOT="yes"
     NAME="System ens33"

b,安装国内yum源

    yum -y install wget
    wget -O CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/CentOS-7.repo
    yum clean all
    yum makecache

c,安装DHCP服务

    yum -y install dhcp
    
~]# vi /etc/dhcp/dhcpd.conf 
subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.200 192.168.0.250;            #---地址范围         
    option domain-name-servers 192.168.0.2;       #DNS 地址
    option routers 192.168.0.2;                  #网关地址
    next-server 192.168.0.22;    #-------TFTP 服务器IP
    filename "/pxelinux.0";    # -------客户端要从TFTP根目录下载的引导文件
    default-lease-time 600;  
    max-lease-time 7200;
}

	 
pxelinux.0是一个bootloader,类似于grub,通过它来加载系统安装引导程序,
  我们可以在它的配置文件中指定内核的位置和内核的启动参数

---  配置完成后重启服务:
  ~]# systemctl restart dhcpd

d,安装tftp,方便客户端获取引导文件,

~]# yum -y install tftp-server
~]# vi /etc/xinetd.d/tftp   -----------将disabled 设置为no开启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
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}

    配置完成后,从新启动tftp服务
   ~]# systemctl restart tftp

e,安装Apache服务,让引导程序通过HTTP的方式获取到镜像:

~]# yum -y install httpd

]# yum -y install lrzsz
~]# mkdir -p /var/www/html/CentOS-7/

]# mount /iso/CentOS-7-x86_64-Minimal-1611.iso /var/www/html/CentOS-7/

    systemctl start httpd
    systemctl stop firewalld
    setenforce 0

f,安装syslinux程序

----------syslinux 是一个功能强大的引导加载程序,
而且兼容各种介质
安装syslinux 得到pxelinux.0,这是pxe的引导加载程序

]# yum -y install syslinux -y

]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
]# cp -a /var/www/html/CentOS-7/isolinux/* /var/lib/tftpboot/

]# mkdir -p /var/lib/tftpboot/pxelinux.cfg

]# cp /var/www/html/CentOS-7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default 文件
    ]# cat /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
   kernel vmlinuz
   append initrd=initrd.img ks=http://192.168.0.22/ks_config/CentOS7-ks.cfg

]# mkdir /var/www/html/ks_config/
]# cp /root/anaconda-ks.cfg /var/www/html/ks_config/CentOS7-ks.cfg

]# cat /var/www/html/ks_config/CentOS7-ks.cfg
install 
url --url="http://192.168.0.22/CentOS-7/"
auth --enableshadow --passalgo=sha512

anaconda-ks.cfg用例一:


install
url --url=“http://192.168.0.22/CentOS-7/”
auth --enableshadow --passalgo=sha512
graphical
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=cn --xlayouts=‘cn’
lang zh_CN.UTF-8
network --bootproto=dhcp --device=ens33 --ipv6=auto --no-activate
network --bootproto=dhcp --hostname=localhost.localdomain
rootpw --iscrypted 6 6 6.spEGZ.HMyFkrGa7$QhHZmIe36kkb4KBzCgmCT9CMFylCH3Ir7LCfMOAaKtFl.UD88NwA2GAKFHIbPTAou7VMk8VIy2OQZa1FzfHh1.
services --enabled=“chronyd”
timezone Asia/Shanghai --isUtc
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
clearpart --none --initlabel
reboot
%packages
@^minimal
@core
chrony
kexec-tools
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb=‘auto’
%end
%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end

用例二:

install
cdrom
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto static --ip 10.0.0.6 --netmask 255.255.255.0 --gateway 10.0.0.2 --noipv6 --nameserver 10.0.0.2 --hostname centos67
rootpw --iscrypted $6 2 F r f m 3 S c / o W d F 2 Y b 2Frfm3Sc/oWdF2Yb 2Frfm3Sc/oWdF2YbGTS8VbsaeLzAfT46EYJWezKA7VMOnefDAH6anyb12Hu5K1qu1awlpTwBxTjAzXpV/.l983Irdwxo5Rks0QV1p1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append=“crashkernel=auto rhgb quiet”
repo --name=“CentOS” --baseurl=cdrom:sr0 --cost=100
%packages
@base
@compat-libraries
@core
@debugging
@development
@server-policy
@workstation-policy
python-dmidecode
sgpio
device-mapper-persistent-data
systemtap-client

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值