Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330128
  • 博文数量: 72
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 748
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-21 18:49
文章分类

全部博文(72)

我的朋友

分类: LINUX

2019-04-09 11:27:16


【一】环境配置

vmware workstation

14.1.2

用于创建虚拟机

linux镜像

CentOS-7-x86_64-DVD-1804(7.5)

虚拟机使用的操作系统

FTP服务

 

用来存放系统安装文件

TFTP服务

 

用来存放PXE的相关文件

DHCP服务

 

用来给虚拟机分配IP

kickstart

 

用于生成ks.cfg配置文件

 

vmware workstation的虚拟网络编辑器配置

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

准备两台虚拟机: serverclent

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配置文件,修改配置文件里面的1314行,改成以下内容

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

 

 

 


阅读(9063) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~