centos7部署KVM环境并创建、管理、远程连接到windows虚拟机

这里写目录标题

    • 一、VNC管理工具
      • 1.1 工具介绍
      • 1.2 使用步骤
      • 1.3 使用截图
    • 二、KVM安装
      • 2.1 实验说明
      • 2.2 开启虚拟化功能
      • 2.3 安装KVM
      • 2.4 桥接网卡的制作
      • 2.5 开始创建虚拟机
    • 三、vncserver的部署
      • 3.1 准备环境
      • 3.2 安装步骤
    • 四、VNC连接虚拟机进行系统安装
      • 4.1 安装步骤
    • 五、远程连接测试

一、VNC管理工具

1.1 工具介绍

当需要的管理的虚拟机有windws系统以及linux系统并且数量多的时候,可以是使用iis7服务器管理工具
可以批量管理虚拟机,使用方便。

工具下载地址

当批量管理win系统的虚拟机时,可批量导入IP、端口、账号和密码,并且实时监测。
当批量管理linux系统的虚拟机时,可批量SSH操作。

1.2 使用步骤

 第一步:打开iis7服务器管理程序,找到“Vnc”;
第二步:点击添加;注意IP端口和密码为必填项;
第三步:输入信息后,点击添加;
第四步:勾选需要打开VNC服务器;
第五步:点击打开,即刻见VNC效果图。

1.3 使用截图

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第1张图片

二、KVM安装

2.1 实验说明

本次实验环境是使用Vmware workstation创建centos7系统(安装GUI界面)。
在centos7宿主机上安装KVM环境,创建windows虚拟机。并通过物理机的远程连接工具去连接到windows虚拟机上。
本次实验需要的Vmware、vnc、win10的ISO镜像。

宿主机 客户机
centos7 windows10

2.2 开启虚拟化功能

首先在Vmware中对宿主机的硬件处理器开启虚拟化。
centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第2张图片
然后进行宿主机的系统安装,这里就不详细介绍安装步骤了。

2.3 安装KVM

宿主机的操作系统安装完成后,并配置好网络,可以访问外网!

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第3张图片

(1)关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

(2)关闭selinux
[root@localhost ~]# setenforce 0

(3)查看宿主机是否支持虚拟化,当出现vmx时,说明支持虚拟化。如果没有任何的信息输出,说明你的CPU不支持虚拟化,将无法使用KVM虚拟机。
[root@localhost ~]# grep vmx /proc/cpuinfo 

(4)通过yum安装wget下载工具
[root@localhost ~]# yum install -y wget

(5)将系统默认的yum源备份
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(6)通过wget下载aliyun的yum源
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(7)通过aliyun的yum源安装epel源
[root@localhost ~]# yum install -y epel=release

(8)清除yum
[root@localhost ~]# yum clean all

(9)创建yum缓存
[root@localhost ~]# yum makecache

(10)通过yum进行KVM及其KVM套件的下载和安装
[root@localhost ~]# yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager python-virtinst libvirt-client virt-viewer –y

(11)测试kvm是否安装成功
[root@localhost ~]# stat /dev/kvm 
  File: ‘/dev/kvm’
  Size: 0               Blocks: 0          IO Block: 4096   character special file
Device: 5h/5d   Inode: 17314       Links: 1     Device type: a,e8
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (   36/     kvm)
Context: system_u:object_r:kvm_device_t:s0
Access: 2020-05-03 00:43:13.392460746 -0400
Modify: 2020-05-03 00:43:13.392460746 -0400
Change: 2020-05-03 00:44:57.538645393 -0400
 Birth: -

(12)测试libvirt是否可以正常启动
[root@localhost ~]# systemctl restart libvirtd
[root@localhost ~]# systemctl enable libvirtd

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第4张图片

2.4 桥接网卡的制作

进行桥接网卡的制作,因为系统并不会自动生成一个桥接网卡。所以必须由我们自己动手创建一个桥接虚拟的网卡。查看宿主机的网卡,将宿主机的网卡进行虚拟机桥接网卡的绑定。比我的宿主机的网卡名字是ens33,将ifcfg-ens33复制现有网卡的配置文件,改名为ifcfg-br0.

[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0
修改ifcfg-br0网卡
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0 
只需要修改两个内容,其他内容不用修改。

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第5张图片

修改ifcfg-ens33,注释掉IP配置信息,添加BRIDGE=br0即可。

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第6张图片

重启network服务,
[root@localhost ~]# systemctl restart network
#如果在终端工具上重启网卡,连接会断开,要去桌面系统重新启动一次network。

重启成功后,查看网卡
[root@localhost ~]# brctl show

在这里插入图片描述
centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第7张图片

2.5 开始创建虚拟机

注意:创建虚拟机之前先查看一下是否将足够的磁盘空间交给KVM使用。
我第一次创建的时候,会报磁盘空间不够使用的错误,所有又加了一块硬盘到分区上。
具体如何给centos-root分区扩容,可以参考其他相关文档。

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第8张图片

(1)检查是否加载KVM模块
[root@localhost ~]# lsmod |grep kvm
kvm_intel             174841  0 
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm

(2)创建用于存放虚拟机的目录
[root@localhost ~]# mkdir /kvm
[root@localhost ~]# cd /kvm/
[root@localhost kvm]# touch demo.xml
然后将windows的iso镜像上传到/kvm目录下
(3)给虚拟机划分硬盘空间作为虚拟机的硬盘,这里我给了20G空间
[root@localhost kvm]# qemu-img create -f qcow2 test.qcow2 20G

在这里插入图片描述

(4)编辑demo.xml文件
[root@localhost kvm]# vi demo.xml
<domain type='kvm'>
        <name>test_win10</name> //虚拟机名称
        <memory>1048576</memory> //最大内存,单位K
        <currentMemory>1048576</currentMemory> //可用内存,最好和上面的一致。
        <vcpu>2</vcpu> //虚拟CPU个数
        <os>
          <type arch='x86_64' machine='pc'>hvm</type>
          <boot dev='cdrom'/> 
       </os>
       <features>
         <acpi/>
         <apic/>
         <pae/>
       </features>
       <clock offset='localtime'/>
       <on_poweroff>destroy</on_poweroff>
       <on_reboot>restart</on_reboot>
       <on_crash>destroy</on_crash>
       <devices>
         <emulator>/usr/bin/kvm</emulator>
         <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2'/>
           <source file='/kvm/test.qcow2'/> //目的镜像路径
           <target dev='hda' bus='ide'/>
         </disk>
         <disk type='file' device='cdrom'>
           <source file='/kvm/win10.iso'/> //光盘镜像路径
           <target dev='hdb' bus='ide'/>
         </disk>
        <interface type='bridge'> //虚拟机网络连接方式
          <source bridge='br0'/> //当前主机网桥的名称
          <mac address="00:16:3e:5d:aa:a8"/> //为虚拟机分配mac地址,这个地址是唯一的,不能和其它虚拟机地址重复。
        </interface>
        <input type='mouse' bus='ps2'/>
         <graphics type='vnc' port='19' autoport='yes' listen = '0.0.0.0' keymap='en-us'/> //vnc方式登录,端口号自动分配
       </devices>
     </domain> 
demo.xml文件配置好之后,执行virsh define demo.xml命令
如果报错说找不到/usr/bin/kvm目录,需要做一个软连接。

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第9张图片

virsh list 就能查看到当前虚拟机的运行状态
virsh vncdisplay test_win10 查看虚拟机的端口号

三、vncserver的部署

3.1 准备环境

vnc是远程连接工具,所以需要图形化页面,如果你的宿主机系统的最小化安装的话,请下载图形化工具,
yum groups install "X Window System"或者yum groups install “GNOME Desktop”

3.2 安装步骤

(1)下载并安装vnc-server
[root@localhost ~]# yum install tigervnc-server tigervnc vnc vnc-server

(2)拷贝vncserver的配置文件到系统配置文件目录中
[root@localhost ~]# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

(3)启动vncserver
password:设置vnc登录的密码
Verify: 再次确认密码
Would you like to enter a view-only password (y/n)? n             #注意表示"是否输入一个只能查看的密码,选择否",否则连接vnc会出现黑屏

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第10张图片

(4)修改vncserver的配置文件
[root@localhost ~]# vi /etc/systemd/system/vncserver@:1.service 
找到[Service]<User>改为root用户

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第11张图片

(5)启动配置文件
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable vncserver@:1.service

(6)设置登录密码,在设置完一遍时,提示设置第二遍,选择n。
[root@localhost ~]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n             #注意表示"是否输入一个只能查看的密码,选择否",否则连接vnc会出现黑屏
A view-only password is not used

(7)启动vncserver
[root@localhost ~]# systemctl start vncserver@:1.service

(8)查看端口状态
netstat -lnt | grep 590*

(9)查看报错信息
grep vnc /var/log/messages

(10)到此为止vncserver就安装完成了

四、VNC连接虚拟机进行系统安装

4.1 安装步骤

进入到宿主机的桌面系统,执行vncviewer 宿主机IP地址:虚拟机的端口号,
[root@localhost ~]# vncviewer 192.168.1.146:0

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第12张图片

然后下面就是windows系统的安装

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第13张图片

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第14张图片

以下操作是在win10虚拟机上面!!!

到这里,虚拟机windows10系统就已经安装完成,下面使用物理机去远程连接到win10虚拟机。

首先要查看win10虚拟机的IP地址,
打开cmd->输入ipconfig /all->即可查看到虚拟机分配到的IP地址
我这里虚拟机的IP地址是192.168.1.101

要注意的几点:
win10虚拟机:要去开启远程权限,和关闭防火墙
右击我的电脑->属性->远程设置->远程-> 允许远程协助

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第15张图片

以下操作是在物理机上面!!!

当物理机去远程连接的时候,如果提示内部错误,需要在cmd中执行netsh winsock reset 命令
这条命令主要作用是初始化网络环境。

在这里插入图片描述

五、远程连接测试

当执行命令之后,就可以成功的连接到虚拟机上。

centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第16张图片
centos7部署KVM环境并创建、管理、远程连接到windows虚拟机_第17张图片

你可能感兴趣的:(linux)