1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Centos7 自动化Kickstart+pxe实现无人值守批量安装Linux系统

Centos7 自动化Kickstart+pxe实现无人值守批量安装Linux系统

时间:2022-02-11 01:06:01

相关推荐

Centos7 自动化Kickstart+pxe实现无人值守批量安装Linux系统

前言

本章讲解的是,公司网络环境,需要部署大量Linux系统。一个一个装太费时间了,而且装系统还要手动一个一个去点击配置一些基本设置,占用大量时间。只需要一根网线,设置网卡启动,kickstart和pxe自动部署系统和自动设置一些基础环境。

环境准备

需要一台服务器,或虚拟机(最好是刚做好的系统)。

IP:192.168.11.85(公司网络ip环境)

部署流程

关闭防火墙SE,和禁止开机自启

systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

安装dhcp服务并配置相关信息

注意:这里根据自己网络环境来部署

yum install dhcp -yvim /etc/dhcp/dhcpd.confoption domain-name "";option domain-name-servers 192.168.11.85,192.168.122.1;default-lease-time 600;max-lease-time 7200;log-facility local7;subnet 192.168.11.0 netmask 255.255.255.0 {range 192.168.11.1 192.168.11.240;option domain-name-servers 192.168.11.4;option domain-name "";option routers 192.168.11.4;option broadcast-address 192.168.11.255;default-lease-time 600;max-lease-time 7200;next-server 192.168.11.85;filename "pxelinux.0";}

systemctl restart dhcpdsystemctl enable dhcpd

安装vsftpd服务

yum install vsftpd -yvim /etc/vsftpd/vsftpd.conf这两个注释删除anon_upload_enable=YESanon_mkdir_write_enable=YESsystemctl restart vsftpdsystemctl enable vsftpd

上传镜像,此镜为你要批量装的镜像,我这里上传的是centos7。

#镜像上传到ios目录mkdir /var/ftp/{dvd,iso}mount /var/ftp/iso/CentOS-7-x86_64-DVD-.iso /var/ftp/dvd#加入开机挂载echo "/var/ftp/iso/CentOS-7-x86_64-DVD-.iso /var/ftp/dvd iso9660 loop 0 0" >> /etc/fstabmount -a

安装tftp服务

yum install tftp-server -yvim /etc/xinetd.d/tftp#修改disable选项disable= nosystemctl restart tftpsystemctl enable tftp

安装syslinux服务

yum install syslinux -ycp /usr/share/syslinux/pxelinux.0 /var/lib/tftpbootmkdir /var/lib/tftpboot/pxelinux.cfgcp /var/ftp/dvd/isolinux/* /var/lib/tftpbootcp -r /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

编辑ks文件

我直接把模板贴出来了,如果你想自己生成ks文件,可以借助图形化工具system-config-kickstart这个服务安装装后就可以生成ks文件,这个文件就是代替你部署系统的时候手动去点击的那些选项。

注意:ks文件一定要放在/var/ftp/下,并且权限为644

vim /var/ftp/ks.cfgauth --enableshadow --passalgo=sha512cdromgraphicalfirstboot --enableignoredisk --only-use=sdakeyboard --vckeymap=cn --xlayouts='cn'lang zh_CN.UTF-8rootpw --iscrypted $6$P1OAFP4ISAH6rYPC$0y3RsbfVLpVgoxUROwlPoKeBfbi95Q1S13eDa5uvLplLhZ82ZV7ys8QDo9u1HqYzSg6UVAvPFDCt1UC8e/5ks0network --bootproto=dhcp --device=enp2s0 --onboot=no --ipv6=auto --no-activatenetwork --hostname=localhost.localdomainservices --enabled="chronyd"timezone Asia/Shanghai --isUtcbootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sdaautopart --type=lvmurl --url="ftp://192.168.11.85/dvd"#clearpart --all --initlabel --drives=sdaclearpart --none --initlabelreboot%packages@^minimal@corechronykexec-tools%end%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%endchmod 644 /var/ftp/ks.cfg

ks文件简单解释下,最小化安装系统,时间指定的上海时区,语言为中文,并且自动设定了root密码为root,磁盘是自动分配的,系统自动装好后,会重启系统,网卡开启的dhcp自动分配ip,设置了houstname为localhost.localdomain。其实还可已设置很多东西,比如要安装什么服务等,想要什么需求可以去百度下kicksetrt,ks文件配置。

编辑启动文件

#删除原来的默认选项sed -i 's/menu default//g' /var/lib/tftpboot/pxelinux.cfg/defaultsed -i 's/timeout 600/timeout 10/g' /var/lib/tftpboot/pxelinux.cfg/default#找到 label linux 这行,并改成以下vim /var/lib/tftpboot/pxelinux.cfg/defaultlabel linuxmenu label ^Install CentOS 7menu default#默认选择该项启动kernel vmlinuzappend initrd=initrd.img repo=ftp://192.168.11.85/dvd ks=ftp://192.168.11.85/ks.cfg

自动安装系统效果视频

Kickstart自动部署系统视频效果

Kickstart自动部署系统视频效果

结言

到此安装结束,你可已去试下,一台新服务器。接好公司环境网线,开机设置网卡启动,就会自动帮你安装系统了。也可以创建一台虚拟机配置好基本设置,不用选择iso,开机会自动网卡启动,会自动帮你装系统了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。