ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

虚拟化技术之 kvm (一)- virsh

2021-01-15 13:57:03  阅读:352  来源: 互联网

标签:虚拟化 -- virt 虚拟机 kvm libvirt virsh


  • kvm的命令行工具virsh;

1.概述

  virsh工具功能非常丰富,它可以全生命周期的管理kvm;比如创建虚拟机,查看虚拟机,动态热插拔硬盘,给虚拟机做快照,迁移、启动、停止、挂起、暂停、删除虚拟机等等操作。
在这里插入图片描述

  上图主要描述了kvm的主要工具栈,从大的类别可以分为libvirt和qemu这两大类,其中libvirt中分virtual machine manager和virsh。

  • virtual machine manager中的virt-manager是基于图形界面的管理,其他都是可以在命令行直接使用命令来管理虚拟机;
  • virsh是基于终端命令行管理;两者都是通过libvirt连接至libvirtd进行管理;而对于qemu来说,它管理虚拟机上直接调用kvm内核中模块的API进行管理;

2.virsh

  virsh 是​用​来​管​理​客​户​端​及​其​管​理​程​序​的​命​令​行​界​面​工​具​。​

  virsh 工​具​是​构​建​在​ libvirt 管​理​ API 上​,可​作​为​ xm 命​令​和​图​形​客​户​端​管​理​程​序​(virt-manager)的​替​代​工​具​使​用​。​非​特​权​用​户​只​能​以​只​读​模​式​使​用​ virsh。​您​可​使​用​ virsh 为​客​户​端​机​器​执​行​脚​本​。​

3.安装和配置 kvm 环境

3.1.检查宿主机处理器是否支持虚拟化

[root@kvm ~]# egrep -o 'vmx | svm' /proc/cpuinfo | wc -l

  如果有数据,说明 CPU 支持虚拟化(现在的大部分 CPU 都支持虚拟化,除非你的 CPU 真的太老了),如果没有,则需要开启,如果是物理机则在 BIOS 界面开启这个功能,如果是在虚拟机上,则在虚拟机上开启 CPU 的嵌套虚拟化功能。

3.2.工具安装

sudo apt install qemu-kvm libvirt virt-install virt-manager bridge-utils qemu-img

#qemu-kvm:核心软件包,实现虚拟化
#libvirt:核心软件包,管理KVM的工具,类似VMware也是管理虚拟机的工具
#virt-install:KVM虚拟机命令行管理工具
#virt-manager:KVM虚拟机图形化管理工具,可不装
#bridge-utils:实现网卡桥接的工具

3.3.设置相关网络

  • 创建/etc/systemd/network/br0.netdev
[NetDev]
Name=br0
Kind=bridge
  • 创建/etc/systemd/network/br0.network
[Match]
Name=br0
[Network]
Address=10.0.0.3/16
Gateway=10.0.0.1
DNS=10.0.0.1
  • 创建/etc/systemd/network/uplink.network
[Match]
Name=eno1

[Network]
Bridge=br0

查看systemctl status systemd-networkd状态,然后执行systemctl restart systemd-networkd。

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.429f5774d8b6       no              eno1

3.3.安装虚拟机

  • 创建虚拟机镜像
//关于虚拟机镜像,有很多种类型:raw、qcow2、vmdk等,推荐使用 qcow2 格式的镜像,因为 qcow2 格式的镜像支持快照,使用的比较广泛。
sudo mkdir /data/kvm
sudo qemu-img create -f qcow2 -o preallocation=metadata /data/kvm/liwei01.qcow2 50G
  • 执行虚拟机的安装

  通过 iso 镜像实现本地安装,支持 vnc ,无文本控制台。

sudo virt-install --connect qemu:///system  --virt-type kvm  --vcpus=1 --name ubuntu16  --ram 512  --cdrom ubuntu-16.04.6-desktop-amd64.iso  --disk path=/var/lib/libvirt/images/ubuntu16.img,size=50,format=qcow2,bus=virtio  --network bridge=br0  --os-type=linux 

refer to

  • https://libvirt.org/
  • https://wiki.archlinux.org/index.php/Systemd-networkd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  • https://huataihuang.gitbooks.io/cloud-atlas/content/virtual/
  • https://unix.stackexchange.com/questions/411936/configuring-a-bridge-interface-with-systemd-networkd

标签:虚拟化,--,virt,虚拟机,kvm,libvirt,virsh
来源: https://blog.csdn.net/weixin_41028621/article/details/112574052

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有