2021-05-12 14:32:11
CentOS7.2下PXE+kickstart自動化安裝系統
2020-06-16 17:02:06
注意:我只是一篇筆記,不是教學!不求甚解的可以一步步跟著做出來,想搞清楚原理的自己研究
溫故而知新,雖然工作中用到的系統都是 CentOS 6.X
,但我們不能一直沉浸在過去的經驗中,要跟上時代的節奏
一、實驗環境
- 作業系統:CentOS Linux release 7.2.1511 (Core)
- 網絡卡地址:192.168.100.147/24
- 光碟映象:CentOS-7-x86_64-Minimal-1511.iso
- 安裝工具:kickstart + dhcp + tftp + ftp
二、準備工作
2.1 關閉防火牆
[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl stop firewalld
2.2 關閉selinux
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
三、原理和流程圖
四、DHCP服務安裝及設定
4.1 安裝dhcp
[root@localhost ~]# yum install dhcp -y
4.2 設定dhcpd
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.2;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.100.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.100.60 192.168.100.100;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.100.147;
filename "pxelinux.0";
}
4.3 啟動dhcpd
[root@localhost ~]# systemctl start dhcpd
4.4 dhcp服務測試
[root@localhost ~]# ss -nulp | grep dhcpd
UNCONN 0 0 *:67 *:* users:(("dhcpd",pid=8769,fd=7))
UNCONN 0 0 *:7773 *:* users:(("dhcpd",pid=8769,fd=20))
UNCONN 0 0 :::55406 :::* users:(("dhcpd",pid=8769,fd=21))
也可以啟動新伺服器,看看能否獲取到IP地址
4.5 設定開機自啟動(可選)
[root@localhost ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
五、ftp服務安裝及設定
5.1 安裝vsftpd
[root@localhost ~]# yum install -y vsftpd
5.2 設定vsftpd
使用預設設定即可
5.3 掛載系統磁碟
系統安裝盤掛載到 /var/ftp/pub
目錄下,不要掛載到其它地方,因為 /var/ftp
是 anonymous
匿名使用者的家目錄
如果是光碟機,可以這樣掛
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub
mount: /dev/sr0 is write-protected, mounting read-only
如果是光碟映象,可以這樣掛
[root@localhost ~]# mount /opt/CentOS-7-x86_64-Minimal-1511.iso /var/ftp/pub -o loop
mount: /dev/loop0 is write-protected, mounting read-only
檢視光碟內容
[root@localhost ~]# ls /var/ftp/pub
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
5.4 啟動vsftpd服務
[root@localhost ~]# systemctl start vsftpd
5.5 ftp伺服器測試
[root@localhost ~]# ftp 192.168.100.147
Connected to 192.168.100.147 (192.168.100.147).
220 (vsFTPd 3.0.2)
Name (192.168.100.147:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,100,147,113,88).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1068 Aug 09 08:56 ks.cfg
dr-xr-xr-x 8 0 0 2048 Dec 09 2015 pub
226 Directory send OK.
ftp> get ks.cfg
local: ks.cfg remote: ks.cfg
227 Entering Passive Mode (192,168,100,147,126,155).
150 Opening BINARY mode data connection for ks.cfg (1068 bytes).
226 Transfer complete.
1068 bytes received in 6.8e-05 secs (15705.88 Kbytes/sec)
ftp> quit
221 Goodbye.
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg
成功拿到 ks.cfg
則表示 ftp
服務正常
5.6 設定開機自啟動(可選)
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
六、tftp服務安裝及設定
6.1 安裝tftp和xinetd服務
[root@localhost ~]# yum install -y xinetd
[root@localhost ~]# yum install -y tftp-server tftp syslinux-tftpboot
6.2 設定xinetd
[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
#預設disable是yes的,把它改為no即可
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
6.3 設定tftp-server
[root@localhost ~]# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 60
display boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img text ks=ftp://192.168.100.147/ks.cfg
6.4 設定kickstart
以 ~/anaconda-ks.cfg
為模板,再做一些適當的修改
[root@localhost ~]# cp ~/anaconda-ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vi /var/ftp/ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Install OS instead of upgrade
install
# Use network installation
url --url=ftp://192.168.100.147/pub
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8
# Network information
network --bootproto=dhcp --device=eno16777736 --onboot=yes --ipv6=auto
network --hostname=localhost.localdomain
# Root password
# root密碼是: rootroot
rootpw --iscrypted $6$7gdZF8XhDef10LyT$2uRiP4qFYaBBTgpggKU/BXKgMDJLWN/BriXXgBwyzkjaz9G9YP/xD08I1OJfgBcPMoURsE5inVIoX.J6aERmR0
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
%packages
@^minimal
@core
%end
%addon com_RedHat_kdump --disable --reserve-mb='auto'
%end
修改存取許可權
[root@localhost ~]# ll /var/ftp/ks.cfg
-rw-------. 1 root root 1083 Aug 8 16:39 /var/ftp/ks.cfg
[root@localhost ~]# chmod +r /var/ftp/ks.cfg
[root@localhost ~]# ll /var/ftp/ks.cfg
-rw-r--r--. 1 root root 1083 Aug 8 16:39 /var/ftp/ks.cfg
6.5 啟動tftp服務
[root@localhost ~]# systemctl start xinetd
6.6 測試tftp服務
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg
[root@localhost ~]# tftp 192.168.100.147
tftp> get vmlinuz
tftp> quit
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg vmlinuz
如果能成功拿到 vmlinuz
檔案,則表示 tftp
伺服器狀態正常
6.7 設定開機自啟動(可選)
[root@localhost ~]# systemctl enable xinetd
Created symlink from /etc/systemd/system/multi-user.target.wants/xinetd.service to /usr/lib/systemd/system/xinetd.service.
七、啟動安裝
到這裡已經設定完成了。
系統安裝前,需要設定BIOS從網絡卡啟動,安裝完後馬上改回去
八、注意事項
- 注意dhcp衝突
- 注意許可權
- 注意防火牆
- 注意selinux
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-11/148604.htm
相關文章