烂泥:与集成

烂泥:与集成,第1张

烂泥:KVM与kickstart集成

这篇文章最初发表在mud上。

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

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

如果我们通过网络在物理机上安装CentOS,那么必须满足上述条件,也就是说。内网必须有DHCP服务器,否则客户端的网卡无法获取相关的IP地址。

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

为什么会这样?

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

这里补充一些网络方面的知识。即使同一个网络没有路由器,只要配置的IP地址在同一个网段,两台机器也可以正常通信。

在下面的文章中,我将分两部分介绍KVM和kickstart的集成:网络中有DHCP服务器和网络中没有DHCP服务器。

一、网络中有一个DHCP服务器

因为涉及到KVM集成,所以KVM的构建和配置可以参考我之前的文章《Mud:虚拟KVM的安装和配置》。在这里,我们还会用到LVM和裸机的相关知识。我们也可以参考这两篇文章《Mud:LVMLVM学习基金会》和《Mud:KVM用裸设备配置虚拟机》。

既然这部分和DHCP服务器有关,那我们就打开DHCP服务器吧。关于DHCP服务器的配置,请参考本文《Mud:CentOS安装和配置DHCP服务器》。

按如下方式打开DHCP服务器:

/etc/init.d/dhcpdstart

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

lvcreate-L20G-nkickstartvg1

拉斯维加斯金沙

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

virt-install-nkickstart-r2048-vcpus=1-OS-type=Linux-lNFS:192.168.1.11:/iso-f/dev/vg1/kickstart-bridge=br0-m52:54:00:12:D7:5D-诺格拉菲茨-x"console=ttys0ks=NFS:192.168.1.11:/ks/ks.CFG"

这个命令的意思是:创建一个名为kickstart的虚拟机,分配2G内存,使用一个CPU。虚拟机是linuxOS,硬盘是/dev/vg1/kickstart。虚拟机网卡桥接的物理网卡br0被指定为52:50。用于安装该虚拟机的镜像源是nfs:192.168.1.11:/iso,KVM在安装该虚拟机的过程中不使用图形界面。同时,安装虚拟机时,ks配置文件位于nfs:192.168.1.11:/ks/ks.cfg,安装虚拟机后,可以通过串口连接虚拟机。

以下是该命令的主要参数:

1,安装源和KS源的位置

我们这里用NFS,当然我们也可以用FTP和HTTP。关于KVM中NFS的使用,可以通过查看virt-install的帮助文档来了解。如下所示:

虚拟安装帮助

您也可以通过manvirt-install找到答案,如下所示:

2,虚拟机硬盘

虚拟硬盘我们这里用的是原始设备/dev/vg1/kickstart。我们还可以通过查看帮助文档来了解虚拟机硬盘。

虚拟安装帮助

人工虚拟安装

3,MAC地址

我们为此虚拟机指定了MAC地址,。MAC地址必须是大写的。否则,KVM将报告一个错误。而且我们只能通过manvirt-install检查指定的MAC地址。如下所示:

人工虚拟安装

4,ks源配置

此虚拟机的ks源通过nfs连接。我们还可以通过查看manvirt-install来检查这一点,如下所示:

这些是与此命令创建的虚拟机相关的参数。为什么需要把这些参数介绍的这么清楚?但是这些参数在安装虚拟机的时候是必须的,通过这种方式我们可以更好的理解KVM的参数以及如何查看KVM的帮助文档。

以上是关于KVM创建虚拟机的内容。记住我们现在还没有正式创建虚拟机。现在我们需要配置ks的配置文件ks.cfg。如下所示:

更多ks.cfg

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

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

系统安装好之后,我们来检查一下虚拟机的IP地址和MAC地址。如下所示:

命令

可见虚拟机确实获取了IP地址,MAC地址也确实是我们指定的。

上面的解释是关于网络上有DHCP服务器的情况。我们来说明一下没有DHCP服务器的情况。

第二,网络中没有DHCP服务器

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

/etc/init.d/dhcpdstop

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

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

IP:192.168.1.220DNS:192.168.1.1主机名:ilanni

修改之后,让我们使用以下命令通过KVM创建一个虚拟机:

virt-install-nkickstart-r2048-vcpus=1-OS-type=Linux-lNFS:192.168.1.11:/iso-f/dev/vg1/kickstart-bridge=br0-m52:54:00:12:D7:5D-诺格拉希斯-x"console=ttys0-device=eth0IP=192.168.1.220netmask=255.255.255

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

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

安装系统后,我们重新启动虚拟机,并检查我们定义的相关网络配置和主机名。如下所示:

命令

more/etc/resolv.conf

从上图可以充分看出,虚拟机的网络配置和主机名都是我们通过ks.cfg文件配置的。

到此为止,我们的实验结束了,我想在这里重申一下。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/784360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存