PXE自动化装机和构建、使用KVM虚拟化平台
KVM虚拟化服务器(真机或高配虚拟机(内存>4G)
操作系统:CentOS 6.5 ==> 关闭 iptables 防火墙、关闭SELinux机制,进入图形桌面
网卡连接:eth0 (VMnet4)==> 关闭 NetworkManager 服务
主机名:kvmsvr.tarena.com
IP地址:192.168.4.254/24
分区示例:
/boot 200MB、SWAP 8GB、/ 80GB、
/var/ftp 40GB (逻辑卷 /data/vg_data/lv_data)
#########################################################
一:服务的准备工作
[root@pxesvr ~]# service iptables stop #关闭防火墙
[root@pxesvr ~]# service iptables save
[root@pxesvr ~]# chkconfig iptables off
[root@pxesvr ~]# setenforce 0 #关闭selinux
[root@pxesvr ~]# vim /etc/selinux/config #修改文件永久关闭selinux
SELINUX=permissive
[root@pxesvr ~]# vim /etc/sysconfig/network
HOSTNAME=kvmsvr.tarena.com
[root@pxesvr ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 #修改IP地址
IPADDR=192.168.4.254
NM_CONTROLLED=no
[root@pxesvr ~]# service NetworkManager stop #关闭 NetworkManager服务
[root@pxesvr ~]# chkconfig NetworkManager off
[root@pxesvr ~]# reboot
二:在KVM服务器上为CentOS 6.5客户机提供 YUM 源
1. 安装、启用 vsftpd 服务,允许匿名下载
[root@kvmsvr ~]# rpm -ivh /光盘挂载点/Packages/vsftpd*.rpm
[root@kvmsvr ~]# service vsftpd restart
[root@kvmsvr ~]# chkconfig vsftpd on
2. 插入CentOS 6.5光盘,将其中所有文档部署到 FTP 目录
[root@kvmsvr ~]# mkdir -p /var/ftp/pub/iso/centos/6.5/
[root@kvmsvr ~]# cp -rf /misc/cd/* /var/ftp/pub/iso/centos/6.5/
准备 RHEL 5.10 安装源(FTP方式提供)
[root@kvmsvr ~]# mkdir -p /var/ftp/pub/iso/redhat/5.10/
.. .. //更换为 RHEL 5.10光盘
[root@kvmsvr ~]# cp -rf /misc/cd/* /var/ftp/pub/redhat/5.10/
3.配置第三方yum源
[root@kvmsvr ~]# mkdir /var/ftp/pub/other/
将办公软件包放入这个文件夹中
[root@kvmsvr ~]# createrepo -s sha1 /var/ftp/pub/other/ # -s sha1 是针对低版本的linux使用第三方yum的一个算法
4. 在本机测试,确保 YUM 源可用
[root@kvmsvr ~]# vim /etc/yum.repos.d/CentOS-Debuginfo.repo
[debug]
name=CentOS-6 - Debuginfo
baseurl=ftp://192.168.4.254/pub/iso/centos/6.5
gpgcheck=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-6
enabled=1
[other-RPMS]
name=Other Packages
baseurl=ftp://192.168.4.254/pub/other
enabled=1
gpgcheck=0
[root@kvmsvr ~]# yum repolist
.. ..
5. 将YUM仓库配置文件部署到 FTP 目录备用
[root@kvmsvr ~]# mkdir -p /var/ftp/pub/pxe/
[root@kvmsvr ~]# cp /etc/yum.repos.d/centos6.repo /var/ftp/pub/pxe/
[root@kvmsvr ~]# wget ftp://192.168.4.254/pub/pxe/centos6.repo
.. .. //确认可下载
[root@kvmsvr ~]# vim /var/ftp/pub/pxe/rhel5.repo #提供 RHEL 5.10客户机的YUM仓库文件
[rhel5]
name=rhel5 - Debuginfo
baseurl=ftp://192.168.4.254/pub/iso/redhat/5.10/Server
gpgcheck=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-6
enabled=1
[other-RPMS]
name=Other Packages
baseurl=ftp://192.168.4.254/pub/other
enabled=1
gpgcheck=0
[root@kvmsvr ~]# wget ftp://192.168.4.254/pub/pxe/rhel5.repo
.. .. //确认下载可用
三:安装 KVM 虚拟化相关软件、启用服务
[root@kvmsvr ~]# yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Tools" "Virtualization Platform"
.. ..
[root@kvmsvr ~]# service libvirtd restart
[root@kvmsvr ~]# chkconfig libvirtd on
四:配置 PXE 装机服务器
1. 配置DHCP服务器
[root@kvmsvr ~]# yum -y install dhcp
[root@kvmsvr ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "tarena.com";
option domain-name-servers 192.168.4.254;
default-lease-time 7200;
max-lease-time 14400;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.10 192.168.4.50;
option routers 192.168.4.254;
next-server 192.168.4.254;
filename "pxelinux.0";
}
[root@kvmsvr ~]# service dhcpd restart
[root@kvmsvr ~]# chkconfig dhcpd on
2.配置DNS服务器
[root@kvmsvr ~]# yum -y install bind bind-chroot
[root@kvmsvr ~]# service named restart
[root@kvmsvr ~]# chkconfig named on
[root@kvmsvr ~]# mv /etc/named.conf /etc/named.conf.bak
[root@kvmsvr ~]# vim /var/named/chroot/etc/named.conf
options {
directory "/var/named";
};
zone "tarena.com" IN { //定义正向区域
type master;
file "tarena.com.zone";
};
zone "4.168.192.in-addr.arpa" IN { //定义反向区域
type master;
file "192.168.4.arpa";
};
[root@kvmsvr ~]# cd /var/named/chroot/var/named/
[root@kvmsvr named]# vim tarena.com.zone
@ SOA tarena.com. root.tarena.com. (
2014072101
8H
2H
4H
1D
)
@ IN NS kvmsvr.tarena.com.
kvmsvr IN A 192.168.4.254
ftp IN CNAME pxesvr
$GENERATE 10-50 pc$ IN A 192.168.4.$
[root@kvmsvr named]# vim 192.168.4.arpa
$TTL 1D
@ SOA tarena.com. root.tarena.com. (
2014072101
8H
2H
4H
1D
)
@ IN NS kvmsvr.tarena.com.
254 IN PTR kvmsvr.tarena.com.
$GENERATE 10-50 $ IN PTR pc$.tarena.com.
[root@kvmsvr named]# service named restart
3.配置TFTP服务组件
1)安装相关软件包
[root@kvmsvr ~]# yum -y install tftp-server
[root@kvmsvr ~]# chkconfig tftp on
[root@kvmsvr ~]# chkconfig xinetd on
[root@kvmsvr ~]# service xinetd restart
2)准备引导文件
[root@kvmsvr ~]# yum -y install syslinux
[root@kvmsvr ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //网卡启动文件
[root@kvmsvr tftpboot]# mkdir centos6 #存放centos6的内核和初始化镜像的目录
[root@kvmsvr tftpboot]# mkdir rhel5 #存放redhat5.10内核和初始化镜像的目录
[root@kvmsvr ~]# cd /var/ftp/pub/iso/centos/6.5/isolinux/
[root@kvmsvr isolinux]# cp initrd.img vmlinuz /var/lib/tftpboot/ //给CentOS6客户机用的内核及PXE相关文件
[root@kvmsvr ~]# cd /var/ftp/pub/iso/redhat/5.10/isolinux/
[root@kvmsvr isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/rhel5/ //给RHEL5.10客户机用的内核和初始化镜像
3)准备PXE启动菜单
准备图形支持模块、背景图片
[root@pxesvr ~]# yum -y install syslinux
[root@pxesvr ~]# cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
[root@pxesvr ~]# cp /usr/share/doc/syslinux-4.02/sample/syslinux_splash.jpg /var/lib/tftpboot/splash.jpg
准备菜单文件
[root@kvmsvr isolinux]# mkdir -p /var/lib/tftpboot/pxelinux.cfg/
[root@kvmsvr isolinux]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@kvmsvr pxelinux.cfg]# vim default
default rhel5
timeout 300
UI vesamenu.c32
menu background splash.jpg
menu title Welcome to PXE Installation Server !
label rhel5
menu label Install RH^EL 5.9 ( Kickstart )
kernel rhel5/vmlinuz
append ks=ftp://192.168.4.254/pub/pxe/ks-el5.cfg initrd=rhel5/initrd.img
label centos6
menu label Install ^CentOS 6.5 ( Kickstart )
kernel centos6/vmlinuz
append ks=ftp://192.168.4.254/pub/pxe/ks-cos6.cfg initrd=centos6/initrd.img
label rescue
menu label ^Rescue Installed System
kernel rhel5/vmlinuz
append initrd=rhel5/initrd.img rescue
4)测试TFTP下载,确保可用
[root@kvmsvr ~]# yum -y install tftp //安装 TFTP 客户端命令
[root@kvmsvr ~]# tftp 192.168.4.254 -c get pxelinux.0 //连接服务端,测试下载文件
[root@kvmsvr ~]# ls -lh pxelinux.0 //确认下载结果
-rw-r--r--. 1 root root 27K 8月 16 17:50 pxelinux.0
5. 提供自动应答配置文件
1)找一台RHEL 5.10主机,根据模板创建应答文件
新装系统时将root口令设为123456
自动填序列号、初始化磁盘并分区、安装桌面环境
完成安装后能自动下载rhel5.repo配好YUM仓库
[root@el5pc ~]# yum -y install system-config-kickstart
[root@el5pc ~]# system-config-kickstart
安装序列号:2515dd4e215225dd //自动填入安装序号
安装方法选择ftp
服务器:192.168.4.254
目录:/pub/iso/redhat/5.10
安装后脚本
rm -rf /etc/yum.repos.d/*
wget ftp://192.168.4.254/pub/pxe/rhel5.repo -O /etc/yum.repos.d/rhel5.repo
yum clean all
yum -y install libreoffice4.1*
将上述 ks-el5文件拷贝到 KVM 服务器的 FTP 目录下
[root@kvmsvr ~]# ls /var/ftp/pub/pxe/ks-el5.cfg
.. ..
[root@kvmsvr ~]# wget ftp://192.168.4.254/pub/pxe/ks-el5.cfg
.. .. //确保可下载
2)将Centos6.5的主机创建应答文件
[root@el5pc ~]# yum -y install system-config-kickstart
[root@el5pc ~]# system-config-kickstart
安装方法选择ftp
服务器:192.168.4.254
目录:/pub/iso/centos/6.5/
安装后脚本
rm -rf /etc/yum.repos.d/*
wget ftp://192.168.4.254/pub/pxe/centos6.repo -O /etc/yum.repos.d/centos6.repo
yum clean all
yum -y install libreoffice4.1*
将上述 ks-el5文件拷贝到 KVM 服务器的 FTP 目录下
[root@kvmsvr ~]# ls /var/ftp/pub/pxe/ks-cos6.cfg
.. ..
[root@kvmsvr ~]# wget ftp://192.168.4.254/pub/pxe/ks-cos6.cfg
.. .. //确保可下载
五:建立桥接网卡、虚拟机存储
1. 建立桥接网卡 br0
[root@kvmsvr ~]# cp /etc/sysconfig/network-scripts/ifcfg-{eth0,br0}
[root@kvmsvr ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 //调整 br0 配置
DEVICE=br0 //新建的连接名称
TYPE=Bridge //连接类型
ONBOOT=yes
NM_CONTROLLED=no //不接受NetworkManager管理
BOOTPROTO=static
IPADDR=192.168.4.254 //设为原eth0网卡的IP地址
PREFIX=24
[root@kvmsvr ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //调整 eth0 配置
DEVICE=eth0
TYPE=Ethernet
.. ..
NM_CONTROLLED=no //不接受NetworkManager管理
BRIDGE=br0 //桥接到 br0
[root@kvmsvr ~]# service network restart
[root@kvmsvr ~]# ifconfig br0
br0 Link encap:Ethernet HWaddr 00:0C:29:73:9A:C7
inet addr:192.168.4.254 Bcast:192.168.4.255 Mask:255.255.255.0
.. ..
!!!! 备用操作提示:命令建立桥接网卡
[root@kvmsvr ~]# brctl addbr br0
[root@kvmsvr ~]# brctl addif br0 eth0
2. 准备虚拟机磁盘
建立一个不小于40G的文件系统,挂载到 /data/
[root@kvmsvr ~]# mkdir -p /data/images
[root@kvmsvr ~]# dd if=/dev/zero of=/data/images/node1.img bs=10M count=1000
.. .. //用来装第一个RHEL 5.10虚拟机
六:KVM 虚拟机管理(virt-manager工具)
1. 运行虚拟机管理器
!!!! 桌面环境 --> 应用程序 --> 系统工具 --> 虚拟系统管理器
!!!! 或直接运行 virt-manager 命令打开
—— 默认连接到本机的KVM服务平台进行管理
2. 新建一台虚拟机
名称:rh5_n1
内存:512M
网卡:桥接(br0)
磁盘:/data/images/node1.img
3. 通过PXE方式为此虚拟机安装系统
安装过程全自动,完成后登入系统
检查 YUM 等安装后设置是否自动配置好
.. ..