{"id":235,"date":"2020-02-13T14:54:22","date_gmt":"2020-02-13T12:54:22","guid":{"rendered":"http:\/\/www.digiliv.de\/?p=235"},"modified":"2020-03-07T00:10:03","modified_gmt":"2020-03-06T22:10:03","slug":"das-nas-projekt","status":"publish","type":"post","link":"http:\/\/www.digiliv.de\/index.php\/2020\/02\/13\/das-nas-projekt\/","title":{"rendered":"Das NAS-Projekt"},"content":{"rendered":"<p>Wer kennt das nicht, da hat man ein kleines NAS und das ist mal wieder bis oben voll. Meist sind die Dinger auch nicht erweiterbar und relativ langsam sowieso.<br \/>\nL\u00f6sung: ein Eigenbau muss her, quasi ein eigener Storage-Server.<br \/>\nAber was soll der k\u00f6nnen?<\/p>\n<ul>\n<li>SMB-Shares (f\u00fcr Windows-Clients)<\/li>\n<li>NFS-Shares (f\u00fcr Linux und andere *nixoide)<\/li>\n<li>iSCSI<\/li>\n<li>mGig oder 10Gbit\/s Anbindung (SFP+)<\/li>\n<li>Fehlertoleranter erweiterbarer Storage<\/li>\n<li>Hot Swap<\/li>\n<li>SSD-Cache (wirklich notwendig?)<\/li>\n<li>Verwendung von vorhandenem Equipment, sofern m\u00f6glich<\/li>\n<\/ul>\n<p><!--more-->Soweit schon mal der Rahmen. Als NAS-OS hatte ich vorab Unraid oder FreeNAS ausgesucht. Letztlich habe ich mich aber auf FreeNAS festgelegt, da es ein \u00fcbersichtliches und funktionales UI bietet, es eine gro\u00dfe Community gibt, es kostenfrei ist, ich aber im Fall der F\u00e4lle jederzeit Support kaufen k\u00f6nnte.<\/p>\n<figure id=\"attachment_233\">\n<p><figure id=\"attachment_233\" aria-describedby=\"caption-attachment-233\" style=\"width: 225px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_innen_small.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-233 size-medium\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_innen_small-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_innen_small-225x300.jpg 225w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_innen_small-768x1024.jpg 768w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_innen_small.jpg 960w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><figcaption id=\"caption-attachment-233\" class=\"wp-caption-text\">MB, Prozessor, RAM und vorn der SAS-Controller mit den beiden Kabeln zur Backplane(rechts oben). Die Karte mit dem alu-farbenen K\u00fchler ist die Netzwerkkarte. Zwischen dieser Karte und dem Prozessor ist der 96GB M.2-SSD-Cache.<\/figcaption><\/figure><\/figure>\n<p><strong>Los geht&#8217;s!<\/strong><br \/>\nVorhanden sind ein \u00e4lteres Motherboard (Asus Z-97P), ein i5 4690K mit 4x 3,5GHz, 16GB RAM, Netzteil, eine <a href=\"https:\/\/www.amazon.de\/10Gtek%C2%AE-Broadcom-BCM57810S-Ethernet-Adapterkarte\/dp\/B01GHTXFJ0\/ref=sr_1_7?adgrpid=69758298903&amp;gclid=EAIaIQobChMIhe2Ps6HO5wIVAuDtCh2YmAONEAMYASAAEgIB__D_BwE&amp;hvadid=352786021415&amp;hvdev=c&amp;hvlocphy=9044139&amp;hvnetw=g&amp;hvqmt=b&amp;hvrand=4447422313131659014&amp;hvtargid=kwd-369514265685&amp;hydadcr=20080_1718310&amp;keywords=10gtek+10g&amp;qid=1581587731&amp;sr=8-7\" target=\"_blank\" rel=\"noopener noreferrer\">10Gtek BCM57810S Netzwerkkarte<\/a> mit 2x SFP+, mit passendem DAC-Kabel und eine 96GB M.2 2280 SATA-SSD.<br \/>\nNachgeordert habe ich das Geh\u00e4use (<a href=\"https:\/\/www.inter-tech.de\/products\/ipc\/storage-cases\/4u-4408\" target=\"_blank\" rel=\"noopener noreferrer\">Intertech 4U-4408<\/a>) mit 4 H\u00f6heneinheiten und 8 Hotswap-Cages, verteilt auf 2 SAS Backplanes und passende Rack-Schienen.<br \/>\nDazu einen 10Gtek <a href=\"https:\/\/www.amazon.de\/gp\/product\/B01M2AC40Y\/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&amp;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">LSI 9211-8i<\/a> SAS Host-Adapter mit 2 SFF-8087 auf SFF-8087 Kabeln um Controller und Geh\u00e4use-Backplane verbinden zu k\u00f6nnen.<br \/>\nDer Plattenverbund besteht aus 5x WD Red 4TB (WD40EFRX) und 3x Seagate IronWolf 4TB, also insgesamt 32TB Speicherplatz, die ich als RAIDZ2 konfigurieren werde. Insgesamt also 20TB Speicherplatz.<br \/>\nDer SAS-Controller hat ein PCIe 2.0 X8 Interface, ist also bei 8Gbit, bzw 1Gbyte\/s ausgereizt. Das FreeNAS-System ist auf zwei gespiegelten 16Gbyte Sandisk USB-Sticks (USB 3.0) installiert.<br \/>\nDie gesch\u00e4tzte maximale (Dauer-) Transferleistung des NAS habe ich grob auf Basis der Daten der WD Red \u00fcberschlagen. Jede Platte ist mit 150MB\/s <a href=\"https:\/\/documents.westerndigital.com\/content\/dam\/doc-library\/en_us\/assets\/public\/western-digital\/product\/internal-drives\/wd-red-hdd\/data-sheet-western-digital-wd-red-hdd-2879-800002.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">angegeben<\/a>. In meiner Konfiguration w\u00fcrden Zugriffe auf 6Platten verteilt, plus Redundanz. Grob erg\u00e4ben sich damit 900MB\/s, bzw. 7,2GBit\/s. Davon geht noch Leistung f\u00fcr die redundante Speicherung und Protokoll-Overhead\u00a0 ab. Wenn das System sp\u00e4ter eine Transferleistung in der N\u00e4he von 6Gbit\/s\u00a0 (750MByte\/s) erreicht, sollte das Maximum ausgesch\u00f6pft sein.<\/p>\n<p><strong>Systemkonfiguration<\/strong><br \/>\nNach Aufbau und Funktionscheck der Hardware kann das <a href=\"https:\/\/www.freenas.org\/download-freenas-release\/\" target=\"_blank\" rel=\"noopener noreferrer\">aktuelle FreeNAS-Release heruntergeladen<\/a> werden. Die Installationsdatei kann dann mittels z.B. Balena Etcher auf einen USB-Stick geschrieben werden.<br \/>\nDie Installation ist im Video auf FreeNAS.org\u00a0 (erscheint direkt nach dem Download) sehr gut beschrieben.<br \/>\nAus den 8 NAS-HDD habe ich einen RAIDZ2 Datenpool erstellt, die 96GB M.2SSD ist als Cache zugewiesen. In diesem Pool habe ich die einzelnen Datasets erstellt, die unter Sharing propagiert werden.<br \/>\nWichtig war mir dabei, dass dem Datapool m\u00f6glichst viele Drives\u00a0 zugewiesen sind, um die Last gleichm\u00e4\u00dfig verteilen zu k\u00f6nnen.<br \/>\nEin wichtigeer Performance-Aspekt betrifft eine Einstellung unter Network\/Interfaces. Beim aktiven Netzwerk-Interface sollte die MTU auf z.B. 9000 gesetzt werden, um <a href=\"https:\/\/en.wikipedia.org\/wiki\/Jumbo_frame\" target=\"_blank\" rel=\"noopener noreferrer\">Jumbo-Frames<\/a> zuzulassen.<\/p>\n<figure id=\"attachment_232\">\n<figure id=\"attachment_232\" aria-describedby=\"caption-attachment-232\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-232 size-medium\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small-300x225.jpg 300w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small-1024x768.jpg 1024w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small-768x576.jpg 768w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small-1200x900.jpg 1200w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_case_small.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-232\" class=\"wp-caption-text\">Das verbaute NAS-Geh\u00e4use im Rack.<\/figcaption><\/figure>\n<p>Das muss dann allerdings netzwerkweit eingestellt werden.<br \/>\nNeben den eingangs erw\u00e4hnten Shares soll zus\u00e4tzlich f\u00fcr die Messungen FTP aktiviert werden. Dieser Dienst kann unter Services aktviert werden. Bei den Einstellungen werden lokale User zugelassen. FTP ist ein altes Daten\u00fcbertragungsprotokoll mit sehr geringem Overhead. So ist es f\u00fcr effiziente Massendatentransfers im LAN, aber auch f\u00fcr soche Messungen optimal geeignet.<br \/>\nDamit ist das NAS vorbereitet und es kann gemessen werden.<\/figure>\n<p><strong>Lasset die Spiele beginnen!<\/strong><br \/>\nGemessen werden FTP-Transfers zwischen NAS und Admin-Rechner. Als Messdaten dienen 4 VM-Images mit insgesamt 232GB Gr\u00f6\u00dfe. Die Images werden einzeln \u00fcbertragen und die Messungen gemittelt. Es wird nie ein Image direkt mehrfach hintereinander \u00fcbertragen um Caching-Effekte auszuschliessen. Der Admin-Rechner verf\u00fcgt neben einer NVMe-SSD auch \u00fcber eine 10G Netzwerkkarte, so dass ein Flaschenhals auf der Seite ausgeschlossen werden kann.<br \/>\nBei der ersten Messreihen befinden sich NAS und Client im gleichen VLAN, im gleichen IP-Netz (switched, non-routed).<\/p>\n<p style=\"padding-left: 40px;\">Schreiben (Client -&gt; NAS): 668,2MB\/s bzw. 5,35Gbit\/s<br \/>\nLesen (NAS -&gt; Client): 895,86MB\/s, bzw. 7,16Gbit\/s<br \/>\nSFTP lesend: 212,5MB\/s bzw. 1,7Gbit\/s<\/p>\n<p>Folgemessreihe &#8211; Client und NAS befinden Sich in unterschiedlichen VLANs\/IP-Netzen. Hier wird der Einfluss des Netzwerks ermittelt.<\/p>\n<p style=\"padding-left: 40px;\">Schreiben (Client -&gt; NAS): 436,75MB\/s, bzw. 3,49Gbit\/s<br \/>\nLesen (NAS -&gt; Client): 643,6MB\/s, bzw. 5,15Gbit\/s<\/p>\n<figure id=\"attachment_262\" aria-describedby=\"caption-attachment-262\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas-hba-scaled-e1581712363884.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-262 size-medium\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas-hba-scaled-e1581688755731-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/a><figcaption id=\"caption-attachment-262\" class=\"wp-caption-text\">Blick auf den SAS HBA (vorn) und die Netzwerkkarte.<\/figcaption><\/figure>\n<p>Auf der Firewall ist w\u00e4hrend der Transfers kein Engpass feststellbar, lediglich die CPU geht von 4% auf 14%.<\/p>\n<p>Random-Zugriffe wurden nicht getestet. Ebenfalls bleiben die Einfl\u00fcsse anderer Protokolle (z.B. SMB) unber\u00fccksichtigt.<br \/>\nSFTP ist auf Sicherheit ausgelegt und hat einen entsprechenden Overhead, wie der Transfer zeigt.<\/p>\n<p><strong>Fazit<\/strong><br \/>\nDie Leistung des NAS ist m.E. \u00e4usserst gut, speziell mit den Datenraten beim Lesen habe ich so nie gerechnet. Bei gerouteten Verbindungen &#8216;verliert&#8217; man schon bei nur einem Hop ca. 1\/3 der m\u00f6glichen Bandbreite.<br \/>\nGeht es schneller? Nur mit deutlich gr\u00f6\u00dferem Aufwand. Eine M\u00f6glichkeit w\u00e4re ein SSD-Cache mit NVMe-SSDs, eine weitere noch mehr und\/oder schnellere HDDs. Also nur mit mehr Kosten und mehr Energieverbrauch.<br \/>\nDer Aufwand die Leistung hier noch h\u00f6her zu schrauben ist somit\u00a0 nicht vertretbar.<\/p>\n<p><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/02\/nas_start.mov\">nas_start<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer kennt das nicht, da hat man ein kleines NAS und das ist mal wieder bis oben voll. Meist sind die Dinger auch nicht erweiterbar und relativ langsam sowieso. L\u00f6sung: ein Eigenbau muss her, quasi ein eigener Storage-Server. Aber was soll der k\u00f6nnen? SMB-Shares (f\u00fcr Windows-Clients) NFS-Shares (f\u00fcr Linux und andere *nixoide) iSCSI mGig oder [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":234,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,36,23],"tags":[37,6,39,38],"class_list":["post-235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware","category-nas","category-rechnerbau","tag-nas","tag-netzwerk","tag-sas","tag-storage"],"_links":{"self":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/comments?post=235"}],"version-history":[{"count":21,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/235\/revisions"}],"predecessor-version":[{"id":282,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/235\/revisions\/282"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/media\/234"}],"wp:attachment":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/media?parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/categories?post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/tags?post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}