OpenStack02-虚拟化之KVM

1、什么是虛拟化?

  • 虚拟化是一种具体技术,把实体资源进行虚拟化。
    • 虚拟化技术根据对象可以分成计算虚拟化、存储虚拟化、网络虚拟化等。
  • 虚拟化是一种具体技术,指是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。
  • 虚拟化软件:
    • qemu:(全虚拟)几乎可以模拟所有的硬件和操作系统。性能特别差,兼容性好。
    • xen:(半虚拟)需要使用专门修改之后的内核。性能特别好,兼容性差。(redhat 5.5之前使用的就是xen)
    • KVM:(全虚拟)基于内核,而且不需要使用专门的内核。性能较好,兼容较好。(centos6使用的是kvm)

2、创建KVM虚拟机

  • 环境要求
    • 可以使用centos7.4、7.6等,但不要使用7.5。
    • CPU开启虚拟化。
  • 在10.1.1.13上创建虚拟机

2.1、安装创建虚拟机的工具

1、安装KVM工具

1

]# yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install

  • libvirt:管理KVM虚拟机。可以操作KVM、vmware、XEN、Hyper-v、LXC等Hypervisor。
    • virsh:创建、暂停和关闭domain(域)。libvirt的命令行工具(CLI)。
    • virt-manager:管理虚拟机的桌面工具。libvirt的GUI工具。
    • virt-install:创建KVM虚拟机的命令行工具。
    • virt-clone:克隆虚拟机的命令行工具。
  • qemu-img:允许离线创建、转换和修改镜像。可以处理QEMU格式的的所有镜像。

2、启动libvirtd

1

2

]# systemctl start libvirtd.service

]# systemctl status libvirtd.service

2.2、创建虚拟机

  • 下载centos的ISO镜像
    • http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

2.2.1、使用nat网络创建虚拟机

1

2

3

]# virt-install --name CentOS71-x86_64 --virt-type kvm --os-variant rhel7 --boot hd \

    --memory 1024 --vcpus 1 --disk /apps/images/CentOS71-x86_64.raw,format=raw,size=10 --network network=default \

    --graphics vnc,listen=0.0.0.0 --noautoconsole --cdrom /apps/iso/CentOS-7-x86_64-Minimal-2009.iso

  • 参数说明:
    • --name:虚拟机的名称
    • --virt-type:虚拟化的类型 (kvm, qemu, xen, ...),默认qemu。
    • --os-variant:虚拟机的操作系统,例如fedora18、rhel6、winxp等。(rhel7是RedHat Enterprise Linux 7)
    • --memory:虚拟机的内存大小,单位MB。
    • --vcpus:虚拟机的cpu核数
    • --disk PATH,format=raw,size=10:PATH虚拟机磁盘在宿主机的路径,format磁盘的格式(raw和qcow2),size磁盘的大小(单位GB)
      • raw:分配多少空间就立即占用多少。不支持快照,不方便传输,性能较好。
      • qcow2:不会立即占用所有分配的空间,而是使用多少就占用多少,直到使用完毕。支持快照,方便传输,性能比raw差一点。
    • --network network=defaul:虚拟机的网络类型,默认是nat。
    • --graphics vnc,listen=0.0.0.0:显示器通过VNC输出
    • --noautoconsole:不要自动尝试连接到客户端控制台
    • --cdrom:操作系统镜像
  • 也可以先创建磁盘,再创建虚拟机(与上等价)。

1

2

3

4

5

6

7

//(1)创建虚拟机镜像文件

]# qemu-img create -f raw /apps/images/CentOS71-x86_64.raw 10G

//(2)创建虚拟机

]# virt-install --name CentOS71-x86_64 --virt-type kvm --os-variant rhel7 --boot hd \

    --memory 1024 --vcpus 1 --disk /apps/images/CentOS71-x86_64.raw --network network=default \

    --graphics vnc,listen=0.0.0.0 --noautoconsole --cdrom /apps/iso/CentOS-7-x86_64-Minimal-2009.iso

2.2.2、使用桥接网络创建虚拟机

1、创建桥接网络

1

2

3

4

//将eth0网络接口 桥接 到br0网桥上

]# virsh iface-bridge eth0 br0

Created bridge br0 with attached device eth0

Bridge interface br0 started

2、创建虚拟机

1

2

3

]# virt-install --name CentOS72-x86_64 --virt-type kvm --os-variant rhel7 --boot hd \

    --memory 1024 --vcpus 1 --disk /apps/images/CentOS72-x86_64.raw,format=raw,size=10 --network bridge=br0 \

    --graphics vnc,listen=0.0.0.0 --noautoconsole --cdrom /apps/iso/CentOS-7-x86_64-Minimal-2009.iso

  • 参数说明:
    • --network bridge=br0:虚拟机的网络类型,使用桥接网络。

2.2.3、查看虚拟机

  • 两种网络的虚拟机可以同时存在。
  • 两种网络之间转换,只需修改虚拟机配置文件的如下内容:

1

2

3

4

5

6

7

//nat网络

    <interface type='network'>

      <source network='default'/>

//桥接网络

    <interface type='bridge'>

      <source bridge='br0'/>

1、查看虚拟机

1

2

3

4

5

]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 1     CentOS71-x86_64                running

 2     CentOS72-x86_64                running

2、查看以太网网桥

1

2

3

4

5

6

]# brctl show

bridge name     bridge id               STP enabled    interfaces

br0             8000.000c292158ff       yes            eth0

                                                       vnet1

virbr0     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值