准备软件:

kvmtftp-serverxinetddhcpkickstarthttpd

Redhat7.2镜像

 

前置准备yum源设置:

cat /etc/yum.repos.d/media.repo [media]name=”media”baseurl=”file:///media”enabled=1gpgcheck=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=RHEL7auth --useshadow --enablemd5 --passalgo=sha512#Use network installation#texturl --url="http://172.25.1.11/RHEL7/"#Firewal configuration firewall --disablefirstboot --disable#Keyboard layoutskeyboard --vckeymap=us --xlayouts='us','us'#System languagelang en_US.UTF-8#Installation loggin levellogging --level=info#Network informationnetwork --bootproto=dhcp#yum repo sourcerepo --name="pxe-install-source" --baseurl="http://172.25.1.11/RHEL7/"#Root passwordrootpw --iscrypted $1$7b6dbb33$0w085AtBZyyE9TrVIURsL1group  --name=student  --gid=10001 user   --name=student  --gecos="student rhce7" --groups=student --password=student --plaintext #selinux configurationselinux --enforcing#system sevicesservices --disabled="kdump,rhsmcertd" --enabled="network,sshd,rsyslog,chronyd"#system timezonetimezone --utc Asia/Shanghai#system booloader configurationbootloader --location=mbr --boot-drive=vda#clear the master boot recordzerombr#partition clearing informationclearpart --all --initlabel #disk partitioning information #vgroup informationpart pv.01 --fstype="lvmpv" --ondisk=vda --grow part /boot --fstype="xfs" --ondisk=vda --size=500volgroup myvg  --pesize=4096   pv.01logvol swap --vgname=myvg --fstype=swap --size=1024 --name=swapvollogvol / --vgname=myvg  --fstype=xfs --size=4096 --name=rootvol logvol /usr/local/ --vgname=myvg --fstype=xfs --size=1024 --name=usrlocalvol --growreboot#packages%packages@^Minimal Install%end #post scripts%post --erroronfailecho "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=0enabled=0EOFcat > /etc/yum.repos.d/media.repo << EOF[media]name="media"baseurl="file:///media/"gpgcheck=0enabled=0EOF %end

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

二、httpd相关

 

a、安装httpd

yum install -y httpd

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

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

c、启动httpd

systemctl  start httpd

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

这里使用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-serverpxe文件

cat /etc/xinetd.d/tftpservice tftp{socket_type= dgramprotocol= udpwait= yesuser= rootserver= /usr/sbin/in.tftpdserver_args= -s /var/lib/tftpbootdisable= noper_source= 11cps= 100 2flags= 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.c32default linuxtimeout 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

[root@server vms]# cat /etc/dhcp/dhcpd.confsubnet 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";}

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

 

[root@server 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-br0DEVICE=br0ONBOOT=yesTYPE=BridgeBOOTPROTO=noneIPADDR=172.25.1.11NETMASK=255.255.255.0GATEWAY=172.25.1.1IPV6INIT=yesIPV6_AUTOCONF=yesDHCPV6C=noSTP=onDELAY=0

使用brctl查看系统中的桥

[root@server network-scripts]# brctl show bridge namebridge idSTP enabledinterfacesbr08000.000c29b58280yeseth0

使用nmcli查看系统的连接

[root@server 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

 

 

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

[root@server 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/p_w_picpaths/pxe_1.qcow2,device=disk,bus=virtio  \ --network bridge=br0,model=virtio   \ --ram 1024  \ --graphics vnc  \ --force

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

 

暂停虚拟机

virsh suspend DOMAIN_NAME

 

 

如果network.service 服务被禁用,使用的是NetworkManager来管理网络,那么使用如下命令创建网桥br0,网桥指向的物理接口 br0-port1(其实可以看做是之前的eth0

 

  nmcli  connection  add con-name  br0 type  bridge    ifname br0   nmcli  connection  modify  br0 ipv4.addresses 172.25.1.11/24 ipv4.gateway  172.25.1.1  nmcli  connection  modify br0  ipv4.method manual  nmcli  connection  add con-name br0-port1 type bridge-slave  ifname eth0   master br0  nmcli  connection  up b0-port1

 

这样重启服务器后,网桥会自动创建