區域網yum源配置和PEX批量安裝CentOS7
阿新 • • 發佈:2019-02-19
一、情景展現
沒有外部網路,需要搭建區域網yum源,並進行PXE批量自動安裝CentOS-7
二、簡易思路
下載CentOS-7的everything版安裝映象用於安裝和當作yum源。主要工作是抄寫伺服器MAC地址和安裝配置安裝伺服器
三、具體操作-安裝伺服器的配置
1、安裝伺服器的作業系統安裝,具體CentOS-7安裝步驟省略。
2、現在沒有外網,需要使用完整映象搭建本地yum源和區域網yum源。在安裝伺服器上掛載CentOS-7完整版映象。
拷貝映象檔案到本地硬碟:
配置本地yum源:ls -l /dev |grep cdrom //檢視映象掛載在/dev目錄的具體位置 mkdir /mnt/iso1 mount /dev/sr0 /mnt/iso1
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目錄下。
iptabless設定放行所在網段192.168.11.0/24主機,selinux設定關閉,注意預設rc.local沒有可執行許可權,需要手動新增yum install -y httpd cp -r /mnt/iso1/ /var/www/html/yum systemctl enable httpd.service systemctl start httpd.service
此時,筆記本瀏覽器可以正常訪問yum源,此時可以將本機的yum原始檔位置由/mnt/iso1改為/var/www/html/yumiptables -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
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、配置PXErpm -qa|egrep 'http|tfp|dhcp|syslinux'
yum -y install syslinux
yum -y install tftp-server
yum -y install tftp
yum -y install dhcp
設定DHCPvi /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, httpdservice httpd restart;
service tftp restart
service dhcpd restart
啟動其他伺服器,進行自動安裝。