本文由秀依林枫提供友情赞助,首发于烂泥行天下

KVM与kickstart集成在这里我要说明下,因为在前面有关CentOS无人值守安装的文章中,我提到过如果要使用网卡PXE功能的话,内网中必须有DHCP服务器。

也就是说内部网络中必须有一台DHCP服务器,用来获取TFTP服务器的地址,否则无法进行无人值守安装,CentOS也就无法通过网络安装。

如果我们是物理机通过网络进行安装CentOS的话,那么上述条件必须符合,也就是说。内网中必须存在DHCP服务器,否则客户端的网卡不能获取到相关的IP地址。

但是如果我们是通过KVM进行安装虚拟机的话,我们的网络就不一定需要DHCP服务器。我们只需要在KVM安装的脚本中配置相关IP地址,以及在kickstart的配置文件ks.cfg中配置相关IP地址即可。

为什么会是这样的呢?

其实在《烂泥:kickstart无人值守安装CentOS6.5》文章中,我们已经介绍过了PXE的原理。PXE的网络安装CentOS过程其实有是两个阶段需要IP地址的支持,第一个阶段是通过TFTP下载系统安装内核、第二个阶段是在系统安装时获取安装源的地址。如果是内网有DHCP服务器的话,这两个阶段获取的IP地址直接是从DHCP服务器上得到的。如果我们给网卡配置固定IP地址的话,那么就不需要DHCP服务器了。即第一阶段的所使用的IP地址由KVM安装虚拟机的脚本中配置,第二阶段使用的IP地址由ks.cfg文件中配置。

在这再补充一点有关网络的知识,同一个网络中即使没有路由器,只要两台机器配置的IP地址为同一个网段即可正常通信。

在下面的文章中,我会分两部分来介绍KVM与kickstart的集成:网络中存在DHCP服务器和网络不存在DHCP服务器。

一、网络中存在DHCP服务器

因为是与KVM集成相关,所以有关KVM的搭建与配置可以参照我之前的文章《烂泥:虚拟化KVM安装与配置》,在这里我们也使用到了有关LVM和裸设备相关的知识,也可以参考这两篇文章《烂泥:LVM学习之LVM基础》、《烂泥:KVM使用裸设备配置虚拟机》。

既然这一部分是和DHCP服务器相关的,那么我们来开启DHCP服务器,有关DHCP服务器的配置,可以参考这篇文章《烂泥:CentOS安装及配置DHCP服务器》。

开启DHCP服务器,如下:

/etc/init.d/dhcpd start

DHCP服务开启完毕后,我们开始创建一个LV逻辑卷作为虚拟机的硬盘。如下:

lvcreate -L 20G -n kickstart vg1

lvs

虚拟机硬盘创建后,我们现在开始创建虚拟机,使用如下命令:

virt-install -n kickstart -r 2048 --vcpus=1 --os-type=linux -l nfs:192.168.1.11:/iso -f /dev/vg1/kickstart --bridge=br0 -m 52:54:00:12:D7:5D --nographics -x "console=ttyS0 ks=nfs:192.168.1.11:/ks/ks.cfg"

这条命令的意思是:创建一个名叫kickstart的虚拟机,该虚拟机分配的内存为2G,使用一颗CPU,虚拟机为linux OS,该虚拟机的硬盘是/dev/vg1/kickstart,该虚拟机网卡桥接的物理网卡br0,同时为该网卡指定MAC地址为52:54:00:12:D7:5D。安装该虚拟机使用的镜像源为nfs:192.168.1.11:/iso,KVM在给该虚拟机安装过程中不使用图形界面。同时安装该虚拟机时,使用ks配置文件位于nfs:192.168.1.11:/ks/ks.cfg,并且在该虚拟机安装完毕后,可以通过串口进行来连接该虚拟机。

在这里介绍下,有关这条命令的主要参数:

1、安装源与KS源的位置

在这我们使用的是NFS方式,当然我们也可以使用FTP、HTTP方式。有关NFS在KVM的使用,可以通过查看virt-install的帮助文档来了解。如下:

virt-install --help

也可以通过man virt-install来了解,如下:

2、虚拟机硬盘

虚拟硬盘我们在此使用裸设备/dev/vg1/kickstart,有关虚拟机硬盘的我们也可以通过查看帮助文档来了解。

virt-install --help

man virt-install

3、MAC地址

我们为该虚拟机指定了MAC地址,MAC地址一定要为大写。否则KVM会报错。而且有关指定MAC地址,我们只能通过man virt-install来查看。如下:

man virt-install

4、ks源配置

该虚拟机的ks源,我们是通过nfs方式来连接的。这个我们也可以通过查看man virt-install,如下:

以上就是该条命令创建虚拟机的相关参数,为什么要这么清楚的介绍这些参数?是因为这些参数都是在安装虚拟机时,是必须的而且我们通过这种方式也能更好的理解KVM的参数以及如何查看KVM的帮助文档。

以上是介绍KVM创建虚拟机,记住此时我们还没有正式创建虚拟机。现在还需要我们来配置ks的配置文件ks.cfg。如下:

more ks.cfg

在此我们主要配置ks.cfg中的网络部分。设置虚拟机安装时,使用DHCP方式获取IP地址。

好了这个配置完毕后,我们就来正式安装KVM虚拟机,如下:

系统安装完毕后,我们来查看该虚拟机的IP地址以及MAC地址。如下:

ifconfig

可以看到虚拟机确实获取到了IP地址,并且MAC地址也确实是我们指定的。

以上讲解的是在网络有DHCP服务器的情况,下面我们来讲解没有DHCP服务器的情况。

二、网络中不存在DHCP服务器

首先关闭DHCP服务器,如下:

/etc/init.d/dhcpd stop

修改kickstart配置ks.cfg有关网络的配置如下:

在ks.cfg文件中,我们定义虚拟机的IP地址、子网掩码、默认网关、DNS服务器以及主机名。如下:

IP:192.168.1.220 DNS:192.168.1.1 hostname:ilanni

修改完毕后,我们来通过KVM创建虚拟机,使用如下命令:

virt-install -n kickstart -r 2048 --vcpus=1 --os-type=linux -l nfs:192.168.1.11:/iso -f /dev/vg1/kickstart --bridge=br0 -m 52:54:00:12:D7:5D --nographics -x "console=ttyS0 --device=eth0 ip=192.168.1.220 netmask=255.255.255.0 gateway=192.168.1.1 ks=nfs:192.168.1.11:/ks/ks.cfg ksdevice=eth0"

注意:KVM中定义的IP地址和ks.cfg文件定义的IP可以相同也可以不相同,但是两个IP地址必须为同一个网段。并且最后虚拟机的IP地址以ks.cfg文件中配置的为准。

通过上述两张截图,我们可以看出在没有DHCP服务器时,我们通过为KVM安装虚拟机时配置IP地址和ks.cfg配置IP地址,也可以通网络安装CentOS系统。

系统安装完毕后,我们重启进入虚拟机,查看我们定义的相关网络配置及主机名。如下:

ifconfig

more /etc/resolv.conf

通过上图,我们完全看出虚拟机的网络配置和主机名就是我们通过ks.cfg文件配置的。

到此我们的实验就已经结束了,在此我重申下。

在KVM中网络CentOS系统不一定需要DHCP服务器,但是如果是物理机网络安装CentOS系统,必须要有DHCP的支持。而无论是KVM还是物理机安装CentOS系统,都是需要TFTP服务器的支持。

烂泥:KVM与kickstart集成的更多相关文章

  1. 烂泥:KVM、kickstart与nginx集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章介绍了FTP.NFS与KVM.kickstart集成的案例,从这篇文章开始,我们来介绍HTTP方式与KVM.kickstart集成. HTTP ...

  2. 烂泥:KVM、kickstart与FTP集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上一篇文章中,我们介绍了有关KVM.kickstart与NFS集成的相关内容.在这节我们将继续介绍FTP与KVM.kickstart集成的相关操作. ...

  3. 烂泥:KVM、kickstart与NFS集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 其实这篇文章原本是可以不写的,不过为了学习NFS的使用形式还是写下,算是作为一个笔记. 有关NFS的搭建与配置,可以参考我以前的文档<烂泥:NFS ...

  4. kvm使用kickstart文件自动安装系统

    假定kvm已经准备好 1.创建磁盘 qemu-img create -f qcow2 /kvm/os/vm-01.qcow2 16G 2.上传或下载安装镜像 mkdir -p /kvm/iso cd ...

  5. 烂泥Linux学习笔记

    把最近学习过程中所写的文章整理了下:注意:本帖会持续性更新!!! 虚拟化篇:<烂泥:虚拟化KVM安装与配置><烂泥:KVM安装centos6.5系统><烂泥:KVM中安装 ...

  6. KVM 虚拟化基本搭建

    KVM虚拟化技术 KVM是基于x86架构上Linux操作系统的全虚拟化解决方案 ,在Centos6.3系统中,kvm已经被集成到内核中,相当于使用内核来做虚拟机管理程序.由于KVM本身就工作于内核环境 ...

  7. Hadoop集群(第1期)_CentOS安装配置

    CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会获得七年的支持(通过安全更新方式 ...

  8. CentOS6.0/RedHat Server 6.4安装配置过程 详细图解!

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

  9. CentOS安装配置

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

随机推荐

  1. UnityShader快速上手指南(三)

    简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明 ...

  2. Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示

    一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技 ...

  3. 【Unity】13.1 场景视图中的GI可视化

    分类:Unity.C#.VS2015 创建日期:2016-05-19 一.简介 在场景视图中设计不同的场景内容时,可以根据需要勾选相关的渲染选项,以便让场景仅显示其中的一部分或者全部渲染效果. 在这些 ...

  4. 【转载】JS获取屏幕大小

    前些日子需要给项目的弹窗上面罩,因为项目左侧是树形菜单,右侧嵌套的iframe ,iframe 的内容不是固定大小,那么,面罩的大小也就不是固定的 因此,用到了JQuery获取当前页面的窗口大小,于是 ...

  5. FL2440驱动添加(5)ADC驱动学习笔记

    由图可知,模拟ADC分为两部分功能,一部分是触屏功能,另一部分就是普通ADC功能.分别可以产生INT_TC和INT_ADC 两个中断.该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0. ...

  6. Linux Shell系列教程之(十五) Shell函数简介

    本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...

  7. styleCop

    1styleCop安装 安装参考 2和VS集成 要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的. 3styleCop使用 User Guide ...

  8. Windows 2012 R2中安装SharePoint 2013 sp1参考

    之前介绍过在window 2012中安装SharePoint 2013,这次,借着SharePoint 2013 sp1补丁发布之际,介绍下在window 2012 r2中安装SharePoint 2 ...

  9. SharePoint 2010 文档管理系列之星级评论功能

    前言:正如我们前面介绍的是,文档管理就是让大家更加直观.方便的对手里的文档,进行统筹掌控,哪些文档是有价值的,哪些文档更受大家欢迎,所有就带来了这个星级评论. 当然,这个是SharePoint 201 ...

  10. sharepoint 2013 文件“/_controltemplates/SPMRB/AllStatBookingsForm.ascx”不存在

    现象: 文件“/_controltemplates/SPMRB/AllStatBookingsForm.ascx”不存在. 分析: 此代码在sp2010好用,但是在sp2013则报以上错误. 解决办法 ...