如何在 KVM 环境下使用网络安装(HTTP、FTP 和 NFS)部署多个虚拟机 - 第 2 部分
这是KVM系列的第二部分,这里我们将讨论如何在KVM环境下使用网络安装来部署Linux虚拟机。我们将讨论三种类型的网络安装(FTP、NFS 和 HTTP),每一种都有其特殊的先决条件。
在开始之前,请确保您具备我们在本系列第一部分中提到的先决条件。
- 使用 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虚拟机。网络安装比本地安装更受欢迎,因为集中化可以帮助您部署一个中央安装源,所有服务器/计算机都使用它来部署其操作系统。这确实减少了在巨大环境中浪费的安装时间。