什么是VHD(X),如何创建VHD(X)
VHD(Virtual Hard Disk) - 虚拟硬盘
虚拟磁盘VHD是一款软件,传统意义上来说,在物理机上安装一个先行版的操作系统(OS),就意味着要格式化硬盘,然后如同安装其他任何Windows Server操作系统一样进行安装。这种方式当然可以用于安装Windows Server 10,但是若用虚拟磁盘VHD功能启动会更有优势。因为虚拟磁盘VHD启动在当每个操作系统都存在于单独的虚拟磁盘VHD时候更容易创建多重引导环境。那样,你就可以测试多种虚拟磁盘VHD配置,而不必担心多个操作系统安装在同一个虚拟磁盘VHD上的复杂性。
正如虚拟机是假装有一个单独的电脑,虚拟硬盘就是假装有一块单独的硬盘
VHD技术其实是非常古老的技术了,甚至微软几年前就已经有了新的解决方案-VHDX
正类似MBR与GPT,VHD最大只能支持2T的硬盘容量,VHDX不被Win7支持(但是VHD可以把硬盘分区表设为GPT格式)。
类似于水管,VHD与VHDX是上半段,GPT与MBR是下半段,上游水管最多只过2L,下面的水管修的再宽再大也就那点水。
####
虚拟机可以模拟单独的电脑进行开关机,增减硬件
|---------------------D盘-----------------| |-----------------------------------------| |--数据---||----单独的电脑---||----数据------|
虚拟硬盘:
虚拟硬盘可以模拟单独的硬盘进行分区,格式化
|------------------D盘--------------------| |-----------------------------------------| |--数据---||----单独的硬盘---||----数据------|
如何创建VHD、VHDX
创建VHD分为两种方式 : 用户界面 与 命令行 我们可以通过磁盘管理器按照向导轻松创建VHD,也可以通过diskpart工具快速地创建VHD。(在Windows2008 R2中则必须先安装Hyper-V后才能创建VHD)
磁盘管理创建vhd、vhdx
1 .同时按 Win +X键 打开磁盘管理
2.等加载完毕之后,在上方点 操作 - 创建VHD(虽然是创建“VHD”,但创建VHDX时也是这项)
3填入相应的信息,什么是VHD(X),如何创建VHD(X)这里为了演示,只选了比较小的容量,其实可以选大一点,因为硬盘是可以分区的,可以按区分配卷标(也是就C:\ D:\ 中的字母) 使用后可以对卷进行格式化,不用再等文件删除不用担心只是删到回收站,非常方便
4.虽然系统很恶心的不给任何提示,但是它会自动加载上去,在下方的硬盘或者打开硬盘编辑软件都可以看到新多了一块硬盘
5.接下来按照正常的磁盘操作就可以了
通过命令创建创建vhd
1.右键 开始菜单 的 Windows图标 , 选择 命令行(管理员)/PowerShell(管理员)
2.输入diskpart 进入工具
输入:
create vdisk file=D:\Demo2.vhd maximum=3072 type=fixed*file=D:\Demo2.vhd
就是之后的文件路径 maximum=3072 是以MB算的容量也就是3GB,type=fixed也就是固定大小
3.命令完成是有提示的,之后也会自动挂载
至此,一个容量为3G的空VHD硬盘就成功轻松创建了!
VHD&VHDX 优点
1.名词解释:
VHD:Virtual Hard Disks,虚拟硬盘(文件格式)。
VHDX:Virtual Hard Disk v2,第二代虚拟硬盘(文件格式)。
2.主要区别:
VHD | VHDX | |
最大容量 | 2040GB | 64TB |
最大逻辑扇区大小 | 512 bytes | 4096 bytes |
断电保护 | 不支持 | 支持 |
Trim指令 | 不支持 | 支持 |
3.用于存储文件的好处:
- 换取操作大量文件的连续读写性能。这在机械硬盘上十分重要,由于机械硬盘随机读写性能(4K)普遍孱弱,尤其是当您拥有成千上万个文件需要复制或转移,可先利用VHD存储大量的文件,只需要取消挂载VHD后复制VHD文件本身,效率比转移大量文件高不少。
- VHD中存储文件类似于压缩包,但VHD不压缩文件,反而由于里面携带了额外的文件系统信息会占用更多容量
(GPT+NTFS约100MB)。但它可以提供压缩包不具有的优势:无需解压,挂载即用。尽管某些软件提供对rar/zip/tar等压缩包格式的直接读取,但并不是所有软件都支持这一特性。在存储GB级大量文件时,选择VHD保存无疑是一个化零为整的极好选择,在下次读取时无需解压直接读取,也意味着无需考虑解压需要的两倍容量。
3.差分特性。VHD和VHDX均支持差分,子硬盘从父硬盘继承所有数据,并将以后的修改存储在子硬盘中。这一特性不仅可以用来备份,也可以用来防止病毒侵袭,版本控制等等用途。
4.磁盘会压缩,VHD 磁盘压缩是用户每次注销时都会运行的过程,旨在根据预定义的阈值自动减少用户的容器使用的存储量。
默认情况下,VHD 磁盘压缩处于 启用状态 。 如果要禁用它,请参阅 禁用 VHD 磁盘压缩。
确定何时运行 VHD 磁盘压缩
- A - B = C
- 如果 C ≥ (A x 0.2) ,则会运行压缩。
- 如果 C < (A x 0.2) ,则不会运行压缩。
容器 | 固定/动态 | 配置的大小 | 已用大小 | 会压缩吗? | |
| 动态 | 30 GB | 6 GB | 2.5 GB | 是 |
| 动态 | 30 GB | 12 GB | 10 GB | 否 |
| 固定 | 30 GB | 30 GB | 空值 | 否 |
将磁盘镜像做成dd格式,丢进vhd里会压缩,效果类似e01(例:一个2T硬盘,使用500G,做镜像后,e01镜像大小为400G,制作dd镜像后放进vhd中,vhd大小为500左右)
可以使用 Windows 事件日志来了解 VHD 磁盘压缩的使用频率、节省的空间以及运行所需的时间。
此示例使用 PowerShell 获取过去 30 天内的 VHD 磁盘压缩事件(格式化为网格)。 在提升的 PowerShell 提示符下,运行以下代码块:
# Set startTime to number of days to search the event logs$startTime = (Get-Date).AddDays(-30)
# Query Event Log using Get-WinEvent filtered to the VHD Disk Compaction metric events
$diskCompactionEvents = Get-WinEvent -FilterHashtable @{
StartTime = $startTime
ProviderName = 'Microsoft-FSLogix-Apps/Operational'
EventID = 57
}
# Format event properties
$compactionMetrics = $diskCompactionEvents | Select-Object `
@{l="Timestamp";e={$_.TimeCreated}},`
@{l="ComputerName";e={$_.MachineName}},`
@{l="Path";e={$_.Properties[0].Value}},`
@{l="WasCompacted";e={$_.Properties[1].Value}},`
@{l="TimeSpent(sec)";e={[math]::round($_.Properties[7].Value / 1000,2)}},`
@{l="MaxSize(GB)";e={[math]::round($_.Properties[2].Value / 1024,2)}},`
@{l="MinSize(GB)";e={[math]::round($_.Properties[3].Value / 1024,2)}},`
@{l="InitialSize(GB)";e={[math]::round($_.Properties[4].Value / 1024,2)}},`
@{l="FinalSize(GB)";e={[math]::round($_.Properties[5].Value / 1024,2)}},`
@{l="SavedSpace(GB)";e={[math]::round($_.Properties[6].Value / 1024,2)}}
# Display metrics in Out-GridView
$compactionMetrics | Out-GridView
5.vhd、vhdx为块文件,在传输、归档的时候,便于传输数据及传输速度相当稳定,不会有碎文件大量读写占用传输速率的情况
4.推荐使用vhdx
- 支持的虚拟硬盘的存储容量高达 64 TB。
- 通过记录对 VHDX 元数据结构的更新,可以在电源发生故障时保护数据不会被损坏。
- 改进了虚拟硬盘格式的对齐方式,可在大型扇区磁盘上更好地工作。
VHDX 格式还提供以下功能:
- 动态磁盘和差异磁盘较大的数据块大小,可让这些磁盘满足工作负荷的需求。
- 一个 4 KB 的逻辑扇区虚拟磁盘,可以在为 4 KB 扇区设计的应用程序和工作负荷使用该磁盘时提供较高的性能。
- 能够存储有关用户可能想记录的文件的自定义元数据,如操作系统版本或应用的修补程序。
- 高效地表示数据(也称为“剪裁”),使文件大小更小并且允许基础物理存储设备回收未使用的空间。(剪裁需要直接连接到虚拟机或 SCSI 磁盘的物理磁盘以及与剪裁兼容的硬件。)