zoukankan      html  css  js  c++  java
  • KVM虚拟化存储管理

    kvm存储虚拟化

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。

    Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型;

    Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

    目录类型的 Storage Pool

    文件目录是最常用的 Storage Pool 类型。KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool

    Volume 是该目录下面的文件了,一个文件就是一个 Volume。

     

    那 KVM 是怎么知道要把 /var/lib/libvirt/images 这个目录当做默认 Storage Pool 的呢?

    实际上 KVM 所有可以使用的 Storage Pool 都定义在宿主机的 /etc/libvirt/storage 目录下,每个 Pool 一个 xml 文件,如下:

     

    认有一个 default.xml,其内容如下:注意:Storage Pool 的类型是 “dir”,目录的路径就是/var/lib/libvirt/images

     

    创建Storage Pool

    一 打开虚拟机,为其虚拟机添加硬盘(添加存储)

    二 设定好大小之后,选择管理

    三 弹出对话框,点击左下角+号,为你的存储池设定名字和选择类型

    四 为存储池选定路径,可以是自定义的,也可以选择默认的

    五 删除存储池要先停掉存储池,点击圆点,而后点击圆圈内的拔×

    虚机添加volume

    一 先选择存储池,而后点击卷字旁的+号

    二 弹出对话框,设定卷名,设定格式,设定卷大小

    以上创建的卷 命名.qcow2 是一个文件,路径在/自定义或默认。使用文件做 Volume 有很多优点:存储方便、移植性好、可复制。

    KVM 支持多种 Volume 文件格式:

    raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。

    qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。

    vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。

    kvm冷迁移

    如何做冷迁移(就是说必须在关机的状态下做)

    迁移磁盘和配置文件

    第一步

    先查看你的虚拟机保存在哪

    虚拟磁盘源路径就是他的保存位置

    第二步

    cd /nfsdate(进入此路径)

    第三步

    scp 磁盘名 另一台ip:/var/lib/libvirt/images(资源池)

    第四步

    cd /etc/lib/libvirt/qemu (虚拟机配置文件保存路径)

    第五步

    scp 配置文件名 ip:/root

    第六步

    virsh define /root/文件名 (这是从新定义虚拟机)
    
    virsh undefined vm1 删除域

    第七步

    vim /root/文件名
    
    找到磁盘配置段
    
    <devices>
    
    <source file=’/var/lib/libvirt/images/vm1.qcow2’/>

    第八步

    定义域

    第九步

    修边虚拟机的网络源要一致 改NIC 将网络源选择另一台虚拟机有的网络源,另一台也选择此网络源,两

    第十步

    virsh start vm1 (启动虚拟机)
    
    virsh list(只显示开机的虚拟机)
    
    virsh list  - - all (开机关机的都显示)

    第二台管理第一台,与之前一样,点击文件,添加,而后会提示下载一个软件包,下载就可以。选择强制安装。(切记,安装的时候,本地要配好源)

    如果系统用的是7.3以下。要做以下操作

    vim /etc/default/libivrt-bin
    
    start_libvirtd
    ="yes"
    libvirtd_opts
    ="-d -l"

    vim
    /etc/libvirt/libvirtd.conf
    listen_tls
    =0
    listen_tcp
    =1
    unix_sock_group
    =";ibvirtd"
    unix_sock_ro_perms
    ="0777"
    unix_sock_rw_perms
    ="0770"
    auth_unix_ro
    ="none"
    auth_unix_rw
    ="none"
    auth_tcp
    ="none"
  • 相关阅读:
    linux API 获得文件属性
    Linux 服务端设计
    Linux C++ 使用LuaBind嵌入lua脚本
    Linux 编译安装Boost (转)
    Navicat for My SQL 查看中文乱码问题
    fastbuild联编ue4 shader的使用
    fastbuild进行ue4 shader连编
    maya 插件学习之pythonCharm和Qt环境搭建
    ue4 头发渲染
    ue4 新渲染管线整理
  • 原文地址:https://www.cnblogs.com/shuaiyin/p/10953387.html
Copyright © 2011-2022 走看看