KVM即Kernal-based Virtual Machine, 是一种高效且成熟稳定的虚拟化技术, 支持所有的操作系统. 因此, 掌握服务器上搭建KVM平台是很有意义的. 通过虚拟机的建立以及IP分配, 虚拟机可以当做一台完全独立的服务器来使用, 即我们常用的VPS.
搭建虚拟机平台对宿主机系统的要求较高. KVM虚拟化要求宿主机的CPU支持Intel VT或AMD-V技术 (请执行cat /proc/cpuinfo查看), CPUBenchMark至少在1000以上, 建议5000或更多 (ATOM D525这种就不要来装虚拟机了). 系统内存要求至少为4G, 建议8G或更多. 硬盘要求20G以上. 操作系统必须为64位. 服务器至少分配2枚或以上的独立IP地址 (每个VPS一枚, 宿主机一枚). 本次教程, 我们以最新版本的CentOS 7为例, 介绍KVM平台的搭建.
1, 系统环境准备
(1) 设置服务器名(Hostname)
任何与网络相关的Linux操作都要求设置好服务器名. 请确保您已经正确设置服务器名: 当您在SSH中执行hostname -f命令时, 应看到servername.domainname.com; 当您执行hostname命令时, 应看到servername. 具体设置方法我已强调数十遍, 这里不再赘述. 若未设置好服务器名, 请不要继续.
(2) 软件更新
CentOS系统下执行yum -y update命令更新软件.
(3) 检查网络与IP信息
CentOS 7系统中执行ip addr命令查看网卡及IP地址信息. 查看一下绑定您的宿主机外网主IP地址的网卡名称, 记下它, 我这里是ens9. 查看一下是否有其他的虚拟网卡绑定了额外的外网IP地址, 若有, 请删除对应的虚拟网卡.
本次教程中, 我们假设给宿主机分配的IP地址段为标准网段100.100.100.200/29共8个IP, 则网络地址100.100.100.200, 网关100.100.100.201, 宿主机IP 100.100.100.202, VPS IP段100.100.100.203 ~ 100.100.100.206, 广播地址100.100.100.207, 子网掩码255.255.255.248.
2, 桌面环境的搭建
如果您仅使用一台服务器搭建KVM, 那我建议搭建桌面环境并搭建VNC服务器, 这样在管理KVM虚拟机和安装操作系统时较为方便. 我们以GNOME桌面环境为例介绍VNC服务器的搭建. GNOME桌面环境安装很简单, 执行下面这行命令即可:
yum groupinstall "GNOME Desktop"
然后安装VNC服务器. 执行:
yum install tigervnc-server
新建用户, 用来连接VNC, 并配置用户的连接文件. 执行:
useradd jarod
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
编辑文件: /etc/systemd/system/vncserver@:1.service
将文件中的<USER>替换为我们的用户名jarod, 并取消行首的注释符.
配置防火墙:
firewall-cmd --permanent --zone=public --add-service vnc-server
firewall-cmd --reload
然后, 切换到用户jarod, 启动VNC服务器:
su jarod
vncserver
此时, 会提示输入VNC密码, 设置好后回车即可.
最后切换回root, 设置随开机启动:
su root
systemctl daemon-reload
systemctl enable vncserver@:1.service
这样, 我们就配置好VNC服务器了. 在本地电脑上使用VNC客户端连接100.100.100.202:5901即可访问服务器的GNOME桌面环境. 第一次使用VNC连接的时候会提示输入管理员密码, 如下图.
此时请输入您的root用户密码. 然后会提示一系列配置信息, 直接NEXT就好.
3, KVM的安装
KVM安装很简单. 在SSH中执行下面这行命令即可.
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer
4, 在宿主机上新建VPS
首先, 使用VNC连接宿主机. 进入桌面后, 找到Virtual Machine Manager, 如下图.
打开后, 点击图标Create a new virtual machine.
然后按步骤载入系统镜像. 如果没有系统镜像的, 可以去我的下载站http://wget.pro下载.
接着分配内存和硬盘. KVM是实虚拟, 因此分配内存后宿主机就不能再使用这部分资源了.
最后分配网卡. 这里我们要选择桥接模式Bridge, 并选择宿主机的出口网卡. 如下图.
这样, 我们就新建完成了VPS, 可以安装操作系统了.
是不是很简单呢? 安装系统的时候有一个步骤是配置网络信息, 这里我们的DHCP是不生效的, 需要在VPS上获取IP. 选择Configure Network Manually, 然后按照第一部分第三小节的信息来配置即可.
至此, 大功告成. 我们在VPS上安装SSH服务器后, 就可以对它进行完全独立的网络访问了.
参考资料:
1, Kishore, S. VNC-Server installation on CentOS 7. https://www.howtoforge.com/vnc-server-installation-on-centos-7