Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Another Newbie needing some help

Featured Replies

Hi All,

 

I have been reading these forums and the ones over in AVS, but I am still a little stuck!! First of all I was trying Freenas and got that working well, but wasn't too sure of it's reliabilty and then I came accross unraid and it seems to be a great product. I am currently testing it out using the freeversion and will buy the pro if I can work out these few problems I am having.

 

I am completely new to both linux and unraid. I have 3 500GB sata II drives. They are attached to an DFI lanparty nforce 4 motherboard, 2GB ram and I am using the marvel yukon gigabit onboard lan.

 

First issues, how do I copy config or system files from the server to the USB disk?  like I was trying to copy smb.conf to my flash drive to edit it by using the command "cp /etc/samba/smb.conf /boot/smb.conf" it gives an error about not been able to create file name /boot/smb.conf and input/output error.

 

These leads to my second issue, when I make changes in the smb.conf, they are gone when I reboot, how do I make them stick? The same with changing mtu values or network speeds on eth0, these changes are gone when I reboot. Can anyone please help me make these changes stick.

 

Third: My smb.conf seems to be different than some of the ones I have been looking at here. Here is mine

 

# configurable identification

include = /etc/samba/smb.names

 

# log stuff only to syslog

log level = 0

syslog = 0

syslog only = Yes

 

# we don't do printers

show add printer wizard = No

disable spoolss = Yes

load printers = No

printing = bsd

printcap name = /dev/null

 

# misc.

host msdfs = Yes

msdfs root = Yes

unix extensions = No

use sendfile = Yes

 

# auto-configured shares

include = /etc/samba/smb.shares

 

That's it, there are no socket options or anything like that.

 

And this is my GO file

 

#!/bin/bash

# Start the Management Utility

/usr/local/sbin/emhttp &

sleep 30

for i in /dev/md*

do

blockdev --setra 2048 $i

done

 

Is this ok?

 

Lastly, is something everyone complains about  ;D but the speed. When I installed freenas I was able to copy files from my Vista system to the freenas share (softraid5) at 30-50MB/s. I did this by putting turning off auto negotation on both cards and also by setting the send and receive buffers to 66535. I am only getting around 12-16MB/s on the unraid system, but I don't really know how to tweak things yet on unraid. I was trying to use this command in the smb.conf

 

socket options = TCP_NODELAY SO_KEEPALIVE SO_RCVBUF=66535 SO_SNDBUF=65535

 

But as I said it doesn't stick when I reboot, I don't even know if it is needed.

 

Anyway, thanks for anyone who can help me out, and if you can't thanks for reading!!

 

Just a couple of steps on your path to knowledge, other more knowledgeable Linux users will add more complete info I'm sure:

 

First thing to know is that unRAID builds and installs itself to a ramdisk, which explains why it is lost every time you reboot.  Nothing is on disk except a few config files and bzroot and bzimage.  There is not even a swap partition on disk.  There are threads elsewhere of a few users building a Slackware environment with unRAID support, and building a customized unRAID system, with a regular swap partition.

 

Second, you should have no problem copying files to the flash drive, we do it all the time.  I just tried your cp command, without a problem.

 

And lastly, we will be watching with interest your speed optimization experiments with socket options.

 

You will not get better than 12-16MB/s on writes to unRAID because of the parity read/modify/write that needs to take place on - this is similar to RAID-5 "small write penalty".  We are working on a new feature that will at least double this.

 

As for other Samba options-

 

TCP_NODELAY is already set by default

SO_RCVBUF and SO_SNDBUF - are set to OS default (I think 128K).  I've never seen any performance increase by explicitly setting these values

SO_KEEPALIVE - ok maybe you want this, but I've always found it unnecessary.

 

To add changes to the Samba config file, the proper way to do it is via echo commands in the 'go' file BEFORE emhttp is started, as in:

 

echo "SO_KEEPALIVE=Yes" >>/etc/samba/smb.conf

 

You can experiment after the server is up by directly editing /etc/samba/smb.conf (using vi) and then type the command:

 

samba restart

 

You can see all the Samba options in all their glory by typing:

 

testparm -sv

You will not get better than 12-16MB/s on writes to unRAID because of the parity read/modify/write that needs to take place on - this is similar to RAID-5 "small write penalty".  We are working on a new feature that will at least double this.

 

Hopefully the new feature isn't doubling the "small write penalty".  ;)

 

Seriously, my curiosity is piqued.

 

 

Bill

 

You will not get better than 12-16MB/s on writes to unRAID because of the parity read/modify/write that needs to take place on - this is similar to RAID-5 "small write penalty".  We are working on a new feature that will at least double this.

 

Hopefully the new feature isn't doubling the "small write penalty".  ;)

Obviously, the doubling would then be similar to RAID-10 "small write penalty"  ;) ;)
  • Author

Thanks very much for your replies.

 

So I put this line

echo "SO_KEEPALIVE=Yes" >>/etc/samba/smb.conf

 

Before this line in my GO file?

/usr/local/sbin/emhttp &

 

What about the ethernet card? where do I put this line?

 

ifconfig eth0 mtu 9000

and

ethtool eth0 -s  speed 1000 mbs DUPLEX FULL autoneg off

 

I was getting a write speed of 30-40MB/s on the freenas and it was configured as a software raid 5.

 

But the write speed isn't a huge issue, to me the read speed is much more important. I will be streaming HD movies so it's important that they don't stutter etc. Is there any tweaks out there for improving that? I used the one with the blockdev seta 2048. Is there any others? I am only getting about 30MB/s read speed. There seems to be some sort of bottleneck, but I can't figure out where it is. It's the exact same hardware that I am using with unraid as I used when testing freenas and freenas was giving me read speeds around 60MB/s.

 

Unraid is fine for streaming when there is nothing else happening, but, if the other computer is been used and they copy up anything then the movie stutters like mad, even if they only copy up at 7MB/s. The other computer has only a 100Mb card. So there should be plenty of bandwidth to stream a HD movie which only uses about 8MB/s. Is is because when you are copying stuff it has to write to the parity drive? I have noticed when I am copying stuff that the it's not a sustained transfer, but jumps between a few KB/s to 15 or 16MB/s.

 

IS there anyway to turn off flow control? or is it off already?

 

Again, sorry for my ignorance, I am completely new to this and am just trying to build up my understanding.

 

Thanks for the testparm command.  :)

Thanks very much for your replies.

 

So I put this line

echo "SO_KEEPALIVE=Yes" >>/etc/samba/smb.conf

 

Before this line in my GO file?

/usr/local/sbin/emhttp &

Yes.

I think you will also need to ask the smbd to re-read the config file as it is already started before the "go" script is even invoked.

You should be able to do that by putting the following line just after your line that adds SO_KEEPALIVE

smbcontrol smbd reload-config

What about the ethernet card? where do I put this line?

 

ifconfig eth0 mtu 9000

and

ethtool eth0 -s  speed 1000 mbs DUPLEX FULL autoneg off

You can probably put them anywhere in the "go" script.

I have noticed when I am copying stuff that the it's not a sustained transfer, but jumps between a few KB/s to 15 or 16MB/s.

IS there anyway to turn off flow control? or is it off already?

Lots of people have seen the same behavior... from my own investigation it almost seems as if writes have priority over reads.

I have also seen that it appears as if there is a flow control issue of some kind between the network driver and the pdflush thread/process launched by the kernel.  I experimented a bit with setting the pdflush to a lower priority this in this thread: http://lime-technology.com/forum/index.php?topic=1119.0 but the pdflush processes are constantly re-created and the new ones spawned have the original nice value.  To me, they should be background processes and at a lower priority. Instead, they seem to be higher in priority than the network driver.

Again, sorry for my ignorance, I am completely new to this and am just trying to build up my understanding.

 

Thanks for the testparm command.  :)

Welcome to the group... we are all trying to understand... (and get improved performance) 

Now, don't get me wrong, my unraid server is doing fine, and plenty fast enough for most of how I use it, but I seldom have simultaneous reads/writes and do not have any HD content streams.

 

Joe L.

  • Author

Thanks Joe, interesting read there on that link you sent me on. Most of it went way over my head lol. But I think I basically understand the problem. IT seems to be that the network stops when it writes to the parity drive because of some process getting higher priority over others.

 

And don't get me wrong either lol, I am very happy with the Unraid system and it seems to very stable and the ability to add drives makes a it a winner for me.

 

My only concern is that streaming HD. I am going to test it later and see how it streams to two PC's or Maybe copy a file to one PC and stream HD to the other. The write speeds, while slow, are something that I can live with as I can just copy stuff up over night.

 

I really would like to learn some more about the command and folder structure etc in the unraid. Is there a list of commands etc. anywhere? or is it just go out and learn linux lol.

For the most part unRaid has the same set of basic commands available on just about any Linux OS.  unRaid has left out a few of the commands that were not needed for it to function that are available on a full linux installation.  For example, there is no ftp server, but there is an ftp client.  There is no graphical interface on the console, it is text only.  It has no printer spoooler process, etc.

 

Google is your friend there to find out what commands are available.  search for "man samba" or "man ifconfig" or "man bash" and you will have tons to read.  "man" is the built in manual page system in many linux distributions... (also left out of unRaid so it will fit in a small flash drive.)  Fortunately, it is easy to find the same content using google. 

 

You basically understand the problem.  The "pdflush" processes are spawned by the OS to write blocks of data that are in the disk buffer cache to the physical disks.  They should start their work when the disk buffer cache has any block waiting to be written to the physical disk, and work until the cache is empty.  Apparently, when pdflush is in the process of writing to a physical disk they take priority over the network IO tasks and the network task stops.  I don't know in the process that causes this... it could be lock contention of some kind on some resource needed by both processes, or something else. 

 

In my opinion pdflush processes should not take priority, they should work in the background writing to the disks. Only if the disk cache is full and the network task is unable to write should it block. (the "write" call is blocked waiting on a resource (disk buffer) to be freed up after writing to the physical disk by pdflush.)

 

So, it is not writes to the parity drive, but writes to any drive, that is the issue.  If you do not have a parity drive defined than only one disk needs to be written to instead of two, so you see less blocking of the network data.

 

I've been able to stream 4 separate DVD ISO images to different clients on my LAN while reconstructing data on a simulated failed drive.  I've not tried any HD streams, but odds are you will be fine.

 

Joe L.

 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.