虚拟机批量安装LINUX,基于vmware workstation的 pxe + kickstart批量安装linux
【一】環境配置
vmware workstation
14.1.2
用于創建虛擬機
linux鏡像
CentOS-7-x86_64-DVD-1804(7.5版)
虛擬機使用的操作系統
FTP服務
用來存放系統安裝文件
TFTP服務
用來存放PXE的相關文件
DHCP服務
用來給虛擬機分配IP
kickstart
用于生成ks.cfg配置文件
vmware workstation的虛擬網絡編輯器配置
【編輯】--->【虛擬網絡編輯器】
準備兩臺虛擬機:server和clent
server
配置
NAT模式網卡配置
ens33
192.168.18.10
client
配置
NAT模式網卡配置
server虛擬機安裝的DHCP服務自動分配
【二】部署流程
根據【一】中的server服務器配置,創建一臺server虛擬機,以下操作全部在server虛擬機
2.1安裝FTP服務
yum -y install vsftpd #安裝FTP服務
systemctl start vsftpd#開啟FTP服務
systemctl enable vsftpd #設置為開機自啟動
2.2安裝TFTP服務
yum -y install tftp tftp-server xinetd
配置tftp服務器
修改tftp配置文件,修改配置文件里面的13,14行,改成以下內容
vim /etc/xinetd.d/tftp
注:server_args = -s /tftpboot#表示服務器默認的目錄是/tftpboot
啟動xinetd服務,然后查看服務端口是否打開
systemctl start xinetd
systemctl enable xinetd
lsof -i:69 #查看69端口正在被哪個進程使用
2.3安裝DHCP服務
yum -y install dhcp
配置DHCP服務
#復制dhcpd.conf.sample到/etc/dhcp/目錄下,覆蓋掉dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.sample
/etc/dhcp/dhcpd.conf
#編輯dhcpd.conf,內容如下
配置完,先不啟動DHCP,等所有的軟件安裝好,最后再啟動
2.4配置使用PXE啟動所需要的相關文件
#安裝軟件
yum-y install system-config-kickstart
yum -y insatll syslinux
#準備TFTP服務所需文件
[root@master~]# mount /dev/sr0 /var/ftp/pub/
[root@master ~]# mkdir/tftpboot
[root@master ~]# mkdir /tftpboot/pxelinux.cfg
[root@master~]# cp
/usr/share/syslinux/pxelinux.0 /tftpboot/#注,只有安裝了system-config-kickstart軟件包,才會有/usr/share/syslinux/目錄及目錄中的文件。
[root@master~]# cp
/var/ftp/pub/images/pxeboot/initrd.img/tftpboot/
[root@master ~]# cp
/var/ftp/pub/images/pxeboot/vmlinuz/tftpboot/
[root@master~]# cp
/var/ftp/pub/isolinux/isolinux.cfg/tftpboot/pxelinux.cfg/default
[root@master~]# chmod 644/tftpboot/pxelinux.cfg/default
目錄/tftpboot結構
目錄/var/ftp結構
修改default,指定安裝操作系統的方式和ks.cfg文件路徑
vim/etc/tftpboot/pxelinux.cfg/default
2.5制作kickstart的無人值守安裝文件
#創建本地yum源
mount /dev/sr0 /var/ftp/pub/#掛載光盤
vim /etc/yum.repos.d/cdrom.repo #創建cdrom.repo源,內容如下
/etc/yum.repos.d結構
[root@master yum.repos.d]# tree
/etc/yum.repos.d
/etc/yum.repos.d
├──cdrom.repo
└──old
├──CentOS-Base.repo
├──CentOS-CR.repo
├──CentOS-Debuginfo.repo
├──CentOS-fasttrack.repo
├──CentOS-Media.repo
├──CentOS-Sources.repo
└──CentOS-Vault.repo
1 directory, 8 files
生成ks.cfg文件,這里選擇修改/root下面的anaconda-ks.cfg文件,復制到/var/ftp目錄下,并重命名為ks.cfg,修改后的內容如下
[root@master ftp]# cat ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url="ftp://192.168.18.10/pub"
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network--bootproto=dhcp
--device=ens33 --onboot=off --ipv6=auto --no-activate
network--hostname=localhost.localdomain
# Root password
rootpw --iscrypted
$6$7YQWNmmo1BqZWpjm$TfBG/IsjfJPcZuGNJSR.fvHstA015CAYe2T70lrA608xyMXLZ46WwprVGj54zxabWQVJIvgCccPCWa9XFsyV2.
# System services
services --disabled="chronyd"
reboot
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --append=" crashkernel=auto"
--location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
%packages
@^minimal
@core
@development
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict
--nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict
--nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict
--nochanges --notempty
%end
2.6重啟FTP服務
systemctl restart vsftpd
2.7關閉防火墻
iptables -F
service iptables save
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'
/etc/selinux/conf
systemctl stop firewalld
systemctl disable firewalld
2.8啟動DHCP服務,設置為開機啟動
systemctl start dhcpd
systemctl enable dhcpd
【三】批量安裝操作系統
根據【一】中的client的配置創建一臺虛擬機,然后點擊【開啟此虛擬機】,直接就進入了網絡啟動,然后
開始自動裝機
【四】安裝過程中發生的錯誤
1. /dev/root does not exist原因:一開始client的內存配置為1G,在安裝的過程中出現此錯誤解決:將client的內存設置為3G,恢復正常
2. Failed to get…kickstart原因:/root/anaconda-ks.cfg的權限為600,復制到/var/tfp并重命名為ks.cfg后,沒有改變權限
任然為600,所以發生此錯誤解決:實際上ks.cfg需要644的權限,改變權限后,恢復正常
3.執行到圖形化后發生未知錯誤,KeyError:
'minimal'
原因:ks.cfg編輯錯誤,url
--url="ftp://root:root@192.168.18.10/pub"
解決:改為url
--url="ftp://192.168.18.10/pub"后,恢復正常,這里ftp服務器不需要用戶名和密碼
總結
以上是生活随笔為你收集整理的虚拟机批量安装LINUX,基于vmware workstation的 pxe + kickstart批量安装linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: drm linux 内核,Linux内核
- 下一篇: linux怎么编译并安装busybox,