首先我在服务器上进行了如下操作:
1、查看是否支持了虚拟化:cat /proc/cpuinfo | grep -E 'vmx|svm'(可跳过)
2、查看是否kvm的驱动已经加载:lsmod | grep kvm(可跳过)
如果没有加载kvm驱动,利用命令加载驱动
modprobe -a kvm
modprobe -a kvm_intel
3、 安装qemu-kvm: yum install -y qemu-kvm
4、 安装libvirt:
yum install -y libvirt
service libvirtd restart
5、 验证libvirt是否正常启动: virsh version
6、 安装virt-manager工具: yum install -y virt-manager
7、使用virt-manager命令启动时发现需要安装xmanager,然后我一查xmanager,发现是需要付费的,en。。。。。。,所以换了一种方式。。。。。。
-----------------------------------------------------------------------分割线-----------------------------------------------------------------------------------------
这方式就是通过用虚拟机里的virt-manager来管理远程服务器上的虚拟化。
我虚拟机装的操作系统是ubuntu16.04
有些博客说直接使用命令apt-get install virt-manager来安装virt-manager,我试了一下,发现还需要安装些其他东西。。。
安装了virt-manager之后点击这个图标,它会提示你还缺少qemu-system、libvirt-bin这些东西,具体记不太清了,当时没记录,反正它会有提示,缺啥你就安装啥就行了。
安装好之后就开始连接远程主机吧,具体可以参考这篇博客https://www.cnblogs.com/ilanni/p/3885191.html,写的很详细
然而后面我又遇到了连接到主机时候无法弹出认证框的问题:
"You need to install openssh-askpass or similar to connect to this hos。。。"
“libvirtError: Cannot recv data: ssh_askpass: exec(/usr/bin/ssh-askpass): No。。。”
解决办法:
安装ssh-askpass-gnome来允许弹出认证框:
sudo apt-get install ssh-askpass-gnome --no-install-recommends
Openssh-askpass是用于图形界面下输入口令的,具体的我也不太清楚。
接下来连接主机,结果弹出如下的错误:
authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage'
Verify that the 'libvirtd' daemon is running
on the remote host.
这个主要是WebVirtMgr的安装导致出现的错误,解决方法如下(注意:是在远程服务器上进行下面的操作!):
1、增加libvirtd用户组
groupadd libvirtd
2、设置用户到组
sudo usermod -a -G libvirtd $USER
3、设置启动libvirtd服务的用户组
vi /etc/libvirt/libvirtd.conf
4、增加权限启动配置
vi /etc/polkit-1/localauthority/50-local.d/50-org.libvirtd-group-access.pkla
[libvirtd group Management Access] Identity=unix-group:libvirtd Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes
5、重启服务
systemctl restart libvirtd.service
参考:https://www.jianshu.com/p/b9a8fc431224