QNAP TS-219P+
Posted on 7 April 2011 | 2 responses
I’ve been looking to add some new network attached storage for my home network. I wanted something that would provide NFS and iSCSI access to use with my virtualization lab as well as simple CIFS/SMB for use as shared storage.
A collegue mentioned QNAP as one option and I began doing some research on them. The units have a very full feature set and a review at Smallnetbuilder.com showed good performance data . I went ahead and purchased the Qnap TS-219p+ along with 2 SAMSUNG EcoGreen F2 HD154UI 1.5TB 32MB Cache SATA 3.0Gb/s 3.5″ Internal Hard Drives. These are 5400 RPM drives with a manufacturer reported maximum transfer rate of 300 MB/sec. Tom’s Hardware lists this same drive as having 107 MB/s maximum transfer speed in their testing. The QNAP TS-219p+ is not on the Vmware HCL but I had no issues adding the NFS mount to my ESXi 4.1 host.
QNAP TS-219p+ Specs
CPU: Marvell 6282 1.6GHz
DRAM: 512MB DDRIII RAM
Flash Memory: 16MB
HDD: 2 x 3.5″ and 2.5” SATA II HDD
HDD Tray: 2 x hot-swappable tray
LAN Port: 1 x Gigabit RJ-45 Ethernet port
USB: 3 x USB 2.0 port (Front:1 Back: 2)
Supports USB printer, disk, pen drive, USB hub, and USB UPS, etc.
eSATA: 2 x eSATA port (Back)
Power Consumption (W)
Sleep mode: 7W
In operation: 19W (with 2 x 500GB HDD installed)
File System
- Internal HDD: EXT3, EXT4
- External HDD: EXT3, EXT4, NTFS, FAT32, HFS+
Networking
- TCP/IP (IPv4 & IPv6: Dual Stack)
- Jumbo Frames
- DHCP Client, DHCP Server
- Protocols: CIFS/SMB, AFP (3.1), NFS, FTP, HTTP, HTTPS, Telnet, SSH, iSCSI and SNMP.
- iSCSI
- Network Service Discovery (UPnP, Bonjour)
- USB Wi-Fi 802.11n Adapter Support (Optional Purchase)
Network File Sharing
- CIFS/SMB (Plus DFS Support)
- AFP
- NFS
- FTP
- WebDAV
Disk Management
- Single Disk, JBOD, RAID 0 / 1
Performance Testing
I used Iometer to benchmark NFS and iSCSI performance of the QNAP TS-219P+. For a test setup I configured the unit as Raid 0 and used a Windows XP SP3 VM configured with 1 GB RAM and 1 vCPU. My initial results have been redacted due to an issue I discovered with my hyper-visor hardware that caused poor throughput and iops numbers. My colleague Jason does a lot of testing of storage and virtualiztion and offered to re-test my Qnap on his infrastructure. His results were much better and more in line with my expectations.



Conclusions
The Qnap 219p+ has a polished UI and an impressive feature set. Overall IOPS and throughput performance are quite good for a 2 disk soho NAS system (considering I was using 5400 RPM drives). Although the 219p+ is not on the VMware HCL, it integrated into my vmware lab seamlessly. I was able to attach both NFS and iSCSI datastores in ESXi 4.1 without problem. A comparison of performancevs. the Iomega Ix2-200 showed the QNAP besting it in most categories (interestingly the Iomega edged out the QNAP in iSCSI for the 60% Random, 65% Read and Random 8K 70% read tests). The Ix2-200 costs several hundred dollars less than the QNAP + drives so it is worth a look if you want to save a few dollars. The Ix2-200 is also listed on the VMware HCL, whereas the QNAP 219p+ is not.
One thing that I did not expect to see was the disparity between the NFS and iSCSI performance. In some cases, NFS performed at almost 1.5x that of NFS. If you are looking for a flexible, full featured and well built soho NAS, I would highly recommend looking at QNAP.
502 Proxy Error – Apache reverse proxy
Posted on 8 June 2010 | 1 response
I configured an Apache2 reverse proxy as described here. I could get the index page of the site to load but the css wasn’t getting applied. If I clicked any links on the site I get a 502 proxy error.
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /page2.html.Reason: DNS lookup failure for: internal.domain3.compage2.html
I noticed that URL in the Reason line was missing the / between the domain and page2.html, but since it was present in the GET /page2.html I dismissed that clue. I launched into troubleshooting mode and checked DNS resolution, mod_proxy config, caching, etc.
Finally I took a shot in the dark and went back to the original error. I added a terminal / (shown in red below) to the mod_proxy statements in my httpd.conf file and if flipping worked. I didn’t see this required in any of the documents I read on configuring mod_proxy but who know’s. Maybe I’m a dumbass.
ProxyPass / http://internal.domain3.com/
ProxyPassReverse / http://internal.domain3.com/
ProxyHTMLURLMap http://internal.domain3.com/ /
Apache Reverse Proxy & Virtual Hosts
Posted on 8 June 2010 | 1 response
I’ve been working on a .NET project and needed to make a development box available on the web. I already have another server running that is serving up several other websites. Since I only have 1 IP from my ISP I needed to figure out how to pass port 80 traffic to multiple internal hosts.
You cannot NAT port 80 to two different internal or DMZ hosts with only 1 public IP. You can of course use PAT if your willing to use an alternate port for one of the servers. I did some quick research on reverse proxies originally intending to use Nginx. I’d worked with it on a project at one of my previous gigs. Then I discovered that Apache using mod_proxy can do the same thing.

Proxy Traffic Flow
I’m not going to go through all details, but you can find a good how to here at apache tutor. I’ll list a short run-down of the highlights for my situation.
- Upgraded my apache2 installation to apache2-dev so I had access to apxs to build mod_proxy_html (note you may or may not need mod_proxy_html but you probably will).
- Download and compile mod_proxy_html from here. http://apache.webthing.com/mod_proxy_html/
- Build mod_proxy_html using apxs
# apxs -c -I/usr/include/libxml2 -I. -i mod_proxy_html.c
(make sure you have libxml2 installed. If you get errors building mod_proxy_html.c try upgrading your libxml2 – worked for me)
- Now edit your httpd.conf to make sure you load the correct modules
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadFile /usr/lib/libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so
- Configure the virtual hosts section of httpd.conf. I’ve got a FQDN of www.domain3.com that I want to reverse proxy to a different internal server which answers to internal.domain3.com. The below is how I configured my httpd.conf.
<VirtualHost *:80>
ServerName www.domain3.comProxyRequests off
ProxyPass / http://internal.domain3.com/
ProxyPassReverse / http://internal.domain3.com/
ProxyHTMLURLMap http://internal.domain3.com/ /
</VirtualHost>
- Restart apache #/etc/init.d/httpd restart
Citrix Receiver for iPhone Installation
Posted on 7 June 2010 | No responses
I guess the title of the post is a bit incorrect. I’m not here to tell you all the hows/whys of installing the Citrix Receiver backend or iPhone app. However I’m will tell you how I fixed my two vexing errors. The below is done on Citrix Presentation Server 4.5. I am not using the gateway product. Users access the Citrix web interface by going to https://citrix.mydomain.com . Nothing fancy.
I created the PNAgent site as described here (watch the video). I installed the Citrix iPhone Receiver app and attempted to access my site. I got an error “unable to load app list” . Eventually I got that fixed and then was able to load my app list. However any time I attempted to launch an app I’d get the black screen with “Please” wait and then eventually I’d get kicked back to my app list. No errors on the Citrix Server side.
I found lots of post telling you to change your gateway configuration or change the secure access settings similar to what you need to do to get the web interfaced working when the Citrix server is behind a NAT firewall. Well my PNAgent didn’t have the option to set the gateway access settings. Now what? Well the solution to both problems are listed below.
- ERROR: Unable to Load App List
- Check the Server Farm Settings: Citrix AMC > Citrix Resources > Configuration Tools > Web Interface > PNAgent Site (whatever this is called).
- Right Click PNAgent Website > Manage Server Farms > Select Farm > Verify XML Service Port is 80 and Transport type is http. If mine was set to https or ssl relay I got the error.
The second, more vexing error was not being able to launch the apps once I got the list to load. If your Citrix Web access is working (and your not using the secure gateway product and are behind a NAT firewall) the solution is pretty easy. If you’re trying to get your web access to work check here. Anyway here is the solution.
- ERROR: Clicking on an app takes your to a black screen that says “Please Wait”. Eventually the app never opens and you are kicked back to the app list.
- Navigate to C:\Inetpub\wwwroot\Citrix\AccessPlatform\conf and copy the WebInterface.conf file to your desktop. Rename it so you know it’s from the Access Platform site.
- Navigate to C:\Inetpub\wwwroot\Citrix\PNAgent\conf directory and copy the WebInterface.conf file to your desktop
- You should now have the two webinterface.conf files. Open both using a text editior. You will need to copy 2 lines from the accessplateform webinterface file over to the PNAgent web interface file and then save it back to the PNAgent conf directory.
- Look for the lines “ClientAddressMap=192.168.x.x/255.255.255.0,Normal,*,Alternate” in the acessplatform file and copy that to the PNAgent File. Note the IP listed may be different and is the internal subnet your Citrix server is on.
- Look for “ServerAddressMap=192.168.x.x:1494,10.10.10.10:1494″ and copy it from the accessplatform file to the pnagent file and over write the existing setting.
- Save the changes to the webinterface.conf file for the PNAgent site. Make a copy of the original and then over write the one in C:\Inetpub\wwwroot\Citrix\PNAgent\conf . That’s it. It should work now.
HP buys 3Com?
Posted on 12 November 2009 | No responses
I see HP is buying 3Com. I was surprised to read this and all I can think is why? I still have a bad taste in my mouth from 2000 when 3Com pulled out of the high-end corporate network market. Before then I had a good amount of 3Com gear in the IT closets and 3Com was considered a very solid network provider. It was them or Cisco in the rack. Then after they pulled out in 2000 I was really wondered what they were planning to do.
In 2003 they started working with Huawei in China and appeared to be trying to get back into the enterprise network market with the joint venture H3C line. It sounds like that gear has done well in China and overseas, but I don’t know anyone running 3Com in their data centers today (although I’m sure there is somewhere).
I read that HP is buying 3Com to fill out their data center product line. Really? I would think HP would be better off continuing down the path they are currently on without spending 2.7 Billion for 3Com. Oh well, HP should know what they’re doing……right?
RAID limitations – an interesting read
Posted on 2 October 2009 | No responses
I was doing some reading the other day and came across several blogs about the limitations of RAID and in particular RAID 5. Since I use RAID 5 on a number of systems at work, this of course gave me some pause. On my larger SANs I’m using RAID 50 which should mitigate most of the potential issues. I’m not saying these blogs are gospel, but they are worth thinking about next time you configure new storage and definitely worth reading.
Limitation of RAID 5 in large storage systems (>12 TB) (note the blog entries are dated 2007 so a bit old)
http://blogs.zdnet.com/storage/?p=162
http://storagemojo.com/2007/02/20/everything-you-know-about-disks-is-wrong/
Interesting bit on Suns RAIDZ which overcomes RAID 5 limitations. Good if your running sun gear.
http://blogs.sun.com/bonwick/entry/raid_z
HP Blackscreen of Nothing
Posted on 26 August 2009 | No responses
Sometimes you have things happen at work that are silly, weird and illogical – especially when you work with computers. I’ve had 2 recent brushes with the HP Black Screen of Nothing (BSON). One on a brand new HP Proliant DL380 G5 and one on an old Proliant DL380 G3. Both had the same symptoms and the same fix.
The BSON is characterized by a server that doesn’t POST, has no video, no RED LEDs, no beep codes; just a whole lot of no booting. The usual procedure is to re-seat and/or remove hardware (RAM, PCI cards, riser boards) in a orderly fashion until you get a POST of some type. In both these cases the usual hardware didn’t help. In both these cases what did help is to remove and then re-seat the PPM (processor power module).
What was weirdest is on the new G5 this didn’t work at first. This was a dual processor machine, so after I added the 2nd processor I got the BSON. If I removed the 2nd processor, bam POST. Great, I figured I borked the 2nd proggy on install. I finally got the thing to POST and boot by – get this – switching the 2 PPMs around (i.e. slot 1 -> slot 2 and vice versa) – which of course is really the same as removing and re-seating.
Anyway, if you have an HP Proliant that won’t post, no video, no beep codes, no red leds. Pull the PPM for a bit. And pray…..that doesn’t hurt. If that doesn’t work, pop the reset dip switch on the motherboard.
Blue Screen – Windows XP BAD_SYSTEM_CONFIG_INFO
Posted on 23 August 2009 | 2 responses
So the other week I hear from a user that their machine is borked. Typical BSOD I thought, let’s get into safe mode and find out what’s up. Doh – BSOD trying to get into safe mode. Nothing worked. Everything I try results in the same error – BAD_SYSTEM_CONFIG_INFO STOP 0×00000074 (0×00000003, 0×00000002, 0×80087000, 0xc000014c) Well I figured I’d have to re-image the machine, but I came across a procedure to get around this error without rebuilding. I cleaned it up and posted it below. See here for the original post. Also, Microsoft KB here.
This fix is a 3 phase process
- Phase 1 – use recovery console to access os and replace default registry files.
- Phase 2 – boot to Windows and grab files from system recovery area.
- Phase 3 – replace default registry files with recovery area files.
- Boot to Windows XP
- When you get to the XP installation menu choose R
- Once the recovery console starts you will be asked to choose which windows installation you want to login to. For most people this will be 1: C:Windows. Hit 1 or select the correct windows installation.
- Log in with the administrators password.
- First create a new temporary directory “md c:\windows\tmpcopy”
- Now copy the existing registry files to the temp directory created in step 5
- Copy C:\Windows\system32\config\system C:\Windows\tmpcopy\system.bak
- Copy C:\Windows\system32\config\software C:\Windows\tmpcopy\software.bak
- Copy C:\Windows\system32\config\sam C:\Windows\tmpcopy\sam.bak
- Copy C:\Windows\system32\config\security C:\Windows\tmpcopy\security.bak
- Copy C:\Windows\system32\config\default C:\Windows\tmpcopy\default.bak
- Remove the existing registry files after creating the backup files
- Del C:\Windows\system32\config\system
- Del C:\Windows\system32\config\software
- Del C:\Windows\system32\config\sam
- Del C:\Windows\system32\config\security
- Del C:\Windows\system32\config\default
- Note: if you receive an error when trying to delete these files, rename them instead by using a non-standard extension (CD C:\Windows\system32\config rename system system.foo).
- Now copy some default reg files to C:\Windows\system32\config to get the system to boot. Windows won’t look the same and most programs won’t work after this boot, but that is fine. We are just trying to get windows to boot. These default registry files are located in C:\Windows\repair (XP) or C:\Windows\System32\config\regback (Vista).
- copy c:\windows\repair\system c:\windows\system32\config\system
- copy c:\windows\repair\software c:\windows\system32\config\software
- copy c:\windows\repair\sam c:\windows\system32\config\sam
- copy c:\windows\repair\security c:\windows\system32\config\security
- copy c:\windows\repair\default c:\windows\system32\config\default
- Exit the Recovery Console and Boot into Windows………If it worked then you are on the right track. If not well?
- In this part we will prepare to copy files from one of the system restore points that was created before the wheels came off. You are using system restore aren’t you? If not it’s probably time to reinstall all your applications
- To copy registry files from a system restore point, you will need to make the system restore directory visible. Using the system restore utility will not work because of what we did in steps 7 and 8. Here is what to do.
- Start Windows Explorer
- Tools > Folder Options
- Click the view tab. Select “Show hidden files” and then clear “Hide operating system files” and click yes to confirm and ok.
- Navigate to the drive that Windows is installed on and look for the “System Volume Information” folder. Most likely you will not be able to get into the “System Volume Information”. To remedy this, right click on the folder, go to sharing and security and then the security tab. If you don’t have a security tab, right click and choose “share this folder”. Check both the “share this folder” and “allow network users to change my files”.
- On the security tab choose Add and then add the user you are logged in as.
- Now you should be able to open the folder. Inside you will see (hopefully) a bunch of folders named similar to “_restore{guid}” like “”_restore{81AC3458-3199-486Z-145F-F86E60B3D3E3}” These are the snapshots.
- Choose a folder that is dated before the event and open it. Inside there should be a snapshot folder. (ex. C:\System Volume Information\_restore{81AC3458-3199-486Z-145F-F86E60B3D3E3}RP1Snapshot)
- From this folder copy the 5 registry files into C:\Windows\Tmpcopy folder. The files you will copy are “registry_user_.default”,” _registry_machine_security”,”_registr_machine_software”, “_registry_machine_system”, “_registry_machine_sam”
- Boot back to XP Recovery
- Replace the temporariy default registry files
- delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\software
delete c:\windows\system32\config\default
delete c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_software c:\windows\system32\config\software
copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam
copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security
copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default (Notice the period (“.”)- That’s it. You should now be able to boot the system to XP and all your programs should work.
- Consider running chkdisk or some other disk checker. This type of problem is usually caused by a corrupt registry file which may indicate disk problems.
HP & Transcend Know How to Market
Posted on 8 August 2009 | No responses
Everyone knows that geeks love toys. So HP and Transcend cranked up their marketing machines and wondered what they can give a IT geek that will get them to pick up the phone? Other than the obvious answer (which is illegal in 49 out of 50 states) , how about a shiney Ferrari Enzo? Yep, that will work.
The other day after coming back from lunch I noticed a big box on my desk. I didn’t rember ordering anything so I was curious. I turn over the box and on it is a picture of a red Ferrari Enzo with the HP logo on it. Now my interest is piqued! I wonder what’s inside.
Cool, a R/C Ferrari Enzo – something I can use to relieve the day to day stress. A real team building piece of gear if I ever saw one. Something that I absolutely need. Uh wait, somethings missing. Doh! Take a closer look at the third picture. Oh you cheaky buggers, the radio controller is missing. Wait here’s a piece of paper with a URL I can fill in to get my controller. Sweet.
Now of course to actually get the controller you need to meet with Transcend Communications about HP Switching and stuff. I’m always meeting new resellers and vars so what’s one more. I love HP Servers and run a ton of HP Proliants. My network is almost all Cisco, but I do have places where HP network gear would fit. It’s worth knowing what they might have to offer.
Anyway, the meeting was had, the controller was delivered, and rubber was burnt. Well Played HP & Transcend.
Image resize options greyed out in WordPress 2.8
Posted on 14 July 2009 | No responses
I recently jumped from WordPress 2.6 to 2.8. After doing this I was unable to resize images before posting. The image resize buttons were greyed out. I’m using the built in image resizing tool in WordPress. The solution for my problem was easy – after some digging. Turns out WordPress changed the way it deals with image resizing in 2.7 and above. If the GD library isn’t present to create the thumbnails the buttons are greyed out. In previous versions WordPress would post the full size and then scale using image size tags.
- Verify php-gd is installed (#php -m)
- Install php-gd if missing (#yum install php-gd -on Centos)
- Restart apache (#service httpd restart)
- Verify php-gd is now installed (#php -m)
- I also had to remove the existing images I’d uploaded and then re-upload them to get the resize option to work. GD creates the thumbnails at upload.
You can use the script below originally posted here (thanks blaser) to test your php-gd. If it’s working you will see a black text box with red text. If php-gd isn’t working you will see the image box with a red x.
<?php
header(“Content-type: image/png”);
$im = @imagecreate(110, 20)
or die(“Cannot Initialize new GD image stream”);
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, “A Simple Text String”, $text_color);
imagepng($im);
imagedestroy($im);’?>








