PVE安装群晖7.0

pve安装黑群晖7.0(黑群晖7.0安装教程)    

  本教程基于Proxmox VE(PVE)7.0虚拟机环境下安装黑群晖DS918-7.01,因此对硬件的要求如下:

1、cpu要求(如果CPU不满足要求,建议安装DS3615-7.01,安装DS3615-7.01的步骤和安装DS918-7.01的步骤大致一样,只是使用不同引导和不同安装包的区别。)

(1)至少要用第四代Intel酷睿处理器、或者同等级别的奔腾处理器、或者同等级别的赛扬处理器,比如:Intel i5-4430、J3455、N3160;

(2)至强的处理器,要求是v3或者以上级别,比如:Intel Xeon E3-1230 v3;

(3)如果是AMD,要求是锐龙3或者以上级别,比如:Ryzen 3 – 2200G;

2、网卡要求

(1)如果是用网卡直通的,要求使用Intel品牌的网卡;

(2)非直通网卡要求支持E1000e,如果你的PVE不支持E1000e网卡类型,请先按照【给ProxmoxVE (PVE)的网络模型添加E1000e网卡,让你的DSM支持最新版本】教程添加E1000e;

(3)截止2021年9月26日,使用RedPill项目开发组开源代码编译的DSM7.X引导,暂时不支持万兆物理网卡,建议采用千兆网卡(直通模式)或者E1000e虚拟网卡(非直通模式)。


【安装步骤】

1、在电脑上新建一个文件夹(我在E盘建立dsm7这个文件夹),需要注意:不可以用中文或者特殊符号。到【我的网盘】下载以下文件,全部下载完成后,然后点到下图红框处,把当前这个路径复制一下;

2、把引导文件【redpill-DS918+_7.0.1-42214(引导文件).img】改个名,去掉中文字(不可以有中文),同时把文件名改短一些,方便操作,我这改成DS918_7.0.1.img;

3、在电脑浏览器打开PVE的ip地址,用root登录,在左边栏如下图的位置右键,创建虚拟机;

4、填写虚拟机名称,VM ID这个数字自动生成不用更改,但是需要记住这个数字,后面需要用到;

5、不使用任何介质,下一步;

6、下一步;

7、在“总结/设备”点一下,选“SATA”;

8、磁盘大小先写一个“1”,临时的设置,等下会删除;

9、单CPU的“插槽”写“1”(双路写2)、核心则根据自己使用的CPU真实核心数量填写(给群晖分配的CPU核心数量,不可以超过实际CPU核心数量),类别选“host”(使用至强v3或者以上的CPU如果用host启动后找不到IP地址,请改回“默认”),下一步;

10、内存根据实际情况分配,我分配的是4096MB,下一步;

11、模型选:E1000e(如果你的PVE没有E1000e网卡类型,请参考《给ProxmoxVE (PVE)的网络模型添加E1000e网卡,让你的DSM支持最新版本》教程自行添加),下一步;

12、完成;

13、找到刚刚建立的虚拟机,选中前面临时建立那个1G的磁盘(sata0),选菜单上的“分离”;

14、是;

15、选中分离出来的这个“未使用的磁盘0”,点菜单上的“删除”;

16、是;

17、选中biOS,编辑;

18、改成“OVMF(uefi)”;

19、OK;

20、选中“机器”,编辑;

21、改成q35,OK;

22、打开DiskGenius软件,点菜单上的“硬盘”—“打开虚拟硬盘文件”;

23、进入第1步建立的文件夹,找到DS918_7.0.1.img文件,打开;

24、在左边栏中点+,点grub文件夹,在右边找到grub.cfg文件,在此文件上点鼠标右键,弹出的菜单中选择“复制到指定的文件夹”;

25、在文件夹处点一下,把在第1步建立的路径粘贴进去,确定;

26、完成;

27、用Notepad2打开grub.cfg文件,在菜单上的“查看”,找到自动换行,点一下;

28、向下翻页到第58行和第68行,先找到下图圈出蓝色字,根据实际情况修改(58行和68行都要改),改好了就保存文件,关闭Notepad2;

(1)netif_num=1:网口数量,默认为1,如果你要给虚拟机添加两个网口的,请改成netif_num=2;
(2)mac1=001132123456:默认只填写了一个网口的mac地址,如果给虚拟机添加两个网口的,需要在mac1的后面添加了一个mac2=001132123466(两个mac值不可以一样);如果你有真实的洗白码,可以替换成洗白码mac的值;
(3)sn=2021PDN123456:默认的序列号,如果你有真实的洗白码,可以替换成洗白码sn的值;
(4)虚拟机安装,不需要改VID和pid

29、切换到DiskGenius软件,在右边空白处点右键,在弹出的菜单选择“复制文件到当前分区”;

30、找到刚才修改好的grub.cfg,打开;

31、替换;

32、完成;

33、退出DiskGenius软件;

34、把下载在电脑上的“MobaXterm v20.0中文汉化专业版”压缩包解压出来,运行MobaXterm1_CHS1.exe;

35、用root用户登录到PVE的SSH下,正常的话右边栏会显示如下图以root@开头的界面,左边栏下图位置应该会显示/root/;

36、把电脑上的DS918_7.0.1.img点鼠标左键不松开,拖到MobaXterm的左边如下图的空白位置,再松开鼠标左键;

37、此时会看到文件在上传的状态,需要等一下;

38、上传完成,显示有文件出来了;

39、在MobaXterm的右边黑色区域,输入以下命令转换群晖引导盘,使它变成PVE虚拟机的格式(命令别照搬,100为第4步骤显示的VM ID):

qm importdisk 100 DS918_7.0.1.img local-lvm

40、确认无误后,回车;

41、转换完成后,PVE的虚拟机会多出一个“未使用的磁盘0”;

42、双击这个“未使用的磁盘0”,在“总线/设备”点下拉列表,选SATA;

43、确认一下这个引导盘必须是:SATA  0,然后点“添加”;

44、之前的“未使用的磁盘0”,此时会变成“磁盘(sata0)”,大小是128M;

45、给群晖虚拟机添加硬盘,本教程使用的是PVE虚拟的硬盘,在菜单上选“添加”,“硬盘”;

46、“总线/设备”会自动显示为SATA1,“存储”选PVE的存储盘,磁盘大小根据实际需要设置(本教程设置为50G),在“高级”这里打勾;

47、由于我使用的SSD,所以在“SSD仿真”打勾,添加;(如果你用机械硬盘,此步骤不做)

48、选中群晖虚拟机,选项,引导顺序,编辑;

49、只勾选“sata0”,别的打勾都去掉,点“OK”;

50、选中群晖虚拟机,在右上方的“启动”点一下;

51、点到群晖虚拟机的控制台,会看到群晖引导盘启动的过程,此时会有一个菜单,向上下键移动到下面的“RedPill DS918+ v7.0.1-42214 RC(SATA,Verbose)”,回车;

52、然后屏幕会显示如下图,黑群晖7.X的引导启动后就显示这样,在UEFI方式启动方式下,会有一个光标停在上面不动,不要以为是系统卡住了;

53、在电脑浏览器新开一个标签,输入(http://find.synology.com/)这个地址回车,开始搜索局域网内的群晖设备;

54、如果局域网内有多台群晖设备的,右边会有一个三角形显示,可以翻页找到我们需要安装的设备(状态会显示:未安装),点“连接”;

55、左下角“我已阅读并同意 EULA 的条款”打勾,下一步;

56、继续;

57、正在加载;

58、安装;

59、浏览;

60、找到之前下载的  DS918+_7.01-42214(系统安装包).pat  这个安装包文件,打开;

61、确认一下安装包的版本号(用什么版本的引导,就要选对应版本的安装包,不可以搞错),无误后点下一步;

62、安装过程中,群晖系统会自动把存储硬盘重新分区并格式化为群晖格式的硬盘,在“我了解这些硬盘上的所有数据都将被删除”打勾,继续;

63、开始安装;

64、正在格式化系统分区;

65、正在上传DSM安装包;

66、不卡40%;

67、正在安装系统,不卡55%;

68、耐心等待安装,安装完成系统会自动重启,此时会显示一个10分钟的倒计时,重启等待的时间由硬件性能决定(正常等待1-10分钟);

69、重启完成,会显示“正在启动内置套件”;

70、点:开始; 

71、给设备起个名字(不可以用中文),设置一个用户名(不可以用admin),设置密码(密码要求:大写字母+小写字母+数字的组合,长度至少8位),下一步。

72、选“当有可用的DSM或者套件更新时通知我,我会手动安装”,下一步。

73、跳过; 

74、不打勾,直接点提交;

75、进入系统桌面,提示创建存储池和存储空间,点:立即创建;

76、开始; 

77、RAID类型根据实际选择(如果有多个硬盘需要组阵列的选SHR,如果需要把多个硬盘组成一个大容量的选JBOD),本教程使用单硬盘,选Basic,下一步;

78、选中需要建立存储的硬盘,下一步;

79、提示我的硬盘不在Synology产品兼容列表中,不用理会,这个不影响使用,继续。

80、跳过硬盘检查(如果你组的是RAID,强烈建议勾选“执行硬盘检查”,以免硬盘出问题引起RAID损毁),下一步;

81、在“修改分配的大小”这里,点“最大化”,下一步;

82、“选择文件系统”这里有两个选择,根据实际情况选择,如果想要使用群晖系统所有功能不受限制的,选Btrfs,下一步;

83、应用;

84、确定;

85、存储空间建立完成

86、系统安装至此结束。

内容来源gnaxs博客

PVE显示cpu,硬盘温度,关闭ksm,去订阅弹窗

温度显示:

首先我们要先安装温度检测工具

apt-get install lm-sensors
lm_sensors可以用来监控CPU和主板温度以及风扇速度

在shell中输入命令sensors,就能显示信息

root@pve:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +48.0°C  (high = +105.0°C, crit = +105.0°C)//cpu温度
Core 0:        +48.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:        +49.0°C  (high = +105.0°C, crit = +105.0°C)
Core 2:        +49.0°C  (high = +105.0°C, crit = +105.0°C)
Core 3:        +49.0°C  (high = +105.0°C, crit = +105.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +46.0°C  (crit = +95.0°C)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +62.9°C  (low  = -273.1°C, high = +89.8°C)//nvme硬盘温度
                       (crit = +89.8°C)
ERROR: Can't get value of subfeature temp2_min: I/O error  //这两个是读不出来
ERROR: Can't get value of subfeature temp2_max: I/O error
Sensor 1:     +62.9°C  (low  =  +0.0°C, high =  +0.0°C)

需要修改的文件

/usr/share/perl5/PVE/API2/Nodes.pm   //数据来源
/usr/share/pve-manager/js/pvemanagerlib.js  //桌面版的js
/usr/share/pve-manager/touch/pvemanager-mobile.js  //手机版的js

在Nodes.pm中搜索pveversion,在这段代码下面加入

$res->{thermalstate} = `sensors`;

pc端浏览器界面增加温度显示

在pvemanagerlib.js文件中也是搜索pveversion,在它这段代码下面加入

{
      itemId: 'thermal',
      colspan: 2,
      printBar: false,
      title: gettext('Temperature'),
      textField: 'thermalstate',
      renderer:function(value){
        const c0 = value.match(/Package id 0.*?\+([\d\.]+)?/)[1];
        const c1 = value.match(/Composite.*?\+([\d\.]+)?/)[1];
        return `CPU: ${c0}   |  NVME: ${c1} `
     }     
  },

要注意的事情是cpu和nvme的温度是根据正则表达式从数据字符串里取的,需要根据sensors中输出的信息做相应修改,注意红色字体部分可以。

pve7.0 pveversion代码下面还有一段输出订阅状态的代码,看需求可以删除掉。

手机端增加温度显示

在pvemanager-mobile.js文件中搜索PVE.NodeInfo,具体代码显示如下

Ext.define('PVE.NodeInfo', {
    extend: 'Ext.Component',
    alias: 'widget.pveNodeInfo',

    config: {
	style: 'background-color: white;',
	styleHtmlContent: true,
	data: [],
	tpl: [
	    '<table style="margin-bottom:0px;">',
	    '<tr><td>Version:</td><td>{pveversion}</td></tr>',
	    '<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>',
	    '<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>',
	    '<tr><td>Uptime:</td><td>{[Proxmox.Utils.format_duration_long(values.uptime)]}</td></tr>',
	    '<tr><td>Temp:</td><td>{[this.tempinfo(values)]}</td></tr>',//增加页面显示温度是位置
	    '</table>',
	    {
		meminfo: function(values) {
		    var d = values.memory;
		    if (!d) {
			return '-';
		    }
		    return Proxmox.Utils.format_size(d.used || 0) + " of " + Proxmox.Utils.format_size(d.total);
		},

                //增加获取温度的方法
		tempinfo: function(values) {
		    var d = values.thermalstate;
		    if (!d) {
			return '-';
		    }
                    var c0 = d.match(/Package id 0.*?\+([\d\.]+)?/)[1];
                    var c1 = d.match(/Composite.*?\+([\d\.]+)?/)[1];
		    return 'CPU:'+c0+'   |  NVME:'+c1;
		},
		cpuinfo: function(values) {
		    if (!values.cpuinfo) {
			return '-';
		    }
		    var per = values.cpu * 100;
		    return per.toFixed(2) + "% (" + values.cpuinfo.cpus + " CPUs)";
		}
	    }
	]
    },
});

增加红色字体部分内容。

修改完成后在shell中重启pve的web管理器:

systemctl restart pveproxy

完成温度显示操作。

关闭ksm 内核共享内存

进程有一个ksm的进程会占用一部分cpu,会一直检测虚拟机的空闲内存,可以空出来给其他虚机用,用不到可以关闭

systemctl disable ksmtuned
systemctl stop ksmtuned

去登陆后的订阅弹窗

需要修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

搜索关键字 checked_command 定位,红色if判断改成false即可,然后重启pve的web管理器

    checked_command: function(orig_cmd) {
	Proxmox.Utils.API2Request(
	    {
		url: '/nodes/localhost/subscription',
		method: 'GET',
		failure: function(response, opts) {
		    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
		},
		success: function(response, opts) {
		    let res = response.result;
		    if (false) {
			Ext.Msg.show({
			    title: gettext('No valid subscription'),
			    icon: Ext.Msg.WARNING,
			    message: Proxmox.Utils.getNoSubKeyHtml(res.data.url),
			    buttons: Ext.Msg.OK,
			    callback: function(btn) {
				if (btn !== 'ok') {
				    return;
				}
				orig_cmd();
			    },
			});
		    } else {
			orig_cmd();
		    }
		},
	    },
	);
    },

暴雪战网国际服

如果是已经安装了网易战网的

1,完全卸载网易战网客户端,推荐用geek.exe软件完全卸载干净

2,上bilzzard.com下载国际服战网客户端。

3,保险起见,先重启电脑

4,安装国际服客户端

5,打开国际服客户端,注册国际服账号

6,在登录界面选择地区,输入账户密码登录,搞定!