無人執守linux批量安裝

要求環境:

測試環境:
1、PXE服務器:CentOS7 、vmware 的虛擬機
2、(僅主機模式) 192.168.220.168 內網。在部署環境前,先改成橋接模式。能上網。環境搭建成功後再改成主機模式。
3、執行批量安裝的機器最低配置:磁盤>=20G ,內存必須2G ;要求全部設置成僅主機模式。
4、要安裝的包: DHCP tftp http syslinux(提供引導文件)

1、關閉所有防火牆。

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

如在生產環境,建議安裝iptables,並設置規則。放行UDP 67 68 69 tcp/80 22端口。

2、 安裝所需軟件包

# yum install dhcp tftp tftp-server syslinux httpd -y

3、掛載光盤製作安裝源

# mkdir -pv /var/www/html/centos7/x86_64
# mount /dev/cdrom /mnt/ 
# mount --bind /mnt /var/www/html/centos7/x86_64  #綁定掛載到http默認目錄下

4、配置kickstart 的 ks.cfg 文件

#mkdir /var/www/html/ks
#cd !$
#vi ks.cfg

內容如下:

#version=DEVEL
#System authorization information
auth --enableshadow --passalgo=sha512
#Use CDROM installation media
#cdrom
#Install OS instead of upgrade
install
#Use network installation
url --url=http://192.168.220.168/centos7/x86_64
#Use graphical install
graphical
#Run the Setup Agent on first boot
firstboot --enable
#ignoredisk --only-use=sda
#Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
#System language
lang zh_CN.UTF-8

#Network information
network  --bootproto=dhcp --device=enp0s3 --onboot=off --ipv6=auto
network  --hostname=localhost.pkey.cn

#Root password
rootpw --iscrypted $1$yWDcMXl5$rH8ndJJjZ10w0dIHHx/Mo.
#System timezone
timezone Asia/Shanghai --isUtc
#System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
#Partition clearing information
clearpart --none --initlabel

%packages
net-tools
vim
wget
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
selinux --disabled 
reboot 

說明:
安裝的網絡鏡像地址: url --url=http://192.168.220.168/centos7/x86_64
安裝後的系統密碼: rootpw --iscrypted $1$yWDcMXl5$rH8ndJJjZ10w0dIHHx/Mo.
密碼可以通過openssl passwd -1 "PASSWORD" 
安裝後可以在%packages 與其%end之間配置預安裝的包,更多好玩的配置請參看redhat官方文檔

5、啓動httpd並設置開機啓動

#systemctl start httpd
#systemctl enable httpd
#netstat -lntp |grep ":80"  #查看80端口是否啓動,是不是 httpd,並在瀏覽器上直接輸入ip地址,看能不能訪問。

6、配置dhcp服務的配置文件

#vim /etc/dhcp/dhcpd.conf
內容如下:

option domain-name "pkey.cn";
option domain-name-servers 192.168.220.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.220.0 netmask 255.255.255.0 {
    range dynamic-bootp 192.168.220.120 192.168.220.129;
    option routers 192.168.220.1;
    next-server 192.168.220.168;
  filename "pxelinux.0";
}

7、啓動dhcp並設置開機啓動

# systemctl start dhcpd
# systemctl enable dhcpd
# netstat -luntp |grep dhcp  #查看服務狀態,已經監聽在UDP 端口。

8、配置tftp服務

安裝好tftp-server軟件包後 默認的數據根目錄是/var/lib/tftpboot/ 無須修改,只需要複製一些軟件引導文件進來。

#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot  #引導文件
#cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot   #內核文件
#cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot #引導菜單
#ls  #看沒有把文件copy過來。

製件引導默認文件:

#mkdir -pv /var/lib/tftpboot/pxelinux.cfg
#cd !$
#vi default

內容如下:

default menu.c32
   prompt 5
   timeout 30
   MENU TITLE CentOS 7 PXE Menu

   LABEL linux
   MENU LABEL Install CentOS 7 x86_64
   KERNEL vmlinuz
   APPEND initrd=initrd.img inst.repo=http://192.168.220.168/centos7/x86_64 ks=http://192.168.220.168/ks/ks.cfg

9、啓動tftp 並設置開機啓動

#systemctl start tftp
#systemctl enable tftp
#ps aux |grep tftp  #查看進程有沒有啓動

測試tftp:

#tftp 192.168.220.168
tftp> get chain.c32
tftp> quit
#ll   #查看有沒有把這個文件get 下來。

10、關閉PXE服務器,設置vmware。

# init 0
更改網絡適配器爲僅主機模式。 更改虛擬網絡編輯器。(編輯 —> 虛擬網絡編輯器),更改爲僅主機模式,並取消本地dhcp服務。

11、開機,重新掛載 cdrom,並檢查相關服務情況。開啓要安裝的客房端(僅主機模式)。

#netstat -lnutp  # 查看 80端口,是不是開啓,查看dhcp服務有沒有監聽 69端口。
#ps aux |grep tftp
#mount /dev/cdrom /mnt/ 
#mount --bind /mnt /var/www/html/centos7/x86_64
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章