络存储技术期中
文章目录
- 络存储技术期中
- HCIA
-
- 一、存储技术趋势
- 1.数据与信息
- 2.数据存储
- 3.存储技术的发展
-
- 3.1存储架构的发展
- 3.2存储介质大发展
- 3.3接口协议的发展
- 4.存储产品的发展趋势
- 二、智能存储组件
- 1.控制框
-
- 1.1控制器
- 1.2保险箱盘
- 1.3BBU模块
- 2.硬盘框
- 3.级联模块
-
- 3.1级联模块
- 3.2设备线缆
- 4.硬盘
-
- 4.1机械硬盘
- 4.2固态硬盘
- 5.接口模块
- 虚拟化与 络存储技术
-
- 一、虚拟化技术
- 1.虚拟化分类
-
- 1.1CPU
- 1.2服务器
- 1.3存储虚拟
- 1.4 络虚拟
- 1.5应用虚拟
- 2.Xen虚拟化技术简介
-
- 2.1Xen 虚拟化优点
- 2.2Xen 虚拟化缺点
- 3.KVM虚拟化技术简介
-
- 3.1功能
- 3.2优势
- 4、Red Hat RHEV虚拟化系统简介
-
- 4.1优点
- 4.2缺点
- 5、其他虚拟化技术
-
- 5.1VMware
- 5.2VirtualBox
- 5.3Hyper-V
- 二、Qemu——KVM
- 1、KVM原理
-
- 1.1工作流程
- 1.2KVM架构
- 1.3KVM模块
- 2、Qemu原理
-
- 2.1Qemu架构
- 2.2Qemu模块
- 2.3Qemu的特点
- 3、KVM和Qemu的关系
- Qemu工具的介绍
-
- 4.1qemu-img
- 4.2qemu-kvm
- 4.3qemu-ga
- 4.4qemu-io
- 4.5qemu-nbd
- 5、Qemu支持的磁盘格式介绍
-
- 5.1qemu-nbd
HCIA
一、存储技术趋势
1.数据与信息
数据的定义:数据是对所有数据的表示
2.数据存储
数据存储的定义
3.存储技术的发展
3.1存储架构的发展
存储架构的历程
3.3接口协议的发展
二、智能存储组件
1.控制框
控制框是承载了控制器的机框,对外提供存储服务,他是存储系统中的核心组件。控制框部件模块化设计,主要由系统插框、控制器、BBU模块、电源模块、管理模块和接口模块组成
1.3BBU模块
2.硬盘框
硬盘框采用部件模块化设计,主要由系统插框、级联模块、电源模块和硬盘模块等
组成。
3.2设备线缆
4.1机械硬盘
4.2固态硬盘
5.接口模块
1.2KVM架构
如图所示,左侧部分是一个标准的Linux操作系统,可以是RHEL、Fedora、Ubuntu等。KVM内核模块在运行时按需加载进入内核空间运行。KVM本身不执行任何设备模拟,需要用户空间程序QEMU通过/dev/kvm接口设置一个虚拟客户机的地址空间,向它提供模拟的I/O设备,并将它的视频显示映射回宿主机的显示屏。
2.2Qemu模块
QEMU本身并不是KVM的一部分,其自身就是一个著名的开源虚拟机软件。与KVM不同,QEMU虚拟机是一个纯软件的实现,所以性能地下。但是,其优点是在支持QEMU本身编译运行的平台上就可以实现虚拟机的功能,甚至虚拟机可以与宿主机并不是同一个架构。作为一个存在已久的虚拟机,QEMU的代码中有整套的虚拟机实现,包括处理器虚拟化、内存虚拟化,以及KVM使用到的虚拟设备模拟(比如 卡、显卡、存储控制器和硬盘等)
从QEMU和KVM模块之间的关系可以看出,这是典型的开源 区在代码共用和开发项目共用上面的合作。诚然,QEMU可以选择其他的虚拟机或技术来加速,比如Xen或者KQEMU;KVM也可以选择其他的用户空间程序作为虚拟机实现,只要它按照KVM提供的API来设计。但是在现实中,QEMU与KVM两者的结合是最成熟的选择,这对一个新开发和后起的项目(KVM)来说,无疑多了一份未来成功的保障。
2.3Qemu的特点
(1)QEMU的两种操作模式:完整的系统仿真和用户模式仿真(2)QEMU具有以下特点:
QEMU可以在没有主机内核驱动程序的情况下运行。
它适用于多种操作系统(GNU / Linux,* BSD,Mac OS X,Windows)和体系结构。
它执行FPU的精确软件仿真。
(3)QEMU用户模式仿真具有以下功能:
通用Linux系统调用转换器,包括大部分ioctls。
使用本机CPU clone的仿真为线程使用Linux调度程序。
通过将主机信 重新映射到目标信 来实现精确信 处理。
(4)QEMU全系统仿真具有以下特点:
QEMU可以选择使用内核加速器,如kvm。加速器本地执行大部分客户代码,同时继续模拟机器的其余部分。
可以仿真各种硬件设备,并且在某些情况下,客户机操作系统可以透明地使用主机设备(例如串行和并行端口,USB,驱动器)。主机设备传递可用于与外部物理外围设备(例如 络摄像头,调制解调器或磁带驱动器)交谈。
对称多处理(SMP)支持。目前,内核加速器需要使用多个主机CPU进行仿真。
3、KVM和Qemu的关系
Qemu是一个独立的虚拟化解决方案,通过intel-VT 或AMD SVM实现全虚拟化,安装qemu的系统,可以直接模拟出另一个完全不同的系统环境。QEMU本身可以不依赖于KVM,但是如果有KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel-VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。准确来说,KVM是Linux kernel的一个模块。

Qemu工具的介绍
4.1qemu-img
qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。qemu-img也是QEMU/KVM使用过程中一个比较重要的工具。下面我们将几条重要的选项讲解一下。
check [-f fmt] filename
对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对“qcow2”、“qed”、“vdi”格式文件的检查。
create [-f fmt] [-o options] filename [size]
创建一个格式为fmt大小为size文件名为filename的镜像文件
commit [-f fmt] [-t cache] filename
提交filename文件中的更改到后端支持镜像文件(创建时通过backing_file指定的)中去。
convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-s snapshot_name] [-S sparse_size] filename [filename2 […]] output_filename
将fmt格式的filename镜像文件根据options选项转换为格式为output_fmt的名为output_filename的镜像文件。
4.2qemu-kvm
此命令用于创建虚拟机,其使用格式为“qemu-kvm [options] [disk_image]”,其选项非常多,大致可分为如下几类:
标准选项;
USB选项;
显示选项;
i386平台专用选项;
络选项;
字符设备选项;
蓝牙相关选项;
Linux系统引导专用选项;
调试/专家模式选项;
PowerPC专用选项;
Sparc32专用选项
qemu-kvm的标准选项
该选项主要涉及指定主机类型、CPU模式、NUMA、软驱设备、光驱设备及硬件设备等。
qemu-kvm的显示选项
该选项主要用来配置虚拟机的显示状态
络属性相关选项
该选项用来配置虚拟机的 络信息。
4.3qemu-ga
qga是一个运行在虚拟机内部的普通应用程序(可执行文件名称默认为qemu-ga,服务名称默认为qemu-guest-agent),其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于 络,而是依赖于virtio-serial(默认首选方式)或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unix socket文件(宿主机上)
qga通过读写串口设备与宿主机上的socket通道进行交互,宿主机上可以使用普通的unix socket读写方式对socket文件进行读写,最终实现与qga的交互,交互的协议与qmp(QEMU Monitor Protocol)相同(简单来说就是使用JSON格式进行数据交换),串口设备的速率通常都较低,所以比较适合小数据量的交换。
4.4qemu-io
这是一个执行 Qemu I/O 操作的命令行工具,可以对qemu-img创建的镜像进行I/O测试,其帮助文档为,使用格式为qemu-io [-h] [-V] [-rsnm] [-c cmd] … [file],下面是常用的选项:
(1)-c, –cmd:执行指令;
(2)-r, –read-only:设置出口为只读模式;
(3)-s, –snapshot:使用快照文件进行测试;
(4)-n, –nocache:禁用主机缓存;
(5)-k, –native-aio:使用内核AIO实现(仅在Linux上);
(6)-t, –cache=MODE:对image使用指定的缓存模式。
4.5qemu-nbd
qemu-nbd在有的系统上叫kvm-nbd,qemu-nbd-xen等。基本上都一样。用qemu-nbd实现mount虚拟硬盘到Host上的功能。
络块设备: Network Block Device。可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。使用它,可以很方便的将另一台服务器的硬盘空间增加到本地服务器上。
NBD与NFS有所不同,NFS只是提供一个挂载点供客户端使用,客户端无法改变这个挂载点的分区格式。而NBD提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用。
5、Qemu支持的磁盘格式介绍
5.1qemu-nbd
①qemu-img支持非常多种的文件格式,我们可以通过“qemu-img –help”查看帮助文档得到,它支持二十多种格式:vvfat、vpc、vmdk、vhdx、vdi、ssh、sheepdog、rbd、raw、host_cdrom、host_floppy、host_device、file qed、qcow2、qcow、parallels、nbd、iscsi、gluster、 dmg、tftp、ftps、ftp、https、http、cloop、bochs、blkverify、blkdebug
文件格式:
②raw
raw格式是简单的二进制镜像文件,一次性会把分配的磁盘空间占用。
③ host_device
在需要将镜像转化到不支持空洞的磁盘设备时需要用这种格式来代替raw格式。
④qcow2
qcow2是QEMU目前推荐的镜像格式,它是功能最多的格式。
⑤qcow
较旧的QEMU镜像格式,现在已经很少使用了,一般用于兼容比较老版本的QEMU。它支持backing_file(后端镜像)和encryption(加密)两个选项。
⑥cow
copy-on-write format,写时复制格式。曾经qemu的写时拷贝的镜像格式,目前由于历史遗留原因不支持窗口模式,后来被qcow格式所取代。
⑦vdi
兼容Oracle(Sun)VirtualBox1.1的镜像文件格式(Virtual Disk Image)。
⑧vmdk
VMDK(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式,文件存在于VMware文件系统中,被称为VMFS(虚拟机文件系统)。
⑨ vpc
兼容Microsoft的Virtual PC的镜像文件格式(Virtual Hard Disk format)。
⑩sheepdog
Sheepdog项目是由日本的NTT实验室发起的,为QEMU/KVM做的一个开源的分布式存储系统,为KVM虚拟化提供块存储。
①①cloop
压缩的loop格式,主要用于可直接引导优盘或者光盘的一种镜像格式。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!