 {"id":126,"date":"2008-12-20T13:41:08","date_gmt":"2008-12-20T18:41:08","guid":{"rendered":"http:\/\/www.networkjack.info\/blog\/?p=126"},"modified":"2010-03-29T13:27:00","modified_gmt":"2010-03-29T18:27:00","slug":"macmini-vpn-server-with-internal-ssd","status":"publish","type":"post","link":"http:\/\/www.networkjack.info\/blog\/2008\/12\/20\/macmini-vpn-server-with-internal-ssd\/","title":{"rendered":"Mac Mini VPN Server with internal SSD"},"content":{"rendered":"<p>In our continuing adventures of putting the highly versatile Apple MacMini to work in all sorts of applications:<\/p>\n<p>A customer of ours has a specialized application that is extremely low bandwidth, but needs to be able to be accessed through a VPN connection to a protected network resource. All the usual suspects for providing this kind of service (Netscreen\/SSG, Netopia) all have artificial limits on the number of concurrent VPN connections. In order to service the number of concurrent users (anywhere from 1 to 200), the customer would be looking at least $5,000 for a capable device. Again, this system is very low bandwidth, so these kinds of devices would be serious overkill.<\/p>\n<p>In comes the MacMini running Tiger Server with the built-in VPN service.<\/p>\n<p>However&#8230; the MacMini has always had a single weak spot: the hard drive. Even with a very low disk based usage that a dedicated VPN Server would entail that vulnerability to a disk failure has always bothered me and I wanted this VPN server to be on par in terms of reliability as much as possible compared to a hardware device. Even the MacMinis that we build out for customers in a load balanced environment, we always replace with a extended use rated drive, as the extra $100 is a nominal expenditure compared to the time that would be involved in dealing with a failed system.<\/p>\n<p>In comes the Solid State Disk. A 32GB SSD with a IDE interface runs just under $100. For a system running  primarily as a VPN Server, this is PLENTY of space as the only real ongoing writes will be log files. I chose a MLC (Multi-Level Cell) device over a SLC (Single Level Cell) based device as the differences in speed and longevity between the two variations of SSD just were not a factor in this application. A MLC SSD already has a useful lifetime\/MTBF an order of magnitude greater than a standard Winchester based disk with it&#8217;s moving parts.<\/p>\n<p>In the end I used a 1.33Ghz G4 (PowerPC, not Intel) MacMini with 1GB of RAM, as that CPU should be able to easily handle the tasks of handling a couple hundred concurrent VPN connections using 1-2Kbits\/sec each. Again, VERY low bandwidth application.<\/p>\n<p>I took the MacMini with it&#8217;s original 40GB Seagate drive and installed Tiger Server so I could get it updated and setup while I waited for the SSD to arrive from the online vendor. When I was ready to install the SSD, I used Disk Utility to save the installed system to a disk image. Installing the SSD was straightforward and not any different that replacing the internal drive on a MacMini. I then booted from CD, formatted the new SSD device and then performed a Restore operation of the installed Tiger Server onto the new SSD.<\/p>\n<p>One thing that was very interesting to watch&#8230; SSDs perform their best with you throw a large amount of sequential reads\/writes at them. When doing a Restore with Disk Utility it&#8217;s best to use the &#8220;Erase Destination&#8221; option as that will enable the imaging system the best opportunity to use a Block level Restore, instead of a File based Restore. A Block level Restore streams data at the disk and the SSD just ate this up. I Restored the 3.2GB installed System image in about 3 minutes. This is about 3 times faster than restoring back to the 40GB Seagate (I went back and tried it for comparison)<\/p>\n<p>As always, when deploying a new type of setup we test the power utilization and found that 1) the G4 MacMini uses a ridiculously low amount of Amps; 2) the SSD didn&#8217;t really save much power usage.<\/p>\n<p>Some anecdotes from my ammeter (we use 120V here in the States):<\/p>\n<table style=\"height: 98px;\" border=\"0\" width=\"321\">\n<tbody>\n<tr>\n<td><\/td>\n<td>40GB<br \/>\nSeagate<\/td>\n<td>32GB SSD<\/td>\n<\/tr>\n<tr>\n<td>Max CPU\/Disk<\/td>\n<td>0.25A<\/td>\n<td>0.24A<\/td>\n<\/tr>\n<tr>\n<td>Cold Start spike<\/td>\n<td>0.26A<\/td>\n<td>0.25A<\/td>\n<\/tr>\n<tr>\n<td>Idle<\/td>\n<td>0.13A<\/td>\n<td>0.12A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Adding a USB Ethernet Adapter increased all values by about 0.06A<br \/>\nThis is necessary for the backside network resource routing.<\/p>\n<p>Some pictures<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td>\n<p><figure id=\"attachment_128\" aria-describedby=\"caption-attachment-128\" style=\"width: 241px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-128\" title=\"TS32GSSD25-M-1\" src=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-1-241x300.jpg\" border=\"0\" alt=\"Transcend 32GB SSD\" width=\"241\" height=\"300\" srcset=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-1-241x300.jpg 241w, http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-1.jpg 557w\" sizes=\"(max-width: 241px) 100vw, 241px\" \/><\/a><figcaption id=\"caption-attachment-128\" class=\"wp-caption-text\">Transcend 32GB SSD<\/figcaption><\/figure><\/td>\n<td>\n<p><figure id=\"attachment_129\" aria-describedby=\"caption-attachment-129\" style=\"width: 237px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-129\" title=\"TS32GSSD25-M-2\" src=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-2-237x300.jpg\" border=\"0\" alt=\"Transcend 32GB SSD upright\" width=\"237\" height=\"300\" srcset=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-2-237x300.jpg 237w, http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-2.jpg 669w\" sizes=\"(max-width: 237px) 100vw, 237px\" \/><\/a><figcaption id=\"caption-attachment-129\" class=\"wp-caption-text\">Transcend 32GB SSD upright<\/figcaption><\/figure><\/td>\n<td>\n<p><figure id=\"attachment_132\" aria-describedby=\"caption-attachment-132\" style=\"width: 286px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-profiler.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-132\" title=\"TS32GSSD25-M-profiler\" src=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-profiler-286x300.gif\" border=\"0\" alt=\"Transcend 32GB SSD in Apple System Profiler\" width=\"286\" height=\"300\" srcset=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-profiler-286x300.gif 286w, http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/ts32gssd25-m-profiler.gif 301w\" sizes=\"(max-width: 286px) 100vw, 286px\" \/><\/a><figcaption id=\"caption-attachment-132\" class=\"wp-caption-text\">Transcend 32GB SSD in Apple System Profiler<\/figcaption><\/figure><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>And of course the obligatory speed of boot\/login videos:<\/p>\n<p><a href=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/g4minissd-boot.mov\">G4MiniSSD-Boot<\/a><\/p>\n<p><a href=\"http:\/\/www.networkjack.info\/blog\/wp-content\/uploads\/2008\/12\/g4minissd-login.mov\">G4MiniSSD-Login<\/a><\/p>\n<p>We have several more G4 MacMinis and are looking for appropriate applications to utilize them especially with an ultra-reliable drive installed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our continuing adventures of putting the highly versatile Apple MacMini to work in all sorts of applications: A customer of ours has a specialized&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/www.networkjack.info\/blog\/2008\/12\/20\/macmini-vpn-server-with-internal-ssd\/\">Continue reading<span class=\"screen-reader-text\">Mac Mini VPN Server with internal SSD<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,22,9,2,8],"tags":[29,30,31],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-colocation","category-hardware","category-os-x-server","category-routers-and-firewalls","category-servers","tag-macmini","tag-ssd","tag-vpn","entry"],"_links":{"self":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts\/126"}],"collection":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":9,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":134,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts\/126\/revisions\/134"}],"wp:attachment":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}