kvm+pxe+kickstart自动化安装redhat7.2

准备软件:

kvm、tftp-server、xinetd、dhcp、kickstart、httpd

Redhat7.2镜像

前置准备yum源设置:

cat /etc/yum.repos.d/media.repo 
[media]
name=”media”
baseurl=”file:///media”
enabled=1
gpgcheck=0

挂载光盘:

 mount /dev/sr0 /media

各软件安装配置:

一、kickstart安装

a、安装

yum install -y  system-config-kickstart   pykickstart

安装图形配合方式的管理工具 system-config-kickstart以及文本方式的管理工具pykickstart。

上述的工具安装任意一个都可以,甚至用户对kickstart语法非常熟悉,不用安装上述软件,使用普通文本编辑器比如vim直接编写kickstart文件

b、编写kickstart文件

可以手动编写也可以使用system-config-kickstart图形命令设置kickstart文件。

下面使用手动编辑。

cat /var/www/html/ks.cfg 
 
#version=RHEL7
auth --useshadow --enablemd5 --passalgo=sha512
#Use network installation
#text
url --url="http://172.25.1.11/RHEL7/"
#Firewal configuration 
firewall --disable
firstboot --disable
#Keyboard layouts
keyboard --vckeymap=us --xlayouts=‘us‘,‘us‘
#System language
lang en_US.UTF-8
#Installation loggin level
logging --level=info
#Network information
network --bootproto=dhcp
#yum repo source
repo --name="pxe-install-source" --baseurl="http://172.25.1.11/RHEL7/"
#Root password
rootpw --iscrypted $1$7b6dbb33$0w085AtBZyyE9TrVIURsL1
group  --name=student  --gid=10001 
user   --name=student  --gecos="student rhce7" --groups=student --password=student --plaintext 
#selinux configuration
selinux --enforcing
#system sevices
services --disabled="kdump,rhsmcertd" --enabled="network,sshd,rsyslog,chronyd"
#system timezone
timezone --utc Asia/Shanghai
#system booloader configuration
bootloader --location=mbr --boot-drive=vda
#clear the master boot record
zerombr
#partition clearing information
clearpart --all --initlabel 
#disk partitioning information 
#vgroup information
part pv.01 --fstype="lvmpv" --ondisk=vda --grow 
part /boot --fstype="xfs" --ondisk=vda --size=500
volgroup myvg  --pesize=4096   pv.01
logvol swap --vgname=myvg --fstype=swap --size=1024 --name=swapvol
logvol / --vgname=myvg  --fstype=xfs --size=4096 --name=rootvol 
logvol /usr/local/ --vgname=myvg --fstype=xfs --size=1024 --name=usrlocalvol --grow
reboot
#packages
%packages
@^Minimal Install
%end
 
#post scripts
%post --erroronfail
echo "hello" > /tmp/hello.txt
 
cat > /etc/yum.repos.d/pxe-source.repo << EOF
[pxe-source]
name="pxe-source"
baseurl="http://172.25.1.11/RHEL7/"
gpgcheck=0
enabled=0
EOF
cat > /etc/yum.repos.d/media.repo << EOF
[media]
name="media"
baseurl="file:///media/"
gpgcheck=0
enabled=0
EOF

 
%end

编写完成后使用ksvalidator  /var/www/html/ks.cfg 来检查是否有语法错误。

二、httpd相关

a、安装httpd

yum install -y httpd

b、配置httpd以及挂载镜像到指定目录

mkdir /var/www/html/RHEL7
mount /dev/sr0  /var/www/html/RHEL7

c、启动httpd

systemctl  start httpd

说明:安装系统时需要的镜像文件的传送可以使用http、ftp、nfs多送方式,

这里使用http方式

设置开机启动

systemctl enable httpd

三、pxe相关

a、安装tftp-server以及xinetd

yum  tftp-server tftp xinetd syslinux  -y

tftp-server提供tftp服务,将pxe需要的后置程序传输给客户端的网卡的pxe前置程序。

xinetd用于控制tftp-server服务的启动。

syslinux提供/usr/share/syslinux/pxelinux.0文件,用户提供pxe客户端的后置程序。

b、设置tftp-server、pxe文件

cat /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= no
per_source= 11
cps= 100 2
flags= IPv4
}

设置tftp为开启状态

cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

将pxe的后端程序pxelinux.0复制到tftp的工作目录下

cp /media/isolinux/{vmlinuz,initrd.img}   /var/lib/tftpboot/

复制安装光盘的linux内核以及驱动文件到tftp的工作目录

mkdir /var/lib/tfpboot/pxelinux.cfg

创建pxelinux.cfg 的目录,用于保存pxelinux安装配置文件

 cp /media/isolinux/isolinux.cfg
  /var/lib/tftpboot/pxelinux.cfg/default

将pxelinux的配置文件改名存放到 /var/lib/tftpboot/pxelinux.cfg/中

cat  /var/lib/tftpboot/pxelinux.cfg/default 
#default vesamenu.c32
default linux
timeout 600
...
...
...
label linux
  menu label ^Install the pxe redhat 00000 7.2
  kernel vmlinuz
  append initrd=initrd.img  ks=http://172.25.1.11/ks.cfg
#  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.2\x20Server.x86_64 quiet
...
...
...

修改pxelinux.cfg(这里是default文件)的默认内容为上述内容

c、设置启动

systemctl start xinetd 
systemctl enable xinetd

四、dhcp相关

a、安装dhcp服务

yum install -y dhcp

b、配置dhcp

[[email protected] vms]# cat /etc/dhcp/dhcpd.conf
subnet 172.25.1.0 netmask 255.255.255.0 {
  range 172.25.1.100 172.25.1.254;
  option domain-name-servers 172.25.1.1;
  option domain-name "xiaotong.com";
  option routers 172.25.1.1;
  option broadcast-address 172.25.1.255;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 172.25.1.11;
  filename "pxelinux.0";
}

上面是配置文件,下面是具体解释:

[[email protected] vms]# cat /etc/dhcp/dhcpd.conf

subnet 172.25.1.0 netmask 255.255.255.0 {

range 172.25.1.100 172.25.1.254;   #客户端获取的ip地址变化范围

option domain-name-servers 172.25.1.1;  #dns服务器的地址,这个可以没有dns服务器。

option domain-name "xiaotong.com"; #dns服务器的域名名称,可以不指定

option routers 172.25.1.1;  #设置客户端获取的网关地址

option broadcast-address 172.25.1.255; #设置客户端获取的广播地址

default-lease-time 600;  #默认租约时间

max-lease-time 7200; #最大租约时间

next-server 172.25.1.11;  #设置tftp-server服务器ip地址

filename "pxelinux.0"; #设置pxe后端程序的名称。

}

c、启动服务

systemctl start dhcpd 
systemctl enable dhcpd

可以设置成开机启动

五、kvm虚拟机相关

a、安装kvm

安装虚拟化环境软件

yum instal qemu-kv qemu-img libvirt virt-install virt-manager -y

安装网桥工具

yum install bridge-utils -y

其他安装(可以不安装)

yum install tigervnc tigervnc-server -y

b、配置虚拟机环境

清理掉系统自动设置的网桥等设备连接

brctl show

将多余的桥删除掉,这些桥是系统事先设置的

brctl  delbr  xxx

或者使用

nmcli connection show

查找相关多余的连接

使用如下命令删除

nmcli connection delete XXX

创建网桥

virsh iface-bridge eth0 br0

网桥创建后,配置文件为如下:

cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=172.25.1.11
NETMASK=255.255.255.0
GATEWAY=172.25.1.1
IPV6INIT=yes
IPV6_AUTOCONF=yes
DHCPV6C=no
STP=on
DELAY=0

使用brctl查看系统中的桥

[[email protected] network-scripts]# brctl show 
bridge namebridge idSTP enabledinterfaces
br08000.000c29b58280yeseth0

使用nmcli查看系统的连接

[[email protected] network-scripts]# nmcli  connection  show 
NAME         UUID                                  TYPE            DEVICE  
br0          35cbe2e2-36ad-4233-9ba8-6c0e39a8ebda  bridge          br0    
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0

查看网络设备的连接关联情况:

[[email protected] network-scripts]# nmcli  dev status 
DEVICE  TYPE      STATE      CONNECTION  
br0     bridge    connected  br0         
eth0    ethernet  connected  System eth0 
lo      loopback  unmanaged  --

c、安装虚拟机

virt-install -n testrhel7    --boot hd,network   --disk /var/lib/libvirt/images/pxe_1.qcow2,device=disk,bus=virtio   --network bridge=br0,model=virtio    --ram 1024   --graphics vnc   --force

或者使用virt-manager 图形安装,安装中设置网络为br0

暂停虚拟机

virsh suspend DOMAIN_NAME

时间: 2024-10-26 15:30:00

kvm+pxe+kickstart自动化安装redhat7.2的相关文章

pxe+kickstart自动化安装

什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)是Intel公司开发的最新技术,工作于Client/Server模式.PXE是一种远程引导方式,要求计算机网卡支持PXE协议,即网卡ROM中有PXEClient.计算机引导时,BIOS将PXEClient调入内存,PXEClient其实主要包括DHCPClient和TFTPClient两部分,PXEClient请求DHCP服务器分配IP,然后请求TFTP服务器下载引导文件和内核. PXE的工作流

CentOS7 下PXE+kickstart自动化安装系统

一.实验环境 操作系统:CentOS Linux release 7(Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64.iso 安装工具:kickstart + dhcp + tftp + ftp 二.准备工作 2.1 关闭防火墙 [[email protected] ~]# systemctl stop iptables [[email protected] ~]# systemctl stop firewalld 2.2 关闭selinux

centos6.4 http dhcp nfs pxe kickstart 自动化安装系统

1 环境准备 centos 6.4 x86_64 安装图形界面 以运行sysconfig-config-kickstart yum install vim ntp man yum groupinstall "development tools" "server platform development" "desktop platform development" 关闭 iptables selinux 2 挂载镜像文件 mkdir /media

centos 6.4 http nfs tftp pxe kickstart 自动化安装系统

1 环境准备 centos 6.4 x86_64 安装图形界面 以运行sysconfig-config-kickstart yum install vim ntp man yum groupinstall "development tools" "server platform development" "desktop platform development" 关闭 iptables selinux 2 挂载镜像文件 mkdir /media

PXE+Kickstart 自动安装

安装之前 将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接:PXE 服务器安装 CentOS,并且关闭firewalld.selinux,设置静态IP地址,本例设为10.0.0.1:一般来说因为是在内网操作,还需要配置本地YUM源.本例仅适用UEFI引导,BIOS稍有不同. 配置PXE服务器 配置tftp服务器 1.安装tftp服务器 [[email protected] ~]# yum -y install tftp-server 2.启用tftp服务器 在 /etc/xi

Pxe+Kickstart无人值守安装Linxu操作系统

KICKSTART无人值守安装: 一.系统安装方法: 光盘安装系统===>一个服务器DVD内置光驱就要花很多钱,试想,几百台服务器仅是装系统用一次光驱,太耗资金,usb外置光驱一台一台插也是够麻烦的. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标.时刻想偷懒的我们,有没有更好的方法! 高效安装系统法:Kickstart.Cobbler 二.

CentOS 6.4下PXE+Kickstart无人值守安装操作系统

一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软

PXE+Kickstart无人值守安装CentOS 6.7

一.简介 1.1 什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到

Kickstart自动化安装

Kickstart自动化安装 首先需要安装软件: Yum install –y dhcp* tftp*  nfs-utils Yum install –y syslinux  (没有pxelinux.0需要安装syslinux) 1.配置tftp服务器: Vi /etc/xinetd.d/tftp 把 disable = yes 改为no 就可以了 2.TFTP+PXE配置 要实现远程安装系统,需要在tftpboot目录指定相关PXE内核模块及相关参数.配置步骤如下: Mount /dev/cd