1. 安装VNC
关闭防火墙及selinux,修改selinux config文件: [root@localhost ~]# vim /etc/selinux/config 查看selinux状态 [root@localhost ~]# getenforce 临时关闭selinux服务 [root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld 关闭防火墙 [root@localhost ~]# systemctl disable firewalld 禁止防火墙开机启动 不想关闭防火墙可添加VNC服务到防火墙 [root@localhost ~]# firewall-cmd --permanent --add-service vnc-server (注:VNC需要开通5901端口,这里只是测试,出于安全考虑在生产环境建议手动添加端口,不建议关闭防火墙。) 安装主程序: [root@localhost ~]# yum install -y vnc-*
[root@localhost ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
修改vncserver@:1.service文件 [root@localhost ~]# vim /etc/systemd/system/vncserver@:1.service 将 ExecStart=/usr/sbin/runuser -l <user> -c "/usr/bin/vncserver %i" PIDFile=/home/<user>/.vnc/%H%i.pid 修改为 ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/home/root/.vnc/%H%i.pid (注:根据自己定义的用户进行修改,将<user>修改为自定义登录用户名) 设置VNC登录密码 [root@localhost ~]# vncpasswd (注:使用VNC客户端远程登录时需要使用) 修改qemu.conf配置文件 [root@localhost ~]# vim /etc/libvirt/qemu.conf 修改以下内容:将以下选项的“#”去除 vnc_password = "123456" 是在设置vncpassword时使用的密码 vnc_listen = "0.0.0.0" [root@localhost ~]# systemctl daemon-reload 重新加载
启动vncserver@:1.service [root@localhost ~]# systemctl start vncserver@:1.service
将vncserver@:1.service设置为开机启动 [root@localhost ~]# systemctl enable vncserver@:1.service
连接测试:
VNC安装测试完成接下来我们创建KVM虚拟机。
2. 虚拟机创建
创建系统镜像存放目录,使用工具将ISO系统安装包上传到/kvm/iso目录下, [root@localhost /]# mkdir -p /kvm/iso [root@localhost /]# ls /kvm/iso/ CentOS-7.2-x86_64-DVD-1511.iso 创建一个20G的虚拟磁盘,/var/lib/libvirt/images/为虚拟磁盘默认存放路径 [root@localhost /]# qemu-img create -f qcow2 /var/lib/libvirt/images/kvmtest.qcow2 20G 提示: 在使用虚拟机安装测试KVM时,需要打开CPU虚拟化功能 如果时物理设备安装KVM,需要在BIOS里面打开CPU虚拟化功能,否则创建虚拟机时无法创建。 相关报错信息: 创建虚拟机: [root@localhost ~]# virt-install --virt-type kvm --name kvmtest --ram 1024 --vcpus 2 --cdrom=/kvm/iso/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/var/lib/libvirt/images/kvmtest.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 命令解析: --virt-type kvm #指定虚拟机类型“kvm、qemu、xen”(默认是KVM) --name kvmtest #指定虚拟机名称 --ram 1024 #指定内存大小 --vcpus 2 # 指定虚拟机CPU多少核 --cdrom=/kvm/iso/CentOS-7.2-x86_64-DVD-1511.iso #指定ISO镜像存放位置 --disk path=/var/lib/libvirt/images/kvmtest.qcow2 #指定磁盘文件存放位置 --network bridge=br0 #指定虚拟机网络:"--network"(企业中“桥接网络”用的最多,“NAT网络是默认网络,用‘default’表示”看情况使用;使用哪种网络需要知道它们的名称) --graphics vnc,listen=0.0.0.0 #指定vnc,vnc监听0.0.0.0地址:"--graphics"(通常使用“VNC”,缺点:虚拟机不能复制;桌面虚拟化使用“spice”,对配置要求很高,尤其显卡;两种方式的端口都可以自己指定) --noautoconsole #不自动连接控制台 --autostart #指定“宿主机重启后”,虚拟机是否自动开机(可选项,一般设置为自动开机)
更多命令解析可以使用virt-install -h进行查看。
VNC连接测试: 连接虚拟机的端口时5900,默认是-1端口,可以通过virsh edit kvmtest命令查看端口, [root@localhost ~]# virsh edit kvmtest
如果需要重新自定义vnc连接端口,可以通过virsh edit kvmtest进行修改,修改port以及autoport内容例如: <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> 修改为 <graphics type='vnc' port='<自定义端口>' autoport='no' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics>
VNC连接测试: 在vnc地址栏中输入宿主主机IP:5900回车,显示以下界面 点击"Continue"继续的意思 虚拟机正常连接,系统安装就不做多介绍了。到此KVM虚拟机使用VNC连接设置以完全设置完成。 3. 拓展 多个虚拟机需要使用VNC连接如何设置呢!! 上面我们已经说过了,只需要修改新建项目系统的虚拟机配置文件重新命名vnc端口号就可以了,在指定端口号时最好使用5900以后的端口(个人习惯)具体操作如下: [root@localhost ~]# virsh edit <虚拟机名称> 修改以下内容: <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> 修改为 <graphics type='vnc' port='<自定义端口>' autoport='no' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> 温馨提示:自定义端口后,若防火墙在运行状态情况下,记得开放端口!!!^_^ 多虚拟机使用VNC连接设置到此完全结束!! 下一篇我们继续介绍文本模式安装虚拟机(console连接虚拟机)!!