购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第5章
在Proxmox VE上创建虚拟机

虚拟机是整个Proxmox VE的核心,所有的应用都是运行在虚拟机之上(Linux容器除外)的。创建虚拟机分两个步骤:创建虚拟机及在其上安装操作系统。本章先介绍常规创建虚拟机的方法,然后介绍创建虚拟机的便捷方法。

5.1 用常规方式创建虚拟机

创建虚拟机之前,最好先做个简单的规划。需要考虑的事项有:使用哪个宿主机、哪个桥接接口(真实生产环境的服务器,一般都有两个以上的网卡)、选定哪个物理节点(集群环境下,多个虚拟机应该分散到各物理机,以利于提高性能)、虚拟机存储位置(本地存储、共享存储等)、性能要求等。

下面来看一个Proxmox VE集群,在其上创立一些虚拟机,如图5-1所示。

图5-1

这是一个多机集群的场景,其中需要建立3~4台虚拟机,用于承载论坛服务。这几台虚拟机的配置,安装的操作系统及应用完全一样,前端用负载均衡(Keepalived + HAProxy)转发请求。这样的分配不是很合理,负载都集中到同一个宿主节点(物理服务器),一旦性能异常,则全军覆没。还不如直接创建一个配置超高的虚拟机省事。把这些需要做负载均衡的虚拟机,分散到不同的物理节点上去(如图5-2所示),才能得到更好的性能。

图5-2

虽然,这些工作,在Proxmox VE平台里可以随时调整,但也要事前规划好!

5.1.1 准备操作系统ISO镜像文件

在创建虚拟机之前,可以先准备好安装虚拟机所需的操作系统ISO文件。Proxmox VE的Web管理界面有一个上传文件的功能(也可以下载LXC模版,使用容器则可以省掉一步),支持从本地上传文件,如图5-3所示。

图5-3

此方法有一个缺点,因为服务一般在远端的IDC机房,要先把ISO文件下载到本地,再上传上去,费时。而且,如果上传大于2G的大文件,很可能失败。那么,怎么处理上传合适呢?直接登录宿主机系统(Debian),进入目录"/var/lib/vz/template/iso",用wget工具直接下载所需的操作系统ISO:

root@pve48:/var/lib/vz/template/iso# wget http://mirrors.aliyun.com/
centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
--2018-09-14 13:29:05--  http://mirrors.aliyun.com/centos/7.5.1804/
isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 218.60.78.226,
218.60.78.223, 218.60.78.225
Connecting to mirrors.aliyun.com (mirrors.aliyun.
com)|218.60.78.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4470079488 (4.2G) [application/octet-stream]
Saving to: 'CentOS-7-x86_64-DVD-1804.iso'

这既能节省时间,又解决了不能传大文件的问题。下载完毕,马上在Web管理界面可以看到该文件。

5.1.3 在Proxmox VE上创建虚拟机

(1)浏览器登录Proxmox VE Web管理界面,单击“创建虚拟机”按钮,需要选择欲创建虚拟机的物理节点、虚拟机的ID(同一个集群ID必须唯一)、虚拟机的名称。建议虚拟机名称多加考虑,如果是生产环境,可能会创建很多虚拟机,规范虚拟机的命名有利于后期维护管理,比如,可以用mem113,代表此虚拟机是用于Memcached,IP地址末尾是113,如图5-4所示。

图5-4

(2)需要选择安装操作系统所需要的介质,相信大家都会选择本地ISO镜像。在Proxmox VE上,可能需要给不同的虚拟机安装不同版本、不同类型的操作系统,因此,把各种操作系统ISO文件下载到某一物理节点的"/var/lib/vz/template/iso "目录待用。注意,集群中,任意节点的目录中的ISO镜像不可以共享给集群中其他节点使用,但是又没必要每个节点都复制大量占据磁盘空间的ISO镜像文件。因此,Proxmox VE集群有必要挂载一个NFS服务器,把需要操作的ISO文件存储到这个ISO的共享目录,如图5-5所示。

图5-5

(3)指定虚拟机存储位置。如果是Proxmox VE超融合集群,有多种存储位置可供选择,比如"cephpool""NFS"等,如图5-6所示。如果是单节点,只有本地存储可选。

图5-6

(4)设定CPU及内存。本案例中CPU指定2核心,内存设定4GB,如图5-7所示。

图5-7

(5)设定网络参数。对于多个网络接口且设定多个桥接接口的宿主机(如图5-8所示),为虚拟机指定桥接接口时要仔细核实,这样才能保证虚拟机网络正常。

图5-8

如果虚拟机安装Linux操作系统,“模型”选择"VirtIO(半虚拟化)"不会有问题;如果把虚拟机安装成Windows系统,那么“模型”需要换成"IntelE1000"(如图5-9所示)。总之,安装系统后,如果系统不能识别网卡,则需要重新调整这个“模型”。

图5-9

(6)完成虚拟机创建之后,可在Proxmox VE的Web管理界面预览一下,看是否有需要修改的地方。

● 硬件核查。主要检查资源分配,如内存大小、存储位置等,如图5-10所示。

图5-10

● 选项核查。有些特殊场景,可能需要改变BIOS的类型,才可以进行操作系统的安装,如图5-11所示。

图5-11

5.1.4 虚拟机资源及属性变更

虚拟机创建以后,可以随时对其资源或者相关选项进行更改。不过,有些项目的更改不会立即生效,需要重启虚拟机。这种不会马上生效的更改,会在管理界面以醒目的红色字体显示,如图5-12所示。

图5-12

1.虚拟机硬件

硬件部分,分为可以更改(编辑)与可以新增两个方面。

(1)可以更改部分:键盘布局、内存、处理器、显示、CD/DVD驱动器、硬盘、网络设备等,如图5-13所示。

图5-13

(2)可以新增的部分:硬盘、CD/DVD驱动器、网络设备、EFI磁盘、USB设备、Cloud-Init驱动等,如图5-14所示。

图5-14

2.虚拟机选项

虚拟机选项部分,只能更改不能新增。不过,好像也没什么要更改的,用几年Proxmox VE,最多改个虚拟机名称,如图5-15所示。

图5-15

5.1.5 修改虚拟机配置举例

下面举几个修改虚拟机配置的例子,加深印象。

1.修改虚拟机“显示”的默认值为“SPICE”

登录Proxmox VE的Web管理后台,选择某个处于运行状态的虚拟机,再单击右侧菜单“硬件”,选中“显示”后,再单击上部按钮“编辑”,如图5-16所示。

图5-16

在下拉列表中选择"SPICE",如图5-17所示。对此进行的修改不会立即生效,需要重启虚拟机。修改完成后,虚拟机配置文件会增加一行"vga: qxl"。

图5-17

重启虚拟机,宿主机也会跟着启动一个TCP服务,监听在6100端口,每一个虚拟机启用一个监听服务:

root@pve99:/etc/pve/nodes/pve99/qemu-server# netstat -anp|grep -v
unix|grep 6100
tcp        0      0 127.0.0.1:61000         0.0.0.0:*
LISTEN      15317/kvm
tcp        0      0 127.0.0.1:61001         0.0.0.0:*
LISTEN      15457/kvm
tcp        0      0 0.0.0.0:61002           0.0.0.0:*
LISTEN      1896/kvm
tcp        0      0 127.0.0.1:49268         127.0.0.1:61001
ESTABLISHED 27407/spiceproxy wo
tcp        0      0 127.0.0.1:49266         127.0.0.1:61001
ESTABLISHED 27407/spiceproxy wo
tcp        0      0 127.0.0.1:49264         127.0.0.1:61001
ESTABLISHED 27407/spiceproxy wo
tcp        0      0 127.0.0.1:61001         127.0.0.1:49266
ESTABLISHED 15457/kvm
tcp        0      0 127.0.0.1:61001         127.0.0.1:49262
ESTABLISHED 15457/kvm
tcp        0      0 127.0.0.1:61001         127.0.0.1:49268
ESTABLISHED 15457/kvm
tcp        0      0 127.0.0.1:49262         127.0.0.1:61001
ESTABLISHED 27407/spiceproxy wo
tcp        0      0 127.0.0.1:61001         127.0.0.1:49264
ESTABLISHED 15457/kvm

单击虚拟机管理界面右上角按钮">_控制台"à"SPICE",如图5-18所示。

图5-18

如果系统是Windows(连PVE所使用的客户端),会弹出一个".vv"结尾的文件需要下载。安装好软件Virt-Viewer,直接打开,即可用此客户端连接到虚拟机,如图5-19所示。

图5-19

这个客户端连接,是借用了浏览器的代理,宿主机又创建了一个TCP 3128端口来做关联。试着拿Virt-Viewer直接连接虚拟机,不做特殊处理,是没有指望的,如图5-20所示。

图5-20

2.给虚拟机增加硬盘

有时候,虚拟机除了增加系统盘之外,可能还需要额外分配独立的存储,比如安装Oracle数据库就需要单独划分一个存储空间,用于安装软件及存储用户数据。

浏览器登录到Proxmox VE的Web管理后台,选中需要添加硬盘的虚拟机,再单击右侧菜单“硬件”,继续单击“添加”按钮,如图5-21所示。

图5-21

根据自己的配置情况选定或者填写与硬盘相关的信息,如图5-22所示。

图5-22

磁盘添加完成后,登录虚拟机系统,用指令"fdisk"即可看到刚添加的磁盘。创建分区,然后在其上创建文件系统,就可以把此磁盘挂载到系统,进行各种读写操作。

3.虚拟机硬件取消“CD/DVD驱动器”的ISO镜像

取消"CD/DVD驱动器"的ISO镜像,有利于虚拟机迁移、克隆、备份等操作。特别是集群场景下迁移虚拟机到另外的节点,如果不取消,迁移会无法进行,如图5-23所示。

图5-23

浏览器登录Proxmox VE的Web管理后台,选取虚拟机硬件下的"CD/DVD驱动器",单击“编辑”按钮,勾选“不使用任何介质”单选框即可,如图5-24所示。

图5-24

5.2 为虚拟机安装操作系统

只要在创建虚拟机过程中,ISO镜像文件设置正确,那么,在Proxmox VE的Web管理后台选择该虚拟机,单击鼠标右键,在弹出的快捷菜单中单击“启动”选项,或者单击界面右上部“启动”按钮,则可以进行操作系统的安装,如图5-25所示。

图5-25

单击">_控制台"按钮进入操作系统安装引导界面。有两种方式可以进入虚拟机控制台界面,一种是单击页面中部菜单“控制台”,另一种则是单击页面右上方“控制台”按钮。如果嫌内嵌控制台界面(页面中部“控制台”菜单)屏宽不够,不方便操作的话,可单击右上角的“控制台”按钮(如图5-26所示),会单独弹出一个页面窗口。

图5-26

5.2.1 安装Linux操作系统(CentOS 7)

在CentOS安装引导界面用光标选定第一项"Install CentOS 7",按Enter键进行后续操作。撑大虚拟机控制台以后,有可能操作按钮(图形界面进行安装的话)会被挡住,设置一下本地Windows操作系统的任务栏为自动隐藏,如图5-27所示。

图5-27

后面的安装过程,和物理服务器安装CentOS 7基本相同。只要在安装过程中,系统识别了硬盘及网卡,基本不会有什么障碍。

到设置网络步骤,因为此虚拟机用作Memcached服务器,因此需要设置静态IP地址,并把主机名也一并设置好,如图5-28所示。

图5-28

输入主机名mem113后,单击右侧"Apply"按钮,马上能在最右下角看到效果。移动鼠标到界面右上角滑块,按住鼠标左键往右拉,就由"OFF"变成"ON"。接着,再单击右下角"Conf i gure..."按钮,设置此虚拟机的IP地址、网关等,如图5-29所示。

图5-29

单击按钮"Save"保存设置,回到主安装界面,检查一下还有没有需要修改的项目,比如时间等,如图5-30所示。

图5-30

检查无误后,单击“开始安装”按钮。在文件复制过程中,需要设置一下"root"密码,设置过程不影响安装进度。需要注意,系统密码一定要复杂,复杂到自己都不能记住最好,用KeePass工具生成和保存。

虚拟机安装操作系统,耗费的时间比物理服务器安装操作系统的时间少得多,CentOS 7安装完毕后,需要重启系统。从控制台或者用SSH客户端远程登录此虚拟机系统,验证安装正确性。最起码的要求,网络能通达,如图5-31所示。

图5-31

5.2.2 安装Windows操作系统

在Proxmox VE上安装Windows操作系统的虚拟机,远比在其上安装CentOS麻烦(在VMware ESXi上安装也同样麻烦)。步骤如下。

依照前法创建一个虚拟机,配置为:内存4GB、CPU 4核心、硬盘120GB,如图5-32所示,同时Windows操作系统ISO镜像文件已经准备好,并且能被正确识别。

图5-32

这还不够,还需要增加一个驱动Virtio-win,否则,安装过程将无法识别硬盘等设备,导致安装无法进行下去,如图5-33所示。

图5-33

是不是让人很沮丧!好吧,登录Proxmox VE宿主系统Debian,进入目录"/var/lib/vz/template/iso",用以下指令下载驱动程序Virtio-winISO镜像文件:

root@pve99:/var/lib/vz/template/iso# wget https://fedorapeople.
org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-
win-0.1.160-1/virtio-win-0.1.160.iso

建议尽量下载最新版本,其中较新的Windows驱动。下载完毕后,切换到Proxmox VE的Web管理界面,给虚拟机再增加一个"CD/DVD驱动器",ISO镜像选择刚下载的virtio-win-0.1.160.iso,如图5-34所示。

图5-34

从Proxmox VE的Web管理后台再次启动虚拟机,按提示操作,又到了不能识别硬盘的那一步。单击“浏览”按钮,跳出选择驱动程序的界面,如图5-35所示。

图5-35

需要进去几层目录,路径是"virtio-win-0.1.1"à"vioscsi"à"w10"à"amd64",这与官方的文档稍微有些差异,但不影响安装。如果出现如图5-36所示的信息,则表明所选的驱动有效。

图5-36

单击“下一步”按钮,片刻之后,识别了硬盘驱动器,如图5-37所示。

图5-37

余下的事情,交给时间,让系统自行复制文件进行安装,如图5-38所示。

图5-38

安装Windows操作系统很费时,是安装Linux所用时间的几倍。安装好Windows操作系统,并且能够联网以后,最好在虚拟机安装spice-guest-tools软件包,这样可获得更好的屏幕显示效果。下载地址为https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe,然后在刚安装好的Windows系统虚拟机上进行下载和安装。

5.3 创建虚拟机的其他方法

方法一:从别的虚拟机克隆或者模版克隆

用别的虚拟机克隆时,最好关闭源虚拟机,否则速度会非常非常慢。当然,如果虚拟机存储在NFS共享存储,克隆速度就会很快。不管是哪种形式的克隆,都需要注意虚拟机网卡的uuid值及网络地址,检查克隆出来的虚拟机系统是否与源虚拟机系统的设置相冲突。

方法二:从别的备份中恢复虚拟机

从别的备份中恢复虚拟机在本书4.4节已有详细的操作说明,在此不再赘述。 MWNrW/E0ephDHKuPVusI8dxyp2YvGQ6dhN0IciDUZa6RUFbh+Sub4BvcHFA2m4yZ

点击中间区域
呼出菜单
上一章
目录
下一章
×