虚拟化存储技术

article/2025/9/23 15:09:42

文章目录

  • 前言
  • 一、HCLA存储技术趋势与智能存储组件
  • 1、HCLA存储技术趋势
    • (1)、什么是数据存储
    • (2)、数据存储系统
    • (3)、数据分类
    • (4)、数据存储发展趋势
    • 小结
  • 2、智能存储组件
    • 控制框
    • 硬盘框
    • 级联模块
    • 硬盘
    • 接口模块
  • 二、虚拟化与网络存储技术
    • 1、虚拟化技术
    • 2、KVM原理简介
    • (1)、KVM工作流程
    • KVM模块
    • (2)、KVM原理简介
    • 3、Qemu原理介绍
    • (1)Qemu模块
    • (2)Qemu的三种运行模式
    • (3)、Qemu的特点
    • 3、KVM和Qemu的关系
    • 4、Qemu工具介绍
    • qemu-img
    • qemu-kvm
    • qemu-ga
    • qemu-io
    • qemu-nbd
    • qemu-nbd


前言

信息在网络中的传输,需要借助数据作为载体,那么信息和数据的关系 是什么,数据存储的作用是什么?本文将介绍在计算机领域信息和数据的定义,以及它们之间的关系,数据存储的概念,发展历史和发展趋势


一、HCLA存储技术趋势与智能存储组件

1、HCLA存储技术趋势

(1)、什么是数据存储

在这里插入图片描述

(2)、数据存储系统

在这里插入图片描述

(3)、数据分类

在这里插入图片描述

(4)、数据存储发展趋势

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

2、智能存储组件

控制框

在这里插入图片描述
(2)、控制器
在这里插入图片描述
(3)电源模块
在这里插入图片描述

硬盘框

(1)、硬盘框形态
在这里插入图片描述
(2)硬盘框正后视图
在这里插入图片描述

级联模块

(1)
在这里插入图片描述
(2)交换机
在这里插入图片描述

硬盘

机械硬盘
在这里插入图片描述
(1)机械硬盘工作原理
在这里插入图片描述
(2)硬盘容量和缓存
在这里插入图片描述
(3)影响硬盘性能的因素
在这里插入图片描述
(4)硬盘的IOS和传输宽带
在这里插入图片描述
(5)、接口技术
在这里插入图片描述
在这里插入图片描述
固态硬盘
(1)概述
在这里插入图片描述
(2)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、虚拟化与网络存储技术

1、虚拟化技术

一、简单叙述常见的虚拟化技术分类;
三、XEN虚拟化技术的优缺点;
三、KVM虚拟化技术功能特性及优缺点;
四、红帽RHEV技术功能特性及优缺点;
五、简单叙述其他虚拟化技术的实现方法。

详细内容

2、KVM原理简介

(1)、KVM工作流程

    用户模式的qemu利用libkvm通过ioctl进入内核模式,kvm模块为虚拟机创建虚拟内存,虚拟CPU后执行VMLauch指令进入客户模式。加载Guest OS并执行。如果Guest OS 发生外部中断或者影子页表缺页之类的情况,会暂停Guest OS的执行,退出客户模式,执行异常处理,之后重新进入客户模式,执行客户代码。如果发生I/O事件或者信号队列中有信号到达,就会进入用户模式处理。![在这里插入图片描述](https://img-blog.csdnimg.cn/00ef18f76e7b416c9719c417d5ff37fe.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU18wNjEx,size_20,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述

KVM模块

KVM模块是KVM虚拟机的核心部分。其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟客户机运行在虚拟机模式下,并对虚拟客户机的运行提供一定的支持。
KVM模块加载之初,只存在/dev/kvm文件,而针对该文件的最重要的IOCTL调用就是“创建虚拟机”。在这里,“创建虚拟机”可以理解成KVM为了某个特定的虚拟客户机(用户空间程序创建并初始化)创建对应的内核数据结构。
处理器对设备的访问主要是通过IO指令和MMIO,其中IO指令会被处理器直接截获,MMIO会通过配置内存虚拟化来捕捉。但是,外设的模拟一般并不由KVM模块负责。一般来说,只有对性能要求比较高的虚拟设备才会由KVM内核模块来直接负责,比如虚拟终端控制器和虚拟时钟,这样可以大量减少处理器的模式切换的开销

(2)、KVM原理简介

KVM工作原理: 用户模式的qemu利用libkvm通过ioctl进入内核模式,kvm模块为虚拟机创建虚拟内存,虚拟CPU后执行VMLauch指令进入客户模式。加载Guest OS并执行。如果Guest OS 发生外部中断或者影子页表缺页之类的情况,会暂停Guest OS的执行,退出客户模式,执行异常处理,之后重新进入客户模式,执行客户代码。如果发生I/O事件或者信号队列中有信号到达,就会进入用户模式处理。

在这里插入图片描述
在这里插入图片描述

3、Qemu原理介绍

(1)Qemu模块

QEMU本身并不是KVM的一部分,其自身就是一个著名的开源虚拟机软件。与KVM不同,QEMU虚拟机是一个纯软件的实现,所以性能地下。但是,其优点是在支持QEMU本身编译运行的平台上就可以实现虚拟机的功能,甚至虚拟机可以与宿主机并不是同一个架构。作为一个存在已久的虚拟机,QEMU的代码中有整套的虚拟机实现,包括处理器虚拟化、内存虚拟化,以及KVM使用到的虚拟设备模拟(比如网卡、显卡、存储控制器和硬盘等)。
从QEMU和KVM模块之间的关系可以看出,这是典型的开源社区在代码共用和开发项目共用上面的合作。诚然,QEMU可以选择其他的虚拟机或技术来加速,比如Xen或者KQEMU;KVM也可以选择其他的用户空间程序作为虚拟机实现,只要它按照KVM提供的API来设计。但是在现实中,QEMU与KVM两者的结合是最成熟的选择,这对一个新开发和后起的项目(KVM)来说,无疑多了一份未来成功的保障。

(2)Qemu的三种运行模式

在这里插入图片描述1)第一种模式是通过kqemu模块实现内核态的加速。
2)第二种模式是在用户态直接运行QEMU,由QEMU对目标机的 所有 指令进行翻译后执行,相当于全虚拟化。
3)第三种模式则是KVM官方提供的kvm-qemu加速模式。

(3)、Qemu的特点

(1)QEMU的两种操作模式:完整的系统仿真和用户模式仿真。
(2)QEMU具有以下特点:
1、QEMU可以在没有主机内核驱动程序的情况下运行。
2、它适用于多种操作系统(GNU / Linux,* BSD,Mac OS X,Windows)和体系结构。

3、它执行FPU的精确软件仿真。
(3)QEMU用户模式仿真具有以下功能:
1、通用Linux系统调用转换器,包括大部分ioctls
2、使用本机CPU clone的仿真为线程使用Linux调度程序。
3、通过将主机信号重新映射到目标信号来实现精确信号处理。

(4)QEMU全系统仿真具有以下特点:
1、QEMU使用完整的软件MMU来实现最大的便携性。
2、QEMU可以选择使用内核加速器,如kvm。加速器本地执行大部分客户代码,同时继续模拟机器的其余部分。
3、可以仿真各种硬件设备,并且在某些情况下,客户机操作系统可以透明地使用主机设备(例如串行和并行端口,USB,驱动器)。主机设备传递可用于与外部物理外围设备(例如网络摄像头,调制解调器或磁带驱动器)交谈。
4、对称多处理(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的一个模块。
在这里插入图片描述

4、Qemu工具介绍

qemu-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的镜像文件。
info [-f fmt] filename
展示filename镜像文件的信息
snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename
“-l” 选项是查询并列出镜像文件中的所有快照,“-a snapshot”是让镜像文件使用某个快照,“-c snapshot”是创建一个快照,“-d”是删除一个快照。
rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
改变镜像文件的后端镜像文件,只有qcow2和qed格式支持rebase命令。
resize filename [+ | -]size
改变镜像文件的大小,使其不同于创建之时的大小。

qemu-kvm

此命令用于创建虚拟机,其使用格式为“qemu-kvm [options] [disk_image]”,其选项非常多,大致可分为如下几类:
标准选项;
USB选项;
显示选项;
i386平台专用选项;
网络选项;
字符设备选项;
蓝牙相关选项;
Linux系统引导专用选项;
调试/专家模式选项;
PowerPC专用选项;
Sparc32专用选项。

qemu-kvm的标准选项
该选项主要涉及指定主机类型、CPU模式NUMA、软驱设备、光驱设备及硬件设备等。
qemu-kvm的显示选项 该选项主要用来配置虚拟机的显示状态。
qemu-kvm的显示选项 该选项主要用来配置虚拟机的显示状态

qemu-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格式进行数据交换),串口设备的速率通常都较低,所以比较适合小数据量的交换。

qemu-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使用指定的缓存模式。

qemu-nbd

qemu-nbd在有的系统上叫kvm-nbd,qemu-nbd-xen等。基本上都一样。用qemu-nbd实现mount虚拟硬盘到Host上的功能。
网络块设备: Network Block Device。可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。使用它,可以很方便的将另一台服务器的硬盘空间增加到本地服务器上。
NBD与NFS有所不同,NFS只是提供一个挂载点供客户端使用,客户端无法改变这个挂载点的分区格式。而NBD提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用。

##5 Qemu支持的磁盘格式介绍

qemu-nbd

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)。
cloop
压缩的loop格式,主要用于可直接引导优盘或者光盘的一种镜像格式。


http://chatgpt.dhexx.cn/article/RNZMtuPB.shtml

相关文章

【KALI网络安全】DNS攻击(劫持和欺骗)与网络钓鱼的模拟和预防(1)

1、DNS概述 关于DNS的定义,作用,分类以及工作原理,博主已在【Windows Server 2019】DNS服务器的配置与管理——理论】这篇博客中陈述过。 要预防DNS劫持,必须了解它的攻击原理和过程 声明 本博客不是在向大家展示这些攻击的方法…

DNS 欺骗攻击基于ettercap

开启Apache服务器如下图所示 在/var/www/html文件夹下找到index.html 文件用自己新建的文件替换。此为自己新建主页 查看默认主页 本次实验使用kali (192.168.1.88/24) 以及win7系统虚拟机(192.168.1.133/24) Win7 IP Kali ip 查看ettercap 使用命…

DNS欺骗攻击、DDoS攻击、XSS攻击和SYN Flooding攻击

DNS欺骗攻击 攻击者冒充域名服务器,向目标主机提供错误的DNS信息,当用户尝试浏览网页,输入域名访问某网页,但实际上访问到的IP地址并不是该网页的IP地址,而是攻击者准备的网页的IP地址,所以用户在网页中提…

『网络协议攻防实验』DNS欺骗攻击与防御

前言 靶机:seedubuntu 12.01,IP:192.168.199.138攻击机:Kali-2020.4,IP:192.168.199.129工具:ettercap 原理 DNS(DomainNameSystem,域名系统),…

DNS欺骗攻击

1.DNS域名系统:其主要作用是把主机的域名解析IP地址的系统,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器。 DNS域名查询可以简单的分为五个步骤: 网络用户客户端提出域名转换IP地址的请求地址解析程序resolve生成查…

局域网下ARP欺骗以及DNS劫持

DNS又称为域名劫持 定义: 域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标…

Seed lab dns欺骗实验——dns localdns remote

文章目录 1. 实验2. 实验步骤及结果2.1 DNS _Local2.1.1 环境搭建容器部署DNS配置测试部署 2.1.2 The Attack TasksTask 1: Directly Spoofing Response to UserTask 2: DNS Cache Poisoning Attack – Spoofing AnswersTask 3: Spoofing NS RecordsTask 4: Spoofing NS Record…

局域网内dns欺骗

今天学习了dns欺骗,对自己的试验结果进行一次记录。 一:对dns文件进行编辑 我们使用的欺骗工具是ettercap,首先对dns的文件进行编辑,通过终端打开 通过 i 键进入编辑状态,然后在红色的矩形中输入,前面的*…

应用“Cain Abel”实现DNS欺骗

环境的搭建: 1,在Windows 7安装IIS服务,访问www.baidu.com或其他任意站点,保存首页文件至本地wwwroot文件夹中; (1)打开控制面板,找到“程序”,点进去 点击“打开或关闭…

DNS欺骗及防御技术

一、DNS工作原理 1、DNS:域名服务协议,提供主机域名和IP地址之间的转换。 属应用层协议,端口号为53。DNS数据通过无连接的UDP协议传递 2、过程: 被 二、DNS欺骗原理原理及实现 1、DNS欺骗原理 当客户主机向本地DNS服务器查询域名的…

使用kali里的dnschef进行DNS欺骗

1. 前言 DNSChef是针对渗透测试人员和恶意软件分析师的高度可配置的DNS代理。它能够精细配置哪些DNS回复以修改或简单地代理真实响应。为了利用该工具,您必须手动配置DNS服务器以指向DNSChef。 2. 执行参数 选项参数: -h,--help显示帮助信息并退出--f…

DNS欺骗实战

DNS工作过程特点 • DNS 查询请求是层层传递,查询和应答无严格身份验证、会话无加密 • 收到应答后 DNS 服务器会缓存结果 DNS是什么 • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能…

2.9 ARP和DNS欺骗

1、预备知识:ARP和DNS欺骗原理 1.1ARP欺骗 ARP(Address Resolution Protocol,地址解析协议)涉及TCP\IP体系结构中网络层的IP地址和数据链路层的MAC地址,即根据IP地址来查询对应的MAC地址。ARP欺骗的实质是破坏IP地址与…

网站被反诈中心DNS劫持解决教程

如果你的网站部分地区用户访问反馈访问不了,测试域名DNS被劫持到了127.0.0.1 或 0.0.0.0 可能是域名被墙了,或则被反诈中心拦截了,如果遇到该问题,需要检测单单被运营商拦截还是也有被反诈中心拦截。 排查过程: 可以把问题域名通过…

投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?

【编者按】这篇文章将详细讲解DNS欺骗(DNS投毒)及钓鱼网站原理知识,并通过Ettercap工具复现某购物网站的钓鱼漏洞,本文的重点是让您对ARP欺骗、DNS欺骗和钓鱼攻击有一定认识。真心希望这篇基础文章对您有所帮助,也欢迎…

DNS 系列(三):如何免受 DNS 欺骗的侵害

互联网上每一台设备都会有一个 IP 地址,我们在访问网站或发送信息时,其实都是通过 IP 地址达成准确请求的。但是这个 IP 地址由很长一串数字组成,记忆起来相当困难,所以我们创造了更实用的域名来代替 IP 地址。而如何将域名和 IP …

内网DNS欺骗与防护

一.实验目的 DNS欺骗即域名信息欺骗是最常见的DNS安全问题。域名系统(Domain Name System,DNS)是一个将Domain Name和IP Address进行互相映射的Distributed Database。DNS是网络应用的基础设施,它的安全性对于互联网的安全有着举足轻重的影响。但是由于DNS Protocol…

DNS欺骗与钓鱼网站

实验背景 钓鱼者运用社会工程学只是诱骗受害者,以未授权情况下获取对方的姓名、年龄、邮箱账号、甚至是银行卡密码等私人信息。 钓鱼往往呵社会工程学结合进行诱导,而社会工程学时黑客的内功,能否灵活运用可以体现一个黑客的个人修为&#…

DNS欺骗的艺术 | 域名劫持和网页挂马

0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担…

DNS欺骗原理及工作工程分析

DNS欺骗 DNS欺骗是这样一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为,它主要用于向主机提供错误DNS信息,当用户尝试浏览网页,例如IP地址为XXX.XX.XX.XX ,网址为www.bankofamerica.com,而实际…