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

     
    一、KVM 存储虚拟化介绍
    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。
    Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型;
    Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。
    存储池的意思就是可以在kvm 环境当中给你虚拟机提供硬盘资源目录
     
    /var/lib//libvirt/images/  这个目录就是存储池
    centos7.0-test.qcow2  CentOS-7-x86_64-DVD-1804.iso  test1.qcow2  testone.qcow2  这些文件就是卷
    test1.qcow2   这就是一个磁盘
     
    二、目录类型的 Storage Pool
    文件目录是最常用的 Storage Pool 类型。KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool
    Volume 是该目录下面的文件了,一个文件就是一个 Volume。
     
    怎么去添加硬盘呢
     
    默认路径就是这个
     
     
     
    这边也有了
     
    virtual size: 5.1G (5476083712 bytes)   5G大小
    disk size: 1.4M   实际用量
     
    VirtIO   是更好地支持qemu对虚拟机的输入输出的管理,只有虚拟化里磁盘的类型才有VirtIO
     
     
    现在打开虚拟机看看这个卷在虚拟 机里是怎样的状态
     
     
    lsblk  查看块设备
    想用这块盘就先分区
    fdsik
    完后做文件系统
    mkfs
    完后在挂载
    mount
    如果不想要了直接删除
    完后再确认一下
    发现没有了
    再查看默认存储池里有没有
    发现还在
    如果不用直接删除就可以
     
     
    那这是默认的存储池,如果觉得默认的特别麻烦,或者是想把这个存储池另外用一块硬盘,给它提供存储池
    首先先要在宿主机里添加一块儿硬盘并且把这个硬盘挂载到目录下面=
     
    在宿主机里
    [root@server ~]# mkdir /pool
    想把pool当做存储池
     
     
     
     
     
     
     
    如果用的话就选择和刚才的流程都一样
     
    那么kvm是如何把这个pool目录当成存储池的呢
    实际上kvm都把所以的存储池都定义在宿主机的/etc/libvirt/storaged 目录下,每一个存储池都是.xml 的文件
    [root@server images]# cd /etc/libvirt/
    [root@server libvirt]# ls
    libvirt-admin.conf  libvirtd.conf  nwfilter  qemu.conf        secrets  virtlockd.conf
    libvirt.conf        lxc.conf       qemu      qemu-lockd.conf  storage  virtlogd.conf
    [root@server libvirt]# cd storage/
    [root@server storage]# ls
    autostart  default.xml  pool.xml
     
    [root@server storage]# vim default.xml       和我们虚拟机的配置文件一样
    [root@server storage]# vim pool.xml      查看新创建的存储池
     
    虚拟机的配置文件也保存在
    也储存在   /etc/libvirt/qemu
    这是我们刚才的两个虚拟机
     
     
    虚拟机的配置文件
    /etc/libvirt/qemu
    默认存储池在
    /var/lib/libvirt/images/
    存储池配置文件在
    /etc/libvirt/storage
     
     
    如果是在环境下删除虚拟机(首先虚拟机在关机状态下)
     
    virsh list --all  查看是否关机状态
    virsh undefine 虚拟机名字
    删除一个虚拟机只是把它的配置文件在KVM中删除了,那么硬盘还是保留在的,如果想完整删除,必须得把硬盘也删除了
    下图为老师的操作
     
    如何恢复删除的虚拟机(前提是你得把虚拟机的配置文件cp一份到别的路径下这样才能恢复,如果没有是恢复不了的)
     
    virsh define  配置文件名     
    首先路径不能修改
     
    这样就恢复了可以  virsh list --all  查看
     
     
     
    把A2虚拟机迁移到B1里面 让它直接就可以使用
    就是把配置文件和磁盘发过去
    发送配置文件
    [root@server qemu]# pwd
    /etc/libvirt/qemu
    [root@server qemu]# ls
    centos7.0-test.xml  networks  testone.xml
    [root@server qemu]# scp testone.xml root@192.168.193.135:/root/
    root@192.168.193.135's password:
    testone.xml                                                  100% 4569   294.1KB/s   00:00   
    发送磁盘
    [root@server images]# pwd
    /var/lib/libvirt/images
    [root@server images]# scp testone.qcow2  root@192.168.193.135:/root/
    发送过去后还需修改磁盘路径
    [root@server images]# ssh 192.168.193.135
    root@192.168.193.135's password:
    Last login: Tue May 28 20:12:40 2019
    [root@localhost ~]# ls
    testone.qcow2     testone.xml
    把硬盘移动到
    [root@localhost ~]# mv testone.qcow2  /var//lib/libvirt/images/
     
    修改配置文件     此路径要和   mv 的路径要一致
    [root@localhost ~]# vim testone.xml
     
     
     
    [root@localhost ~]# virsh define testone.xml     定义域
    定义域 testone(从 testone.xml)
     
    [root@localhost ~]# virsh list --all
    Id    名称                         状态
    ----------------------------------------------------
    -     centos7.0-testone              关闭
    -     testone                        关闭
     
     
    查看是否存在
     
     
    登录
    检查是否能运行,可以运行的话冷迁移实验成功
     
     
    热迁移:机器在开机的状态下迁移
    冷迁移:机器关机状态进行迁移
     
     
    ssh 如果出现报错
    是因为之前连过这个IP 公钥已存在,而现在公钥跟新,或者是IP一样,机器不一样
    在/root 下有隐藏文件   .ssh 
    ls -a  查看
    cd .ssh/
    ls  查看  有个  known_hosts 文件
    vim   known_hosts   编辑  
    把IP错误的那个IP和他有关的删除重新就可以了
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

  • 相关阅读:
    myeclipse项目转到eclipse中
    线程防止冲突
    Flex FLOWBOX 添加RichText 不换行
    win7 修复系统文件
    一月学习socket tcp通信总结
    flex
    [调试技巧] 如何利用WinDbg找出程序崩溃的位置
    Class Struct 转Byte Serialize Marshal 区别
    C#捕获摄像头进行拍照和录像资料总结
    WebBrowser控件使用技巧分享
  • 原文地址:https://www.cnblogs.com/hao6/p/12864059.html
Copyright © 2011-2022 走看看