本文的前提是Hetzner家的独服安装好了proxmox,并且在系统内做好了NAT设置。本文使用的情况是单IP开设虚拟机。如果购买了多IP,就不用往下看了。
创建KVM虚拟机需要使用ISO镜像安装虚拟机的系统,所以要提前把想用的ISO镜像文件保存到/var/lib/vz/template/iso目录内。
首先点击右上角的“创建虚拟机”:
打开的界面如下:
VM ID是虚拟机编号,系统默认是从100递增,没有特殊需要不要改。名称随便填个易于识别的名字即可。这里演示的是在虚拟机安装CENTOS7系统。填好后点“下一步”,选择ISO镜像:
选择镜像文件后,点“下一步”,进入硬盘设置:
这里主要是设置磁盘大小。其他保持默认就行。然后“下一步”是CPU设置:
这里主要是设置CPU核心数。根据需要设置就行。官方文档建议勾选NUMA选项,说是可以提高性能,那就勾选吧。然后“下一步”,进入内存设置:
根据需要设置内存大小。Ballooning据官方文档说是提供客户机内存使用等信息的东西,应该可有可无。以前看到有人说会引起不稳定,不知道是不是真的。看心情决定是否勾选吧。有特殊需求可以选择动态分配内存,但是WINDOWS系统不要用。设置好后“下一步”,进入网络设置:
这里选择桥接模式,桥接的接口是之前配置NAT时设置的接口,模型可以选Intel E1000或者VirtIO (半虚拟化)。根据官方文档,Intel E1000是模拟英特尔千兆网卡(客户机应该不用额外的驱动);VirtIO (半虚拟化)能提供更高的性能,但是需要客户机安装相应驱动。如果虚拟机要安装windows系统, 尽量选Intel E1000;linux系列的系统可以选VirtIO (半虚拟化)。另外2个模型无需考虑。设置好以后点“下一步”,然后会列出你所有的设置,确认无误后点“完成”按钮,就完成了创建:
创建完毕后,可以在左侧列表点选刚刚创建好的虚拟机,然后可以进行一些硬件增删、修改,还有虚拟机的一些选项,见下图:
检查配置无误后,就可以点击顶部的“启动”按钮启动虚拟机了。启动后,点击中间侧边栏的“控制台”,可以看到虚拟机的显示界面,其他的操作就和本地安装系统没有区别了。
后记:虚拟机安装系统后,遇到了2个问题。问题一:虚拟机可以访问内网,不能访问外网。最后发现是母机IP转发没有开启成功,因为母机执行echo 1 > /proc/sys/net/ipv4/ip_forward没有成功。改用编辑/etc/sysctl文件添加net.ipv4.ip_forward = 1的方式解决。问题二、虚拟机直接ping IP正常,ping域名时解析不出域名的IP。各种检查,最后找到的原因是我使用了Hetzner官网管理后台的Firewall功能,不知道为什么母机DNS解析正常,虚拟机的确不行。增加一条放行规则,Source port为53,Protocol为UDP:
如果自己需要开的小鸡比较多,或者需要使用的端口或服务比较多,最好还是关掉hetzner后台的firewall,免得总是遇到奇怪的问题。这也是我最后的选择。
记录下,看看怎么玩