局域网yum源配置和PEX批量安装CentOS7

一、情景展现

没有外部网络,需要搭建局域网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 makecache
yum repolist
yum list|grep httpd

配置局域网yum源:
利用本地yum源配置http服务器,配置完成后,顺带将本地yum源地址改到/var/www/html/yum目录下。
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
http://192.168.11.60/yum
对于其他客户机,在安装完成系统后统一进行如下修改,记得同时关闭selinux,设置iptables规则
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
vi /etc/dhcp/dhcpd.conf

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
已经在yum源里设置完成

设定TFTP修改tftpd的server_args和disable参数
vi /etc/xinetd.d/tftp

disable = yes 改为 disable = no


复制相关文件到tftp服务的根目录下
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引导配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg
vi     /var/lib/tftpboot/pxelinux.cfg/default
此文件定义的就是CentOS安装时首屏显示的内容。

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文件,文件具体可以百度搜索具体含义,下面给出的是参考文本,根据实际情况进行修改:
mkdir /var/www/html/ksdir
vi /var/www/html/ksdir/ks7.cfg

#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 
启动其他服务器,进行自动安装。


你可能感兴趣的:(linux杂谈)