虚拟机黑裙加载硬盘_在Promox VE(PVE)虚拟机安装黑群晖并开启硬盘休眠的方法...
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)虚拟机安装黑群晖并开启硬盘休眠的方法...相关推荐
- 虚拟机黑裙加载硬盘_虚拟机黑群晖拯救实体黑群晖硬盘数据-全网首发。
来吧兄弟,一起玩一起讨论! 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 woshiwaxiu 于 2015-8-5 15:01 编辑 昨天,黑群晖突然监测不到了,反复重启,发现原来 ...
- java 上下文加载器_【深入理解Java虚拟机 】线程的上下文类加载器
线程上下文类加载器 线程上下文类加载器( Thread Context ClassLoader) 是从JDK1.2 引入的,类Thread 的getContextClassLoader() 与 set ...
- java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...
Java虚拟机是如何加载Java类的? 这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...
- 没有为 ucrtbase.dll 加载符号_深入理解Java虚拟机(类加载机制)
上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的. 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机把描述类的数据从 Class 文件加载到内 ...
- unity 加载关卡_Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库
摘要:Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库 Application.isLoadingLevel 正在加载关卡? static var ...
- jquery 当页面图片加载之后_图片的懒加载和预加载
一.懒加载 [1.1]什么是懒加载? 懒加载也就是延迟加载,指的是在长网页中延迟加载图像,是一种很好优化网页性能的方式.当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1 ...
- angular 首屏加载优化_[转]Angular4首页加载慢优化之路
Angular是一个比较完善的前端MVC框架,包含了模板,数据双向绑定,路由,服务,过滤器,依赖注入等等所有的功能.在Web开发前后端流行的今天,我们在某个项目中也尝试使用该框架. 很快按照官网上的例 ...
- 万由NS202,ESXI虚拟机下安装OpenWRT+群晖NAS+Windows,打造All in One系统
安装过程主要参考这个视频 ESXI虚拟机下安装OpenWRT+群晖NAS+Windows,打造All in One系统,ESXI系统超详细安装 但是此资料包提供的exsi不包含8125的网络驱动,自己 ...
- 黑群晖升级后无法找到的方法
2021年6月的某一天晚上,登录了很长时间都没管的群辉界面,由于强迫症心态做宠看到红点就是个点啊.最后在更新还原中点击了下载,感觉点后会有惊喜发生,升级中直接睡着了....第二天早上登录共享盘找东西, ...
- cefsharp 加载慢_知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍!
作者|小林coding 来源 | 小林coding(ID:CodingLin) 头图 | CSDN 下载自东方IC 前言 大家如果想自己组装电脑的话,肯定需要购买一个 CPU,但是存储器方面的设备, ...
最新文章
- underscore:get elements counts of a array
- java获取接口数据类型_java中调用第三方接口获取数据的方式
- rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现
- linux中的码字软件,码字写作软件下载
- sap采购申请自动转采购订单_SAP财务常用的MM模块事务代码清单
- 百度地图通过经纬度获取地址信息
- SAP License:职业生涯与发展之路——写给李婷小妹妹的信
- 11-11 11:11
- iOS字体(UIFont)的相关知识
- linux/windows下代理软件对比分析
- checkIP——烂代码又堆了一个ip活性检测工具
- 洛谷P1427 小鱼的数字游戏
- 《旅行青蛙》的代码揭秘,攻略,体验
- 【人工智能】发展简史 | 复习笔记
- WORD文档中插入图片(1)
- vue在一个方法执行完后执行另一个方法
- 算力网络 — 核心技术
- 果然,离婚1年的赵丽颖刚刚又官宣了……
- 【豆舞咖啡】量变到质变
- 【MD5】MD5校验文件的正确性
热门文章
- 此加载项为计算机上的所有用户安装但只能,win7系统控件无法安装的解决方法...
- Python: scipy.signal.coherence的用法及代码示例
- Python编程PTA题解——输出星期名缩写
- 国内百家企业SRC一览表(安全应急响应中心)
- 多分支表达-倍数问题
- noi linux 比赛使用哪个编译器,2020NOI考题及答案
- 《毁灭杀手》(kkrieger)
- html5页面左右框架布局代码,网页布局框架(示例代码)
- webpack中swipe的安装和使用
- R语言中的多元方差分析