Time For A New NAS

I thought I wouldn’t have to say this for years to come, but I’ve reached the conclusion that after 3 years of service the time to replace my current NAS has come, for sake of reference here is what I currently have:

  • Via C3
  • Windows Server 2003
  • 512MB of RAM
  • 2TB Storage / 1TB Usable

It’s not the hardware that I find to be the problem, but the lack of expansion that’s holding me back. If you look at the picture below you can see the board currently in my NAS. For starters I am limited to a single 10/100 onboard NIC, there is no option to upgrade to SATA only IDE, while there is one PCI slot available its currently occupied by a PCI SATA controller meaning its not possible to upgrade to gigabit speeds.

CPU:

While the onboard VIA C3 CPU is no monster its certainly capable of handling most tasks: File server, web server. But there is one service I don’t even want to try and run with the current limitations, SCSI Target. Since I would not be making of a TOE NIC for the iSCSI traffic, all calculations would have to be performed in CPU which would take a toll on performance and nothing good would come out of it. Although I thought about running software RAID I opted not to because of the possible added load on the CPU.

STORAGE:

Another serious limitation is storage capacity, because of its age the board lacks SATA ports leaving me with IDE as the default option, good luck trying to find a 1TB IDE hard drive. The only possible expansion came from the PCI slot in which I installed a PCI SATA controller and connected two 1TB SATA drives, only 1TB is usable because the second drive contains a copy of the first.

RAM:

Currently running with 512MB, but can be upgraded to 1GB. I don’t see the point of upgrading.

Networking:

The board comes with a 10/100 NIC, the only expansion port is being used by the PCI SATA controller. Its either a 10/100/1000 NIC or a PCI SATA controller.

I thought of using an external USB drives or an eSATA enclosure but that would have been a temporary measure. Instead I’ve started to look for a replacement solution something that is capable, with the possibility for future expansion and with enough resources to run iSCSI, SMB, RAID, SSH for tunneling, and expansion slots.

  • Either an Intel or AMD CPU
  • At least 1GB of RAM
  • At least 4 drives
  • Gigabit NIC
  • PCI-E would be nice

At the moment there are two front runners one is a semi-complete solution: QNAP TS-410 ($450.00) and the HP Micro Server ($350.00) which would require me to once again provide the OS among other things.

I like the convenience of QNAP and the favorable reviews on what appears to be a solid product that comes with many useful features like iSCSI, HTTP server, SMB. But the nerd in me calls out for the HP Micro Server.

Hash a directory with md5deep – Part 1

File integrity is no joke and system administrators know the severity of dealing corrupt files. The problem administrators face is that unlike users, administrator have to manage servers with hundreds of thousands of files in each directory that have to be hashed. This lends it self to a few problems: hashing file by file is out of the question and a waste of time, which means we are left to find a solution that can work on a recursive manner.

md5deep checksums

Recursive operation – md5deep is able to recursively examine an entire directory tree. That is, compute the MD5 for every file in a directory and for every file in every subdirectory.

For the Windows platform you can use md5deep which is a cross platform solution, works perfectly and best of all can handle a large number of files without breaking a sweat. It will literally create a checksum for all the files on the directory where md5deep is being used, the results can then exported to a single file where they can be used for verification at a later time.

md5deep is a software package used in the computer security, system administration and computer forensics communities for purposes of running large numbers of files through any of several different cryptographic digests.
Source: Wikipedia http://en.wikipedia.org/wiki/Md5deep

md5deep is managed from the command line, however it’s very easy to use considering it will be in charge of creating checksums for a large number of individual files.

How do we use it ?

md5deep example

First of all you can download md5deep from SourceForge.net.

After you download md5deep I recommend you move the executable over to the C:\Windows directory for easy access from the command prompt.

For this tutorial I will be hashing a single directory. Start by opening a command prompt :

Start > Accessories > Command Prompt

On the Command Prompt type :

md5deep -rel "test_directory" > results_file.md5

Explanation of the command

  • r = recursive operation
  • e = compute estimated time remaining for file name
  • l = print relative paths for file name
  • “test_directory” = this points md5deep to the directory you wish to checksum
  • > results_file.md5 = is the file where all the results will be written to, you can name it whatever you want.

After md5deep is done you can open results_file.md5 to view and analyze the results.

Conclusion

md5deep is a simple tool that should be part of your arsenal after all who can complain about file integrity.

Part 2 of this tutorial: Compare Hashes With md5deep

md5deep Home page
Md5deep manual

Enable ping on Windows Server 2008

By default Microsoft disables Ping on the Windows platform, probably as an added security measure. However Ping maybe needed for testing or monitoring purposes. The process to allow Windows Server to respond to Pings is minimal, requiring few changes to the Windows firewall.

Go to Start > Administrative Tools > Windows Firewall with Added Security

start-control-panel

On the sidebar look for Inbound Rules > File and Print Sharing (Echo Request – ICMPv4-IN) > right click on Enable Rule

enable-rule

The rule has now been enabled and the server will respond to Pings.

rules-enabled

If you wish to later disable ping all you have to do is right click on the rule and select > Disable Rule

Wireless adapter for Windows Server 2003 and 2008

There are plenty of wireless adapter(USB/PCI) that work on Windows XP and Vista without a problem(most of the time). But I have yet to find one that officially supports Windows Server 2003 or 2008. It’s not uncommon to use one only to end up with repeated BSOD’s. I don’t think the administrator is going to be happy with ‘just reboot the server’.

Yes, this assumes you have no way of using wires.

An unstable driver is not something that should be impacting server performance. Since I’ve given up all hope of ever finding supported drivers I had to come up with an alternative solution.

The solution

Meet the Linksys WRT54GL and the open source firmware Tomato. The same combination that delivers a stable router can also be used to act as a wireless client.

Wireless Client

You are not limited to the WRT54GL, you can use any device that supports the wireless client feature

The wireless device will no longer act as a router but as an adapter for any devices that need wireless connectivity by receiving the signal and allowing wired devices to connect to the AP, think of it as a bridge.

Tomato Wireless Client