一、基本概念
虚拟化软件:
qemu:软件纯模拟全虚拟化软件,特别慢!AIX,兼容性好!
xen(半):性能特别好,需要使用专门修改之后的内核,兼容性差!
KVM(Linux):全虚拟机,它有硬件支持CPU,基于内核,而且不需要使用专门的内核
virt(virt-install virt-clone)作用:虚拟机的安装工具和克隆工具
qemu-kvm qemu-img 作用:管理虚拟机的虚拟磁盘
libvirt: 虚拟管理模块
二、安装
lsmod |grep -i kvm 查看是否支持kvm虚拟化
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y 安装虚拟化的相关软件
优麒麟:sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
systemctl stop firewalld 关闭防火墙
systemctl start libvirtd 启动libvirt软件
systemctl enable libvirtd 加入开机自启动项
三、使用命令行创建虚拟机
1、参数详解
命令格式: virt-install [选项] -h 查看帮助 --connect=CONNECT 连接非默认的hypervisor,默认为qemu:///system -n name 新的虚拟机主机实例名称
--virt-type kvm 虚拟化的类型
--os-type=linux 系统类型
--os-variant fhel7 系统版本 -r MEMORT 虚拟机内存设置 --arch=ARCH cpu架构 --machine=MACHINE 虚拟机模拟机类型,Xen或者KVM等。 --vcpus=VCPUS 虚拟主机CPU个数 -c CDROM 设置光盘镜像或光盘设备路径 -l LOCATION 指定安装源路径 --pxe 使用pxe协议启动 --import 导入现有的虚拟机 -x EXTRA 附加的内核参数,如-x "ks=http://server/server.ks" --os-type=Type 操作系统类型,如linux、windwos等 --disk=DISKOPTS 设置虚拟机磁盘,如--disk /dev/storage/path -w NETWORK 设置虚拟机网络,如-w bridge=br0 --noneworks 虚拟机不设置任何网络接口 -m MAC 设置虚拟机MAC地址 --vnc 设置通过vnc查看虚拟机 --hvm 使用全虚拟化技术 --paravirt 使用半虚拟化技术 --soundhw MODEL 设置声卡设备 --autostart 设置虚拟机为开机启动
--disk /opt/centos2.raw,format=raw,size=10设置硬盘大小,位置
--cdrom /opt/centos-7-x86_64-DVD.iso 设置镜像
虚拟机磁盘格式
基于raw格式创建硬盘:
[root@CenoOS1 opt]# qemu-img create -f raw CentOS-7.2-x86_64.raw 10G Formatting 'CentOS-7.2-x86_64.raw', fmt=raw size=10737418240 [root@CenoOS1 opt]# ll -h total 16K -rw-r--r-- 1 root root 10G May 22 19:23 CentOS-7.2-x86_64.raw
基于raw创建虚拟机:
[root@CenoOS1 opt]# virt-install --name CentOS-7-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.2.iso
--disk path=/opt/CentOS-7.2-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
执行完命令以后立即登陆VNC来安装Linux。VNC访问虚拟机:宿主机IP+端口号(5900)
基于qcow2格式创建硬盘:
[root@CenoOS1 opt]#qemu-img create -f qcow2 /opt/centos7.5.qcow2 8G
Formatting '/opt/c77.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off
[root@ c7-41 opt] ll
基于qcow2格式创建虚拟机:
virt-install --virt-type=kvm --name=c77 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-DVD-1908.iso
--network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7
--disk path=/opt/cento7.5.qcow2,size=6,format=qcow2
执行完命令以后立即登陆VNC来安装Linux。VNC访问虚拟机:宿主机IP+端口号(5900)
四、kvm虚拟机管理工具的部分常用命令
virt-install # 建立kvm虚拟机 virsh list --all # 查看正在运行的KVM虚拟机 virsh list --all # 查看所有KVM虚拟机 virsh start name # 启动KVM虚拟机 virsh shutdown name # 正常关闭KVM虚拟机(一般要等几分钟) virsh destroy name # 强制关闭KVM虚拟机(类似于直接断电) virsh suspend name # 挂起KVM虚拟机 virsh resume name # 恢复挂起的KVM虚拟机 virsh dumpxml name # 查看KVM虚拟机配置文件 virsh edit name # 编辑KVM虚拟机的xml配置文件(虚拟机关机后生效) virsh undefine name # 彻底删除KVM虚拟机,建议先用virsh dumpxml name > xxx.xml 保存配置文件) virsh define xxx.xml # 根据xxx.xml文件定义虚拟机 virsh console name # 字符界面控制虚拟机 virsh domiflist name # 显示虚拟机的网卡信息 virsh attach-interface name --type bridge --source br0 --medol virtio--config # 给虚拟机增加网卡,后面是网卡参数,根据 domiflist 查看情况来确定(虚拟机关机后生效,宿主机重启后失效,需要保存到配置文件中,在重新define) virsh detach-interface name --type bridge --mac 物理地址 # 删除虚拟机网卡,参数根据 domiflist 查看情况来
五、图形化创建虚拟机
1、安装组件
在centos上图形化安装kvm,实现在kvm上安装centos7
注意:在redhat7.0上安装kvm,一定要勾选如图选项,必不可少的虚拟化组件
进入系统,选择系统工具-》虚拟系统管理器
选择新建虚拟机
选择iso镜像
选择硬盘容量
勾上安装前自定义配置
根据需要进行相关配置,点击开始安装
开始安装系统