upgrading my DNS-323 to 2 x 2 TB I

As I was running out of space on my DNS-323, I decided to upgrade my two 1 TB drives to 2 TB. Due to insufficient research into the matter, I was surprised to read, prior to performing the upgrade, that there are significant performance issues with these drives.

The DNS-323 is D-link extremely popular NAS. It has an ARM processor which can run linux. This allows for significant extensibility.

Currently, my two Seagate 1 TB drives are in a RAID 1 setup and the DNS was running firmware version 1.06. The array was nearly full:

NAS almost full

I ended up purchasing 2 WD 2-TB drives from NCIX at $137.99 = $275.98. The full name is Western Digital WD20EARS Caviar Green 2TB SATA2 3GBPS 64MB Cache 3.5IN Hard Drive OEM. The order *** was placed April 20 and received 10 days later (7lbs, Standard, tracking: ***). The delay was mostly due to NCIX taking a rather long time to ship, even though it was shipped from Canada (i.e., Richmond, BC).

For comparison, an order (***) for a Blu-ray burner placed April 23 with NewEgg.ca (2lbs, Standard) was shipped out of Edison, NJ with UPS tracking *** on April 26 and was delivered April 28:

Date/Time Activity Location
04/28/2010 17:28:00 DELIVERED[D]  
04/28/2010 08:17:00 OUT FOR DELIVERY[I] CONCORD, ON, CA
04/28/2010 07:37:00 DESTINATION SCAN[I] CONCORD, ON, CA
04/28/2010 00:57:00 ARRIVAL SCAN[I] CONCORD, ON, CA
04/27/2010 22:00:00 DEPARTURE SCAN[I] FT. ERIE, ON, CA
04/27/2010 18:13:00 LOCATION SCAN[I] FT. ERIE, ON, CA
04/27/2010 18:10:00 IMPORT SCAN[I] FT. ERIE, ON, CA
04/27/2010 16:54:00 ARRIVAL SCAN[I] FT. ERIE, ON, CA
04/27/2010 14:04:00 DEPARTURE SCAN[I] BUFFALO, NY, US
04/27/2010 13:51:00 ARRIVAL SCAN[I] BUFFALO, NY, US
04/27/2010 03:25:00 DEPARTURE SCAN[I] SECAUCUS, NJ, US
04/26/2010 20:13:00 ORIGIN SCAN[I] SECAUCUS, NJ, US
04/26/2010 09:44:00 ORIGIN SCAN[I] EDISON, NJ, US

(The order and tracking numbers were encrypted for privacy reasons.)

Downloading the newer firmware, 1.08, which supports 2 TB drives and has several enhancements, is trivial. I downloaded it to my computer from dlink.ca (link below), logged into the unit with my admin password, uploaded the firmware, rebooted, and now it’s running 1.08.

Upon unboxing and marking each drive (A and B), I’ve found a warning sign regarding use in Windows XP:

WD20EARS opening

Further investigation uncovered that it is not only Windows XP having problems with the drives and their new 4K sector formatting, it seems my linux-running NAS might have them too. More specifically, reads are fine, but writes may be slow and prone to lock-ups. Here’s what users are reporting:

Well I ran a few tests and my writes have dropped from 18MB/s down to 13MB/s but my reads are still between 30MB/s and 40MB/s. I'd put the write drop to EXT3 with journaling instead of the 4K sector issue. (mhoare1984)

My write speed has dropped from 15MB/s to 10-12MB/s using this HDD. Read is the same at 10MB/s. How were you able to manage a read of 20-40MB/s? I'm using jumbo frames at 7 MKU on both my LAN card and DNS 323 over a gigabit network (beefy314)

I have tried to install the same drives as standalone volumes, using firmware 1.08.  They are detected correctly, but every time the format stops around 14% and the NAS completely stops responding to any input.  I am unable to connect to it through the web interface or even shut it down with the front panel, it has to be unplugged.  The hard drive status lights are also 'pink' in color, for both drives. (..) Put in one drive, detected and started format.  This time it got past 14% but locked up at 43%.  Just to be sure I let it run overnight (over 12 hours) and it never budged.  Again the 323 stopped responding. (Evo Chris)

Prior to removing the array, it’s worth running a few benchmarks. I download and run NAS tester 0.4 on the unit with two Seagate 1 TB drives (ST31000340AS) in RAID 0. The computer and NAS are connected to a cheap unmanaged 8-port D-link DGS-1008D gigabit switch, but the computer I am using has a 100 Mbps connection and does not support Gigabit. Jumbo frames on the unit are not enabled.

Running a 200MB file write on drive x: 5 times...
Iteration 1:     7.78 MB/sec
Iteration 2:     7.68 MB/sec
Iteration 3:     8.19 MB/sec
Iteration 4:     7.94 MB/sec
Iteration 5:     8.2 MB/sec
Average (W):     7.96 MB/sec
Running a 200MB file read on drive x: 5 times...
Iteration 1:     3.5 MB/sec
Iteration 2:     3.57 MB/sec
Iteration 3:     3.77 MB/sec
Iteration 4:     3.8 MB/sec
Iteration 5:     3.96 MB/sec
Average (R):     3.72 MB/sec

The results are far from stellar: W: 7.96 MB/sec, R: 3.72 MB/sec.

Next, I disconnected the network drive in Windows, powered off the NAS, installed the new drives and powered it back up. The unit asked me to decide how to format the drives and this time I chose to follow horto’s and Small Newtork Builder’s advice:

So, what I’ve set out to do is install 2 disks in a standard, two-volume configuration.  I’ll sync a “replicated” folder between both drives, and make sure the data I care about is stored inside that folder.  My mp3s and pictures from my desktop PC will go in that replicated folder.  For my work laptop, I’ll set it up to use Time Machine to the 323.

With that in mind, I chose the Standard option:

dns323-format I was then asked to choose the file system. I had two options: EXT2 (best performance) and EXT3 (most stable). Stability in this unit is far more important than performance, because I’ll be using it as a backup and for its very large storage capabilities. Though in the near future I might upgrade most of my computers to Gigabit networking, for the time being, most networking “actors” are connecting at 100 Mbps, even though the switches and some servers connect at gigabit speeds.

dns323-select-fs The format completed in about 1h. After restarting and reconnecting the network drive in Windows I ran again the benchmarking app with exactly the same settings, with the following results:

Running warmup...
Running a 200MB file write on drive x: 5 times...
Iteration 1:     7.12 MB/sec
Iteration 2:     7.19 MB/sec
Iteration 3:     7.24 MB/sec
Iteration 4:     7.19 MB/sec
Iteration 5:     7.14 MB/sec
Average (W):     7.17 MB/sec
Running a 200MB file read on drive x: 5 times...
Iteration 1:     2.99 MB/sec
Iteration 2:     3.01 MB/sec
Iteration 3:     2.82 MB/sec
Iteration 4:     2.99 MB/sec
Iteration 5:     3.01 MB/sec
Average (R):     2.96 MB/sec

Surprisingly, the performance penalty is not all that great. Next, I’ll have to partition following timezlicer instructions:

fdisk or parted
... see below

mkswap /dev/sdd1

mke2fs -j -m 0 -T largefile4 /dev/sdd2

mke2fs -j /dev/sdd4

hd_verify -w
Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1              64     1060287      530112   82  Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sdd2         3164800  3907029167  1951932184   83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sdd4         1060288     3164799     1052256   83  Linux
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order
(parted) unit s
(parted) print
Model: WDC WD20EARS-00S8B1 (scsi)
Disk /dev/sdd: 3907029168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start     End          Size         Type     File system  Flags
1      64s       1060287s     1060224s     primary  linux-swap
4      1060288s  3164799s     2104512s     primary  ext3
2      3164800s  3907029167s  3903864368s  primary  ext3

Last edited by timezlicer (2010-03-04 01:38:24)

..and read up on this 4K problem.

Since the drives are formatted as standard (single), I might want to mount them on the desktop computer in Linux and format them there, as installing parted on the DNS-323 makes very little sense. That way, I could also copy / backup the RAID to the drive, before completely erasing the RAID and using the drives individually in another context. In part II, I 4k format the drives in the DNS-323 unit.

Sources / More info: tt-blacX, dlink-dns-323, anand-4k, hh-4k, dlink-forum-q, dlink-forum-a, dlink-forum-2TB, dlink-forum-measureNAS1, dlink-forum-measureNAS2, NAS-tester, jumbo-should-i, snb-jumbo, horto-start, snb-no-raid, dsmg600-4k, ffp-parted,


Anders Borg said…
The problem was mechanical: After "jogging" the drives further both were detected.

Are you happy with the EXT3 formatting? I read elsewhere that EXT3 was more unstable than EXT2 in this device.
Anders Borg said…
I use the exact same drives (WD20EARS) on the exact same NAS (DNS-323 with 1.08 firmware) and it doesn't detect any drives. I'm at a complete loss. Did you have problems with that? I've checked that the drives work in Windows by doing an NTFS quick format on both, before I put them back in the NAS a second time. Any jumpers needed on the drive?
InBonobo said…
I stopped using these drives and downgraded to different drives that don't
require Advanced Formatting. I use ext3 with no problem.
InBonobo said…
The drives were detected when I first installed them and the box offered to
format them. If that does not happen for you, you might want to change the
jumpers as suggested on wd.com - I couldn't tell you, as I did not need to
do that.
Nas Backup said…
Thank you for being so detaild in your approach. Its a very nice post and your effort is highly appreciative
InBonobo said…
I appreciate your comment as well :)
JackSp said…
Just read this article, as I am about to also upgrade my 2 x 1TB HDD to 2 x 2TB HDD for my DNS323. I have the existing 2x1TB in a RAID1 format - how should I go about to upgrade to 2x2TB also in RAID1? Can I do the following:
1. break the mirror - by removing 1 of the 1TB HDD.
2. insert a new 2TB HDD in its place, and leave both the HDD in standard (individual format)
3. Copy over the data from the 1TB to the 2TB.
4. Remove the remaining 1TB, and replace with another new 2TB
5. Make the 2TB into RAID 1 mirroring.

Is the above feasible? or it's not possible to break the mirror, and simply insert and copy over data from the 1TB to 2TB? Thanks in advance for your help!
InBonobo said…
Keep in mind that the upgrade described above is only for Green drives having the 4k problem - your new drives probably don't. 

Personally, I wouldn't bother with RAID1 unless I had very reasons to run RAID (most SOHO users don't). I would then copy the data from the array to one of the disks after first formatting it in the unit.

Your plan seems quite dangerous and you are likely to lose your data in the process. The unit might prompt you to format the drive then actually format both..
JackSp said…
Wow.. thanks for the so quick reply!
Hmm.. that's what I also fear .. the unit may just happily format both drives.
I am running raid1 cos ... cos... hmm.. it seemed the right thing to do at the time... ha ha!

Well, there's no hard and fast rule.. I just want to ensure my data is safe; seemed that the built in RAID1 offers the easiest and quickest way to achieve that - been running for the last couple of years without issue (nothwithstanding the horror stories around the web of losing data in RAID1 as well).

What's the best way to achieve this, would you suggest? Keep as individual disks, and run a nightly rsync to copy from one disk to the other?
InBonobo said…
right on :)
Nathan Marsh said…
just for anyone interested, ALT F firmware is out for this NAS, and it may support larger hard drives than the stock D-Link firmware.
zamo said…
Thank you, Nathan. MOAR options, MOAR power! :)

Popular posts from this blog