Unraid

Unraid

Below you can find details of everything that is currently running on my Unraid Server.

For docker containers refer to Services

For details on the hardware refer to Hardware

F9-NAS

  • Unraid Version: 7.0.0

Plugins

Auth Bypass for Corsair Stats and Dynamix Temperature pages

Add the following to the bottom of your “go” file (/boot/config/go)

1
2
3
4
5
6
7
8
9
# Add Un-Authenticated access to Unraid 6.10-RC1+ for SystemTemp.php and Status.php (Corsair Plugin)
while [ ! -f /var/run/nginx.pid ]
do
  sleep 2 # or less like 0.2
done

echo -e "# Fma965 Un-Authenticated Access\nlocation ~ /plugins\/corsairpsu\/status.php {\nallow all;\ninclude fastcgi_params;\n}\n\nlocation ~ /plugins\/dynamix.system.temp\/include\/SystemTemp.php {\nallow all;\ninclude fastcgi_params;\n}\n# End Fma965 Un-Authenticated Access\n\n$(cat /etc/nginx/conf.d/locations.conf)" > /etc/nginx/conf.d/locations.conf;
nginx -s reload
# End Nginx Basic Auth Patch

http://UNRAID_SERVER/plugins/corsairpsu/status.php http://UNRAID_SERVER/plugins/dynamix.system.temp/include/SystemTemp.php

Disable AMD-PState-EPP (revert to passive)

Add ` amd_pstate=passive to the end of your append initrd=/bzroot` in your /boot/syslinux/syslinux.cfg

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
default menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label Unraid OS
  menu default
  kernel /bzimage
  append initrd=/bzroot amd_pstate=passive
label Unraid OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label Unraid OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode 
label Unraid OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

MinIO Issues

MinIO will not work with Unraid’s SHFS (Fuse File System), the only solution at this time is to mount a specific disk rather than a user share.

Example instead of /mnt/user/S3/ we can use a specific disk like /mnt/disk2/S3/

I believe ZFS arrays will also work but I have not tested this yet.

Fix Temperature Sensors Conflict with Corsair and Dynamix

In the User Script plugin add a new script that runs “At Startup of Array” with the following code

1
2
3
4
5
6
7
8
9
10
#!/bin/bash

FILE="/etc/sensors.d/sensors.conf"

if [ -f "$FILE" ]; then
    sed -i '/chip "corsairpsu-hid[^"]*"/,+1d' "$FILE"
    echo "Entries have been removed."
else
    echo "$FILE doesn't exist."
fi

Various Settings

Disk

  • Tunable (md_write_method): reconstruct write

Docker

  • Docker storage driver: native
  • Type: Directory
  • Preserve user defined networks: Yes
  • Host access to custom networks: No

NUT

  • Time on Battery before Shutdown (Minutes): 5
  • ups.conf
    1
    2
    3
    
    override.ups.delay.shutdown = 150
    override.ups.delay.start = 20
    override.ups.beeper.status = "disabled"
    

SMB

  • Enable SMB Multi Channel: Yes
  • Enable NetBIOS: No

Tips And Tricks

  • Disable NIC Flow Control? Yes
  • Disable NIC Offload? Yes
  • Normal CPU Scaling Governor: On Demand
  • Power Saving CPU Scaling Governor: Power Save
  • Power Saving Schedule: 00:00 -> 07:0

© Scott. Some rights reserved.