Fractal's Storage Room.

We never seem to have enough storage. Drives get bigger and bigger but our demands grow even faster. One common way to build volumes that exceed the size of single drive is to build a RAID array. This is great for servers but the average person doesn't want or need to build a server. This is where a NAS comes in. A NAS is a dedicated server to serve files.

Herein I discuss my first generation file server as well as my experiments in Network Attached Storage

File Server

My main server shrunk about 8 years ago from a refrigerator size cube with a pile of scsi drives to a standard destktop tower with several internal hard drives. This was expanded with a TowerRAID TR8M+B external drive bay with 8 drives connected to the server with a pair of ESATA cables. This worked great starting with four, one terrabyte drives and expanding a drive or two at a time until all eight bays were full.

Then came the big upgrade. I purchased a new, TowerRAID TR4M+BNC four bay esata enclosure and some two terabyte drives along with a AMS1062 port multiplier esata card. My plan was to migrate the contents of my eight by one terrabyte drives to four by two terrabyte drives then move the new drives into the old enclosure. This, unfortunately, did not work. I ran into all sorts of trouble getting the esata port multiplier to work. I also did not particularly like the TR4M. Unlike the TR8M, the TR4M is trayless. The drives are slid into the chassis and are held in place by friction. Sans Digital also makes a 5 bay model with trays. So I purchased a TowerRAID TR5M+BNC and mounted four of the drives that were still mounted in the trays from the TR8M into it. Those also did not work. Eventually I guessed that it was the AMS1062 using the AHCI driver that did not work.

The SiI 3132 using the sata_sil24 driver, on the other hand, works. So off I go to find another SiI 3132 card.

SiI 3132 card

The SiI 3132 is a popular low cost SATA/ESATA raid card. It shows up in lspci as:

RAID bus controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)
There are reports to look for the rev 5 version but I have had no issues with the rev 1 version in many years of operation

AMS1062

The AMS1062 is a popular ESATA card that supports port multiplier operation. It shows up in lspci as:

SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
Unfortunately the AHCI driver under ubuntu has issues. This shows up as frequent disconnect logged as
[178096.170107] ata6.00: failed to read SCR 1 (Emask=0x40)
[178096.170112] ata6.01: failed to read SCR 1 (Emask=0x40)
[178096.170114] ata6.02: failed to read SCR 1 (Emask=0x40)
[178096.170116] ata6.03: failed to read SCR 1 (Emask=0x40)
[178096.170117] ata6.04: failed to read SCR 1 (Emask=0x40)
[178096.170118] ata6.05: failed to read SCR 1 (Emask=0x40)
[178096.170124] ata6.15: exception Emask 0x4 SAct 0x0 SErr 0x400000 action 0x6 frozen
[178096.171079] ata6.15: SError: { Handshk }
[178096.172041] ata6.00: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[178096.173030] ata6.01: exception Emask 0x100 SAct 0xc000 SErr 0x0 action 0x6 frozen
[178096.174022] ata6.01: failed command: READ FPDMA QUEUED
[178096.175004] ata6.01: cmd 60/00:70:3f:ef:1f/04:00:14:00:00/40 tag 14 ncq 524288 in
[178096.175004]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[178096.176922] ata6.01: status: { DRDY }
[178096.177904] ata6.01: failed command: READ FPDMA QUEUED
[178096.178861] ata6.01: cmd 60/00:78:3f:f3:1f/04:00:14:00:00/40 tag 15 ncq 524288 in
[178096.178861]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[178096.180814] ata6.01: status: { DRDY }
[178096.181796] ata6.02: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[178096.182784] ata6.03: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[178096.183760] ata6.04: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[178096.184723] ata6.05: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[178096.185662] ata6.15: hard resetting link
[178096.901489] ata6.15: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[178096.901675] ata6.00: hard resetting link
[178097.221387] ata6.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[178097.221410] ata6.01: hard resetting link
[178097.541109] ata6.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[178097.541132] ata6.02: hard resetting link
[178097.860847] ata6.02: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[178097.860869] ata6.03: hard resetting link
[178098.180580] ata6.03: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[178098.180602] ata6.04: hard resetting link
[178098.500304] ata6.04: SATA link down (SStatus 0 SControl 310)
[178098.500344] ata6.05: hard resetting link
[178101.817304] ata6.15: qc timeout (cmd 0xe4)
[178101.817318] ata6.05: failed to read SCR 2 (Emask=0x4)
[178101.817320] ata6.05: failed to read SCR 0 (Emask=0x40)
[178101.817321] ata6.05: SATA link down (SStatus 1301 SControl FFFF8801)
[178101.828857] ata6.00: configured for UDMA/133
[178101.840477] ata6.01: configured for UDMA/133
[178101.851815] ata6.02: configured for UDMA/100
[178101.863147] ata6.03: configured for UDMA/100
[178101.863197] ata6.01: device reported invalid CHS sector 0
[178101.863200] ata6.01: device reported invalid CHS sector 0
[178101.863209] ata6: EH complete
Other symptoms include
NFO: task ext4lazyinit:10660 blocked for more than 120 seconds.
[234161.124855]       Not tainted 3.13.0-32-generic #57-Ubuntu
[234161.125724] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[234161.126640] ext4lazyinit    D ffff88011eb94440     0 10660      2 0x00000000
[234161.126645]  ffff8800bcb4bc00 0000000000000002 ffff880036ee0000 ffff8800bcb4bfd8
[234161.126648]  0000000000014440 0000000000014440 ffff880036ee0000 ffff8800c182c8e8
[234161.126651]  ffff8800c182c8ec ffff880036ee0000 00000000ffffffff ffff8800c182c8f0
[234161.126653] Call Trace:
[234161.126662]  [] schedule_preempt_disabled+0x29/0x70
[234161.126665]  [] __mutex_lock_slowpath+0x135/0x1b0
[234161.126667]  [] mutex_lock+0x1f/0x2f
[234161.126671]  [] __jbd2_log_wait_for_space+0xe5/0x200
[234161.126674]  [] ? sched_clock_cpu+0xb5/0x100
[234161.126677]  [] start_this_handle+0x2cb/0x590
[234161.126681]  [] ? kmem_cache_alloc+0x1b2/0x1e0
[234161.126683]  [] ? jbd2__journal_start+0x90/0x1e0
[234161.126685]  [] jbd2__journal_start+0xf3/0x1e0
[234161.126689]  [] ? ext4_init_inode_table+0xb1/0x390
[234161.126692]  [] __ext4_journal_start_sb+0x69/0xe0
[234161.126695]  [] ext4_init_inode_table+0xb1/0x390
[234161.126699]  [] ? __sb_start_write+0x49/0xe0
[234161.126703]  [] ext4_lazyinit_thread+0x275/0x2f0
[234161.126705]  [] ? ext4_unregister_li_request+0x60/0x60
[234161.126709]  [] kthread+0xd2/0xf0
[234161.126711]  [] ? kthread_create_on_node+0x1d0/0x1d0
[234161.126714]  [] ret_from_fork+0x7c/0xb0
[234161.126716]  [] ? kthread_create_on_node+0x1d0/0x1d0
One post suggested changing the bios from AHCI to legacy but I never tested it

Configuring the RAID array is a snap once you master mdadm. I often find myself consulting RAID setup page when managing my volumes.

FreeNas / Nas4Free

The Hewlett Packard MicroServers are very popular for home brew NAS applications. I bought one and installed the four by two terabyte drives that I could not get to work with the AMS ESATA card in it. I installed FreeNAS which demanded I upgrade the memory in order to run ZFS. I ran that for a while and it worked pretty well.

I then purchased four by six terabyte WD red drives and upgraded the system OS from FreeNAS to NAS4Free. FreeNAS split at version 7 and the consumer oriented code became known as NAS4Free and FreeNAS became more enterprise focused. I find FreeNAS more appropriate for my needs.

Enclosures



Copyright © 2001-2016 by Fractal
Hosting by ziandra.net