Table of Contents

Raspberry Pi NAS: Networking

Current release of RaspiOS (we are on Debian 10 Buster) uses dhcpcd to manage networking (see Raspberry Pi TCP/IP Networking). This means that:

I want the eth0 interface to have a static IP address beside the one eventually assigned by DHCP (i.e. I want an IP alias on eth0:0). This is useful when I wan connect to the host even in an unknown network. To achieve this when dhcpcd is running, it is necessary to create an user defined hook script. See this page for more details: How to configure an IP alias with dhcpcd.

Samba

FIXME

Transfer rate

We measured the transfer rate from other home NASes, just to figure out how much time is required to transfer 500 Gb of data. The receiving NAS is the Raspberry Pi 4 with a Seagate 4 Tb IronWolf 3.5 inch hard disk connected through the X835 USB3 interface. The network is limited to 100 Mbit transfer rate, due to the limit of the LAN switch.

NAS model Disk model Transfer rate (Mbit) 500 Gb transfer time (hours)
LaCie d2 Network WDC WD10EFRX-68FYTN0, 1Tb, 5400 rpm 13 87.5
QNAP TS-120 Hitachi Deskstar 7K1000.B, 1Tb, 7200 rpm 98 12.7

Hard disk performance

To measure the hard disk read performance we copied a large file of about 3 Gb into /dev/null, this is the result timing:

Interface Mb/s
USB 2 31.8
USB 3.0 184.8

If you are interested in transferring large files across the network, beware that a 100 Mbit LAN imposes a limit of 14.7 Mb per second, so the USB 2 interface is enough to sustain that. But if you are interested into Gigabit Ethernet performance offered by the Raspberry Pi 4, you definitely need to use the USB 3.0 interface.