文章目录
环境准备
kickstart-server端环境(静态ip)
centos7-desktop(采用desktop版本方便以后ks.cfg的生成,进入桌面后,运行kickstart就有一个图形化的工具)
前提:kickstart-server端关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
selinux
软件准备
yum install dhcp* tftp* nfs* syslinux system-config-kickstart -y
yum install xinetd (这是centos7-desktop需要单独安装的,6系列可以只装前面的)
#让xinted超级服务可以控制tftp
vim /etc/xinetd.d/tftp (将disable=yes 改为 no)
#查找pxelinux.0这个文件 (默认没有,则需要安装syslinux)
find / -name pxelinux.0
#查找tftpboot
find / -name tftpboot
将tftpboot这个目录链接到根/目录下
ln -s /var/lib/tftpboot/ /
将pxelinux.0拷贝到tftpboot目录下
cp /usr/share/syslinux/pxelinux.0 /tftpboot
创建镜像存放目录 (后续回将这个目录共享出去)
mkdir -p /iso/centos/{6.5,6.8,7.2}
挂载iso镜像 & 将镜像文件复制到对应的镜像存储目录里去
mount /dev/cdrom /mnt/
cp /mnt/* /iso/centos/6.8 -rf
创建pxelinux.cfg目录
mkdir -p /tftpboot/pxelinux.cfg
cp /iso/centos/6.8/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default && chmod 777 /tftpboot/pxelinux.cfg/default
mkdir -p /tftpboot/{centos6.5,centos6.8,centos7.2}
复制各系统对应的安装程序到
cp /iso/centos/6.8/images/pxeboot/{vmlinuz,initrd.img} /tfboot/centos6.8
创建选择菜单
vim /tftpboot/boot.msg
++++++++++++++++++++++++++
++++++++++++++++++++++++++
+++++++ 1 centos6.5 +++++++
+++++++ 2 centos6.8 +++++++
+++++++ 3 centos7.2 +++++++
++++++++++++++++++++++++++
++++++++++++++++++++++++++
编辑default文件 (加入一下几行)
vim /tftpboot/pexlinux.cfg/default
label 2
kernel centos6.8/vmlinuz
append ks=nfs:192.168.56.11:/iso/centos/6.8/ks.cfg ksdevice=eth0 initrd=centos6.8/initrd.img
label 3
kernel centos7.2/vmlinuz
append ks=nfs:192.168.56.11:/iso/centos/7.2/ks.cfg initrd=centos7.2/initrd.img
#centos7对网卡的命名不同,所以ksdevice=eth0要去掉
使用system-config-kickstart生成ks.cfg文件并保存在/root目录下
cp /root/ks.cfg /iso/centos/6.8 && chmod 777 /iso/centos/6.8/ks.cfg
+++++++++++++++以下内容是ks.cfg的一个参考++++++++++++++++++++++++
# Kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.56.11 --dir=/iso/centos/6.8
#url --url=http://103.103.48.36/zjmf/images/linux/CentOS-7.6-x86_64_1575601668
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --noipv6
rootpw 115850
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
#bootloader --location=mbr --append="net.ifnames=0 biosdevname=0"
#bootloader --location=mbr --append= "net.ifnames=0 biosdevname=0 rhgb quiet"
clearpart --all --initlabel
part /boot --fstype=ext4 --size=300
part swap --size=1000
part / --fstype=ext4 --size=10000
part /data --fstype=ext4 --size=1 --grow
#这里是创建lvm分区的示例
#part /boot --fstype=ext4 --size=500 #注意boot分区是不能用lvm格式的
#part swap --size=1024
#part pv.01 --size=1 --grow
#volgroup centos_vg pv.01
#logvol /home -vgname=centos_vg --size=1024 --name=lv_home
#logvol / -vgname=centos_vg --size=10240 --grow --name=lv_root
#logvol /home --fstype=ext4 --fsoptions="blocksize=8192" --vgname=vg --size=1 --grow --name=lv_home 解决ext4文件系统默认只能识别到16T逻辑卷问题,因为ext4默认的块大小为4KB
reboot
%packages
@base
@core
@debugging
%end
配置nfs共享镜像目录
vim /etc/exports
/iso *(rw,sync)
配置dhcp服务
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.56.11;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.11;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.56.100 192.168.56.200;
host ns {
hardware ethernet 00:1a:a0:2b:38:81;
fixed-address 192.168.56.101;}
}
最后启动服务
systemctl restart dhcpd
systemctl restart nfs
systemctl restart xinetd
最后添加安装前执行的脚本(譬如对大于2T的硬盘进行格式化,将硬盘改为gpt格式)
在ks.cfg里加入
#安装前执行的脚本pre
%pre
parted -s /dev/sdb mklabel gpt
%end
#安装后执行的执行脚本post
%post
mkdir /tiaoyou
mount -t nfs nfs_serverip:/var/www/html /tiaoyou
cd /tiaoyou
sh auto_tiaoyou.sh
#这里面放置了将系统调优的参数写成的脚本
%end
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论