一、硬件信息说明

项目

配置

RMB

CPU

i7 11700

套装3899元

主板

华硕Z590-p

套装3899元

内存条

美商海盗船 DDR4 4000Hz 16G * 2

1779元

机箱

半人马座

1330元

电源

美商海盗船SF750

1000元

散热

利民AXP120-X67

206元

SSD

铠侠、英睿达 500G * 2

1200元

机箱风扇

利民(后置12cm*2),ID-CODING(前置8cm*3)

192元

miniSAS线

SFF8643反向线*2

68元

万兆网卡

英特尔X540

534元

NAS硬盘

希捷银河16T、希捷银河8T、希捷酷狼8T

4211元

14439

二、制作U盘引导

使用芯片无忧工具,查看U盘的PIDVID

黑群晖mysql 黑群晖7.1_黑群晖mysql

使用DiskGenius,格式化U盘。

黑群晖mysql 黑群晖7.1_外链_02

使用镜像写入工具,把引导写入U盘。

黑群晖mysql 黑群晖7.1_上传_03

修改grub.cfg文件,可以使用DiskGenius工具把文件复制到桌面,通过notepad++修改好之后,拖进DiskGenius这个界面中。或者在电脑中,查看U盘,打开U盘中的grub.cfg文件直接修改。

具体修改内容如下:

  • PID修改为U盘的PID
  • VID修改为U盘的VID
  • SataPortMap=46
  • DiskIdxMap=0006

SataPortMap=46,因为我的主板上有4个sata口,然后PCIE扩展了6个SATA口,所以这里写了46,分别对应主板的SATA数目和PCIE的SATA数目。

DiskIdxMap=0004,因为主板的4个SATA口分别为00、01、02、03,所以PCIE的SATA从04开始。也就是说,前面两个00代表主板上的SATA控制从00开始计数,PCIE的SATA从04开始计数。

#
# ### !!! WARNING - READ ME !!! ###
#
# DO NOT edit this file. This file has been generated automatically by the loader generator.
# If you were asked to use a pre-made image and asked by someone to edit this file DO NOT do it. The only
# supported method of obtaining the loader image is generating it using the loader generator provided.
#

terminal_output console
if serial --unit=0 --speed=115200; then
    terminal_input --append serial_com0
    terminal_output --append serial_com0
fi

set default="0"
set timeout="5"
set timeout_style="menu"

if [ -s $prefix/grubenv ]; then
    load_env --file $prefix/grubenv --skip-sig
    set has_env="1"
    if [ -n "${saved_entry}" ]; then
        set default="${saved_entry}"
    fi
else
    set has_env="0"
    echo "WARN: failed to load env. Default choice will NOT be saved!"
fi


function savedefault {
    saved_entry="${chosen}"
    save_env --file $prefix/grubenv saved_entry
}


insmod usb_keyboard
insmod part_msdos
insmod ext2
insmod fat
insmod linux
insmod gzio

set gfxmode=auto
insmod vbe
insmod vga

# UEFI
insmod efi_gop
insmod efi_uga

insmod font
if loadfont ${prefix}/unicode.pf2
then
    insmod gfxterm
    set gfxmode=auto
    set gfxpayload=keep
    terminal_output gfxterm
fi

menuentry 'RedPill DS918+ v7.1.0-42661 (USB, Verbose)' {
	savedefault
	set root=(hd0,msdos1)
	echo Loading Linux...
	linux /zImage HddHotplug=0 withefi console=ttyS0,115200n8 DiskIdxMap=0004 netif_num=2 syno_hdd_detect=0 syno_port_thaw=1 SasIdxMap=0 vender_format_version=2 mac2=ff113f12f45f earlyprintk mac1=0f113212f45f mac3=0f113212f4ff  syno_hdd_powerup_seq=1 pid=0x6545 log_buf_len=32M syno_hw_version=DS918+ vid=0x0930 earlycon=uart8250,io,0x3f8,115200n8 sn=2023NAS123456 elevator=elevator root=/dev/md0 loglevel=15 SataPortMap=46 
	echo Loading initramfs...
	initrd /rd.gz /custom.gz
	echo Starting kernel with USB boot
}

menuentry 'RedPill DS918+ v7.1.0-42661 (SATA, Verbose)' {
	savedefault
	set root=(hd0,msdos1)
	echo Loading Linux...
	linux /zImage HddHotplug=0 withefi console=ttyS0,115200n8 synoboot_satadom=2 DiskIdxMap=0004 netif_num=2 syno_hdd_detect=0 syno_port_thaw=1 SasIdxMap=0 vender_format_version=2 mac2=001132123457 earlyprintk mac1=001132123456 syno_hdd_powerup_seq=1 pid=0x6545 log_buf_len=32M syno_hw_version=DS918+ vid=0x0930 earlycon=uart8250,io,0x3f8,115200n8 sn=2023NAS123456 elevator=elevator root=/dev/md0 loglevel=15 SataPortMap=46
	echo Loading initramfs...
	initrd /rd.gz /custom.gz
	echo Starting kernel with SATA boot
	echo WARNING: SATA boot support on this platform is experimental!
}

三、群晖系统安装

在BIOS中设置U盘启动,然后就可以通过群晖助手进行搜索到了。

黑群晖mysql 黑群晖7.1_linux_04

在浏览器输入群晖ip地址+5000端口号,进行访问并安装。

黑群晖mysql 黑群晖7.1_上传_05

这里选择7.1.0。

黑群晖mysql 黑群晖7.1_外链_06

等待安装,这个过程大概十分钟。

黑群晖mysql 黑群晖7.1_上传_07

黑群晖mysql 黑群晖7.1_上传_08

安装完成啦。

黑群晖mysql 黑群晖7.1_linux_09

设置设备名称,以及用户名和密码。

黑群晖mysql 黑群晖7.1_上传_10

选择手动更新,因为黑群晖更新系统极不稳定,容易造成群晖崩溃。

黑群晖mysql 黑群晖7.1_黑群晖mysql_11

这里选择跳过。

黑群晖mysql 黑群晖7.1_外链_12

黑群晖mysql 黑群晖7.1_上传_13

这里就进入到群晖的DSM界面了。

黑群晖mysql 黑群晖7.1_上传_14

这里创建了3块盘的存储池,还有两块SSD做了读写缓存。没预算了,后面可以把8块盘位都插满16T的硬盘,组成100T+的高性能家用服务器NAS。

黑群晖mysql 黑群晖7.1_黑群晖mysql_15

四、添加NVME固态硬盘

#查看nvme硬盘
ls /dev/nvme*

#查看第一块硬盘信息
udevadm info /dev/nvme0

#查看第二块硬盘信息
udevadm info /dev/nvme1

#把libsynonvme.so.1拷贝到document共享文件夹中
cp /lib64/libsynonvme.so.1 /volume1/document/libsynonvme.so.1

#备份libsynonvme.so.1文件
cp /lib64/libsynonvme.so.1 /lib64/libsynonvme.so.1.bak

使用udevadm info /dev/nvme0udevadm info /dev/nvme1命令查看硬盘信息,分别记住0000:00:06:00000:00:1d.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HYQAv2Na-1655361979868)(http://nas.hepcloud.top:6391/images/2022/06/16/nvme.png)]

电脑上使用 winhex软件打开刚才下载的 libsynonvme.so.1 文件

搜索nvme_model_spec_get,在右侧找到如下图字段的原数据为0000:00:13.00000:00:13.1,把它修改为0000:00:06:00000:00:1d.0,然后保存文件,并上传到群晖的document共享文件夹中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qNwMfBV8-1655361979869)(http://nas.hepcloud.top:6391/images/2022/06/16/nvme-setting.png)]

#把原来的libsynonvme.so.1删除
rm /lib64/libsynonvme.so.1

#把我们刚刚修改过的文件,copy到lib64目录下
cp /volume1/document/libsynonvme.so.1 /lib64/libsynonvme.so.1

#授权
chmod 644 /lib64/libsynonvme.so.1

#重启系统
reboot

重启之后,在存储管理器中,就可以看到两块ssd硬盘了。我这里已经创建好了m2的读写缓存。