KVM虚拟化概念详讲linux
free
查看内存 网络
grep -Ei 'vmx|svm' /proc/cpuinfo
查看虚拟机是支持虚拟化dom
lsblk
查看是否增长了一块新的磁盘 这里咱们看到新增了一块50g的内存 mkfs.ext4 /dev/sdb
blkid /dev/sdb
查看磁盘信息mkdir /kvm_data
mount /dev/sdb /kvm_data
挂载到/kvm_data/kvm_data
开机自动挂载 须要修改‘/etc/fstab’
/dev/sdb /kvm_data ext4 defaults 0 0
seLinux
yum install -y virt-* libvirt bridge-utils qemu-img
启动KVM性能
配置网卡 首先复制原先的网卡 测试
接下来修改ifcfg-bro
ui
TYPE="Bridge" BOOTPROTO="none" DEFROUTE="yes" NAME="bro" DEVICE="bro" ONBOOT="yes" IPADDR="192.168.207.143" NETMASK="255.255.255.0" GATEWAY="192.168.207.2" DNS1=114.114.114.114 DNS2=8.8.8.8
修改ifcfg-ens33
操作系统
TYPE="Ethernet" NAME="ens33" DEVICE="ens33" ONBOOT="yes" BOOTPROTO="none" BRIDGE="bro"
systemctl restart network
重启网卡.net
首先检查KVM模块是否加载,命令以下(lsmod命令用于显示已载入系统的模块):rest
lsmod|grep kvm
code
systemctl start libvirtd
开启libvirtd
brctl show
查看有两个网卡
上传Centos7到/tmp/
目录下
virt-install --name=test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-1511.iso --disk path=/kvm_data/test.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
输入上面的命令开始安装虚拟机
命令解释:
--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:定义终端额外的参数。
开机后进入设置界面 对时区 root密码等进行设置
virsh list
查看虚拟机列表 只能看见已经开启的虚拟机virsh list --all
查看全部的虚拟机virsh console test
进入指定的虚拟机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 //恢复
克隆虚拟机以前必需要关闭虚拟机
virt-clone --original test --name test02 --file
--original:指定克隆源虚拟机。 --name:指定克隆后的虚拟机名字。 --file:指定目标虚拟机的虚拟磁盘文件
test02
ls /etc/libvirt/qemu/
快照是在咱们使用Vmware的时候,很经常使用的一个功能。它能够回到以前的某一状态。在KVM中RAW格式的虚拟磁盘不支持作快照,qcow2支持。
建立快照 virsh snapshot-create test
qemu-img info /kvm_data/test.img
查看test.img信息 而且同时查看 快照列表
virsh snapshot-list test
列出全部快照
virsh snapshot-current test
查看当前快照详细信息
ls /var/lib/libvirt/qemu/snapshot/test/
查看全部快照配置文件
恢复指定快照 virsh snapshot-revert test 1588485687
删除指定快照 virsh snapshot-delete test 1588485687
qemu-img info /kvm_data/test.img
查看磁盘格式信息
建立2 GB的RAW格式磁盘 qemu-img create -f raw /kvm_data/test_1.img 2G
qemu-img convert -O qcow2 /kvm_data/test_1.img /kvm_data/test_1.qcow2
将磁盘转换为qcow2格式
ls -lh /kvm_data/test_1.img
能够看到qcow2文件比较小,raw文件大小和咱们指定空间大小同样是2G raw格式的磁盘性能比qcow2要好,可是raw格式的磁盘没法作快照
qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02_2.img
将test02转换为raw格式
更改磁盘格式和文件路径,而后启动test02虚拟机,命令以下: virsh edit test02
qemu-img resize /kvm_data/test02_2.img +2G
qemu-img info /kvm_data/test02_2.img
查看磁盘信息 大小增长了2gvirsh console test02
使用 fdisk -l
查看磁盘列表这样咱们看到已经变为12g了 接下来对该磁盘进行分区 fdisk /dev/vda
分区完成后 使用p查看磁盘列表:
qemu-img create -f raw /kvm_data/test02_3.raw 5G
建立一块新的5g的磁盘virsh edit test02
编辑虚拟机test02接下来,咱们扩容qcow2格式的磁盘,命令以下:
qemu-img resize /kvm_data/test.img +2G
若提示qemu-img: Can't resize an image which has snapshots
,须要删除快照
使用命令 qemu-img info test.img
查看虚拟机信息
fdisk -l
virsh dominfo test
virsh edit test
virsh dominfo test
virsh setmem test 800m
修改动态内存virsh setvcpus test 2
修改cpu数 只能增长不能减小virsh dumpxml test > /etc/libvirt/qemu/test.xml
把配置写到配置文件中配置网卡
virsh domiflist test
列出网卡列表virsh attach-interface test --type bridge --source virbr0
virsh domiflist test
virsh dumpxml test > /etc/libvirt/qemu/test.xml
把配置文件进行备份
进入虚拟机查看网卡信息 ip a
virsh domblklist test
查看虚拟磁盘所在目录virsh dumpxml test > /etc/libvirt/qemu/test03.xml
若是是远程虚拟机须要把该文件拷贝到远程上去rsync -av /kvm_data/test.img /kvm_data/test03.img
若是是迁移到远程,则须要把该磁盘文件拷贝到远程机器上由于是迁移到本机,配置文件用的是test子机的配置,不改会有冲突,因此须要修改该文件。若是是远程机器不用修改,命令以下:
vi /etc/libvirt/qemu/test03.xml
virsh define /etc/libvirt/qemu/test03.xml
定义新的虚拟机
virsh list --all
查看全部的虚拟机