目录
2.1.1开启Intel VT-x/EPT和AMD-V/RVI(V) 5
2. Ubuntu 18.04 LTS安装KVM虚拟机 17
一. 环境介绍
1.1 使用环境
VMware Workstation 15 pro(以下简称VM) + KVM + Ubuntu-18.04 + centOS 7-Minimal
1.2 使用背景
在Windows 10环境下搭建VM 虚拟机,在VM虚拟机下装入Ubuntu18操作系统。主要实验环境是在Ubuntu18中实现的,以此形成了双重嵌套的虚拟机安装。
1.3 VMware Workstation介绍
VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用程序的最佳解决方案。VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的 IT开发人员和系统管理员而言, VMware在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。
1.4 KVM介绍
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
二. KVM的安装
2.1 安装Ubuntu18
由于VMware的安装不属于本文档的重点讨论范围,在正常安装的情况下,只讲解正常安装下的其中一个重要步骤
2.1.1开启Intel VT-x/EPT和AMD-V/RVI(V)
在自定义硬件里面勾选这个选项,否则无法在WM内开启虚拟化服务
2.1.2 Intel VT-x介绍
Intel VT-X技术实现的功能是减少虚拟机运行时虚拟机和物理机得到双重系统调用所产生的高Context Switch。也就是说,虚拟机的进程在要先从虚拟机ring3转到ring0,再从物理机的ring3转到ring0,性能有很大损失,而Intel VT-X就是为了解决这一问题而产生的技术。
2.1.3 Intel RPT介绍
Intel RPT技术则是为了解决虚拟机的虚拟内存映射问题。虚拟机的虚拟内存要映射到虚拟机的物理内存上面,而虚拟机的物理内存相当于物理机的虚拟内存,物理机的虚拟内存也是要映射到物理机的物理内存上面的,所以这双重转换会造成很大的资源消耗,RPT技术就是减小这个消耗的。
2.1.4 AMD实现的功能和Intel的功能类似
2.1.5 检验虚拟机是否支持虚拟化
在终端中输入:
若出现下面这个界面——恭喜你成功了。
2.2 安装KVM
2.2.1 安装KVM软件包
sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils
其中 virt-manager 用于GUI管理窗口 bridge-utils 用于网络桥接
2.2.3 检验KVM是否安装成功
kvm -ok
成功的话会出现这个界面
三. centOs的安装
为了便于操作,一下操作由KVM自带的图形界面进行操作
3.1 启动KVM图形界面
sudo virt-manager
3.2 安装centOS 7操作系统
第一步:新建一个新的虚拟机
第二步:选择镜像文件,此时共有四个选项。本项目采用的是第一种安装方法
A. 从本地的ISO映像 或者 光驱 选择安装
B. 以HTTP,FTP,NFS的方式从网络获取镜像文件
C. 网络引导方式启动
D. 导入现有的磁盘映像
第三步:点击完成
第四步:选择IOS镜像
第五步:选择本地ISO镜像的位置
第六步:选择CentOS 7镜像,然后点击Open,然后下一步。
第七步:设置内存大小与CPU的个数,由于这里的centOS没有安装图形界面,所以建议设置内存为1024,cpu的个数为1。
第八步:设置虚拟磁存的大小
第九步:Name为虚拟操作系统的名称,Network selection为网络模式的选择。
KVM默认为NAT模式:使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。
第十步: 选择安装过程中的语言
第十一步: 现在,你可以根据你的情况来进行安装时的配置,比如系统环境安装(这里为了方便采用了最小安装)、时间设置、语言设置和进行系统分区等等.
第十二步: 设置账户密码(这里过于简单就不在介绍了),然后等待安装完成后点击右下角的重启就行了。
第十三步: 登录用户,输入你的设置的用户名和密码就搭建完成啦。
但是也不要高兴太早,你试试ping baidu.com,然后会发现失败,是时候进行下一步了。
四. centOS7的网络配置
4.1 连接上网络
使用ip addr查看当前使用的网卡是eth0(关于网卡详细介绍在后面)
进入配置eth0网卡的目录
cd /etc/sysconfig/network-scripts/
可以尝试一下查看当前目录的文件
ls
发现了吗?就是这个ifcfg-eh0控制着你的网络,这个时候我们就需要修改一下它的配置了.
sudo vi ifcfg-eth0
看到这堆密密麻麻的东西是不是已经晕倒了,不用在意,你只需要把你的ONBOOT = no 中的no 改为yes就可以了。
最后一步,重启一下网络配置只要显示OK就大功告成了
service network restart
快来ping一下百度来试试你的成果
4.2 本地SSH连接
显然 , 以老师的角度来看的话仅仅ping通了百度并不会让他太满意,那么我就用本地的SSH来连接一下吧.
首先还是得看一下你的网卡情况,在输入ip addr看看和之前有什么区别吗
细心的你可能发现这个时候多了一个地址,没错,这个就是你centOS7所被分配到的IPV4地址.
通过这个地址我们可以用LINUX自带的SSH服务来连接虚拟机
ssh username(此处填写你的用户名)@192.168.122.150(你虚拟机被分配的地址)(username(此处填写你的用户名)@192.168.122.150(你虚拟机被分配的地址))
然后系统会询问你是否继续连接,输入yes继续
输入密码进行登录
大功告成了,晚上给自己安排一顿丰富的串串吧。
4.3 centOS 中的网络介绍
eth0,eth1,eth2……代表网卡一,网卡二,网卡三……
lo代表127.0.0.1,即localhost
如果你使用的是无限网络,可能你的网卡显示不是以上的列表中,而是叫做ens33。
Ip相关指令:
Ip [选项] 操作对象{link|addr|route...}
ip link show # 显示网络接口信息
ip link set eth0 upi # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
ip addr show # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
ip route list # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由