安装KVM
调整虚拟机
修改虚拟机内存,至少设置成2 GB,双击“编辑虚拟机设置”按钮
在“硬件”选项卡中单击“处理器”, 在虚拟化引擎中勾选
添加硬盘,单击“添加”,选择“SCSI”, 选中“创建新虚拟磁盘”选项,添加一个50G的硬盘
配置完成,我们启动虚拟机
检查CPU参数
启动虚拟机,我们查看以下,内存是否更改成功
检查CPU是否开启虚拟化支持
vmx为英特尔的cpu;svm为AMD的cpu
如果显示为空,就要检查你虚拟机设置,是否打“√”
挂载新磁盘
使用lsblk命令,检查虚拟机是否新增一块50 GB的磁盘
我们可以看到确实新增了一块磁盘名为sdb。
接下来格式化这块磁盘,格式化成ext4格式
格式化完成后,我们挂载磁盘,先创建挂载目录/kvm_data,然后进行挂载
这种方式挂载,重启虚拟机后,需要再次重新挂载,我们为了方便开机后可以自动挂载,编写/etc/fstab文件,添加文件最末一行(vi /etc/fstab)
关闭防火墙和selinux
关闭防火墙并设置开机不自启
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux,编辑/etc/selinux/config,将enforcing修改为disabled
修改完成后,重启虚拟机,使其生效,使用getenforce查看
安装KVM
配置ip后,我们使用yum进行安装KVM
(yum install -y virt-* libvirt bridge-utils qemu-img)
启动KVM
配置网卡
增加桥接网卡ifcfg-br0
//ifcfg-eno16777736为配置IP的网卡,你的网卡可能与我的不同
修改桥接网卡ifcfg-br0的内容(ip要跟net网卡一样 )
修改NAT网卡ifcfg-eno16777736内容 BOOTPROTO=none
添加代码BRIDGE=br0
修改完成网卡内容后,重新启动网卡服务并查看网卡信息
可以清楚的看到br0网卡出现并且带有IP,而以前的eno16777736网卡则没有IP。网卡配置完成
启动libvirtd服务
首先检查KVM模块是否加载
启动libvirtd并检查是否成功启动
启动成功后,使用brctl命令可以看到两个网卡
下面步骤我连接scrt执行,可不连接
命令行安装CentOS 7
首先,上传CentOS 7镜像到/tmp目录下,如果没有镜像的可以自行下载。上传后,使用ll命令查看/tmp目录下是否存在CentOS 7镜像文件
安装依赖yum -y install openssl
接下来使用virt-install进行CentOS 7的安装
命令解释:
--name:指定虚拟机的名称。
--memory:指定分配给虚拟机的内存资源大小。
maxmemory:指定可调节的最大内存资源大小,因为KVM支持热调整虚拟机的资源。
--vcpus:指定分配给虚拟机的CPU核心数量。
maxvcpus:指定可调节的最大CPU核心数量。
--os-type:指定虚拟机安装的操作系统类型。
–os-variant:指定系统的发行版本。
--location:指定ISO镜像文件所在的路径,支持使用网络资源路径,也就是说可以使用URL。
--disk path:指定虚拟硬盘所存放的路径及名称,size则是指定该硬盘的可用大小,单位是G。
–bridge:指定使用哪一个桥接网卡,也就是说
使用桥接的网络模式。
--graphics:指定是否开启图形。
--console:定义终端的属性,target_type 则是定义终端的类型。
--extra-args:定义终端额外的参数。
打完上面那条命令后,等一会,就可以看见下面这段命令,这是系统基础设置,带[!]基本都是需要配置的,接下来我们开始配置“Timezone settings”,输入“2”,按Enter键
“Timezone settings”时区设置选择 5) Asia亚洲,再选择城市 62) Shanghai上海
输入完毕后,可以发现2的[!]变成了[x],证明配置完毕。
接下来我们配置“Software selection”,选择“4”,在选择“c”,因为默认就是minimalinstall,按Enter键
接下来我们配置“Installation Destination”,选择“5”,其余的依次选择“c”,按Enter键
接下来配置“Root password”,选择8,按Enter
依次输入两次密码,密码相同,我设置的为123456 //密码为密文,不显示。
配置完成,选择“b”,按Enter键后,开始安装
安装完成后会自动进入终端,按ctrl+】退出终端(建议更改主机名来分辨当前终端)
虚拟机管理
完成虚拟机安装,已经退回到宿主机,接下来我们来通过宿主机virsh命令进行管理刚才安装的CentOS 7虚拟机。
查看虚拟机列表
只能看到正在运行的虚拟机
能看到所有虚拟机
进入指定的虚拟
[root@kvm ~]# virsh console test 若发生以下报错信息 [root@kvm ~]# virsh console
test Connected to domain test Escape character is ^] error: operation
failed: Active console session exists for this domain 解决方式,命令如下:
[root@kvm ~]# ps -ef |grep console root 11167 10987 0 01:55
tty1 00:00:00 virsh console test root 16017 15750 0 10:01
pts/1 00:00:00 grep --color=auto console [root@kvm ~]# kill -9
11167
自动获取ip
vrish常用命令
virsh shutdown test //关闭虚拟机
virsh start test //开启虚拟机
virsh destroy test //类似stop,这个是强制停止
virsh undefine test //彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all就看不到
virsh autostart test //宿主机开机该虚拟机也开机
virsh autostart --disable test //解除开机启动
virsh suspend test //挂起
virsh resume test //恢复
克隆虚拟机
克隆虚拟机之前,要先关闭虚拟机,不然会提示这种错误
关闭虚拟机后,再次进行克隆
命令解释: --original:指定克隆源虚拟机。 --name:指定克隆后的虚拟机名字。
–file:指定目标虚拟机的虚拟磁盘文件。
查看虚拟机配置文件/etc/libvirt/qemu/,看是否增加test02.xml文件
启动刚刚克隆的虚拟机test02,首先查看虚拟机列表,然后启动克隆的虚拟机test02
快照管理
快照是在我们使用Vmware的时候,很常用的一个功能。它可以回到之前的某一状态。在KVM中RAW格式的虚拟磁盘不支持做快照,qcow2支持。
创建快照
查看test.img信息,同时会查看到快照列表
列出所有快照
查看当前快照版本
查看所有快照配置文件
恢复指定快照
删除指定快照
磁盘格式
查看虚拟磁盘格式
创建2 GB的RAW格式磁盘
RAW格式的磁盘转换为qcow2格式
查看test1.img大小
//可以看到qcow2文件比较小,raw文件大小和我们指定空间大小一样是2G
//raw格式的磁盘性能比qcow2要好,但是raw格式的磁盘无法做快照
将test02转成raw格式
更改磁盘格式和文件路径,然后启动test02虚拟机
查看磁盘所属用户和组
重启虚拟机test02,然后再次查看磁盘所属用户和组
//启动后所属组变化成qemu的是test02_2.raw,证明这个磁盘正在被使用
磁盘扩容
我们知道,在这里磁盘一共有两种格式,一种是RAW格式,一种是qcow2格式,接下来我们分别给这两种磁盘格式进行扩容
首先扩容RAW格式
查看test02_2.raw信息
进入虚拟机test02,使用fdisk -l查看磁盘
//可以看到磁盘还是10 GB
退出终端,关闭test02虚拟机,重新启动,然后再次进入虚拟机test02,使用fdisk -l查看磁盘
virsh destroy test02
virsh start test02
virsh console test02
可以看到已经变成12 GB了。
接下来,我们怎么使用新增加的这2 GB磁盘,那就是分区
fdisk /dev/vda
除了对已有磁盘扩容外,还可以额外增加磁盘
使用virsh edit编辑test02虚拟机,将新磁盘增加到test02虚拟机
关闭test02虚拟机,重新启动,然后进入该虚拟机,使用fdisk -l查看磁盘
virsh destroy test02
virsh start test02
virsh console test02
可以看到多了一块5 GB的磁盘,退出终端。
接下来,我们扩容qcow2格式的磁盘
//若提示qemu-img: Can’t resize an image which has snapshots,需要删除快照
查看test.img信息
关闭test虚拟机,重新启动,然后再次进入虚拟机test02,使用fdisk -l查看磁盘
virsh destroy test
virsh start test
virsh console test
分区新增加的2 GB磁盘
fdisk /dev/vda
新增一块qcow2格式的磁盘
使用virsh edit编辑test虚拟机,将新磁盘增加到test虚拟机
关闭test虚拟机,重新启动,然后进入该虚拟机,使用fdisk -l查看磁盘
调整CPU内存、网卡
查看虚拟机配置信息
编辑虚拟机内存
关闭虚拟机,重启动虚拟机后查看虚拟机配置信息,看是否修改成功(需要等待一会才会变)
除了这种修改方式之外,还有一种动态修改
[root@kvm ~]# virsh setmem test 800m //动态修改内存
[root@kvm ~]# virsh setvcpus test 2 //动态修改cpu,只可以增加不可以减少
查看配置信息,看是否修改成功
[root@kvm ~]# virsh dumpxml test > /etc/libvirt/qemu/test.xml
//需要把配置写入到配置文件里
查看网卡列表
增加一块新的网卡,并设置为NAT网络模式(virbr0类似VMware的VMnet8),这里如果写–source br0,则网络模式为桥接
进入test虚拟机,查看网卡信息
迁移虚拟机
首先关闭虚拟机
查看虚拟机磁盘所在目录
定义新虚拟机
查看虚拟机列表,会发现新迁移的虚拟机test03