如何在 KVM 环境下使用网络安装(HTTP、FTP 和 NFS)部署多台虚拟机 - 第 2 部分
这是 KVM 系列的第二部分,在这里我们将讨论如何在 KVM 环境下使用网络安装部署 Linux 虚拟机。我们将讨论三种类型的网络安装(FTP、NFS 和 HTTP),每种类型都有其特殊的先决条件。
在开始之前,请确保您已满足我们在本系列第一部分中提到的先决条件。
使用 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 ”,创建一个新的虚拟机,然后选择网络安装并输入包含 ISO 映像文件的 HTTP 目录路径 url,然后按照上面讨论的步骤进行操作。
结论
我们已经讨论了如何使用网络安装部署 Linux 虚拟机。网络安装比本地安装更受欢迎,因为它的集中化可以帮助您部署一个中央安装源,所有服务器/机器都使用它来部署操作系统。这确实减少了在大型环境中浪费的安装时间。