2005 CM4 NAS(三路固态硬盘扩展板)

来自Mcuzone Wiki
Mcuadm留言 | 贡献2024年10月14日 (一) 17:09的版本

关键词

树莓派、CM4核心板、系统烧写、2.5G、SSD、RPiOS、Ubuntu、OpenMediaVault

一、简介

CM4_NAS扩展板基于CM4核心板设计,通过PCIe接口扩展了三路M.2 NVMe固态硬盘,其中一路支持2210尺寸,一路支持2242和2280尺寸,还有一路支持2242和2280以及2210尺寸。同时我们还通过PCIe扩展了一路2.5G以太网,以提高M.2 NVMe固态盘的读写速度(实际无法跑满2.5G,硬盘读写典型速度150MB/s,但仍远高于千兆以太网的110MB/s)。其它为CM4标准资源,包括CSI0、CSI1、DSI1、原生千兆、标准HDMI、启动用TF卡槽、40Pin扩展接口、3.3V和5V风扇插头,以及3路USB2.0-A和1路1.25mm 4pin接口USB用于内部4G设备连接。可通过USB-C接口用于eMMC烧写。扩展板采用DC5.5接口,支持7-24V电压输入。

扩展板可运行树莓派OS、Ubuntu、以及OpenWrt系统。这三个系统下均可正常使用2.5G网络和NVMe固态盘。另外支持基于树莓派OS Lite的OpenMediaVault用做NAS网络硬盘应用。

二、硬件资源

1. 一路原生千兆网口;

2. 一路由PCIE支持的2.5G以太网接口;

3. 一路支持4K分辨率的标准HDMI口;

4. 三路USB2.0主机口;

5. 一路内置USB2.0;

6. 一路USB-C烧写口;

7. 两路CSI(22PIN,0.5mm,翻盖下接);

8. 一路DSI(22PIN,0.5mm,翻盖下接);

9. 三路PCIe M-KEY接口,支持2210尺寸规格的固态硬盘;

10. TF卡座。

40pin引脚定义从左到右依次为:

5V 5V GND G14 G15 G18 GND G23 G24 GND G25 G08 G07 IDSC GND G12 GND G16 G20 G21
3V3 G02 G03 G04 GND G17 G27 G22 3V3 G10 G09 G11 GND IDSD G05 G06 G13 G19 G26 GND

三、系统烧写及设置

3.1 概述

本文档采用树莓派OS和Ubuntu系统进行测试。

1. 树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

2. 另外OpenMediaVault需要在32位的树莓派OS Lite下安装,32位的树莓派OS Lite下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-legacy

3. Ubuntu系统的版本为ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,下载地址:

https://ubuntu.com/download/raspberry-pi

3.2 从TF卡启动

3.2.1 使用树莓派镜像烧录器烧写

首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/

安装完毕后将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

Raspberry Pi Device:选择Raspberry Pi 4;

请选择需要写入的操作系统:选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);

储存卡:选择所需烧入的TF卡(即插在PC的USB接口的卡);

0005_MPS2242_2280_01.jpg

选择完毕后按“NEXT”,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。

0005_MPS2242_2280_02.jpg

0005_MPS2242_2280_03.jpg

需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页,点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。

0005_MPS2242_2280_04.jpg

以上介绍的是烧写树莓派OS,烧写Ubuntu系统或也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。

3.2.2 使用balenaEtcher烧写

首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher

将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;

选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);

然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。

0005_MPS2242_2280_05.jpg

3.2.3 启动系统

将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。

3.3. 从eMMC启动

如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。

要烧写系统到eMMC,首先需要在PC上安装驱动包,下载地址:

http://www.mcuzone.com/down/Software.asp?ID=10000623

然后使用跳线帽短接扩展板BOOT脚和GND脚(在CSI1接口旁边)。

使用USB Type C-A数据线将扩展板上的USB OTG接口(即扩展板的USB-C口)连接至电脑。

连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:

2001_CM4_Ultra_65.jpg

PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:

2001_CM4_Ultra_66.jpg

打开这个软件,计算机会将eMMC或者TF卡格式化并分区:

2001_CM4_Ultra_68.jpg

稍等片刻,在资源管理器中会出现一个分区(本例中的分区名为bootfs,具体名称视实际情况而不同):

2001_CM4_Ultra_67.jpg

接下来我们就可以使用balenaEtcher软件对这个分区进行烧写了。

打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:

2001_CM4_Ultra_69.jpg

2001_CM4_Ultra_70.jpg

等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。

四、树莓派OS下的硬件测试

4.1 原生千兆网口测试

我们将网线插入原生千兆网口,系统会自动获取IP,打开终端,安装测速软件iperf3:

sudo apt-get install iperf3

2001_CM4_Ultra_01.jpg

然后我们使用iperf3进行测试:

原生千兆以太网测速结果,client模式为942Mbps左右:

2005_CM4_NAS_01.jpg

server模式为946Mbps左右:

2005_CM4_NAS_02.jpg

4.2 2.5G网口测试

我们将网线插入2.5G网口,系统会自动获取IP,然后我们使用iperf3进行测试:

2.5G以太网测速结果,client模式为1.84Gbps左右:

2005_CM4_NAS_03.jpg

server模式为1.85Gbps左右:

2005_CM4_NAS_04.jpg

4.3 固定2.5G网口的MAC地址

2.5G网口为RTL8125网卡,在使用过程中的MAC地址是不固定的,每次重新上电后MAC地址都会随机改变。下面讲解如何为RTL8125网卡设置固定MAC地址。

本讲解也适用于Ubuntu系统。

首先在树莓派终端中查看RTL8125网卡的识别信息:

ipconfig -a

0015_MP2_5G_28.jpg

这里的RTL8125网卡为eth1,实际操作中可能会因为系统识别名称不同而不同。

然后输入:

sudo mousepad /etc/systemd/system/macspoof@eth1.service

或:

sudo nano /etc/systemd/system/macspoof@eth1.service

eth1为上面显示的网卡识别名称。

运行上面的命令后会新建一个文档,输入以下文本:

[Unit]

Description=MAC Address Change %I

Wants=network-pre.target

Before=network-pre.target

BindsTo=sys-subsystem-net-devices-%i.device

After=sys-subsystem-net-devices-%i.device

[Service]

Type=oneshot

ExecStart=/usr/bin/ip link set dev %i address xx:xx:xx:xx:xx:xx

ExecStart=/usr/bin/ip link set dev %i up

[Install]

WantedBy=multi-user.target

其中“xx:xx:xx:xx:xx:xx”为想要指定的MAC地址,可以按MAC地址格式自行确定(不要和其它网络设备重复),设置完成后保存并退出。

随后输入下面的命令使能服务:

sudo systemctl enable macspoof@eth1.service

这样就完成了对eth1的固定MAC地址。

全部操作完毕后重启系统,系统重启完毕后,执行ipconfig -a即可看到MAC地址更改成功:

0015_MP2_5G_29.jpg

4.4 单块硬盘测试

本次测试采用三块不同的硬盘进行测试,编号及参数如下:

一号硬盘:KingSpec NE-128 128.0 GB

二号硬盘:WDC PC SN530 SDBPNPZ-256G-1002 256.0 GB

三号硬盘:INTEL MEMPEI1J016GAL 16 GB

4.4.1 硬盘识别测试

经测试,单块硬盘无论插哪个硬盘插槽都能识别,树莓派系统下需要先做授权才能进一步操作:

2005_CM4_NAS_05.jpg

2005_CM4_NAS_06.jpg

4.4.2 硬盘接口速度测试

安装硬盘测速软件hdparm。在树莓派终端下运行:

sudo apt install hdparm

2005_CM4_NAS_07.jpg

在树莓派终端下运行df,查看SSD分区名为nvme0n1:

2005_CM4_NAS_08.jpg

运行命令,可多次运行,测试多次硬盘速度:

sudo hdparm -t /dev/nvme0n1

第一个插槽:

2005_CM4_NAS_09.jpg

第二个插槽:

2005_CM4_NAS_11.jpg

第三个插槽:

2005_CM4_NAS_10.jpg

测试结果:该硬盘在三个插槽中的接口速度均为360MB/s左右,即三个插槽本身的接口速度相近。

以下是三个硬盘在三个插槽中的硬盘接口速度测试结果:

接口速度单位:MB/s 插槽1 插槽2 插槽3
一号硬盘 359 359 361
二号硬盘 387 389 389
三号硬盘 379 379 380

4.4.3 安装SAMBA文件共享服务

安装SAMBA软件:

sudo apt install samba

2005_CM4_NAS_22.jpg

在SSD路径下建立一个新文件夹用于共享文件,并修改文件夹权限:

cd /media/mcuzone/writable

sudo mkdir ssdfiles

sudo chmod +777 ssdfiles

2005_CM4_NAS_23.jpg

修改SAMBA配置文件,添加共享节点:

sudo mousepad /etc/samba/smb.conf

在文件末尾加上共享节点:

[ssd]

# 共享文件夹说明

comment = ssd

# 共享文件夹目录

path = /media/mcuzone/writable/ssdfiles/

# 需要映射的共享目录的挂载路径

browseable = yes

# 可被其他人看到资源名称(非内容,这里设置为是)

writable = yes

# 可写

create mask = 0777

# 新建文件的权限为 777

directory mask = 0777

# 新建目录的权限为 777

public = no

# guest访问,无需密码(这里设置为否)

2005_CM4_NAS_24.jpg

注意:如果需要添加更多的映射文件夹,请使用相同的格式继续加上新的共享节点,其中共享文件夹说明和共享文件夹目录不要重复,本地path请按照挂载的路径填写。

创建一个名为mcuzone的用户,创建后会提示输入密码:

sudo smbpasswd -a mcuzone

2005_CM4_NAS_25.jpg

重启SAMBA服务:

sudo systemctl restart smbd

2005_CM4_NAS_26.jpg

然后在Windows中映射一个网络驱动器,这里以Windows11为例。

打开“此电脑”,点击“映射网络驱动器”:

2005_CM4_NAS_27.jpg

按下图填入相关节点信息(IP为树莓派OS的IP):

2005_CM4_NAS_28.jpg

输入刚才设置的用户名和密码:

2005_CM4_NAS_29.jpg

然后就会打开设置的共享文件夹了:

2005_CM4_NAS_32.jpg

4.4.4 硬盘读写速度测试

通过2.5G网口进行测速,第一个插槽,第一个硬盘:

写:

2005_CM4_NAS_30.jpg

读:

2005_CM4_NAS_31.jpg

第一个插槽,第二个硬盘:写:

2005_CM4_NAS_33.jpg

读:

2005_CM4_NAS_34.jpg

第一个插槽,第三个硬盘:写:

2005_CM4_NAS_35.jpg

读:

2005_CM4_NAS_36.jpg

第二个插槽,第一个硬盘:

写:

2005_CM4_NAS_43.jpg

读:

2005_CM4_NAS_44.jpg

第二个插槽,第二个硬盘:

写:

2005_CM4_NAS_45.jpg

读:

2005_CM4_NAS_46.jpg

第二个插槽,第三个硬盘:

写:

2005_CM4_NAS_47.jpg

读:

2005_CM4_NAS_48.jpg

第三个插槽,第一个硬盘:

写:

2005_CM4_NAS_37.jpg

读:

2005_CM4_NAS_38.jpg

第三个插槽,第二个硬盘:

写:

2005_CM4_NAS_39.jpg

读:

2005_CM4_NAS_40.jpg

第三个插槽,第三个硬盘:

写:

2005_CM4_NAS_41.jpg

读:

2005_CM4_NAS_42.jpg

本次测试汇总如下:

通过2.5G网口进行硬盘读写测速:

读写速度单位:MB/s 插槽1 插槽2 插槽3
一号硬盘 164 207 161 208 151 201
二号硬盘 171 192 208 195 175 217
三号硬盘 159 190 163 218 166 204

注:接下来的硬盘读写测速等测试结果将以表格形式汇总,不再单独贴图。

通过原生千兆网口进行硬盘读写测速:

读写速度单位:MB/s 插槽1 插槽2 插槽3
二号硬盘 113 112 110 111 110 111

4.5 两块硬盘测试

本次测试采用两块不同的硬盘进行测试,编号及参数如下:

一号硬盘:KingSpec NE-128 128.0 GB

二号硬盘:WDC PC SN530 SDBPNPZ-256G-1002 256.0 GB

每一类测试都分三次测试,硬盘对应插槽的如下:

插槽1 插槽2 插槽3
测试1 一号硬盘 二号硬盘
测试2 二号硬盘 一号硬盘
测试3 一号硬盘 二号硬盘

4.5.1 硬盘识别测试

硬盘识别测试结果如下:

测试结果
测试1 两个硬盘均可识别
测试2 两个硬盘均可识别
测试3 两个硬盘均可识别

4.5.2 硬盘接口速度测试

使用硬盘测速软件hdparm,测试硬盘接口速度结果如下:

接口速度单位:MB/s 一号硬盘 二号硬盘
测试1 360 385
测试2 359 388
测试3 360 390

4.5.3 硬盘读写速度测试

通过2.5G网口进行硬盘读写测速:

读写速度单位:MB/s 一号硬盘 二号硬盘
测试1 165 205 155 208
测试2 160 200 160 200
测试3 170 210 173 209

通过原生千兆网口进行硬盘读写测速:

读写速度单位:MB/s 一号硬盘 二号硬盘
测试1 106 110 109 110
测试2 110 112 109 111
测试3 110 111 108 111

4.6 三块硬盘测试

本次测试采用三块不同的硬盘进行测试,编号及参数如下:

一号硬盘:KingSpec NE-128 128.0 GB

二号硬盘:WDC PC SN530 SDBPNPZ-256G-1002 256.0 GB

三号硬盘:INTEL MEMPEI1J016GAL 16 GB

每一次测试都在扩展板上插满三个插槽,其中,一号硬盘对应插槽1,二号硬盘对应插槽3,三号硬盘对应插槽2。

4.6.1 硬盘识别测试

硬盘识别测试结果如下:

三块硬盘均可识别。

4.6.2 硬盘接口速度测试

使用硬盘测速软件hdparm,测试硬盘接口速度结果如下:

接口速度单位:MB/s 一号硬盘 二号硬盘 三号硬盘
测试结果 360 386 380

4.6.3 硬盘读写速度测试

通过2.5G网口进行硬盘读写测速:

读写速度单位:MB/s 一号硬盘 二号硬盘 三号硬盘
测试结果 170 215 170 205 169 204

通过原生千兆网口进行硬盘读写测速:

读写速度单位:MB/s 一号硬盘 二号硬盘 三号硬盘
测试结果 101 111 98 111 97 111

五、Ubuntu系统下使用演示

5.1 安装2.5G以太网驱动

CM4_NAS扩展板上的2.5G网口在Ubuntu系统下不能即插即用,需要安装RTL8125驱动。

使用网线连接CM4_NAS扩展板上的千兆网口。

Ubuntu系统默认不安装ifconfig工具,所以需要手动安装:

sudo apt install net-tools

0008_MPS2_5G_13.jpg

输入ifconfig -a,可见此时并没有显示2.5G网卡:

2005_CM4_NAS_12.jpg

接下来我们开始安装RTL8125驱动。

首先需要更新系统:

sudo apt-get update

2005_CM4_NAS_13.jpg

接着准备编译环境:

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms

2005_CM4_NAS_14.jpg

然后安装驱动:

sudo apt-get install r8125-dkms

2005_CM4_NAS_15.jpg

安装完成后输入:

sudo modprobe r8125

2005_CM4_NAS_16.jpg

输入ifconfig -a就可以看到一个enxxx的网卡接口,这样就安装完毕2.5G网卡驱动:

2005_CM4_NAS_17.jpg

5.2 原生千兆网口测试

我们将网线插入原生千兆网口,系统会自动获取IP,然后我们使用iperf3进行测试:

原生千兆以太网测速结果,client模式为941Mbps左右:

2005_CM4_NAS_20.jpg

server模式为929Mbps左右:

2005_CM4_NAS_21.jpg

5.3 2.5G网口测试

我们将网线插入2.5G网口,系统会自动获取IP,然后我们使用iperf3进行测试:

2.5G以太网测速结果,client模式为2.29Gbps左右:

2005_CM4_NAS_18.jpg

server模式为1.64Gbps左右:

2005_CM4_NAS_19.jpg

六、NAS服务器的应用演示

6.1 系统选择

为了能够正确安装NAS服务器,软件平台请选择32位Lite版本(即不带GUI的32位命令行版本),其他版本将无法正常安装OpenMediaVault。系统镜像下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-32-bit

本文所使用的镜像版本为:2024-07-04-raspios-bookworm-armhf-lite.img.xz

将系统烧写进TF卡或者eMMC,注意,请用树莓派镜像烧录器烧写,并在烧写时开启预设置中的SSH功能:

2005_CM4_NAS_49.jpg

6.2 安装OpenMediaVault软件

使用网线连接CM4_NAS扩展板上的网口,建议使用2.5G网口,这样能最大发挥板载网络的功能。系统启动后用预置的用户名和密码登录:

2005_CM4_NAS_50.jpg

输入ifconfig -a,可见此时2.5G网口已正确获得ip:

2005_CM4_NAS_51.jpg

这里的ip是192.168.8.67,注意,如果使用2.5G网口连接网络,为了使每次重启后ip不变化,请按照4.3节所述,固定该网口的MAC地址。

为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,我们使用MobaXterm进行连接:

2005_CM4_NAS_52.jpg

然后更新系统和头文件:

sudo apt-get update

sudo apt-get upgrade

2005_CM4_NAS_54.jpg

2005_CM4_NAS_55.jpg

更新完毕后就可以开始安装OpenMediaVault软件了,输入:

wget https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install

chmod +x install

sudo ./install -n

2005_CM4_NAS_53.jpg

注意:下载OpenMediaVault软件时可能需要能连通外网(需自备方法),且安装时间较长,请耐心等待。

6.3 配置OpenMediaVault软件

在同一局域网内的PC中,在浏览器中输入树莓派系统的ip(本例中为192.168.8.67),打开OpenMediaVault,默认的登录名和登录密码分别为adminopenmediavault

2005_CM4_NAS_56.jpg

在配置NAS服务器之前,请确保存储设备已经正确安装,安装好后才能进行接下来的操作。选择“存储器”,随后点击“磁盘”此处应显示所有连接的存储设备,包括SD(TF)卡和SSD硬盘。如果没有,请仔细检查所有内容是否正确插入并重新启动系统:

2005_CM4_NAS_57.jpg

点击“存储器”下的“文件系统”,然后点击“挂载现有文件系统”,如下图所示:

2005_CM4_NAS_58.jpg

选择目前已安装的存储器,本文中所选择的是一块120G的SSD硬盘,选择完毕后点击保存:

2005_CM4_NAS_59.jpg

保存后再点击随后显示的“待应用的配置更改”中的“更改”,这样就完成了挂载设置:

2005_CM4_NAS_60.jpg

我们可以重复上述步骤,挂载多个存储器。

点击“存储器”下的“共享文件夹”,再点击“创建”:

2005_CM4_NAS_61.jpg

您可以在此处命名文件夹,选择它应存在于哪个驱动器上,并向用户授予权限。默认情况下,权限应该是正确的,但如果需要不同权限,则可以调整它们。然后保存并应用更改:

2005_CM4_NAS_62.jpg

2005_CM4_NAS_63.jpg

此处可根据需求添加多个共享文件夹。

接下来,我们需要确保网络上的计算机可以找到该共享文件夹。点击“服务”下的“SMB/CIFS”,然后点击“设置”,选中“已启动”,保存并应用更改:

2005_CM4_NAS_64.jpg

随后点击“SMB/CIFS”下的“共享”,点击“创建”,然后选择上面配置的共享文件夹并选中“已启动”,保存并应用更改:

2005_CM4_NAS_65.jpg

2005_CM4_NAS_66.jpg

2005_CM4_NAS_67.jpg

如果需要配置多个共享文件夹,请按照上述步骤重复进行。

最后,点击“用户”下的“用户”,我们可以设置一个用户供后续登录NAS服务器用:

2005_CM4_NAS_68.jpg

2005_CM4_NAS_73.jpg

2005_CM4_NAS_72.jpg

2005_CM4_NAS_74.jpg

如果不想创建新用户,也可以使用默认的用户(本文所示的为mcuzone用户),如果不知道默认用户的登录密码,可以编辑该用户,重新修改一个密码。

注意:此处的默认用户即为树莓派OS的登录用户,而不是登录OpenMediaVault软件的用户(本文所示的为mcuzone用户),如果改了这个密码,下次登录树莓派OS时也要使用新的密码。

6.4 测试NAS服务器

在同一局域网内的PC中,以Windows11为例,进入“控制面板 - 所有控制面板项 - 网络和共享中心 - 高级共享设置”,打开“启用网络发现”和“启用文件和打印机共享”:

2005_CM4_NAS_69.jpg

点击“网络”,找到NAS服务器,本文中所示的为“RASPBERRYPI”:

2005_CM4_NAS_70.jpg

双击此服务器,然后输入上面设置的用户名和密码,即可打开共享文件夹:

2005_CM4_NAS_78.jpg

2005_CM4_NAS_75.jpg

我们通过拷贝大文件进行NAS测速。下面分别是写入和读取结果:

写入:

2005_CM4_NAS_76.jpg

读取:

2005_CM4_NAS_77.jpg

注意:测试速度受网络状况、硬盘质量、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2024 野芯科技