网站搜索

如何在 KVM 环境下使用网络安装(HTTP、FTP 和 NFS)部署多个虚拟机 - 第 2 部分


这是KVM系列的第二部分,这里我们将讨论如何在KVM环境下使用网络安装来部署Linux虚拟机。我们将讨论三种类型的网络安装(FTP、NFS 和 HTTP),每一种都有其特殊的先决条件。

在开始之前,请确保您具备我们在本系列第一部分中提到的先决条件。

  1. 使用 KVM(基于内核的虚拟机)在 Linux 中设置虚拟机 – 第 1 部分

使用 FTP 进行网络安装

1.开始之前我们应该安装ftp服务包。

yum install vsftpd

2.安装完vsftpd后,让我们启动并使其服务永久启用。

systemctl start vsftpd
systemctl enable vsftpd

3.出于安全考虑,您可能需要将FTP服务添加到防火墙中。

firewall-cmd --permanent --add-service=ftp
firewall-cmd –reload

4. 现在是时候选择您想要使用的 Linux ISO,在这部分中我们使用 RHEL7 ISO。让我们将 ISO 映像挂载到挂载点(即 /mnt 位置)下。您还可以创建自定义安装点。

mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso  /mnt/iso-mp/

5. 到目前为止,我们还没有在 FTP 服务器下共享任何内容。 FTP 默认数据路径是 /var/ftp/pub/ 让我们在其下创建新目录。

mkdir /var/ftp/pub/RHEL7

6. 然后将安装的 ISO 包含的文件复制到其中。您还可以在复制时添加“v”选项以获取详细信息。

cp -r /mnt/iso-mp/* /var/ftp/pub/RHEL7/

7. 最后让我们重新启动 vsftpd 服务并检查该服务的状态。

systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd
样本输出
 vsftpd.service - Vsftpd ftp daemon
 Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
 Active: active (running) 
 Main PID: 27275 (vsftpd)

8. 现在是时候启动我们的 GUI 工具 virt-manager 了。

virt-manager

9.启动“virt-manager”后,创建新的虚拟机,然后从此窗口选择“网络安装”。

10.当您第一次安装KVM软件包时,已经创建了虚拟桥来连接虚拟机和物理主机。您可以使用 ifconfig 命令显示其配置。

ifconfig virbr0
样本输出
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.124.1  netmask 255.255.255.0  broadcast 192.168.124.255
        inet6 fe80::5054:ff:fe03:d8b9  prefixlen 64  scopeid 0x20
        ether 52:54:00:03:d8:b9  txqueuelen 0  (Ethernet)
        RX packets 21603  bytes 1144064 (1.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 214834  bytes 1108937131 (1.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

您会注意到IP:192.168.124.1被分配给虚拟网桥vibr0。虚拟机使用此IP与物理主机连接。所以,我们可以说这个IP代表了虚拟网络环境中的物理主机。

我们将使用此 IP 来提供包含 ISO 文件的 FTP 目录的 URL 路径。如果您已将 FTP 服务器部署在另一台/远程主机上,只需输入另一台服务器的 IP,而不是之前的 IP。

11.然后,您将被询问有关资源和存储的问题,与我们教程的前一部分相同。毕竟,你会到达这个窗口或类似的东西。

按“完成”,然后享受您的新虚拟机。

使用 NFS 的网络安装

1.我们这里的步骤几乎一样,安装nfs服务包。

yum install nfs-utils

2.接下来,启动nfs服务并将该服务永久添加到防火墙中。

systemctl start nfs
systemctl enable nfs
firewall-cmd --permanent --add-service=nfs
firewall-cmd –reload

3.挂载Linux ISO。

mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso  /mnt/iso-mp/

4.我们可以通过编辑/etc/exports使用NFS共享来共享这个挂载点。

#echo /mnt/iso-mp *(ro) > /etc/exports

5.重新启动NFS服务并检查服务状态。

systemctl restart nfs
systemctl status nfs
样本输出
   nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled)
   Active: active (exited)

8. 启动 GUI 工具“virt-manager”。

virt-manager

9. 启动“virt-manager”后,创建新的虚拟机,然后选择“网络安装”,然后输入包含 ISO 文件的 NFS 目录的 URL 路径。如果您已将 NFS 服务器部署在其他远程计算机上,则只需输入该计算机的 IP。

10.然后,系统会要求您输入资源和存储,与本系列前一部分中讨论的相同。只需填写所有这些详细信息,然后单击“完成”按钮即可。

使用 HTTP 的网络安装

1.我们这里也有几乎相同的步骤,安装http服务包,启动它并在防火墙上永久启用它。

yum install httpd
systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --add-service=httpd
firewall-cmd –reload

2. 接下来,将 ISO 映像安装在“/mnt/iso-mp”位置下。

mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso  /mnt/iso-mp/

3. 到目前为止,我们还没有在 HTTP 服务器下共享任何内容。 HTTP 默认数据路径是“/var/www/html”,让我们在其下创建一个新目录。

mkdir /var/www/html/RHEL7

4.然后将挂载的ISO文件复制到该目录。

cp -r /mnt/iso-mp/* /var/www/html/RHEL7/

5.重启httpd服务并检查服务状态。

systemctl restart httpd
systemctl status httpd
样本输出
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
   Active: active (running)
 Main PID: 3650 (httpd)

6. 接下来启动“virt-manager”,创建一个新的虚拟机,然后选择“网络安装”并输入 HTTP 目录路径 url,其中包含 ISO 映像文件并遵循如上所述的程序..

结论

我们已经讨论了如何使用网络安装来部署Linux虚拟机。网络安装比本地安装更受欢迎,因为集中化可以帮助您部署一个中央安装源,所有服务器/计算机都使用它来部署其操作系统。这确实减少了在巨大环境中浪费的安装时间。