PXE自动化装机和构建、使用KVM虚拟化平台

简介:

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 等安装后设置是否自动配置好

    .. ..










本文转自 无心低语 51CTO博客,原文链接:http://blog.51cto.com/fengzhankui/1543729,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
605 116
|
8月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
628 114
|
8月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
779 113
|
8月前
|
JSON 监控 API
n8n错误处理全攻略:构建稳定可靠的自动化工作流
在n8n自动化工作流中,错误是提升系统可靠性的关键。本文详解常见错误类型、节点级与全局处理机制,结合重试、熔断、补偿事务等高级模式,助您构建稳定、可维护的生产级自动化流程。
|
8月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
1243 156
Maven项目管理与构建自动化完全指南
|
8月前
|
API 调度 虚拟化
VMware Cloud Foundation Automation 9.0.1.0 发布 - 私有云自动化平台
VMware Cloud Foundation Automation 9.0.1.0 发布 - 私有云自动化平台
382 3
VMware Cloud Foundation Automation 9.0.1.0 发布 - 私有云自动化平台
数据采集 Web App开发 人工智能
524 0
|
10月前
|
人工智能 自然语言处理 安全
Milvus x n8n :自动化拆解Github文档,零代码构建领域知识智能问答
本文介绍了在构建特定技术领域问答机器人时面临的四大挑战:知识滞后性、信息幻觉、领域术语理解不足和知识库维护成本高。通过结合Milvus向量数据库和n8n低代码平台,提出了一种高效的解决方案。该方案利用Milvus的高性能向量检索和n8n的工作流编排能力,构建了一个可自动更新、精准回答技术问题的智能问答系统,并介绍了部署过程中的可观测性和安全性实现方法。
1224 0
|
10月前
|
机器学习/深度学习 存储 算法
Trinity-RFT:构建智能体持续学习的自动化强化微调工厂
大型语言模型作为智能体在真实环境中持续交互学习面临诸多挑战。 Trinity-RFT 是通义实验室推出的强化微调框架,旨在实现智能体的持续进化。它通过探索、训练与经验池的解耦设计,支持多样化训练模式,提升资源利用率和学习稳定性。同时,Trinity-RFT 提供灵活的数据处理与算法模块化功能,降低应用与研究门槛,助力迈向终身学习与自主进化的智能体时代。
974 2
|
11月前
|
XML Java 数据库连接
MyBatis Generator插件使用详解:自动化构建效率提升
总体来说,MyBatis Generator的使用可以显著提高数据访问层代码的编写效率,减少出错概率,并为团队统一代码风格提供便捷。在面对要求快速发展和迭代的软件项目时,MBG的自动化代码生成功能成了不可或缺的辅助工具。
297 0

热门文章

最新文章