1. 程式人生 > >區域網yum源配置和PEX批量安裝CentOS7

區域網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 
啟動其他伺服器,進行自動安裝。