1.基础知识
kvm(kernal-nssed Virtual Machine):基于内核的虚拟化机,是一个开源的系统虚拟化模型,是基于硬件辅助的开源全虚拟化解决方案,它集成在linux系统中。
全虚拟化功能:vmx,由于kvm是全虚拟化,因此我们必须知道我们的电脑cpu是否支持全虚拟化,可以通过查看以下文件知道:
cat /proc.cpuinfo ##查看PUC的功能
free -m ##查看电脑的内存信息,以便安装虚拟机时进行配置
以上,我们就能知道自己的电脑是否支持全虚拟化。
2.图形方式虚拟机安装
首先准备好安装虚拟机机所使用的镜像文件:rhel-server-7.3-x86_64-dvd.iso
###1.虚拟机物理配置
1.在真机中切换到超级用户权限,
virt-manager ##打开虚拟机管理图形界面
选择create a new machine(创建一个新的虚拟机):
由于我们是用本地的镜像文件安装,因此选择本地安装:
再选择此镜象文件的路径:
浏览本地文件(home->kiosk->Desktop->rhel-server-7.3-x86_64-dvd.iso):
选择镜像文件:
选择完成后,进入内存与cpu配置:
“注意”:内存选择必须根据真机的实际内存大小,必须小于真机的实际内存,cpu的数目也必须小于实际的cpu数目
再配置虚拟机的硬盘容量,根据实际需求选择:
“注意”:若虚拟机要开启图界面,内存设置必须大于768M,硬盘设置大于等于5G
再给你的虚拟机起个名字(NAME):
###2.虚拟机软件配置:
到此,我们对虚拟机的硬件配置就结束了,完成后,会看到进入如下页面,使用键盘上的上|下箭头,选择安装方式:
1).安装语言:选择英语
软件配置中分为三部分:LOCALIZATION,SOFTWARE,SYSTEM,我们逐个进行配置:
##LOCALIZATION
1.安装语言:英语
2.时区选择:中国
完成后,我们可以看到:
##SOFTWARE
minimal install ##最简安装,无图形界面
-> Server with GUI ——>
三个关于虚拟化的选项不需要再选择,若是我们此时在真机中安装linux系统,则需要选择以便以后再安装虚拟机
完成后:
##SYSTEM
1.硬盘:自定义安装
2.选择Standart Partition #标准分区
设置分区:
/boot:200M
/swap:一般:物理内存2G~4G:2倍物理内存
物理内存4G~8G:1.5倍物理内存
swap分区(虚拟内存)在系统的物理内存不够用时,把物理内存中的一部分空间释放出来,以供当前的程序使用,这些被释放的数据被临时保存到Swap分区中,等到这些程序要运行时,再从Swap分区中恢复保存的数据到内存中,在我们当前做实验的环境下,可以不依据一般的标准来设置
/:根目录容量分配 >=4G(剩余空间全部分配给根目录):
完成后,就开始安装了:
设置root的用户名与密码:
接受用户协议:
我们就可以使用虚拟机了:
使用virt-manager,可以看到ww在列表中:
3.命令方式安装虚拟机
virt-install ##虚拟机安装
写脚本:vim test_vmcreat.sh ##对于参数的写法,可以man virt-install进行查询
##根据刚才图形方式下的参数,逐个添加
各参数含义如下:
#!/bin/bash ##声明该脚本使用的shell名称为bash,
virt-install \ ##所执行的命令为virt-install, \用来环行,
--name test \ ##命名所安装的虚拟机名字为test
--memory 1024 \ ##此虚拟机使用内存为1G
--vcpus 1 \ ##使用1个cpu
--cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \ ##虚拟机镜像文件路径
--disk /var/lib/libvirt/images/test.qcow2,size=9,bus=virto \ ##PATH是虚拟机硬盘的存储路径,size是硬盘大小为9G,D-bus总线类型为virto
--network source=br0,model=virto ##source指定对应的真机的物理网卡设备名,model类型为virto
“注意”:硬盘disk的存储路径可以通过下方查看:
执行脚本,我们可以看到虚拟机成功新建:
4.虚拟机删除
安装完成在图形界面删除时,一定要删除虚拟机的系统文件:
运行此脚本,创建的虚拟机的名字是固定的,如果我们想自己指定虚拟机的名称($1:表示命令后跟的第一个字符串):
5.虚拟机管理命令
virsh
list ##列出当前正在运行的虚拟机
list --all ##列出所有的虚拟机
shutdown 虚拟机名 ##以正常方式关闭此虚拟机(耗时较长)
destory 虚拟机名 ##强制关闭虚拟机
start 虚拟机名 ##开启此虚拟机
virt-viewer 虚拟机名 ##开启虚拟机视图
关闭虚拟机,再使用start 参数:
使用virt-viewer显示虚拟机:
使用destroy关闭虚拟机:
6.虚拟机迁移
1.拷贝虚拟机硬件配置文件(/etc/libvirt/test1.xml文件:):
2.copy虚拟机系统文件(/var/lib/libvirt/images/test1.qcow2文件):
可以看到在/mnt 目录下存在这两个文件:
3.更改test1.xml文件的属性(+x):为可执行文件
4.virsh create test1.xml
:
若直接使用此命令,会出现如下错误:这个错误是说不能在此路径下找到test1.qcow2文件
打开tests1.xml文件,我们可以看到此文件中,硬盘的存储文件路径为:/var/lib/libvirt/images/test1.qcow2,因此我们需要将/mnt 下的文件移到指定目录:
5.移动.qcow2文件到之指定目录:
6.
virsh create name.xml ##创建并开启虚拟机
virsh define name.xml ##创建虚拟机但不开启
virsh undefine VMname ##删除虚拟机
7.虚拟机快照
1.给指定的虚拟机作快照:
qemu-img ##是QEMU的磁盘管理工具
qemu-img create -f qcow2 -b ww.qcow2 testww.qcow2
-f qcow2 ##指定硬盘影响格式
-b ww.qcow2 ##指定所要作快照的后端文件
testww.qcow2 ##快照名
2.使用快照进行虚拟机的安装:
###1.图形方式:
选择对应的快照文件:
其余步骤如上
###2.命令方式(写脚本):
指定快照名与虚拟机名($1:表示命令后跟的第1个字符串,$2:表示命令后跟的第2个字符串):
8.安装第三方软件
1.准备本机系统版本匹配的iso镜像文件:rhel-server-7.3-x86_64-dvd.iso
2.虚拟机添加光驱:源是下载的iso文件:
步骤:关闭虚拟机->show virtual hardware detials->addhardware->PATH->type:CDROM device->开启虚拟机
“注意”:虚拟机开启时硬件不能添加
添加完成后,可看到如下结果:
3.把rhel-server-7.3-x86_64-dvd.iso挂载到/dev/sr0以便访问镜像中的文件:
mkdir /rhel7.3
mount /dev/sr0 /rhel7.3
5.配置yum源
vim /etc/yum.repos.d/yumtest.repo
[rhel7.3] ##被yum命令取得并识别
name=rhel7.3 ##自己可以随意命名
baseurl=file:///rhel7.3 ##获取软件的地址
gpgcheck=0 ##不需要进行gpg校验
6.
yum repolist ##列出设定yum源信息
yum list dhcp ##查找dhcp
yum install dhcp.xxxxx ##安装dhcp
yum clean all ##清空所有缓存