zoukankan      html  css  js  c++  java
  • KVM虚拟化

    KVM虚拟化

    虚拟化配置

    • 首先开启虚拟化的支持 并且增加一个50g的硬盘

    image-20210318080747269

    • free查看内存 image-20210318081031204

    • grep -Ei 'vmx|svm' /proc/cpuinfo查看虚拟机是支持虚拟化

    image-20210317084204026

    • lsblk 查看是否增加了一块新的磁盘 这里我们看到新增了一块50g的内存

    image-20210317084245190

    • 接下来我们格式化硬盘格式化为ext4格式 mkfs.ext4 /dev/sdb
    • blkid /dev/sdb查看磁盘信息

    image-20210317084320436

    • 创建挂载目录 mkdir /kvm_data
    • mount /dev/sdb /kvm_data 挂载到/kvm_data
    • 为使/kvm_data开机自动挂载 需要修改‘/etc/fstab’
      • 添加 /dev/sdb /kvm_data ext4 defaults 0 0
    • 关闭防火墙 和 seLinux

    安装KVM

    • yum install -y virt-* libvirt bridge-utils qemu-img

    启动KVM

    • 配置网卡 首先复制原先的网卡 image-20210318082206762

    • 接下来修改ifcfg-bro

      • 修改ifcfg-ens33
      • systemctl restart network 重启网卡

    image-20210317085553750

    启动libvirtd服务

    首先检查KVM模块是否加载,命令如下(lsmod命令用于显示已载入系统的模块):

    • lsmod|grep kvm

      • image-20210317085616209
    • systemctl start libvirtd开启libvirtd

    image-20210317085654011

    • brctl show 查看有两个网卡

      • image-20210317085731624
    • 上传Centos7到/tmp/目录下

    •  输入上面的命令开始安装虚拟机
    • 命令解释:

      开机后进入设置界面 对时区 root密码等进行设置

    虚拟机管理

    • virsh list 查看虚拟机列表 只能看见已经开启的虚拟机

    image-20210317101516415

    • virsh list --all查看所有的虚拟机
    • virsh console test进入指定的虚拟机

    vrish常用命令,命令如下:

     克隆虚拟机
    • 克隆虚拟机之前必须要关闭虚拟机

    • virt-clone --original test --name test02 --file

    image-20210317102111130

     
       
       
       
    • 查看虚拟机是否增加 test02 ls /etc/libvirt/qemu/

    image-20210317102254381

    快照

    ​ 快照是在我们使用Vmware的时候,很常用的一个功能。它可以回到之前的某一状态。在KVM中RAW格式的虚拟磁盘不支持做快照,qcow2支持。

    • 创建快照 virsh snapshot-create test

    • qemu-img info /kvm_data/test.img  查看test.img信息 并且同时查看 快照列表

      • image-20210317102412346
    • virsh snapshot-list test 列出所有快照

      • image-20210317102445073
    • 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 查看磁盘格式信息

      • image-20210317102757799
    • 创建2 GB的RAW格式磁盘 qemu-img create -f raw /kvm_data/test_1.img 2G

      • -f 指定磁盘类型 后面跟3个参数 磁盘类型、磁盘文件、大小
    • qemu-img convert -O qcow2 /kvm_data/test_1.img /kvm_data/test_1.qcow2 将磁盘转换为qcow2格式

      • convert -O 进行格式转换
    • ls -lh /kvm_data/test_1.img

    image-20210317103717474

    可以看到qcow2文件比较小,raw文件大小和我们指定空间大小一样是2G raw格式的磁盘性能比qcow2要好,但是raw格式的磁盘无法做快照

    • qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02_2.img 将test02转换为raw格式

      • image-20210317103943312
    • 更改磁盘格式和文件路径,然后启动test02虚拟机,命令如下: virsh edit test02

      • /找到上面这部分将qcow修改为raw,/kvm_data/test02.img改为

    image-20210318085418170

    磁盘扩容

    • 首先扩容RAW格式,命令如下: qemu-img resize /kvm_data/test02_2.img +2G

    image-20210317105727178

    • qemu-img info /kvm_data/test02_2.img  查看磁盘信息 大小增加了2g

    image-20210317105820954

    • 进入虚拟机 virsh console test02 使用 fdisk -l  查看磁盘列表

    image-20210317110132772

    • 发现这时虚拟机的磁盘大小还是10g 所以我们需要重新启动虚拟机后 再进行测试

    image-20210317110147004

    • 这样我们看到已经变为12g了 接下来对该磁盘进行分区 fdisk /dev/vda

    • 分区完成后 使用p查看磁盘列表:

    image-20210317110608577

    • 除了对已有磁盘扩容外,还可以额外增加磁盘,命令如下:
      • qemu-img create -f raw /kvm_data/test02_3.raw 5G 创建一块新的5g的磁盘
    • virsh edit test02 编辑虚拟机test02
    • 主要修改source file名称为/kvm_data/test02_3.raw,target dev改为vdb,slot改为0x09,不与0x06冲突即可。

    image-20210317111328412

    • 关闭虚拟机进行测试:

    image-20210317111522073

    接下来,我们扩容qcow2格式的磁盘,命令如下:

    • qemu-img resize /kvm_data/test.img +2G 若提示qemu-img: Can't resize an image which has snapshots,需要删除快照

    • 使用命令 qemu-img info test.img 查看虚拟机信息

    image-20210317111750108

    • 重启虚拟机 进行查看 fdisk -l 

    image-20210317112528721

    调整CPU内存、网卡

    • 查看虚拟机配置信息 virsh dominfo test
    • 修改配置文件 virsh edit test

    image-20210317141143424

    • 再次查看配置信息 virsh dominfo test

    image-20210317141031960

    • 还可以动态修改 内存和cpu信息 动态修改重启后失效
      • virsh setmem test 800m 修改动态内存
      • virsh setvcpus test 2 修改cpu数 只能增加不能减少
    • 再次查看虚拟机配置信息

    image-20210317141412875

    • virsh dumpxml test > /etc/libvirt/qemu/test.xml把配置写到配置文件中

    配置网卡

    • virsh domiflist test 列出网卡列表

    image-20210317141550289

    • 增加一块新的网卡,并设置为NAT网络模式(virbr0类似VMware的VMnet8),这里如果写--source br0,则网络模式为桥接,命令如下:
      • virsh attach-interface test --type bridge --source virbr0
      • virsh domiflist test

    image-20210317141807147

    • virsh dumpxml test > /etc/libvirt/qemu/test.xml把配置文件进行备份

    • 进入虚拟机查看网卡信息 ip a

    image-20210317150816752

    • 此方法在重启虚拟机后 网卡自动消失 如果想要网卡永久存在 需要将网卡添加到配置文件中
      • image-20210318091356364

    迁移虚拟机

    • 迁移虚拟机必须要先关闭
      • virsh domblklist test 查看虚拟磁盘所在目录
    • virsh dumpxml test > /etc/libvirt/qemu/test03.xml 如果是远程虚拟机需要把该文件拷贝到远程上去
    • rsync -av /kvm_data/test.img /kvm_data/test03.img 如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上

    image-20210317151623330

    • 因为是迁移到本机,配置文件用的是test子机的配置,不改会有冲突,所以需要修改该文件。如果是远程机器不用修改,命令如下:

      • vi /etc/libvirt/qemu/test03.xml
      • image-20210318091754643
    • virsh define /etc/libvirt/qemu/test03.xml 定义新的虚拟机

    • virsh list --all查看所有的虚拟机

    image-20210317151910428

     
    蓦然回首,那人却在,灯火阑珊处。
  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/linux-186/p/14564721.html
Copyright © 2011-2022 走看看