本文 是 CentOS 7 系统 KVM 实例教程的第二部分,主要演示如何通过网络服务器(FTP、NFS 以及 HTTP)来安装虚拟机操作系统。虽然网络服务器不尽相同,但是创建虚拟机的方式却完全一致,所以放在一起演示。想要了解系列其他内容,可以点击 >>这里<<
开始之前,要确认自己系统已经安装了 KVM 软件包及相关工具。
1] FTP 方式安装虚拟机操作系统
通过 FTP 方式安装,当然要有 FTP 服务器,方便起见,FTP 服务器安装在 KVM 主机上。使用如下命令安装并启动 FTP 服务器:
# yum install vsftpd # systemctl enable --now vsftpd # firewall-cmd --permanent --add-service=ftp # firewall-cmd --reload
现在,就需要把操作系统镜像的文件复制到 FTP 服务器的数据目录中。示例使用 CentOS 7 的 ISO 镜像,可以直接挂载 ISO 文件,也可以把 ISO 文件放入CDROM 中,挂载 CDROM 设备,命令略有区别:
# mount -t iso9660 -o ro /path-to-iso/CentOS-7-x86_64.iso /mnt/CentOS //挂载 ISO 文件 OR # mount -t auto /dev/cdrom /mnt/CentOS //挂载 CDROM
挂载 ISO 文件的命令中,”path-to-iso”是存放 ISO 文件的目录路径,可以根据实际存放位置及镜像文件名称修改。
挂载成功后,就可以把 CentOS 安装镜像中的文件复制到 FTP 服务器的数据目录,供 KVM 虚拟机使用。vsFTP 服务器的默认数据目录为 “/var/ftp/pub/”,使用如下命令将文件复制到该目录:
# cp -a /mnt/CentOS /var/ftp/pub/
由于 vsFTP 服务器默认允许匿名登录,所以不再需要其他用户认证信息配置,直接进入创建虚拟机步骤。
键入如下命令,启动虚拟机管理器:
# virt-manager
图.1 KVM 虚拟机采用网络安装
此时,选择”Network Install(HTTP,FTP,or NFS)”,然后点击”Forward”继续:
图.2 输入操作系统 URL
输入虚拟机操作系统安装文件的 URL(也就是 FTP 访问的地址,其中172.16.200.1是 FTP 服务器的地址),点击”Forward”继续。之后的步骤就同使用本地媒体文件的步骤完全一致,输入内存大小、CPU 数量和选定存储磁盘文件后,就完成了虚拟机的创建:
图.3 完成创建 CentOS 7.0 虚拟机
全部完成后,点击”Finish”按钮完成安装。启动虚拟机后,就会进入系统安装界面:
图.4 KVM 系统安装 CentOS 7 虚拟机
需要特别提示的是,如果系统在安装过程中报错”Warning: /dev/root does not exist /sbin/dmsquash-live-root: line 273:printf: write erro: No space left do device”,表示给虚拟机分配的内存不够,增加虚拟机内存即可。
2] NFS 方式安装操作系统
NFS 方式安装操作系统与 FTP 方式十分类似,只是访问操作系统安装文件的方式不一致罢了。采用 NFS 方式安装,首先当然要安装 NFS 服务器:
# yum install nfs-utils # systemctl enable --now nfs # firewall-cmd --permanent --add-service=nfs # firewall-cmd --reload
之后,添加 NFS 的映射:
# echo /mnt/CentOS *(ro) > /etc/exports
现在,启动虚拟机管理器,在网络安装方式的操作系统 URL 处输入 NFS 服务器的地址,并再次安装操作系统:
图.5 使用 NFS 网络文件安装虚拟机
这里有个小技巧,在输入完 URL 后,可以钩选”Automatically detect operating system based on install media”,如果可以正常侦测到系统类型和版本,则表示文件的 URL 填写正确。
之后的安装步骤就不再演示,与 FTP 方式一致。
3] HTTP 方式安装操作系统
HTTP 方式与其他网络媒体方式也没有多大区别,只不过访问文件的方式采用 HTTP。同样,首先安装 HTTP 服务器,并开启防火墙:
# yum install httpd # systemctl enable --now httpd # firewall-cmd --permanent --add-service=http # firewall-cmd --reload
之后,将操作系统镜像文件复制到 HTTP 服务器目录:
# cp -a /mnt/CentOS/ /var/www/html/
然后,同样启动虚拟机管理器,同样选择网络方式安装,然后在 URL 地址中输入正确地址,就可以进行虚拟机操作系统安装了:
图.5 采用 HTTP 方式安装虚拟机操作系统
本部分主要演示如何使用网络安装来部署 Linux 虚拟机。与本地安装相比,网络安装比本地安装更加方便,因为我们可以部署一个中央安装源,所有服务器/计算机都使用安装源来部署其操作系统,这样就减少了在大型环境中的各种资源浪费。