Förslag på IT-infrastruktur

Av Christian Antila och Jim Nelin Senast uppdaterad 2013-04-30 - Version 0.5

Detta dokument går igenom de IT-relaterade tjänster och hårdvara som är knutna till Makerspace. Avsikten är att få ett underlag för vidare diskussion för att kunna komma överens om vad vi skall satsa på. Med detta dokument får vi en överblick av alla, både viktiga och framtida, tjänster och hur dessa skall interagera med varandra. När det kompletta koncepter är klart kan vi sedan prioritera de vitala delar som krävs för att Makerspace skall fungera. Eventuellt även göra kompromisser för att snabbt kunna komma igång med vissa funktioner, och i framtiden bygga vidare eller eventuellt ersätta helt vid en uppgradering.

Kabeldragning

Kabeldragning bör göras med hänsyn till att det skall vara enkelt att bygga ut i framtiden. Det ska alltid finnas extra uttag. All kabel bör vara Cat6 för att få det framtidssäkert, undantaget kortare sträckor eller/och specifika system Cat5e kan nyttjas p.g.a. kostnad på kabel. Inga andra kablar än Cat6/5e dras för varken telefoni eller RS485. Samtliga system kör på samma kabeltyp och endast hur det patchas in i serverrummet skiljer sig. På så vis får vi en enhetlig kabeldragning och ett flexibelt system.

Märkning av all kabel och alla patch-kontakter skall ske på båda sidor. Färgkodade nätverkskablar till/från core-system i rack/serverrum - där röd patch-kabel t.ex. motsvarar core/kritisk utrusning etc. Nätverk

Backbone skall vara minst 1 Gbit, om möjligt redudant. Anslutningar ut till klienter skall vara minst 100Mbit. Oanvända portar/uttag skall vara inkopplade, men avaktiverade i switchen. Olika fysiska nätverk i separata VLAN. IPv6-stöd är ett krav för hela nätverket, RA (Router Advertisement) används för IPv6-adressering. I högsta möjliga mån används ethernet där det är möjligt, unvikande av fiber p.g.a. tillgång, känslighet och pris. Servrar och tjänster

Internetanslutning / Router

Kortsiktigt

Enkel x86/64 baserad server med två nätverksinterface, ett för WAN (inkommande nät) och ett för LAN (mot switch). I början valfri begangad 1U rackserver. Bör ha kapacitet nog att route:a 1 Gbit utan större problem. Mjukvaru-mässigt används Vyatta x86 routing-mjukvara (open-source). Möjlighet för styrelse/administration att logga in via VPN - genom OpenStack eller Vyatta direkt?

Långsiktigt

Kraftfullare maskin med bättre redudans. Snabb nog att kunna hantera över 1Gbit till 40Gbit anslutning via fiber direkt mot serverhall. På så vis kan vi köra storage-server (SAN) i serverhall och ändå få extremt snabb dataöverföring. Möjlighet för medlemmar att logga in hemifrån via VPN - OpenStack!

Nätverkshårdvara

Kortsiktigt

Då vi fått ett antal HP-switchar (2650 48p 10/100mbit + 2*1gbit kopplar) samt accesspunkter (Cisco 1231 - b/g) kommer WiFi att vara Cisco-baserat samt HP-switcharna som core och distrubutuion, en punkt som saknas i dagsläget är dock aggregationsswitch för core-nät (~12p gbit layer 2). Hantering av accesspunkter sker genom Cisco WLC. Konfiguration i nätutrustning backas upp och sparas i git-repo vid ändringar. Port-security konfigurerat på alla portar, mac-address sticky-låsning för att begränsa antalet enheter per port och.

Långsiktigt

Inköp av bättre nätverksutrustning för att möjliggöra 1Gbit ända ut till klient. 802.11ac / 802.11n stöd av WiFi-accesspunkter för att hantera fler användare och högre bandbredd. Virtuella miljö(er)

Då hårdvara är dyrt, svårhanterat och jobbigt att administrera bör större delen av IT-infrastrukturen ligga på virtuella maskiner - baserat på XenServer, KVM och/eller VMWare där dom första två är föredraget p.g.a. licenser och kostnad (gratis och open source!). Hantering och allokering av resurser till virtuella maskiner ska ske genom OpenStack, där IP-adresering och hantering av VLAN sköts automagiskt m. DHCP. IP-planering finns redan i dagsläget via phpIPAM, och bör uppdateras löpande vid ändringar av IP-adressering, VLAN och/eller utrustning.

Serverutrustning

Långsiktigt

HA (High Availability) stöd i virtuella miljö(erna) för att automagiskt migrera virtuella maskiner om en host-nod går ner. Möjlighet för medlemmar att nyttja virtuella miljön till att allokera egna VMs för labb och lek. Openstack stödjer detta out of the box. Dokumentation

Centraliserad platform för dokumentation av lösenord, inställningar och annat. Wikin? Förslag? Går det att se portnyttjande, status, VLAN eller/och liknande för berört system i Observium behöver detta ej dokmenteras, då risken för redudant och därmed felaktig information ökar.

Övervakning av IT-miljö

Baserat på SNMP mot switchar (ner till portnivå), router och servrar med Observium som web-interface. Munin/nagios eller liknande utöver det för övervakning av system.

Fillagring / Storagemiljö

Filservern skall centralt lagra alla filer i de olika applikationerna. Den ska ha hög säkerhet, hög tillgänglighet och minimera behovet av lokala diskar i övriga servrar. Övervakning via SNMP/Observium att hålla koll på ledigt diskutrymme, S.M.A.R.T., prestanda, etc.

Värt att undersöka: ownCloud - för åtkomst av filer av medlemmar?

Kortsiktigt

  • Linux (Debian eller liknande förslagsvis)
  • Mjukvaruraid för ökad driftsäkerhet (mdadm)
  • Inkrementella backups av medlemsfiler
  • Lagringsutrymme baserat på budget och behov
  • Egen-byggd lösning (4U case?) med vanliga SATA-diskar
  • Används för backup av konfiguration och filer från övriga system (m.h.a. duplicity?)

Internal-miljö

Internal-miljön (redan existerande i dagsläget, utvecklat i Codeigniter, Bootstrap, MySQL, Memcached etc) - sköter all medlemshantering. Det är i princip en mjukvara för medlemshantering med ett API för att övriga system, t.ex. passersystem, skall kunna komma åt användarinformation med mera.

  • Administration av medlemmar och medlemsuppgifter.
  • API för att andra tjänster skall kunna använda sig av information från Internal.
  • VID BEHOV: LDAP-server för tjänster där API:et inte räcker till.
  • Passersystem, maskinlås och övriga system skall authentisera via mot Internal.
  • Sköta administration av medlemskort.
  • Sköta betalning av medlemsavgifter och labbavgifter.
  • Funktionalitet för nyhetsbrev och hantering av utskick. (Mot valda användargrupper)

SIP-server

PBX (Telefonväxel) med möjlighet för medlemmar och styrelse att logga in för att kunna kommunicera med varandra, antingen enskilt eller konferens. Kopplat till ett SIP-abonnemang hos en teleleverantör för att kunna få inkommande nummer till styrelse. Till exempel bör ordförande och/eller eventuell framtida presstalesman ha ett eget inkommande nummer. Det bör även finnas någon form av växelmöjlighet så att man kan koppla ett mottaget samtal till en annan inloggad medlem. Det är även möjligt att fritt placera TCP/IP-telefoner i lokalen och koppla upp dessa mot SIP-servern. Kan utan problem ligga i en virtuell miljö.

Förslag på konfiguration:

  • Asterix på valfritt Linux
  • FreePBX för online-administration
  • SIP-konto hos lämplig teleoperatör
  • Authentisering och behörighetskontroll via Internal(?)

Printer/scanner

Printer med inbyggd scanner/kopiator. Medlemmar skall kunna printa från klienter i lokalen eller egen laptop. Allting bör gå via en Linux-maskin som sköter köhantering och liknande. USB eller Ethernetanslutning. (Finns 2 USB i dagsläget)

www.makerspace.se

Se separat (påbörjad) kravspec: Kravspecifikation websajt

RS485-nätverk

Vi får se om detta blir aktuellt...

RS232

Vi har ett antal RS232-to-ip lådor, bör monteras ut där switchar sitter otillgängligt "just in case".

Tunna klienter

Linux-baserade med separata X-servrar på Raspberry PI och en kraftfull server med X-klienter. Skall fungera för ”vardagssysslor” såsom komma åt internet, skriva dokument, bläddra datablad, komma åt internsystem och till viss mån köra CAD-program och liknande. Inloggning via LDAP och montering av hemkatalog på filservern.

Vi fick tips om http://rpitc.blogspot.se/ - värt att undersöka.

Stationära datorer

De ställen där det ej är möjligt att köra tunna klienter skall det istället placeras en stationär dator. Detta kan till exempel vara för att köra LinuxCNC eller Mach3 till en CNC-fräs. Eventuellt även andra specifika programvararor som kräver speciell hårdvara och/eller prestanda. Till exempel datorer med instickskort för att mät- och styrsystem.