虚拟机批量安装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的虚拟网络编辑器配置

【编辑】--->【虚拟网络编辑器】

c727da63b9ea3749b13f34b3601041cf.png

准备两台虚拟机:server和clent

server

配置

9189ea7a386f5019bb1b06fba665a6bf.png

NAT模式网卡配置

ens33

192.168.18.10

client

配置

25ca7530773551549c7a90065f79674b.png

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

764c209d49e45a108e2b72a15f7fe5b2.png

注: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,内容如下

abc30ca59c48d14f4cd831e6ade3178f.png

配置完,先不启动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结构

927e7ff60acce250406bbca852d920fe.png

目录/var/ftp结构

8d2b29aee22b82b2c21261f82dee9060.png

修改default,指定安装操作系统的方式和ks.cfg文件路径

vim/etc/tftpboot/pxelinux.cfg/default

ac844aa3cecf206f7ca1d117bd5c1907.png

2.5制作kickstart的无人值守安装文件

#创建本地yum源

mount /dev/sr0 /var/ftp/pub/#挂载光盘

vim /etc/yum.repos.d/cdrom.repo #创建cdrom.repo源,内容如下

ea308ddad33db18163f842aa908509f0.png

/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服务器不需要用户名和密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值