自从了解到Windows2012支持块去重和存储池以后,文件共享服务器装2012R2成了首选
有台N36L跑Windows2012R2,3Tx4做的存储池,里面虚拟磁盘做的mirror方式,所以允许损坏单侧的一半硬盘
刚好发现在拷贝数据的时候忽然变慢,用HDTune查看了一下,发现有坏道,于是换了块硬盘
由于之前在虚拟机下测试过,也在Win8.1下实际应用过更换硬盘,所以就想当然的关机,换硬盘,开机
在进入系统之后,手工添加新增的硬盘到存储池后,发现并没有自动恢复存储池
于是乎搜索了一番(如果是Win8.1它在添加完磁盘后会自动开始重组的)
经过若干个小时的数据备份(因为怕误操作导致数据丢失)
以下就是命令行的恢复方法
输入如下命令列出所有物理磁盘

Get-PhysicalDisk |? { $_.ObjectId.Contains( $PhysicalDiskGUID ) }
 FriendlyName CanPool OperationalStatus HealthStatus Usage
 ------------ ------- ----------------- ------------ -----
 PhysicalDisk3 False OK Healthy Auto-Select
 PhysicalDisk1 False OK Healthy Auto-Select
 PhysicalDisk0 False OK Healthy Auto-Select
 PhysicalDisk4 False OK Healthy Auto-Select
 PhysicalDisk2 False OK Healthy Auto-Select
 PhysicalDisk-1 False Lost Communication Warning Retired

PhysicalDisk-1就是系统记录的更换下去的旧硬盘,显示状态为Lost Communication,我们需要输入以下命令让它“退休”

Set-PhysicalDisk -FriendlyName "PhysicalDisk-1" -Usage Retired

接着输入命令重组和坏硬盘相关的虚拟磁盘,我的虚拟磁盘命为vd1,你需要替换为你自己的虚拟磁盘名

Repair-VirtualDisk -FriendlyName vd1

之后得到如下恢复进度

Repair-VirtualDisk -FriendlyName vd1
已完成 1/2
[oooooooooooooooooooooooooooooooooooooooooooooooooooooo
剩余 00:00:02。
Repairing virtual disk
Running
[ooooooo

如果不小心这个窗口关闭了,则输入如下命令是查看存储池任务进度

Get-StorageJob

得到如下进度

Get-StorageJob

 Name ElapsedTime JobState PercentComplete IsBackgroundTask
 ---- ----------- -------- --------------- ----------------
 Repair 02:51:18 Running 66 False
 Regeneration 00:00:00 Running 66 True

最后输入以下命令彻底删除损坏的硬盘

Remove-PhysicalDisk -FriendlyName "PhysicalDisk-1"

在后续的使用过程中,发现修复完的虚拟磁盘在重新启动计算机之后没有自动挂载,另外如果是从其他计算机导入过来的存储池也不会自动挂载,需要自动挂载需要输入以下命令
查看虚拟磁盘状态

Get-VirtualDisk

 FriendlyName ResiliencySettingNa OperationalStatus HealthStatus IsManualAttach Size
me
 ------------ ------------------- ----------------- ------------ -------------- ----
 vd1 Mirror OK Healthy True 5.0 TB

可以看到,此时vd1这块虚拟磁盘的IsManualAttach参数为True,将虚拟磁盘vd1变更为自动挂载,输入以下命令
注:必须以管理员身份运行PowerShell

Set-VirtualDisk -FriendlyName vd1 -IsManualAttach $False

如果有多个虚拟磁盘想同时开启自动挂载,则可以输入以下命令

Get-VirtualDisk | Where-Object {$_.IsManualAttach –eq $True} | Set-VirtualDisk –IsManualAttach $False

标签: none

已有 3 条评论

  1. 球球 球球

    你好,我想咨询一下关于PS命令的问题,以下是我的操作和反馈记录,我是想强制修改硬盘的介质属性,不知道为什么测试不通过!
    PS C:\Users\administrator.AD220> set-physicaldisk -uniqueid 50026B775506589C -mediatype HDD
    set-physicaldisk : Not Supported
    Activity ID: {c3314819-af64-489d-8806-d1e5f9e16e0b}
    所在位置 行:1 字符: 1
    + set-physicaldisk -uniqueid 50026B775506589C -mediatype HDD
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (StorageWMI:ROOT/Microsoft/..._StorageCmdlets) [Set-PhysicalDisk],CimE
    xception
    + FullyQualifiedErrorId : StorageWMI 1,Set-PhysicalDisk

    1. tKC tKC

      用这个方式试试?
      set-physicaldisk -friendlyname physicaldisk3 -mediatype hdd
      physicaldisk3 根据自己名称改一下

  2. lionmod lionmod

    找到一篇能操作的文章了十分感谢,但是我的win10现在物理磁盘还显示正在删除。。。。存储空间的的文件还是拿不出来。。。郁闷

添加新评论