虚拟机批量安装LINUX,基于vmware workstation的 pxe + kickstart批量安装linux
【一】環(huán)境配置
vmware workstation
14.1.2
用于創(chuàng)建虛擬機(jī)
linux鏡像
CentOS-7-x86_64-DVD-1804(7.5版)
虛擬機(jī)使用的操作系統(tǒng)
FTP服務(wù)
用來存放系統(tǒng)安裝文件
TFTP服務(wù)
用來存放PXE的相關(guān)文件
DHCP服務(wù)
用來給虛擬機(jī)分配IP
kickstart
用于生成ks.cfg配置文件
vmware workstation的虛擬網(wǎng)絡(luò)編輯器配置
【編輯】--->【虛擬網(wǎng)絡(luò)編輯器】
準(zhǔn)備兩臺虛擬機(jī):server和clent
server
配置
NAT模式網(wǎng)卡配置
ens33
192.168.18.10
client
配置
NAT模式網(wǎng)卡配置
server虛擬機(jī)安裝的DHCP服務(wù)自動分配
【二】部署流程
根據(jù)【一】中的server服務(wù)器配置,創(chuàng)建一臺server虛擬機(jī),以下操作全部在server虛擬機(jī)
2.1安裝FTP服務(wù)
yum -y install vsftpd #安裝FTP服務(wù)
systemctl start vsftpd#開啟FTP服務(wù)
systemctl enable vsftpd #設(shè)置為開機(jī)自啟動
2.2安裝TFTP服務(wù)
yum -y install tftp tftp-server xinetd
配置tftp服務(wù)器
修改tftp配置文件,修改配置文件里面的13,14行,改成以下內(nèi)容
vim /etc/xinetd.d/tftp
注:server_args = -s /tftpboot#表示服務(wù)器默認(rèn)的目錄是/tftpboot
啟動xinetd服務(wù),然后查看服務(wù)端口是否打開
systemctl start xinetd
systemctl enable xinetd
lsof -i:69 #查看69端口正在被哪個(gè)進(jìn)程使用
2.3安裝DHCP服務(wù)
yum -y install dhcp
配置DHCP服務(wù)
#復(fù)制dhcpd.conf.sample到/etc/dhcp/目錄下,覆蓋掉dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.sample
/etc/dhcp/dhcpd.conf
#編輯dhcpd.conf,內(nèi)容如下
配置完,先不啟動DHCP,等所有的軟件安裝好,最后再啟動
2.4配置使用PXE啟動所需要的相關(guān)文件
#安裝軟件
yum-y install system-config-kickstart
yum -y insatll syslinux
#準(zhǔn)備TFTP服務(wù)所需文件
[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結(jié)構(gòu)
目錄/var/ftp結(jié)構(gòu)
修改default,指定安裝操作系統(tǒng)的方式和ks.cfg文件路徑
vim/etc/tftpboot/pxelinux.cfg/default
2.5制作kickstart的無人值守安裝文件
#創(chuàng)建本地yum源
mount /dev/sr0 /var/ftp/pub/#掛載光盤
vim /etc/yum.repos.d/cdrom.repo #創(chuàng)建cdrom.repo源,內(nèi)容如下
/etc/yum.repos.d結(jié)構(gòu)
[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文件,復(fù)制到/var/ftp目錄下,并重命名為ks.cfg,修改后的內(nèi)容如下
[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服務(wù)
systemctl restart vsftpd
2.7關(guān)閉防火墻
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服務(wù),設(shè)置為開機(jī)啟動
systemctl start dhcpd
systemctl enable dhcpd
【三】批量安裝操作系統(tǒng)
根據(jù)【一】中的client的配置創(chuàng)建一臺虛擬機(jī),然后點(diǎn)擊【開啟此虛擬機(jī)】,直接就進(jìn)入了網(wǎng)絡(luò)啟動,然后
開始自動裝機(jī)
【四】安裝過程中發(fā)生的錯(cuò)誤
1. /dev/root does not exist原因:一開始client的內(nèi)存配置為1G,在安裝的過程中出現(xiàn)此錯(cuò)誤解決:將client的內(nèi)存設(shè)置為3G,恢復(fù)正常
2. Failed to get…kickstart原因:/root/anaconda-ks.cfg的權(quán)限為600,復(fù)制到/var/tfp并重命名為ks.cfg后,沒有改變權(quán)限
任然為600,所以發(fā)生此錯(cuò)誤解決:實(shí)際上ks.cfg需要644的權(quán)限,改變權(quán)限后,恢復(fù)正常
3.執(zhí)行到圖形化后發(fā)生未知錯(cuò)誤,KeyError:
'minimal'
原因:ks.cfg編輯錯(cuò)誤,url
--url="ftp://root:root@192.168.18.10/pub"
解決:改為url
--url="ftp://192.168.18.10/pub"后,恢復(fù)正常,這里ftp服務(wù)器不需要用戶名和密碼
總結(jié)
以上是生活随笔為你收集整理的虚拟机批量安装LINUX,基于vmware workstation的 pxe + kickstart批量安装linux的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: drm linux 内核,Linux内核
- 下一篇: linux怎么编译并安装busybox,
