没有外部网络,需要搭建局域网yum源,并进行PXE批量自动安装CentOS-7
下载CentOS-7的everything版安装镜像用于安装和当作yum源。主要工作是抄写服务器MAC地址和安装配置安装服务器
1、安装服务器的操作系统安装,具体CentOS-7安装步骤省略。
2、现在没有外网,需要使用完整镜像搭建本地yum源和局域网yum源。在安装服务器上挂载CentOS-7完整版镜像。
拷贝镜像文件到本地硬盘:
ls -l /dev |grep cdrom //查看镜像挂载在/dev目录的具体位置
mkdir /mnt/iso1
mount /dev/sr0 /mnt/iso1
配置本地yum源:
cd /etc/yum.repos.d/
mkdir bk
mv *.repo bk/
vi local-yum.repo
将如下贴入:
[local-yum]
name=local yum
baseurl=file:///mnt/iso1
enabled=1
gpgcheck=0
保存文件,使用如下命令测试:
yum install -y httpd
cp -r /mnt/iso1/ /var/www/html/yum
systemctl enable httpd.service
systemctl start httpd.service
iptabless设置放行所在网段192.168.11.0/24主机,selinux设置关闭,注意默认rc.local没有可执行权限,需要手动添加
iptables -F
iptables -X
iptables -A INPUT -s 192.168.11.0/24 -j ACCEPT
iptables -A INPUT -j DROP
echo 'iptables -F' >>/etc/rc.local
echo 'iptables -X' >>/etc/rc.local
echo 'iptables -A INPUT -s 192.168.11.0/24 -j ACCEPT' >>/etc/rc.local
echo 'iptables -A INPUT -j DROP' >>/etc/rc.local
chmod +x /etc/rc.d/rc.local
getenforce //查看selinux状态
setenforce 0 //立刻关闭selinux
此时,笔记本浏览器可以正常访问yum源,此时可以将本机的yum源文件位置由/mnt/iso1改为/var/www/html/yum
cd /etc/yum.repos.d/
mkdir bk
mv *.repo bk/
vi local.repo
修改如下:
[base]
name=CentOS-local-yum
baseurl=http://192.168.11.60/yum/
gpgcheck=0
enabled=1
3、配置PXE
rpm -qa|egrep 'http|tfp|dhcp|syslinux'
yum -y install syslinux
yum -y install tftp-server
yum -y install tftp
yum -y install dhcp
设定DHCP
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.60 192.168.11.65;
next-server 192.168.11.60;
filename "pxelinux.0";
}
host cdh001 {
hardware ethernet 00:0C:29:3B:43:47;
fixed-address 192.168.11.61;
}
host cdh002 {
hardware ethernet 00:0C:29:67:52:29;
fixed-address 192.168.11.62;
}
host cdh003 {
hardware ethernet 00:0C:29:34:A0:48;
fixed-address 192.168.11.63;
}
设定HTTP
disable = yes 改为 disable = no
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
cp /var/www/html/yum/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /var/www/html/yum/images/pxeboot/initrd.img /var/lib/tftpboot/
设定PXE引导配置文件
default menu.c32
prompt 0
timeout 200
menu title PXE MENU
label centos7
menu label Auto Install CentOS Linux ^7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.11.60/ksdir/ks7.cfg
编辑kickstart文件,文件具体可以百度搜索具体含义,下面给出的是参考文本,根据实际情况进行修改:
#version=DEVEL
install
auth --enableshadow --passalgo=sha512
text
lang en_US.UTF-8
keyboard --vckeymap=us --xlayouts='us'
network --onboot=on --device=ens33 --bootproto=dhcp --activate --ipv6=auto
rootpw yourpasswordd
firewall --service=ssh
url --url=http://192.168.11.60/yum
selinux --disabled
timezone Asia/Shanghai --isUtc
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto"
zerombr
clearpart --none --initlabel
reboot
part /boot --fstype=ext4 --ondisk=sda --size=400
part swap --ondisk=sda --size=4000
part / --fstype=ext4 --ondisk=sda --grow --size=200
%packages
@^minimal
@core
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
重启相关服务dhcpd, tftpd, httpd
service httpd restart;
service tftp restart
service dhcpd restart
启动其他服务器,进行自动安装。