{"id":1756,"date":"2009-09-29T15:36:29","date_gmt":"2009-09-29T14:36:29","guid":{"rendered":"http:\/\/webbservern.se\/~jonas\/wordpress\/?p=1756"},"modified":"2009-09-29T15:36:29","modified_gmt":"2009-09-29T14:36:29","slug":"att-lagra-fil-med-stil","status":"publish","type":"post","link":"https:\/\/webbservern.se\/~jonas\/wordpress\/?p=1756","title":{"rendered":"Att lagra fil med stil"},"content":{"rendered":"<p>Med n\u00e5gra datorer i sitt hemman\u00e4tverk finns det en god chans att man vill centralisera sin fillagring f\u00f6r att f\u00e5 b\u00e4ttre \u00f6verblick, \u00e5tkomstbarhet och s\u00e4kerhet. Det verkar ganska vanligt att snegla \u00e5t diverse NAS-l\u00f6sningar (typ Qnaps och Netgears l\u00f6sningar p\u00e5 omr\u00e5det) som erbjuder enkel RAID-konfiguration, l\u00e5g str\u00f6mf\u00f6rbrukning, diverse mediafunktioner (dlna-server, itunes-server etc), webbgr\u00e4nssnitt f\u00f6r torrent-nedladdningar mm. Det gjorde jag ocks\u00e5 l\u00e4nge och v\u00e4l innan jag ins\u00e5g att jag \u00e4nd\u00e5 t\u00e4nkt g\u00f6ra om en station\u00e4r arbetsstation (mrq) till server f\u00f6r interna tj\u00e4nster. Eftersom denna maskin har samma trevliga chassi som webbservern, <a href=\"http:\/\/www.sweclockers.com\/recension\/638-antec_p182_special_edition\">Antec Performance P182<\/a>, och \u00e4r kapabel till att hantera ett g\u00e4ng diskar har den \u00e4ven f\u00e5tt titeln filserver. Om du st\u00e5r inf\u00f6r en liknande situation och k\u00e4nner dig hyfsat komfortabel i Unix-v\u00e4rlden rekommenderar jag den nedan beskrivna l\u00f6sningen.<\/p>\n<p>Den station\u00e4ra arbetsstationen mrq som allts\u00e5 f\u00e5tt nya ansvarsomr\u00e5den hade sen tidigare sex diskar i storlekar mellan 200 och 500 GB. Genom att komplettera med fyra nyink\u00f6pta 1,5 TB-diskar och ytterligare en disk p\u00e5 1 TB landar vi p\u00e5 11 diskar med totalt knappt 10 TB. Det enklaste i det h\u00e4r l\u00e4get hade kanske varit att l\u00e5ta mrq k\u00f6ra vidare med Ubuntu och lagt till lite fler ext4-filsystem (ev kompletterat med volymhanteraren <a href=\"http:\/\/en.wikipedia.org\/wiki\/Logical_Volume_Manager_(Linux)\">LVM<\/a>) men eftersom jag f\u00f6rst\u00e5tt att ZFS \u00e4r v\u00e4gen att g\u00e5 och att detta lirar b\u00e4st p\u00e5 hemmaplan, dvs i Solaris, landade jag p\u00e5 en installation av <a href=\"http:\/\/www.opensolaris.com\/learn\/features\/whats-new\/200906\/\">OpenSolaris 2009.06<\/a> (vilken jag ju redan varit med att fira lanseringen av p\u00e5 CommunityOne dagen innan JavaOne&#8230;).<\/p>\n<p>F\u00f6r mer information om ZFS rekommenderar jag <a href=\"http:\/\/en.wikipedia.org\/wiki\/ZFS\">wikipedia<\/a>, <a href=\"http:\/\/www.sun.com\/bigadmin\/features\/articles\/zfs_part1.scalable.jsp\">BigAdmin<\/a> och framf\u00f6r allt <a href=\"http:\/\/breden.org.uk\/2008\/03\/02\/a-home-fileserver-using-zfs\/\">Simons artiklar om en filserver med ZFS f\u00f6r hemmabruk<\/a>.<\/p>\n<p>F\u00f6r att kunna ansluta de 11 diskarna till moderkortet beh\u00f6vdes ett separat SATA-kontrollerkort och d\u00e5 inte OpenSolaris har st\u00f6d f\u00f6r alla f\u00f6rekommande modeller la jag lite energi p\u00e5 att hitta ett som st\u00f6ds. N\u00e4r pris, tillg\u00e4nglighet och drivrutinst\u00f6d i OpenSolaris v\u00e4gts samman f\u00f6ll valet p\u00e5 <a href=\"http:\/\/www.lycom.com.tw\/ST124.htm\">Lycom ST124-kort<\/a>. Det anv\u00e4nder Sil-3124-chipsetet vilket fungerar v\u00e4l i OpenSolaris.<\/p>\n<p>Sj\u00e4lva installationen gick sm\u00e4rtfritt och jag valde att installera systemet p\u00e5 en av tv\u00e5 identiska 300 GB-diskar. Efter installationen <a href=\"http:\/\/breden.org.uk\/2009\/08\/29\/home-fileserver-mirrored-ssd-zfs-root-boot\/\">la jag till den andra 300 GB-disken till boot-poolen (&#8220;rpool&#8221;)<\/a> s\u00e5 att denna \u00e4r speglad p\u00e5 tv\u00e5 diskar.<\/p>\n<p>N\u00e4r v\u00e4l installationen \u00e4r p\u00e5 plats och det \u00e4r klart att alla diskar hittas utan problem (kan konstateras exempelvis med &#8220;format&#8221;) \u00e4r det l\u00e4ge att skapa de ZFS-pooler som ska anv\u00e4ndas. H\u00e4r kan det vara l\u00e4mpligt att fundera lite kring uppl\u00e4gget och jag valde g\u00f6ra tv\u00e5 pooler, en d\u00f6pt till &#8220;main&#8221; med de fyra nya 1,5 TB-diskarna som anv\u00e4nder <a href=\"http:\/\/en.wikipedia.org\/wiki\/Non-standard_RAID_levels#RAID-Z\">RAID-Z<\/a> och ytterligare en pool &#8220;backup&#8221; med de resterande fem diskarna (tv\u00e5 gick \u00e5t till det speglade systemet) som inte anv\u00e4nder RAID-Z.<\/p>\n<p>I ZFS skapar man filsystem (med mycket l\u00e5g overhead, typ n\u00e5gra kilobyte) inuti en viss pool och sen kan filsystemen v\u00e4xa inom ramarna f\u00f6r poolen. Eftersom anv\u00e4ndarna p\u00e5 webbservern (och \u00e4ven mitt eget konto) ska ha sina hemkataloger i egna filsystem i main-poolen utdelade via NFS satte jag attributet &#8220;sharenfs&#8221; p\u00e5 &#8220;\/export\/home&#8221; som d\u00e4refter \u00e4rvs av underliggande filsystem. Genom att anv\u00e4nda autofs p\u00e5 webbservern automatmonteras anv\u00e4ndarnas hemkataloger via NFS vid inloggning\/\u00e5tkomst (exempelvis dokumenteras i <a href=\"http:\/\/www.centos.org\/docs\/5\/html\/Deployment_Guide-en-US\/s1-nfs-client-config-autofs.html\">CentOS-dokumentationen<\/a>. Detta \u00e5stadkoms genom att autofs instrueras att montera hemkatalogerna fr\u00e5n mrq.<\/p>\n<p>N\u00e4r man har \u00e5stadkommit en n\u00e4tverksgemensam hemkatalog kan det vara intressant att anv\u00e4nda den \u00e4ven p\u00e5 de b\u00e4rbara datorerna som man brukar anv\u00e4nda oavsett om man befinner sig i sitt hemn\u00e4tverk eller n\u00e4r man \u00e4r ute p\u00e5 vift. Med detta i \u00e5tanke har jag tagit fram ett bash-skript som jag k\u00f6r f\u00f6r att montera hemkatalogen fr\u00e5n hemman\u00e4tverkets filserver (och montera om den lokala hemkatalogen i \/mnt\/localhome). Om filservern inte koms \u00e5t f\u00f6rs\u00f6ker den koppla upp sig via vpn (om inte openvpn redan \u00e4r startat) vilket g\u00f6r att det blir m\u00f6jligt att arbeta mot sin hemkatalog oavsett geografisk position om man har internetuppkoppling (som inte \u00e4r helt handikappad av m\u00e4rkliga brandv\u00e4ggsregler).<\/p>\n<p>Genom att ha tillg\u00e5ng till den allenar\u00e5dande samlingen dokument och \u00f6vriga filer i hemkatalogen p\u00e5 filservern f\u00e5r jag tillg\u00e5ng till samma inst\u00e4llningar (t\u00e4nk exempelvis Firefox och Opera) f\u00f6r de program jag anv\u00e4nder eftersom de i de allra flesta fall sparar sina anv\u00e4ndarinst\u00e4llningar i .programnamn-kataloger i hemkatalogen.<\/p>\n<p>Avslutningsvis kan man v\u00e4l n\u00e4mna att denna typ av l\u00f6sning g\u00f6r att man blir t\u00e4mligen beroende av en viss maskin, i mitt fall filservern mrq. S\u00e4kerhetsm\u00e4ssigt k\u00e4nns denna l\u00f6sning dock stabilare i och med att filerna \u00e5terfinns p\u00e5 ett st\u00e4lle vilket underl\u00e4ttar s\u00e4kerhetskopieringen (som b\u00f6r ske till ett eller flera system p\u00e5 annan ort).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Med n\u00e5gra datorer i sitt hemman\u00e4tverk finns det en god chans att man vill centralisera sin fillagring f\u00f6r att f\u00e5 b\u00e4ttre \u00f6verblick, \u00e5tkomstbarhet och s\u00e4kerhet. Det verkar ganska vanligt att snegla \u00e5t diverse NAS-l\u00f6sningar (typ Qnaps och Netgears l\u00f6sningar p\u00e5 &hellip; <a href=\"https:\/\/webbservern.se\/~jonas\/wordpress\/?p=1756\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,8,11,16,36],"tags":[403,787,467,675],"class_list":["post-1756","post","type-post","status-publish","format-standard","hentry","category-datorer","category-elektronik","category-hardvara","category-linux","category-webbservern","tag-mrq","tag-opensolaris-datorer","tag-raid-z","tag-zfs"],"_links":{"self":[{"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1756"}],"version-history":[{"count":0,"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1756\/revisions"}],"wp:attachment":[{"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webbservern.se\/~jonas\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}