KVM专题(3)存储

KVM存储模式

基于文件系统的存储

dir:目录格式的存储
fs:磁盘分区存储
neyfs:网络共享文件存储

基于设备的存储

**

KVM支持的虚拟磁盘类型

raw
    这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像
    他并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案。不支持快照和压缩等高级特性
    格式简但,容易转换成为其它的格式。需要文件系统用的支持才能使用sparse file
cow : copy-on-write格式,昙花一现
qcow : QEMU早期的copy-on-write格式
qcow2
    按需分配磁盘空间,不管文件系统是否支持
    支持快照
    支持zlib的磁盘压缩
    支持AES的加密
vmdk
    VMware环境当中默认使用的磁盘格式
vhd\vhdx
    微软默认采用的文件格式

使用qemu-imgg管理虚拟磁盘

qemu-img是一个功能强制性磁盘镜像管理工具
  check                     检查完整性
    create                      创建镜像
    commit                  提交更该
    compare                比较
    convert                  转换
    info                        获得信息
    snopshot               快照管理
    resize                    调整大小
例如:
创建一块raw格式1g大小的虚拟磁盘
qemu-img create t1.img 1g   //默认磁盘会存放在当前目录下
创建一块qcow2格式10g大小的虚拟磁盘
qemu-img create t2.img  -f qcow2 10g
查看t2.img虚拟磁盘的具体信息
qemu-img info t2.img
检测t1.img磁盘的运行状态
qemu-img check t1.img
调整oa-disk.qcow2虚拟磁盘的大小,增加5个g
qemu-img resize oa-disk.qcow2 +5G    //注意磁盘扩容完毕之后需要在虚拟机的操作系统层面进行文件系统的创建
为oa-disk.qcow2创建快照
qemu-img snapshot -a s1 oa-disk.qcow2
查看刚刚创建的快照
qemu-img  snapshot  -l oa-disk.qcow2
回滚快照
qemu-img snapshot -a s1 oa-disk.qcow2

当我们把这些虚拟磁盘文件创建出来就可以添加到虚拟机中,称为虚拟机中的一块磁盘使用

使用一个具体的示例来演示:
qemu-img create -f  qcow2 vm1-disk1.qcow2 10G
virt-install     --name=vm1     --disk path=/tmp/vm1-disk1.qcow2 \        //指定安装到的磁盘文件路径
    --vcpus=1 --ram=1024 \                          //设置虚拟内存大小
    --cdrom=/tmp/CentOS-7-x86_64-DVD-1708.iso  \        //指定启动文件
    也可以是 --location   /tmp/CentOS-7-x86_64-DVD-1708.iso
    --network network=default      --graphics vnc,listen=0.0.0.0     --os-type=linux     --os-variant=Centos7.0

后备差异虚拟硬盘
在实际生产环境中可以将一个backing_file基础镜像作为父镜像,然后让多个虚拟机使用同一个父镜像,这样只需要为虚拟机提供一个基础镜像即可
对于父镜像来说,可以是raw或者是qcow2文件格式,但是使用父镜像的虚拟机来说必须使用qcow2
准备模板

qemu-img create -f qcow2 > -o backing_file=vm1-disk1.qcow2 \  //磁盘镜像为安装过操作系统的镜像
> oa-disk.qcow2      //关联基础磁盘跟父磁盘镜像
创建虚拟机
virt-install --import >  --name=oa > --vcpus=1 > --ram=1024> --disk path=/tmp/oa-disk.qcow2  > --network network=default > --graphics vnc,listen=0.0.0.0

注意当使用指定磁盘创建虚拟机之后,虚拟机磁盘文件属主属组变成qemu
如果我们此时移除或者是更改父镜像磁盘(基础镜像)则虚拟机无法启动

存储池:

存储池的基本概念
Libvirt可以以存储池的形式对存储进行统一管理、简化操作
对于虚拟机操作来说,存储池和卷并不是必须的


例如我们创建一个基于目录的存储池

mkdir /guest_images        //创建目录
chown root:root /guest_images/      //更改目录属主属组
chmod 700 /guest_images/             //更改权限
virsh pool-define-as  guest_images dir --target "/guest_images"  //创建存储池

创建一个基于分区的存储池

首先新建一块磁盘分区,然后使用virsh命令创建存储池
virsh pool-define-as guest_images2_fs   --source-dev "/dev/sdb1" --target "/guest_test(挂载点)"
virsh pool-start guest_images2_fs    //启动存储池

创建基于磁盘的存储池

新添加一块磁盘并且将磁盘格式更改成gpt格式
准备xml文件

<pool type=‘disk‘>
  <name>guest_images3_fs</name>
  <source>
    <device path=‘/dev/sdc‘/>
    <format type=‘gpt‘/>
  </source>
  <target>
    <path>/dev</path>
  </target>
</pool>
保存退出
virsh pool-define /tmp/guest_images_disk.xml       //使用xml文件创建存储池
virsh pool-start guest_images3_fs :启动存储池

创建基于iscsi的存储池

在iscsi Target服务器上面安装target服务,并配置
/backstores/block> create  block1 dev=/dev/sdb1   //基于磁盘划分
/backstores/fileio> create fikeio1 /tmp/foo1.img 50M  // 基于文件划分
/iscsi> create iqn.2019-02.org.linuxplus.srv1:tomtest //创建target
/iscsi/iqn.20...est/tpg1/luns> create /backstores/block/block1  //创建LUNS
create /backstores/fileio/fikeio1
create  iqn.1994-05.com.redhat:tomkvm1     //创建acl
在iscsi客户端进行配置
iscsiadm --mode discovery --type sendtargets --portal 192.168.153.8
iscsiadm -d2 -m node --login
注意要将iscsi客户端/etc/iscsi/initiatorname.iscsi文件中的信息改成对应的iqn信息InitiatorName=iqn.1994-05.com.redhat:tomkvm1



存储卷


**vol-create-as default test1.qcow2 1G --format qcow2 在默认目录下创建一个名为test1.qcow2存储卷

存储卷的管理
在virsh交互模式下进行
删除:
vol-delete lv-name vg-name
vol-delete test1.qcow2 default
将磁盘直接划分成逻辑卷
attach-disk
通过参数添加新的磁盘设备
virsh attach-disk --domain VM1 --source=/vm/t1.img --target=vdb --cache=none
先给虚拟机创建一个虚拟磁盘
创建虚拟磁盘的三种方法:
可以使用dd命令:
qemu-img工具来做
qemu-img create -f qcow2 test00.qcow2 2g
第三种方式:
virsh vol-create-as vm test00.qocw2 2g --format qcow2
创建xml文件**

virsh # attach-device vm1 /tmp/disk.xml --persistent
第二种添加方式
virsh# attach-disk vm1 /tmp/test00.qcow2 --target=vdc

其实我个人理解存储池就是存放虚拟磁盘的目录,而存储卷则是目录下面的虚拟磁盘文件

原文地址:http://blog.51cto.com/11970509/2349102

时间: 2024-11-09 00:57:53

KVM专题(3)存储的相关文章

Linux KVM迁移与存储

Linux KVM迁移与存储 1.环境描述: 如图1所示的网络环境,存储挂接到了NFS服务器上,通过交换机共享给了两台服务器KVM1和KVM2,操作系统均为64位的RHEL6.5,均运行着KVM虚拟机软件.要求服务器KVM1与KVM2上的KVM软件都连接到NFS共享存储上,并使用动态迁移的方法将KVM1上运行的KVM虚拟机VM11迁移到KVM2上运行.结果如下: 两台服务器上的KVM能够连接NFS共享存储: 能够基于共享存储新建KVM虚拟机并安装操作系统: 3) 动态迁移正常完成并且业务不中断.

KVM虚拟机共享存储动态迁移与冷迁移

运行环境一. 配置nfs共享服务器二. 配置KVM虚拟化三. 创建桥接网卡四. 配置kvm服务器并实现动态迁移五. 配置冷迁移运行环境KVM虚拟机两台(linux 7.4)IP地址:192.168.80.100(KVM01)IP地址:192.168.80.200(KVM02)共享服务器一台(linux 7.4)IP地址:192.168.80.102(share) 所有主机都执行:service firewalld stopsetenforce 0 一.配置nfs共享服务器yum install

BUPT复试专题—图像压缩存储

题目描述 以二维数组表示图像,其值只有0.1两种,寻找两幅图像中最大的相同方阵 输入 第一行输入一个n,接下来的2n行输入两个n*n数组,寻找一个最大的m*m子区域,使得两个数组在该子区域完全相同 输出 输出m 样例输入 4 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 0 样例输出 2 来源 2015机考C题 #include<iostream> #include<cstdio> #include<

烂泥:NFS做存储与KVM集成

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前有关NFS的文章,我们介绍的都是NFS的使用挂载等等.这篇文章我们介绍有关NFS作为存储使用. 既然本篇文章的主题是有关NFS的,我们还是先把NFS服务器搭建完毕.具体搭建过程可参考<烂泥:NFS存储与VSphere配合使用>,这篇文章. 在此有关NFS配置文件/etc/exports中的几个参数,我们需要先介绍下: ro 该主机对该共享目录有只读权限. rw 该主机对该共享目录有读写权限,需要配合no_root_squash参数使用. ro

Centos6.5安装配置KVM

1. vmware安装centos6.5 64位 (略) 其中有几个注意的地方:a. 内存给4g,CPU2颗b. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,启用CPU虚拟化 2.  安装kvm前的准备工作 a. 清除iptables规则 service iptables stop; service iptables save b. 关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /

KVM ---------centos 下安装

硬件:笔记本 软件:centos6.5 64位系统,kvm 做这个实验,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启. 1. vmware安装centos6.6 64位 (略) 其中有几个注意的地方:a. 内存给2gb. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,cpu是需要配置一下虚拟化的如图 2.  安装kvm前的准备工作a. 清除iptables规则service iptables stop; servi

kvm虚拟化安装配置

全虚拟化技术主要是xen和kvm,其中xen也支持半虚拟化,但是xen会替代系统内核,kvm作为rhel和centos自带的虚拟化软件,其是作为一个内核模块来工作的,下面就讲kvm虚拟化. 1. vmware安装centos6.6 64位 (略) 其中有几个注意的地方:a. 内存给2g   (因为你要在上面创建虚拟机如果给的太小虚拟系统如果内存给的太小可能跑不起来)b. 磁盘给50g, 用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,cpu是需要配置一下虚拟化. 2.  安装kvm前的准备

OpenStack、KVM、VMWare和Docker

一.虚拟化 1.什么是虚拟化 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 2.什么是虚拟化技术 虚拟化技术是一套解决方案.完整的情况需要CPU.主板芯片组.BIOS和软件的支持,例如VMM软件或者某些操作系统本身.即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能. 3.虚拟

CentOS7.4——KVM虚拟化一 安装配置及基本操作

KVM的安装配置与基本操作 目录第一部分 实验环境第二部分 安装图形界面第三部分 配置KVM虚拟化第四部分 创建桥接网卡第五部分 KVM虚拟环境中安装系统第六部分 克隆第七部分 其它命令 第一部分 实验环境Linux服务器一台IP地址:192.168.80.40(kvm01) 第二部分 安装图形界面[[email protected] ~]# yum groupinstall "GNOME 桌面" –y //安装图形界面注意,如果在控制台上操作(或者没有中文环境),yum groupi