Hem konsumenten Home Lab Deep Dive: En mjukvaruingenjörs inställningar

Home Lab Deep Dive: En mjukvaruingenjörs inställningar

by Gästförfattare

Jag är en mjukvaruingenjör med intresse för datornätverk och säkerhet. Avsikten för homelab är för självlärande om datornätverk plus förmågan att stå upp mjukvaruutvecklingsmiljö och infrastruktur som behövs för arbetsrelaterad prototyp. Jag vill också ha isolering mellan arbete, underhållning, verktyg (nätverksskrivare, NAS) och IoT-enhetsnätverk så VLAN var mitt svar och därför fick jag en instegsnivå Edgerouter X.


Jag är en mjukvaruingenjör med intresse för datornätverk och säkerhet. Avsikten för homelab är för självlärande om datornätverk plus förmågan att stå upp mjukvaruutvecklingsmiljö och infrastruktur som behövs för arbetsrelaterad prototyp. Jag vill också ha isolering mellan arbete, underhållning, verktyg (nätverksskrivare, NAS) och IoT-enhetsnätverk så VLAN var mitt svar och därför fick jag en instegsnivå Edgerouter X.

Så lite mer bakgrund om mig själv. Jag är en mjukvaruingenjör som arbetar på distans hemifrån ungefär 95 % av tiden. Företaget tillhandahåller utvecklings-VM:s värd på företagets nätverk som endast kan nås via VPN var alldeles för långsamma och därför börjar jag bygga utvecklings-VMs hemma för att göra arbete och prototyper. Det var den ursprungliga avsikten med mitt homelab. Det är främst för arbete så att jag kan arbeta mer effektivt utan att oroa mig för den långsamma anslutningen till företagets utvecklade virtuella datorer.

Ursprungligen har jag alla mina virtuella datorer värdda från mitt Windows-skrivbord med Virtual Box men RAM blev ett problem när jag började lägga till fler virtuella datorer till den och det var då jag började fundera på att skaffa mig en dedikerad bare-metal hypervisor. Företaget som jag arbetar för är mer ett mjukvarulösningsföretag än ett mjukvaruproduktföretag. Vi designar och implementerar lösningar baserat på krav som ställs till oss från våra kunder. Ett av mina projekt kräver att vi hjälper till att implementera en kontinuerlig integrationsmiljö för deras mjukvara, och jag fick veta att kunden använder VMware vSphere som sin VM-infrastruktur. Av den anledningen bestämde jag mig för att använda VMware ESXI som min hypervisor i mitt homelab så att jag kan slå två flugor i en smäll, det vill säga medan jag lär mig att ställa in mitt homelab, får jag också min träning för att bli bekant med VM:n infrastruktur som min klient använder.

Jag har cirka 5-6 Windows virtuella datorer som körs på min ESXI som körs med Jenkins i master/slaves-läge. En bra sak med Windows är att du kan installera så många Windows-operativsystem som du vill och inte aktivera det men fortfarande ganska funktionellt minus att du inte kan justera anpassningsinställningar som bakgrundsbild och du får påminnelser om att aktivera dina fönster på skrivbordet hela tiden.

Jag har också ytterligare 5-6 Linux virtuella datorer som jag använder för utveckling. Min vana är att skapa en grundläggande Linux-VM, och för varje projekt kommer jag bara att skapa en ny virtuell dator genom att klona från den grundläggande Linux-VM. Vissa människor gillar att använda en enda utvecklings-VM för alla projekt, men jag gillar att ha en utvecklings-VM per projekt helt enkelt för att det är lättare att spåra mjukvaru- och biblioteksberoenden när du börjar med en grundläggande virtuell dator. Det är det fina med virtualisering, du kan klona virtuella datorer, du kan skapa en ny virtuell dator och när du inte behöver den kan du stänga av den eller bara ta bort den. Om vi ​​bara spola tillbaka till slutet av 90-talet var virtualisering inte ens en grej. Teknikerna går så snabbt framåt och nu är det senaste modet containerisering. Virtualisering plus containerisering gör saken ännu enklare.

Mitt val av Linux OS är CentOS/Red Hat Linux Enterprise. Återigen, anledningen till att jag valde det var att de flesta av mina kunder använder RHEL så jag bestämde mig för att använda CentOS. Jag är mest på RHEL nu eftersom RHEL-prenumerationen är gratis för utvecklare.

Det finns också min Unraid-server. Jag ägde ursprungligen en Thecus N4100EVO NAS som jag konfigurerade med RAID5 med 4x3TB Seagate ST3000DM001. Inom de första två åren misslyckades 2 av de 4 Seagate-enheterna på mig och samtidigt. Lyckligtvis kunde jag återställa den tack vare Thecus teknisk support och Clonezilla för att klona min dåliga enhet till en ny enhet. Jag var dum nog att köpa en annan Seagate ST3000DM001 som ersättning eftersom jag trodde att det var väldigt viktigt att behålla samma enhet och modell för RAID. Jag tror att 2 år gick, en annan Seagate-enhet misslyckades på mig, och jag ersatte den till slut med en 3TB Seagate Ironwolf. Och snabbspola framåt, nyligen bekräftade många recensioner och erbjudandensajter att Best Buy WD Easystore 8TB och 10TB faktiskt har WD Red-diskar inuti så jag köpte en 10TB och 2x 8TB WD Easystore från BestBuy, slängde dem och tog de interna diskarna till använd den för att bygga min Unraid-server. Efter att de 3 initiala enheterna installerats flyttar jag all data från NAS:en till Unraid-servern och i slutet flyttar jag alla 4 hårddiskarna från den ursprungliga NAS:en och läggs till i arraypoolen i Unraid. Unraid-servern används för att lagra bilder, filmer och låtar. Jag använder den också för att lagra gammal mjukvara, drivrutiner och Windows/Linux-distro som är svåra att hitta online.

Noe to me Edge Router X. Dess huvudsakliga funktion är uppenbarligen för routing men den andra viktiga funktionen som jag använde är VLAN. Jag delade upp mitt nätverk i 4 VLAN.

  • VLAN 10 är mest för alla verktygstjänster som skrivare, NAS och nätverksmonitor.
  • VLAN 20 är mitt arbetsnätverk. Det är nätverket där majoriteten av mina virtuella utvecklingsmaskiner finns.
  • VLAN 30 är mitt underhållningsnätverk; det är där mina spelkonsoler, smarta telefoner, TV-apparater och IoT-enheter är anslutna till.
  • VLAN 99 är mitt gästnätverk.

WiFi-servering sker via Unifi AP AC Lite eftersom den kan stödja flera VLAN.

För närvarande finns det 3 smarta switchar anslutna till Edge Router X. De är:

  • Netgear GS108Ev3 (8 portar) ligger i källaren där mitt kontor finns
  • Netgear GS108T (8 portar) ligger i källaren där mitt kontor finns
  • Cisco SLM2008 (8 portar) placerad i mitt vardagsrum den 1:a där alla mina underhållningsenheter finns

Mina servrar inkluderar

  • En specialbyggd Ryzen 1700x med 32 GB RAM som ESXI-server
  • Dell PowerEdge R420 Dual Xeon E5-2440 med 96 GB RAM som ESXI-server och värd för vSphere-servern som en virtuell dator.
  • En specialbyggd Intel i7 2600K med 32 GB RAM som Unraid-server

De virtuella datorerna som finns på ESXI-servern är för det mesta mina utvecklings-VM:er förutom vSphere Server, Zabbix-server (nätverksövervakning) och en virtuell dator för värd för vanliga tjänster via docker (pi-hole, yum repo-server, forward web-proxy, unifi controller) .

Nyligen köpte jag en TP-Link TL-SG1016DE switch med 16 portar som jag planerar att ta bort en av switcharna med 8 portar. Avsikten är att försöka sätta upp statisk aggregering på ESXI- och Unraid-servrarna. Mitt hemlab kommer att fortsätta att växa och utvecklas, jag hoppas att dela min berättelse kommer att hjälpa andra i samhället med sina egna resor.

– David C.

Det här inlägget är en del av en pågående serie av användarinskickat innehåll dedikerat till att utforska det roliga och utmaningarna med att bygga, underhålla och ibland bygga igen ett hemlabb. Den här serien är i samarbete med våra vänner på /r/homelab. Om du är intresserad av att dela din uppsättning, skicka ett e-postmeddelande till [e-postskyddad]