Promox VE(PVE)虚拟环境安装虚拟黑群晖,也能实现像EXSi直通SATA控制器那样实现硬盘休眠,而且硬盘管理比EXSi要灵活。PVE虚拟黑群晖硬盘休眠的关键也是隐藏引导磁盘和SATA控制器直通,本文将详细介绍PVE虚拟机安装黑裙并开启硬盘休眠的详细步骤。

先上结论:上图一共5块硬盘和虚拟硬盘,分别在PVE虚拟环境下通过以下5种方式添加给黑裙,而且都能一起实现休眠:

直通SATA控制器(包括eSATA)

映射的单个硬盘(包括eSATA)

直接添加虚拟磁盘

直通USB控制器

直通单个USB硬盘

其中最惊喜的是在完全隐藏群晖引导盘后,PVE虚拟黑裙就算添加了虚拟磁盘也不影响硬盘休眠。在群晖的“存储空间管理员”里面也能看到虚拟磁盘的S.M.A.R.T信息,这就不难理解了:PVE提供给群晖假的S.M.A.R.T信息,让群晖硬盘得以休眠。

一、虚拟机环境设置

1、黑群晖虚拟机的硬件配置入下图,机器是默认的“i440fx”,引导盘是“sata0”:

2、把虚拟机的“机器”改成“q35”,默认的“i440fx”在用Jun引导的第三项“VMWARE/ESXi”引导的时候会无限要求重装DSM系统或找不到硬盘。

3、引导盘先“分离”再“编辑”,改到sata5,PVE虚拟环境的SATA控制器最多只能添加6个SATA硬盘,sata5是最后一个,便于隐藏引导盘。改完以后“硬件”配置如下图:

二、直通SATA控制器

编辑/etc/default/grub开启PVE直通:

打开PVE节点的shell,输入命令:

nano /etc/default/grub

在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"

intel CPU修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

amd cpu请改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

编辑完成后按“Ctrl + X” > “Y” > “回车”,确认保存并退出。

再更新一下配置:update-grub

编辑/etc/modules加载硬件直通相关模块:

到这里先不要重启,在PVE的shell中输入:

nano /etc/modules

查看modules中是否有这些模块,如果没有就添加到文件末尾。修改好重启PVE系统使设置生效。

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

添加SATA控制器:

重启之后PVE硬件直通的设置就生效了,点击“DSM虚拟机” > 硬件 > 添加 > PCI设备 > 选选择SATA控制器,最后点击“添加”把SATA控制器添加给群晖虚拟机。

然后用同样的步骤给群晖虚拟机添加USB控制器或者单独的USB设备

三、映射单个硬盘

打开PVE节点的shell,输入命令:

ls -l /dev/disk/by-id/

就能看到系统当前所有未直通SATA控制器下的硬盘和分区,其中“ata”开头的就是SATA硬盘的ID,复制备用;最后面的“sdx”是盘符,后面也要用到。

输入以下命令映射单个硬盘给虚拟机-:

qm set 100 --sata0 /dev/disk/by-id/ata-WDC_WD2500BEVT-22ZCT0_WD-WXHZ08044989

“qm set”其实是类似与EXSi RDM的磁盘映射,后面的参数“100”是群晖虚拟机的编号,“sata0”表示添加到SATA控制器的第一块硬盘,“/dev/disk/by-id/”表示按硬盘的ID添加,最后面加上硬盘的ID。

添加成功够就能在虚拟机的硬件选项卡看到“sata0”磁盘映射:

四、添加eSATA硬盘

接下来把直通的SATA控制器上的磁盘2改成eSATA设备:

启用群晖系统的SSH服务,用putty SSH登录到群晖,

先提权:sudo -i

编辑synoinfo.conf配置文件:

vi /etc.defaults/synoinfo.conf

修改下面两个参数:

internalportcfg="0xffd"

esataportcfg="0xff002"

这两个参数都是16进制,“0xffd”对应二进制值“111111111101”,右数第2个0表示第二个SATA接口不是内部SATA接口;"0xff002"对应二进制值“11111111000000000010”,右数第2个1表示第二个SATA接口是eSATA接口。

关于群晖内部SATA接口改eSATA接口的方法可以看这篇文章:《

至此,我们的黑群晖虚拟机“DSM”上就挂了6块硬盘,总共是五种磁盘,后面会全部实现休眠:

sata0:单个映射的硬盘

sata1:直接添加的虚拟磁盘

sata5:黑群晖引导盘

直通的SATA控制器上的SATA磁盘

直通的SATA控制器上的eSATA磁盘

USB控制器上的USB移动硬盘

五、改变默认引导项

重启黑群晖虚拟机,这次选择引导盘的第三个启动项,引导选项一闪而过,请疯狂按键盘箭头向下“↓”键:

选择这个启动项才能使后面隐藏引导磁盘的配置生效。

六、隐藏引导磁盘

在PVE的SHELL里面输入命令,先看看PVE物理机上有哪些SATA控制器:

lspci -n | grep "0106"

SSH登录到群晖,再看看虚拟群晖有哪些SATA控制器:

lspci -v | grep "0106"

总共有三个,前面两个是一样的,应该是PVE的虚拟SATA控制器,第三个“8086 5ae3”PVE里面能找到一样的,应该是直通过来的,所以引导盘“sata5”应该是在前两个控制器上。

再看引导盘的grub配置文件的这一行:

set sata_args='sata_uid=1 sata_pcislot=5 synoboot_satadom=1 DiskIdxMap=0C SataPortMap=1 SasIdxMap=0'

“DiskIdxMap=0C”表示第一个SATA控制器上的磁盘序号从13开始算,“SataPortMap=1”表示第一个SATA控制器只有一个SATA磁盘;而DS3617XS默认只有12个SATA接口,看来引导配置文件默认已经隐藏了第一个SATA控制器的“sata5”磁盘,但是群晖系统里面还能看到引导盘,因此肯定引导盘在第二个控制器!

修改grub配置文件

SSH登录到群晖,修改引导配置文件“grub.cfg”,找到下面这行,改成:

set sata_args='sata_uid=1 sata_pcislot=5 synoboot_satadom=1 DiskIdxMap=0F0700 SataPortMap=656 SasIdxMap=0'

修改完成后重启群晖就看不到引导盘了,这时第三个SATA控制器的6个接口对应硬盘1~6;第二个SATA控制器的前5个SATA接口对应硬盘7~12,引导盘“sata5”在第二个SATA控制器的第六个接口,刚好隐藏了;第三个SATA控制器对应硬盘16~21。

打开群晖控制面板 > 硬盘休眠,启用SATA硬盘休眠和USB硬盘休眠,并勾选硬盘休眠日志。

关闭群晖的管理UI,过一段时间再登陆就能看到第一张图的硬盘休眠唤醒记录,包括内置硬盘和USB硬盘的唤醒记录。

七、映射硬盘的休眠控制

虽然有休眠记录,但是用手去摸映射的硬盘(sata0),发现它并没有停转,推测群晖只是停止映射硬盘的读写,而原物理硬盘的控制权还在PVE那里,所以要由PVE来控制原物理硬盘的休眠:

hdparm -S 180 /dev/sdc

其中参数“180”对应15分钟(180/12),“sdc”是物理硬盘的盘符,通过命令“ls -l /dev/disk/by-id/”查看,前文有提到。

这样映射的磁盘可以停转了,但还会频繁唤醒,谷歌了下还有个守护进程“pvestatd”在频繁读写硬盘,这个进程会定时询问各个虚拟机、磁盘和容器的状态并发送到各个节点导致硬盘唤醒,可以直接关闭它:

pvestatd stop #停用该服务无法新建虚拟机,需要时使用pvestatd start开启

也可以使用lvm的metadata的缓存,如果开启的话,就会缓存lvm的信息,不再频繁读取硬盘:

修改/etc/lvm/lvm.conf文件

设置use_lvmetad = 1

八、隐藏引导盘的参数说明

SataPortMap: 定义每个SATA控制器上有多少个硬盘。

SataPortMap=656,表示第一个控制器上有6个sata,第二个有5个,第三个控制器上有6个;本例中引导盘在第二个控制器上的第六个“sata5”,刚好隐藏。

DiskIdxMap: 定义每个SATA控制器第一个SATA接口映射到的索引位置,后面参数是16进制,每个控制器截取两位,比如DiskIdxMap=07表示第一个SATA控制器的第一个SATA硬盘在群里系统里为“硬盘7”,DiskIdxMap=0A00,表示第一个SATA控制器从0A(十进制11)开始索引,第一个控制器从00(十进制0)开始索引。

本例中DiskIdxMap=0F0700,排序后就是:

1:SATA30 - 2:SATA31 - 3:SATA32 - 4:SATA33 - 5:SATA34- 6 :SATA35 - 7:空

8:SATA20 - 9:SATA21 - 10:SATA22 - 11SATA23 -:12SATA24 -:13SATA25 --- SATA1X。

更新:后续进一步测试发现“SataPortMap”参数起作用,“DiskIdxMap”只能整理磁盘顺序,不能彻底隐藏引导盘。

九、试验平台

本教程首先在华擎J3455-ITX平台上完成试验,这块主板做虚拟机All-in-one需要扩展一块PCIE-X1网卡。

另外在双网口的华擎(ASRock)Z390M-ITX/ac主板 也搭建成功,这块主板有m2接口,我把PVE装在闪迪CZ430酷豆U盘上,m2直通给Win10做HTPC用,还有一条PCI-EX 16接口准备上万兆网卡。

至此,PVE安装虚拟黑群晖并实现硬盘休眠的的详细教程就结束了,虽然5种给虚拟群晖添加硬盘的方式都能实现休眠,但是这里还是推荐以SATA控制器直通为主,其他方式为辅,以保障数据安全。

原文出处:https://www.10bests.com/dsm-hdd-hibernation-on-pve/

虚拟机黑裙加载硬盘_在Promox VE(PVE)虚拟机安装黑群晖并开启硬盘休眠的方法...相关推荐

  1. 虚拟机黑裙加载硬盘_虚拟机黑群晖拯救实体黑群晖硬盘数据-全网首发。

    来吧兄弟,一起玩一起讨论! 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 woshiwaxiu 于 2015-8-5 15:01 编辑 昨天,黑群晖突然监测不到了,反复重启,发现原来 ...

  2. java 上下文加载器_【深入理解Java虚拟机 】线程的上下文类加载器

    线程上下文类加载器 线程上下文类加载器( Thread Context ClassLoader) 是从JDK1.2 引入的,类Thread 的getContextClassLoader() 与 set ...

  3. java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...

    Java虚拟机是如何加载Java类的?  这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...

  4. 没有为 ucrtbase.dll 加载符号_深入理解Java虚拟机(类加载机制)

    上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的. 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机把描述类的数据从 Class 文件加载到内 ...

  5. unity 加载关卡_Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库

    摘要:Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库 Application.isLoadingLevel 正在加载关卡? static var ...

  6. jquery 当页面图片加载之后_图片的懒加载和预加载

    一.懒加载 [1.1]什么是懒加载? 懒加载也就是延迟加载,指的是在长网页中延迟加载图像,是一种很好优化网页性能的方式.当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1 ...

  7. angular 首屏加载优化_[转]Angular4首页加载慢优化之路

    Angular是一个比较完善的前端MVC框架,包含了模板,数据双向绑定,路由,服务,过滤器,依赖注入等等所有的功能.在Web开发前后端流行的今天,我们在某个项目中也尝试使用该框架. 很快按照官网上的例 ...

  8. 万由NS202,ESXI虚拟机下安装OpenWRT+群晖NAS+Windows,打造All in One系统

    安装过程主要参考这个视频 ESXI虚拟机下安装OpenWRT+群晖NAS+Windows,打造All in One系统,ESXI系统超详细安装 但是此资料包提供的exsi不包含8125的网络驱动,自己 ...

  9. 黑群晖升级后无法找到的方法

    2021年6月的某一天晚上,登录了很长时间都没管的群辉界面,由于强迫症心态做宠看到红点就是个点啊.最后在更新还原中点击了下载,感觉点后会有惊喜发生,升级中直接睡着了....第二天早上登录共享盘找东西, ...

  10. cefsharp 加载慢_知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍!

    作者|小林coding 来源 | 小林coding(ID:CodingLin) 头图 |  CSDN 下载自东方IC 前言 大家如果想自己组装电脑的话,肯定需要购买一个 CPU,但是存储器方面的设备, ...

最新文章

  1. underscore:get elements counts of a array
  2. java获取接口数据类型_java中调用第三方接口获取数据的方式
  3. rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现
  4. linux中的码字软件,码字写作软件下载
  5. sap采购申请自动转采购订单_SAP财务常用的MM模块事务代码清单
  6. 百度地图通过经纬度获取地址信息
  7. SAP License:职业生涯与发展之路——写给李婷小妹妹的信
  8. 11-11 11:11
  9. iOS字体(UIFont)的相关知识
  10. linux/windows下代理软件对比分析
  11. checkIP——烂代码又堆了一个ip活性检测工具
  12. 洛谷P1427 小鱼的数字游戏
  13. 《旅行青蛙》的代码揭秘,攻略,体验
  14. 【人工智能】发展简史 | 复习笔记
  15. WORD文档中插入图片(1)
  16. vue在一个方法执行完后执行另一个方法
  17. 算力网络 — 核心技术
  18. 果然,离婚1年的赵丽颖刚刚又官宣了……
  19. 【豆舞咖啡】量变到质变
  20. 【MD5】MD5校验文件的正确性

热门文章

  1. 此加载项为计算机上的所有用户安装但只能,win7系统控件无法安装的解决方法...
  2. Python: scipy.signal.coherence的用法及代码示例
  3. Python编程PTA题解——输出星期名缩写
  4. 国内百家企业SRC一览表(安全应急响应中心)
  5. 多分支表达-倍数问题
  6. noi linux 比赛使用哪个编译器,2020NOI考题及答案
  7. 《毁灭杀手》(kkrieger)
  8. html5页面左右框架布局代码,网页布局框架(示例代码)
  9. webpack中swipe的安装和使用
  10. R语言中的多元方差分析