centos7部署KVM环境并创建、管理、远程连接到windows虚拟机
这里写目录标题一、KVM安装1.1 实验说明1.2 开启虚拟化功能1.3 安装KVM1.4 桥接网卡的制作1.5 开始创建虚拟机二、vncserver的部署2.1 准备环境2.2 安装步骤三、VNC连接虚拟机进行系统安装3.1 安装步骤四、远程连接测试一、KVM安装1.1 实验说明本次实验环境是使用Vmware workstation创建centos7系统(安装GUI界面)。在centos...
·
这里写目录标题
一、VNC管理工具
1.1 工具介绍
当需要的管理的虚拟机有windws系统以及linux系统并且数量多的时候,可以是使用iis7服务器管理工具
可以批量管理虚拟机,使用方便。
当批量管理win系统的虚拟机时,可批量导入IP、端口、账号和密码,并且实时监测。
当批量管理linux系统的虚拟机时,可批量SSH操作。
1.2 使用步骤
第一步:打开iis7服务器管理程序,找到“Vnc”;
第二步:点击添加;注意IP端口和密码为必填项;
第三步:输入信息后,点击添加;
第四步:勾选需要打开VNC服务器;
第五步:点击打开,即刻见VNC效果图。
1.3 使用截图
二、KVM安装
2.1 实验说明
本次实验环境是使用Vmware workstation创建centos7系统(安装GUI界面)。
在centos7宿主机上安装KVM环境,创建windows虚拟机。并通过物理机的远程连接工具去连接到windows虚拟机上。
本次实验需要的Vmware、vnc、win10的ISO镜像。
宿主机 | 客户机 |
---|---|
centos7 | windows10 |
2.2 开启虚拟化功能
首先在Vmware中对宿主机的硬件处理器开启虚拟化。
然后进行宿主机的系统安装,这里就不详细介绍安装步骤了。
2.3 安装KVM
宿主机的操作系统安装完成后,并配置好网络,可以访问外网!
(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
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
只需要修改两个内容,其他内容不用修改。
修改ifcfg-ens33,注释掉IP配置信息,添加BRIDGE=br0即可。
重启network服务,
[root@localhost ~]# systemctl restart network
#如果在终端工具上重启网卡,连接会断开,要去桌面系统重新启动一次network。
重启成功后,查看网卡
[root@localhost ~]# brctl show
2.5 开始创建虚拟机
注意:创建虚拟机之前先查看一下是否将足够的磁盘空间交给KVM使用。
我第一次创建的时候,会报磁盘空间不够使用的错误,所有又加了一块硬盘到分区上。
具体如何给centos-root分区扩容,可以参考其他相关文档。
(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目录,需要做一个软连接。
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/vncserver@.service /etc/systemd/system/vncserver@:1.service
(3)启动vncserver
password:设置vnc登录的密码
Verify: 再次确认密码
Would you like to enter a view-only password (y/n)? n #注意表示"是否输入一个只能查看的密码,选择否",否则连接vnc会出现黑屏
(4)修改vncserver的配置文件
[root@localhost ~]# vi /etc/systemd/system/vncserver@:1.service
找到[Service]
将<User>改为root用户
(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
然后下面就是windows系统的安装
以下操作是在win10虚拟机上面!!!
到这里,虚拟机windows10系统就已经安装完成,下面使用物理机去远程连接到win10虚拟机。
首先要查看win10虚拟机的IP地址,
打开cmd->输入ipconfig /all->即可查看到虚拟机分配到的IP地址
我这里虚拟机的IP地址是192.168.1.101
要注意的几点:
win10虚拟机:要去开启远程权限,和关闭防火墙
右击我的电脑->属性->远程设置->远程-> 允许远程协助
以下操作是在物理机上面!!!
当物理机去远程连接的时候,如果提示内部错误,需要在cmd中执行netsh winsock reset 命令
这条命令主要作用是初始化网络环境。
五、远程连接测试
当执行命令之后,就可以成功的连接到虚拟机上。
更多推荐
已为社区贡献8条内容
所有评论(0)