每天5分钟玩转openstack跟学(一)预备知识

前言:对于openstack我是一名小白,打算跟着CloudMan的《每天5分钟玩转openstack》进行学习,有兴趣的小伙伴可以跟着我一起,相互探讨,互相进步,该系列博文基本不涉及原理解读,因为不懂。基本上纯操作,跟着书籍走一遍,也不知道能不能走完。

一:虚拟化

1型虚拟化

  • Hypervisor直接安装在物理机上,可以直接操作硬件资源,Xen和VMWare的ESXi都属于这个类型
    每天5分钟玩转openstack跟学(一)预备知识_第1张图片

2型虚拟化

  • Hypervisor作为OS上的一个程序模块运行,即Hypervisor运行在操作系统上,通过调用操作系统封装的接口,从使用得硬件资源,KVMVirtualBoxVMWare Workstation都属于这个类型

每天5分钟玩转openstack跟学(一)预备知识_第2张图片

二:kvm:Kernel-Based Virtual Machine

1.基础概念:

要学习KVM就需要了解Libvirt,Libvirt是KVM的管理工具,Libvirt包含3个东西:后台daemon程序libvirtdAPI库和命令行工具virsh

  1. libvirtd是服务程序,接收和处理API请求;
  2. API库使得其他人可以开发基于Libvirt的高级工具,比如virt-manager,这是个图形化的KVM管理工具,后面我们也会介绍;
  3. virsh是我们经常要用的KVM命令行工具,后面会有使用的示例。
  4. 作为KVM和OpenStack的实施人员,virsh和virt-manager是一定要会用的。

2.环境准本

  1. ubuntu18.04

3.依赖包安装(一下操作建议切换到root用户)

  1. 安装KVM需要的包

    $ sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-manager bridge-utils vlan
    

    qemu-kvm和qemu-system是KVM和QEMU的核心包,提供CPU、内存和IO虚拟化功能

    libvirt-bin就是libvirt,用于管理KVM等Hypervisor。

    virt-manager是KVM图形化管理工具。

    bridge-utils和vlan,主要是网络虚拟化需要,KVM网络虚拟化的实现是基于linux-bridge和VLAN

  2. 修改/etc/ssh/sshd_config,允许root通过ssh直接登录

    PermitRootLogin yes
    
    service ssh restart ssh
    
  3. 开启虚拟机ubuntu18.04的cpu虚拟化
    每天5分钟玩转openstack跟学(一)预备知识_第3张图片

  4. 用以下命令确认CPU支持虚拟化

    fatpuffer@ubuntu:~$ egrep -o '(vmx|svm)' /proc/cpuinfo
    vmx
    vmx
    vmx
    vmx
    fatpuffer@ubuntu:~$
    
  5. 确认Libvirtd服务已经启动
    每天5分钟玩转openstack跟学(一)预备知识_第4张图片

4.下载镜像

  • http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img

    wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img
    
  • 将镜像移动到/var/lib/libvirt/images/目录下

    mv cirros-0.3.3-x86_64-disk.img /var/lib/libvirt/images/
    

三:创建虚拟机方式一

  1. 通过命令virt-manager启动图形界面,然后创建虚拟机。

    virt-manager
    

  2. 通过virsh查看虚拟机列表

    root@ubuntu:~# virsh list
     Id    Name                           State
    ----------------------------------------------------
     4     VM1                            running
    
    root@ubuntu:~# 
    
  3. 我们来看一下该kvm虚拟机是否可以和ubuntu宿主机进行通信
    每天5分钟玩转openstack跟学(一)预备知识_第5张图片

    • 我们发现二者是可以通信的
  4. 我们来看一下kvm虚拟机是否可以本地windows物理机通信
    每天5分钟玩转openstack跟学(一)预备知识_第6张图片

    • 我们可以看到kvm虚拟机是可以和ubuntu宿主机还有windows物理机进行通信,ubuntu宿主机也可以和本地windows物理机进行通信,但是本地windows物理机只能和ubuntu宿主机进行通信,并不能和kvm虚拟机进行通信。
    • 当然kvm虚拟机是可以进行上网的
      每天5分钟玩转openstack跟学(一)预备知识_第7张图片

四:创建虚拟机方式二

  1. 通过命令行,根据配置文件创建

    1.复制VM1的磁盘映像文件

    cd /var/lib/libvirt/images/
    cp cirros-0.3.3-x86_64-disk.img cirros-0.3.3-x86_64-disk1.img
    
    1. 复制VM1的配置文件
    cd /etc/libvirt/qemu/
    cp VM1.xml VM2.xml
    
    1. 修改配置文件
    vi VM2.xml
    
    # 必须修改的地方
    <name>VM2</name>
    <uuid>e74f3e19-8bdf-4b8e-bb62-030cc0c98b11</uuid>
    <source file='/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk1.img'/>
    <mac address='52:54:00:65:9f:df'/>  # 此处需注意:只能修改后三段(即后六位)
    
    # 可选修改的地方
    <memory unit='KiB'>51200</memory>
    <currentMemory unit='KiB'>51200</currentMemory>
    <vcpu placement='static'>1</vcpu>
    
    1. 创建虚拟机
    virsh define /etc/libvirt/qemu/VM2.xml
    
    1. 重启libvirt服务
    systemctl restart libvirtd
    
    1. 开启宿主机路由转发
    vi /etc/sysctl.conf
    net.ipv4.ip_forward=1
    
  2. 打开kvm图形管理界面查看我们刚刚创建的VM2是否成功了

    virt-manager
    

    每天5分钟玩转openstack跟学(一)预备知识_第8张图片

  3. 启动VM2看是否可以正常使用

    virsh start VM2
    
    • 可以正常启动每天5分钟玩转openstack跟学(一)预备知识_第9张图片
    • 可以正常登录每天5分钟玩转openstack跟学(一)预备知识_第10张图片
    • 可以访问外网每天5分钟玩转openstack跟学(一)预备知识_第11张图片

你可能感兴趣的:(OpenStack)