本章讲解的是;公司网络环境;需要部署大量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;开机会自动网卡启动;会自动帮你装系统了。