Unraid等采用libvirt平台下的带SMART信息的硬盘直通教程

2020-11-14 16:58:50 9点赞 98收藏 21评论

很水的一篇教程,就是讲讲怎么像VMware的RDM一样,带SMART信息地把硬盘直通给虚拟机。适用于几乎所有基于libvirt的平台,包括但不限于Unraid, virt-manager, virsh等。

这个的原理是lun passthrough,限制比较多,比如说直通的硬盘必须挂在SCSI总线下,不一定适用于全部场合。性能上可能不如块设备直通,即使采用最快的virtio-scsi也不一定有virtio-blk的水平,虽然这个差异大部分情况下可以忽略不计。

下面是正文部分。这边以在Ubuntu 20.04上用virsh为例,其它平台可能有非常细微的不同,请自行调整。

首先开一个终端,用下面这条命令找到要直通的硬盘

ls /dev/disk/by-id/

Unraid等采用libvirt平台下的带SMART信息的硬盘直通教程

会有像这样的一大堆结果,以 part* 结尾的是分区,我们先不管它们。这里设备的命名规则是“[总线名]_[设备型号]_[设备序列号]”

这里一个设备会出现多次,比如图上的"ata-WDC_WD10EZEX-00RKKAO_WD-WMCXXXXXXXXX" 和 "scsi-1ATA_WDC_WD10EZEX-00RKKAO_WD-WMCXXXXXXXXX"表示的是同一个设备,接下来将以前者为例。我们先记下这个路径,也就是"/dev/disk/by-id/ata-WDC_WD10EZEX-00RKKAO_WD-WMCXXXXXXXXX"。

接下来我们给虚拟机添加一个虚拟的SCSI控制器(之前已经添加过了就不用添加了),进入xml编辑界面,找到 <devices>,在下面加入一行:

<controller type='scsi' model='virtio-scsi' />

model首选virtio-scsi,性能最好。如果需要兼容性,比如用在黑群晖下,请设成lsisas1068,这个就是VMware的LSI Logic SAS。

最后是把直通的硬盘挂到SCSI控制器下,还是在 <devices> 当中,加入下面的内容:

<disk type='block' device='lun'>

<driver name='qemu' type='raw' cache='none'/>

<source dev='/dev/disk/by-id/ata-WDC_WD10EZEX-00RKKAO_WD-WMCXXXXXXXXX' />

<target dev='sda' bus='scsi'/>

</disk>

source的dev修改成你需要直通的设备的路径,然后target的dev请自行调整,格式是sd[a-z],例如sda,sdb,并且不能与已有的重复。超过26个磁盘的话是sdaa,sdab……,和Excel的列号类似,最多可以到sdzzz。

保存退出,然后启动虚拟机,虚拟机里就可以读到硬盘的smart了。

Unraid等采用libvirt平台下的带SMART信息的硬盘直通教程


展开 收起
21评论

  • 精彩
  • 最新
  • 命令行呢?空白的?什么鬼d(ŐдŐ๑>

    校验提示文案

    提交
    张大妈客户端有问题,电脑能看见

    校验提示文案

    提交
    收起所有回复
  • 你引号里面的代码不见了 [龇牙]

    校验提示文案

    提交
    张大妈客户端问题,电脑能看见

    校验提示文案

    提交
    收起所有回复
  • 想知道这样直通是不是虚拟的群晖就能硬盘休眠了

    校验提示文案

    提交
    可能可以,我没试过倒是

    校验提示文案

    提交
    收起所有回复
  • VM rdm 可以看smart信息??

    校验提示文案

    提交
  • 为啥我unraid自带直通啥设置也没做?

    校验提示文案

    提交
  • 楼主,我是unraid虚拟的黑裙,昨晚折腾到凌晨三点多没有搞定楼主说的这个可以获取smart信息的方法,还望楼主可以指点迷津。

    校验提示文案

    提交
    为什么不直通控制器?

    校验提示文案

    提交
    没接扩展卡,直通控制器实现不了。

    校验提示文案

    提交
    收起所有回复
  • Unraid按这种方法直通,跟普通方法直通性能有提升吗?

    校验提示文案

    提交
  • 兄弟,你这个不行的呀,能不能把你的xml贴上来?我unraid下用黑群晖折腾不出来你这个,外网Google也找不到相关的信息,你这个只是理论上的没经过实践吧?

    校验提示文案

    提交
  • UNRAID 6.9.1这个直通硬盘的方法不行,还有其他方法么?

    校验提示文案

    提交
  • UNRAID 6.92下群辉成功显示SMART [喜极而泣] [喜极而泣]

    校验提示文案

    提交
    请问是it还是ir模式。看了下你另外的16t的疑问,lsisas1078不知道行不行。去看看 参考这个

    校验提示文案

    提交
    收起所有回复
  • lsisas1068貌似不支持16TB硬盘额,3TB成功识别,黑裙virtio-scsi又不认 [喜极而泣] 有办法嘛?

    校验提示文案

    提交
    请问下怎么设置的。我跟着设置了不行。没有显示有硬盘

    校验提示文案

    提交
    我是用传统方法直通装好群晖后,再按楼主方法修改识别的,而且只有6.2.3成功了,7.0存储池损毁且无法修复;truenas可以识别硬盘,但无法格式化存储池报错。直通之路太曲折了 [大囧] [哭泣]

    校验提示文案

    提交
    收起所有回复
  • 请问怎么才能知道硬盘是否挂在SCSI总线下?必须要SCSI接口的硬盘吗?

    校验提示文案

    提交
  • “比如说直通的硬盘必须挂在SCSI总线下”这句话的意思是:物理硬盘要接在主板上的SCSI总线上吗?sata口的硬盘不能走SCSI总线吧?

    还是说SCSI总线是指unraid里面虚拟出来的virtio-scsi虚拟总线呢?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
98
扫一下,分享更方便,购买更轻松