Centos7-自动化Kickstart+pxe实现无人值守批量安装Linux系统
作者:快盘下载 人气:前言
本章讲解的是;公司网络环境;需要部署大量Linux系统。一个一个装太费时间了;而且装系统还要手动一个一个去点击配置一些基本设置;占用大量时间。只需要一根网线;设置网卡启动;kickstart和pxe自动部署系统和自动设置一些基础环境。
环境准备
需要一台服务器;或虚拟机;最好是刚做好的系统;。
IP;192.168.11.85;公司网络ip环境;
部署流程
-
关闭防火墙SE;和禁止开机自启
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i ;s/^SELINUX=.*/SELINUX=disabled/g; /etc/selinux/config
-
安装dhcp服务并配置相关信息
注意;这里根据自己网络环境来部署yum install dhcp -y vim /etc/dhcp/dhcpd.conf option domain-name ;example.org;; 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 ;internal.example.org;; 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 dhcpd systemctl enable dhcpd
-
安装vsFTPd服务
yum install vsftpd -y vim /etc/vsftpd/vsftpd.conf 这两个注释删除 anon_upload_enable=YES anon_mkdir_write_enable=YES systemctl restart vsftpd systemctl enable vsftpd
-
上传镜像;此镜为你要批量装的镜像;我这里上传的是centos7。
#镜像上传到ios目录 mkdir /var/ftp/{dvd,iso} mount /var/ftp/iso/CentOS-7-x86_64-DVD-2003.iso /var/ftp/dvd #加入开机挂载 echo ;/home/CentOS-7-x86_64-DVD-2003.iso /var/ftp/dvd iso9660 loop 0 0; >> /etc/fstab mount -a
-
安装tftp服务
yum install tftp-server -y #修改disable选项 disable = no systemctl restart tftp systemctl enable tftp
-
安装syslinux服务
yum install syslinux -y cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot mkdir /var/lib/tftpboot/pxelinux.cfg cp /var/ftp/dvd/isolinux/* /var/lib/tftpboot cp -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.cfg auth --enableshadow --passalgo=sha512 cdrom graphical firstboot --enable ignoredisk --only-use=sda keyboard --vckeymap=cn --xlayouts=;cn; lang zh_CN.UTF-8 rootpw --iscrypted $6$P1OAFP4ISAH6rYPC$0y3RsbfVLpVgoxUROwlPoKeBfbi95Q1S13eDa5uvLplLhZ82ZV7ys8QDo9u1HqYzSg6UVAvPFDCt1UC8e/5ks0 network --bootproto=dhcp --device=enp2s0 --onboot=no --ipv6=auto --no-activate network --hostname=localhost.localdomain services --enabled=;chronyd; timezone Asia/Shanghai --isUtc bootloader --append=; crashkernel=auto; --location=mbr --boot-drive=sda autopart --type=lvm url --url=;ftp://192.168.11.85/dvd; #clearpart --all --initlabel --drives=sda clearpart --none --initlabel reboot %packages ;^minimal ;core chrony kexec-tools %end %addon com_redhat_kdump --enable --reserve-mb=;auto; %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end chmod 644 /var/ftp/ks.cfg
ks文件简单解释下;最小化安装系统;时间指定的上海时区;语言为中文;并且自动设定了root密码为root;磁盘事自动分配的;系统自动装好后;会重启系统;网卡开启的dhcp自动分配ip;设置了houstname为localhost.localdomain。其实还可已设置很多东西;比如要安装什么服务等;想要什么需求可以去百度下kicksetrt;ks文件配置。
-
编辑启动文件
vim /var/lib/tftpboot/pxelinux.cfg/default #找到 label linux 这行;并改成以下 label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img repo=ftp://192.168.11.85/dvd ks=ftp://192.168.11.85/ks.cfg
自动安装系统效果视频
Kickstart自动部署系统视频效果
结言
到此安装结束;你可已去试下;一台新服务器。;接好公司环境网线;开机设置网卡启动;就会自动帮你安装系统了。也可以创建一台虚拟机配置好基本设置;不用选择iso;开机会自动网卡启动;会自动帮你装系统了。
加载全部内容