Home Lab शुरुआती लोगों के लिए हार्डवेयर गाइड
(linuxblog.io)- Home Lab घर पर नेटवर्क और सर्वर कॉन्फ़िगरेशन को सुरक्षित रूप से प्रयोग करने के लिए एक sandbox environment है, जिसमें remote backup और monitoring से लेकर equipment testing तक सब कुछ production के दबाव के बिना किया जा सकता है
- सेटअप से पहले तापमान, ventilation, power, noise, dust और cable path जैसी भौतिक स्थितियों की पहले जांच करना और घर की संरचना के अनुसार network diagram बनाना बेहतर है
- रैक और cabinet का चुनाव equipment की depth और heat output के अनुसार बदलता है; shallow network gear और deep server gear को एक ही मानदंड से चुनने पर cooling और accessibility प्रभावित हो सकती है
- ISP modem, router·switch, UPS, patch panel, cable और server सब कुछ एक साथ खरीदना ज़रूरी नहीं है; छोटे setup से शुरू करके power और expansion की गुंजाइश के अनुसार बढ़ना अधिक व्यावहारिक है
- 2020 में 12U rack से शुरू हुआ setup 6 साल में 10G uplink और 2.5G LAN तक बढ़ा, लेकिन असली बात महंगे उपकरणों से ज़्यादा ऐसी layout और power management में है जिसे वास्तव में चलाया जा सके
Home Lab का उद्देश्य और संचालन का दायरा
- Home Lab घर में सुरक्षित रूप से प्रयोग करने के लिए एक test environment है, जो नई settings को सीधे production equipment पर लागू करने के जोखिम को कम करता है
- इसके उपयोग के उदाहरण इस प्रकार हैं
- remote backup
- remote server की network monitoring और alerts
- wired UAP AP
- अलग-अलग devices और services के साथ प्रयोग
- यह setup पहली बार 2020 में साझा किया गया था और तब से लगातार अपडेट होता रहा है; इसमें मार्च 2026 तक के configuration changes और 6 साल की timeline शामिल है
इंस्टॉलेशन की जगह चुनने के मानदंड
- Home Lab की location तय करते समय तापमान और ventilation, cable routing, accessibility, power, noise, dust और foot traffic को साथ में देखना चाहिए
- हर संभावित जगह के अपने साफ़ फायदे और नुकसान हैं
- home office: desk और equipment पास होने से cables छोटी रहती हैं, लेकिन home office उपलब्ध न भी हो सकता है या वह पहले से लंबे समय तक इस्तेमाल होने वाली जगह हो सकती है
- living room: आमतौर पर ठंडा और खुला होता है, लेकिन foot traffic और damage का जोखिम रहता है
- closet: पहुंच आसान होती है और setup छिपाया जा सकता है, लेकिन ventilation और space कम हो सकती है
- basement: आमतौर पर ठंडा होता है, लेकिन flooding या accessibility की समस्या हो सकती है
- attic: noise कम हो सकती है और cable routing आसान हो सकती है, लेकिन इलाके के अनुसार अधिक तापमान, leakage या humidity की समस्या हो सकती है
- garage: घर के अंदर noise कम रहती है और setup कम नज़र आता है, लेकिन insects, heat, dust, लंबी cables और vehicle damage का जोखिम रहता है
- वास्तविक setup home office में रखा गया था, जहाँ laptop, desktop, server और अन्य equipment एक ही जगह होने से cable routing छोटी रखी जा सकी
- इंस्टॉल करने से पहले home network diagram बनाना या network design tool का उपयोग करके cable route और घर की संरचना को पहले देख लेना अच्छा रहता है
Rack, cabinet और equipment रखने का तरीका
- network cabinet·rack और server cabinet·rack अक्सर गड़बड़ा दिए जाते हैं, लेकिन router, switch और patch panel आमतौर on server की तुलना में कम गहरे होते हैं और कम heat पैदा करते हैं
- अगर आप server-grade equipment लगाने वाले हैं, तो network cabinet की depth और ventilation अपर्याप्त हो सकती है; glass door वाले products heat handling के लिए कम अनुकूल हो सकते हैं
- cabinet और rack चुनते समय पहले installation environment को देखना चाहिए
- बड़े और भारी server लगाने हों तो cabinet या 4-post rack की stability महत्वपूर्ण होती है
- अगर side या rear access बार-बार चाहिए, तो open rack या side-removable cabinet बेहतर होते हैं
- जिन equipment को अतिरिक्त cooling चाहिए, उनके लिए enclosed cabinet में ventilation design और भी महत्वपूर्ण हो जाती है
- dust वाले कमरों में cabinet equipment की सुरक्षा के लिए फ़ायदेमंद होता है
- living room जैसी जगहों में, जहाँ मेहमान आते-जाते हैं, lockable cabinet अधिक साफ़-सुथरा दिख सकता है
- access restriction या security की ज़रूरत हो तो lockable cabinet उपयुक्त है
सुझाया गया हार्डवेयर और चयन के मानदंड
- उत्पादों की कीमतें Amazon की मौजूदा कीमतों पर आधारित हैं और बदल सकती हैं; कुछ Amazon links affiliate links हैं
-
ISP cable modem
- शुरुआती लोग पूरा rack बनाने से पहले सिर्फ ISP द्वारा दिए गए modem को बदलकर भी home network experiments शुरू कर सकते हैं
- अमेरिका के कई ISP हर महीने modem rental fee लेते हैं, इसलिए खुद खरीदना लागत के हिसाब से समझदारी हो सकता है
- ISP के दिए हुए modem·router combo की quality कम हो सकती है, वह refurbished हो सकता है या features सीमित हो सकते हैं; नए vulnerabilities आने पर firmware update के लिए ISP पर निर्भर रहना पड़ सकता है
- अगर आपका ISP अच्छा है और मौजूदा equipment पर्याप्त है, तो उसे वैसे ही इस्तेमाल किया जा सकता है; बदलने का कारण अतिरिक्त network features और Home Lab प्रयोगों का वातावरण पाना है
- cable internet के उदाहरण हैं Motorola MB7621 32×8, Motorola MB8611 DOCSIS 3.1 मॉडल
- fiber internet में provider के अनुसार ONT को सीधे बदला भी जा सकता है, लेकिन कई setups में ONT ISP के नियंत्रण में रहता है और उपयोगकर्ता router से आगे का हिस्सा नियंत्रित करता है
- cable modem काफी heat पैदा करते हैं, इसलिए उन्हें rack के ऊपरी हिस्से में रखना या ऊपर-नीचे airflow space देना चाहिए
-
Rack
- rack unit U या RU, 1 3⁄4 inch यानी 44.45mm होता है, और यह 19-inch·23-inch rack frame तथा equipment height को बताने की इकाई है
- सामान्य full-size rack की ऊँचाई 42U होती है
- उदाहरण के लिए equipment:
- StarTech 12U Wall Mount Rack: 13.5 inch depth, 19 inch width, 125lbs capacity वाला 12U wall-mount rack, जो 2020 से उपयोग में है
- Samson SRK-12 Universal Equipment Rack Stand: shallow equipment के अनुकूल audio equipment rack, जिसमें wheels हैं इसलिए इसे wall या floor पर fix करना ज़रूरी नहीं है
- NavePoint 9U Basic IT Wall Mount Network Rack Locking Glass Door: अच्छा दिखने वाला network cabinet, लेकिन ऐसे environment में जहाँ AC सिर्फ गर्मियों में चलता है, enclosed cabinet उपयुक्त नहीं था
- rack equipment को मापते समय rack की अंदरूनी width नहीं, बल्कि rack shelf width और equipment width की तुलना करनी चाहिए
-
UPS
- ऐसे environment में जहाँ propane backup generator है और switch-over में लगभग 1 मिनट लगता है, 100W~200W load को कुछ मिनट तक संभाल सकने वाला UPS चाहिए था
- CyberPower OR500LCDRM1U UPS 500VA/300W, 6 outlets, AVR और 1U rack-mount product है, जिसका वजन लगभग 20lbs है
- इस UPS ने battery को लगभग 50% तक उपयोग करने पर, 2 PoE AP और 27-inch monitor सहित, 30 मिनट से थोड़ा अधिक runtime दिया
- लंबा runtime पाने के लक्ष्य के साथ UPS लेना महंगा हो सकता है, इसलिए ऐसा setup अधिक व्यावहारिक है जो ज़रूरी low-power equipment को सुरक्षित shutdown के लिए समय दे सके
- PoE AP प्रत्येक अधिकतम लगभग 9W लेते हैं, जिससे UPS load को 20~30% के स्तर पर बनाए रखने में मदद मिलती है
-
Shelf और power
- यदि 1U UPS rack-mount न हो, तो उसे equipment के ऊपर रखा जा सकता है, लेकिन battery को ठंडा रखने और heat buildup कम करने के लिए ventilated 1U shelf बेहतर है
- AC Infinity Vented Cantilever 1U Universal Rack Shelf 6 inch से 16 inch depth तक उपलब्ध है, और इसके vents व slots cooling तथा cable management में मदद करते हैं
- CyberPower UPS में 6 outlets हैं; इनमें 4 battery backup और surge protection के लिए हैं, और 2 केवल surge protection के लिए
- ADJ Products AC POWER STRIP PC-100A को 1U CyberPower UPS से सीधे जोड़ा जा सकता है, जिससे हर device की power on·off करना आसान होता है
- outlet savers और 1U blanking panel power उपयोग और rack airflow सुधारने में काम आते हैं
Cooling, network, cables और server setup
-
Cooling
- rack equipment के लिए उपयुक्त तापमान बनाए रखना overheating रोकने, consistent performance और लंबी उम्र के लिए महत्वपूर्ण है
- AC Infinity CLOUDPLATE T7-N 2U Intake लगभग 4 साल तक उपयोग में रहा और कम fan speed पर भी rack को अच्छी तरह ठंडा रखता था
- dust buildup के कारण लगभग 2 साल बाद fan failures शुरू हुए, और तीसरे साल तक 4 में से 3 fans खराब हो गए
- अंदर के connectors circuit board पर hot glue से लगे 3-pin wafer connectors थे, इसलिए fan replacement मुश्किल था
- अप्रैल 2025 में इस unit को हटा दिया गया और passive cooling के लिए 1U vent panel का उपयोग शुरू किया गया, जिसके बाद सब कुछ बिना समस्या के चला
- AC वाले और कम dust वाले environment में active cooling fans की ज़रूरत नहीं भी हो सकती; अगर ज़रूरत हो तो कुछ महीनों पर compressed air से सफाई करने से 2~3 साल की life expectancy बेहतर हो सकती है
-
Router और switch
- माना गया है कि routing और switching की अधिकांश ज़रूरतें Cisco, Ubiquiti और TP-Link equipment से पूरी हो सकती हैं
- यह setup सामान्य home office gear से ज़्यादा small business equipment के करीब है और भविष्य के feature expansion को ध्यान में रखता है
- router के उदाहरण:
- Peplink B-One Gigabit Dual WAN WiFi Router: Multi-WAN load balancing, 1Gbps throughput, 2 WAN, 4 LAN, dual-band 2x2 MIMO Wi-Fi
- Ubiquiti Dream Machine UDM Pro: 10G, multigigabit, PoE, all-in-one router·security gateway
- TP-Link ER8411 10G VPN Router: अधिकतम 10 WAN ports, SPI firewall, Omada SDN, load balance, lightning protection
- MikroTik RB4011 को भी छोटे लेकिन high-performance equipment के उदाहरण के रूप में बताया गया है
- switch के उदाहरण:
- Ubiquiti USW-Pro-Max-16-PoE: 16-port Layer 3 Etherlighting switch, 2.5GbE, PoE++ output
- TP-Link SG2210XMP-M2: 8-port 2.5GBASE-T, 2-port 10GE SFP+, 8-port PoE+
- Netgear, pfSense, OPNsense, IPFire जैसे अन्य विकल्प भी हैं, और सभी सुझाए गए equipment हर उपयोगकर्ता की ज़रूरत के लिए उपयुक्त हों, यह ज़रूरी नहीं; इसलिए अलग से शोध करना चाहिए
-
Patch panel और cables
- 16-port patch panel चुना गया था, लेकिन पीछे मुड़कर देखें तो 24-port patch panel लेना बेहतर होता
- फिर भी 6 साल बाद भी 16 ports मुश्किल से पर्याप्त साबित हुए
- ISP का सबसे तेज़ plan 160Mbps download और 30Mbps upload था, इसलिए Home Lab के लिए CAT8 या CAT7 की ज़रूरत नहीं थी
- 1000Mbps की सीमा स्वीकार्य होने के कारण 250-foot CAT6 reel और अलग-अलग लंबाई की CAT6 cables खरीदी गईं
- यदि आपको अधिक smooth network traffic चाहिए तो CAT6a या उससे ऊपर पर विचार किया जा सकता है, लेकिन यदि RJ45 connectors और patch panel उसे support नहीं करते, तो CAT7 या CAT6a cables पर पैसा बर्बाद होगा
- शुरुआती इंस्टॉलेशन में coaxial cable लगभग 3 feet कम पड़ गई थी, इसलिए आवश्यक लंबाई से ज़्यादा cable के लिए budget रखना बेहतर है
-
Server
- server की आवश्यकताएँ NAS, VM, web server, backup server, mail server, ad blocking आदि के अनुसार बहुत बदलती हैं, इसलिए किसी एक specific model की recommendation नहीं दी गई है
- वास्तविक setup में eBay से सेकंड-हैंड खरीदे गए ThinkCentre M73 और ThinkCentre M715q उपयोग में थे
- दोनों devices शांत और ठंडे चलते हैं और Ubuntu Server तथा Windows 10 चलाते हैं
- formal server options में Dell, HP, Cisco और Lenovo शामिल हैं; Home Lab में Craigslist या eBay से used hardware खरीदना आम बात है
पूरे घर के लिए सरल VPN setup का उदाहरण
- एक दोस्त के लिए बनाया गया whole-home VPN setup 700VA UPS पर 40W से कम power उपयोग करता था, जो दिखाता है कि Home Lab का complex या power-hungry होना ज़रूरी नहीं है
- इसके components इस प्रकार हैं
- StarTech.com 6U Wall Mount Network Equipment Rack
- AC Infinity Vented Cantilever 1U Universal Rack Shelf
- C2G 12-Port Patch Panel
- VCE CAT6 RJ45 Keystone Jack Inline Couplers
- Raspberry Pi 4 2GB Basic Kit पर Unifi Controller चल रहा है
- Brume GL-MV1000 पर Edge Gateway और WireGuard VPN चल रहा है
- Edgeswitch 10xp
- StarTech.com 8 Outlet Horizontal 1U Rack Mount PDU Power Strip
- CyberPower SL700U Standby UPS System, 700VA/370W
6 साल के बदलाव और निष्कर्ष
- Home Lab की शुरुआत 2020 में 12U wall-mount rack, cable modem और EdgeRouter से हुई थी
- 6 साल बाद इसे 10G uplink, pfSense firewall और 2.5G LAN तक upgrade किया गया, और monitoring को Zabbix से Checkmk RAW में बदला गया
- मुख्य बदलाव इस प्रकार हैं
- मार्च 2020: पहला build पूरा
- अप्रैल 2020: 4G failover, VLAN, blanking panel और Zabbix monitoring जोड़ी गई
- मई 2020: Raspberry Pi और Zabbix dashboard monitor जोड़ा गया
- जून 2020: keyboard जोड़ा गया, mesh cover को tinted plexiglass से बदला गया
- 2022~2023: नए घर में शिफ्ट, EdgeRouter को Peplink Balance 20x से बदला गया, UPS upgrade हुआ
- 2025 के बाद: 10G uplink और 2.5G LAN, pfSense firewall में upgrade, Zabbix को Checkmk RAW से बदला गया, passive cooling पर स्विच किया गया
- सबसे महत्वपूर्ण संचालन सिद्धांत है छोटा शुरू करना और growth के लिए तैयार रहना
- पहले दिन से rack, cabinet, patch panel और सारा equipment लेने की ज़रूरत नहीं है; शुरुआत ISP modem बदलने और सही router जोड़ने से की जा सकती है
- equipment चुनते समय शुरुआत से ही power consumption को ध्यान में रखना चाहिए, ताकि बिजली का बिल अनावश्यक रूप से बहुत ज़्यादा न बढ़े
1 टिप्पणियां
Hacker News की राय
लेख अच्छा है, लेकिन इसका scale और scope बड़ा होने की वजह से नए लोगों को डर लग सकता है। होमलैब की शुरुआत डेस्क पर रखे एक NUC से भी आराम से हो सकती है, और 64GB RAM हो तो सच में बहुत कुछ चला सकते हैं
NUC 24/7 चलाने के लिए efficiency में अच्छा है, लेकिन CPU load लंबे समय तक रहे तो शोर करने लगता है। ऐसे में eBay से OptiPlex या Precision Tower SFF, हो सके तो ECC support वाले मॉडल पर expand करना अच्छा रहेगा। Dell SFF छोटा होता है, लेकिन proper desktop/server में शांत fan होते हैं; eBay पर मिलने वाला 40 डॉलर का 10G Mellanox 3 card भी इसमें लग जाता है, और इन्हें horizontal stack करना आसान है। 12th gen CPU से पहले वाले OptiPlex से बचना बेहतर है, क्योंकि बिजली और space constraint हो सकते हैं; i5-12500 used अब काफी सस्ता मिल जाता है। LGA1700 हो तो जरूरत पड़ने पर i9-14900 non-K भी लगा सकते हैं
मेरी personal setup में कोने में 4 boxes stack किए हुए हैं, और workbench के पीछे rack side panel के दो pieces bolt करके लगाए गए fake rack पर parts screw करके fix किए हैं। shelf पर रखे NAS और कई Raspberry Pi भी जुड़े हुए हैं, और मुझे यह mess पसंद है; इससे बहुत कुछ सीखा। जो आपके पास है उससे शुरू करें और जरूरत पड़ने पर expand करें। rack तब अच्छा लगता है जब hobby गहरी हो जाए और आप style points की परवाह करने लगें
tasmota-based smart plug से connect करके देखा तो idle state करीब 6W थी। BIOS settings और tuned profiles से low-power tuning मैं हमेशा करता हूं, लेकिन कुल मिलाकर NUC शायद ही 30W से ऊपर जाता है। यह पुराने tungsten bulb के आधे के बराबर है
पुराने used laptops, खासकर टूटे screen वाले, लगभग मुफ्त में मिल जाते हैं; अगर आपके पास पहले से है या कोई जानकार दे दे तो सच में मुफ्त। अगर लक्ष्य Plex जैसा कुछ है तो यह ठीक चलता है, और laptop की power consumption भी खासकर idle में NUC से बहुत ज्यादा नहीं होती। अब मैं अच्छा दिखने के लिए proper rackmount server इस्तेमाल करता हूं, लेकिन ज्यादातर लोगों के लिए पुराना laptop काफी है, ऐसा मुझे लगता है
हालांकि बाद में rackmount करने और कुछ hardware upgrade करने के समय यह “beginner” guide सच में मददगार रही
[0] https://blog.janissary.xyz/posts/homelab-0
Lenovo mini PC TV के पीछे Syncthing node और HTPC दोनों का काम कर रहा है। यह दुनिया की सबसे refined setup नहीं है, लेकिन ठीक से काम करती है, बहुत सस्ती है, और apartment के हिसाब से सही बैठती है
थोड़ा विषयांतर है, लेकिन home server के लिए मैं Proxmox की सच में बहुत तारीफ करना चाहूंगा। 25 साल से घर पर किसी न किसी रूप में Linux server चला रहा हूं, और हमेशा Ubuntu जैसे single system को हाथ से manage करता था, जो बेहद झंझट भरा था
Proxmox एक ही hardware पर कई containers और virtual machines आसानी से चलाने देता है। शुरुआत में मैंने एक बड़े Ubuntu system को virtualize करने से शुरू किया था, लेकिन सिर्फ उससे भी backup और high availability जैसे फायदे मिलते हैं। अब मैंने services को अलग-अलग containers में बांटना शुरू किया है, और यह कहीं ज्यादा साफ-सुथरा है
virtual machines अपने-आप में भी उपयोगी हैं, लेकिन Proxmox जो machines के बीच migration और centralized backup/restore tools देता है, वे सच में आजादी जैसा एहसास देते हैं। हाल ही में मैंने Windows VM में PCIe GPU passthrough लगाकर Moonlight/Sunshine के जरिए घर की कमजोर machines पर games stream कराए, और यह इतना अच्छा काम कर रहा है कि असली gaming PC कोने में धूल खा रहा है। मेरी एकमात्र शिकायत यह है कि काश कोई सस्ता paid license होता। जो value मिल रही है उसका भुगतान करना चाहता हूं, लेकिन प्रति CPU सालाना 100 डॉलर से ज्यादा hobby use के लिए बहुत महंगा है। free tier बिल्कुल परेशान नहीं करता, इसके लिए आभारी हूं, लेकिन कोई बीच वाला level होता तो अच्छा था
हालांकि storage कुल मिलाकर आसान नहीं है। अलग-अलग choices के परिणामों को ठीक से समझना मुश्किल है, और zfs, lvm, lvm-thin, repartitioning वगैरह से काफी परिचित न हों तो NAS की नींव ठीक से setup करना कठिन है
मैंने सुना है कि कुछ लोग data array[1] को सीधे Proxmox में mount करते हैं और Plex जैसी storage layer के ऊपर की चीजों को ही virtualize करते हैं, जबकि दूसरे लोग HBA[2] को NAS VM में PCI passthrough करते हैं। पहले तरीके का फायदा शायद यह है कि loopback SMB/NFS/9p की जगह LXC container में सीधे bind mount किया जा सकता है। कुछ लोग TrueNAS या Unraid को bare metal base के रूप में इस्तेमाल करते हैं और storage व hypervisor दोनों का जिम्मा उसी को देते हैं, और यह भी समझ में आता है। TrueNAS के Linux version को अब mature होने का समय मिल चुका है, इसलिए शायद उसे आजमाना चाहिए। Intel processor के built-in Quicksync से hardware transcoding भी इस्तेमाल करता हूं, और सोचता हूं कि VM के through इस्तेमाल करने में कोई समस्या आती है या नहीं। शायद local Proxmox TTY छोड़ना पड़ेगा
[1] VHD नहीं, बल्कि real files वाले array की बात कर रहा हूं। मैं शुरू से ही इन्हें अलग रखने की कोशिश करता हूं, और इसकी जरूरत भी है क्योंकि सारे data को SSD पर रखने की गुंजाइश नहीं है और HDD पर OS root रखना भी बर्दाश्त नहीं कर सकता। वरना files के लिए dataset और VM roots के लिए zvol या NFS वाला single master ZFS array शायद ideal होगा
[2] सुना है कि यह individual SATA passthrough से ज्यादा reliable है, लेकिन इसका नुकसान यह है कि यह ज्यादा मोटे तौर पर बंध जाता है। यानी VM सभी ports पर exclusive control ले लेता है, इसलिए array में शामिल न होने वाली disk वहां नहीं जोड़ सकते
अलग distros या non-Linux परिवार की चीजें भी मिला सकते हैं, जिससे flexibility बढ़ती है। उदाहरण के लिए मैं OPNsense router चलाता हूं। Proxmox की जगह xcp-ng इस्तेमाल करता हूं
मुझे पता है कि यह नया “I use Arch btw” मीम बनने वाला है, लेकिन अगर आप इस रास्ते पर जा रहे हैं, तो distro के तौर पर Nix की जोरदार सिफारिश करूंगा। आदर्श रूप से, एक बार इसे चलने लायक बना दें और फिर इसे हमेशा चालू छोड़ दें; Nix इस्तेमाल करने पर सिस्टम की पूरी state git में दर्ज रहती है
अब “6 महीने पहले मैंने इसे कैसे ठीक किया था?” याद करने या Ubuntu distro upgrade फटने के बाद सिस्टम को हाथ से फिर जोड़ने की जरूरत नहीं। आपने जो भी बदला, जो packages install किए, जो values configure कीं—सब git log में होता है। मैं भी क्या install है और सिस्टम configuration देखने के लिए अक्सर git repository देखता हूं
कई devices पर system/user/application settings को जल्दी और आसानी से sync करना कमाल है। declarative approach की वजह से चलाने तक की मेहनत का फल मिलता है, और एक बार पता लगा लेने पर वही काम दोबारा नहीं करना पड़ता। declarative होने से documented, काम करने वाले configuration examples बच जाते हैं और वहीं से आगे बढ़ा सकते हैं। अभी मैं Nix से “Linux from Scratch” build करते हुए Nix development environment सीख रहा हूं; धीमा है, लेकिन हर सफलता reproducible state में पक्की हो जाती है। LLM बिखरे हुए कमजोर docs को summarize करने में निश्चित रूप से मदद करते हैं, लेकिन फिर भी काफी धैर्य चाहिए। कुल मिलाकर मैं Nix का बहुत आनंद ले रहा हूं और इसे homelab में और इस्तेमाल करना चाहता हूं
concept समझ आता है, लेकिन जब कोई नया package या app test करना हो, तो Nix वाला तरीका समझने में सिर खपाने की बजाय docker-compose और VM से मैं जल्दी पहुंच जाता हूं
cidatalabel वाली drive और install media साथ में लगाता हूं, और power on कर देता हूंशायद Nix आसान होता, पता नहीं, लेकिन cloud-init बस ऐसे scripts चलाने देता है जिन्हें यह काम करने वाला व्यक्ति पहले से ही जानता होगा; अलग DSL की जरूरत नहीं। कोई कहेगा “YAML पसंद नहीं,” लेकिन homelab में रुचि रखने वाला व्यक्ति शायद काम पर भी कई servers manage करता होगा, और cloud-init, Ansible, Kubernetes या किसी ऐसी चीज से बच नहीं सकता जो बिना विकल्प YAML इस्तेमाल कराती है। अगर homelab का मकसद किसी और की चीज तोड़े बिना काम में की जाने वाली चीजों का अभ्यास करना है, तो वैसे भी इस्तेमाल होने वाले tools से परिचित होना और घर के environment को office से बहुत अलग न बनाना बेहतर है। हालांकि Hacker News के बहुत से लोग, मुझसे अलग, “homelab” से family और friends के लिए media server, chat, photo sharing आदि self-host करना समझते हैं, actual datacenter की practice के लिए mini datacenter नहीं
रुचि हो तो tutorial यहां[0] है। एकमात्र समस्या Nix configuration को remotely deploy करने की है। एकमात्र 1st-party tool nixops असल में छोड़ दिया गया है और support भी बंद है। morph या deploy-rs जैसे community tools promising लगते हैं, लेकिन Flakes support और activity/long-term sustainability अलग-अलग है
[0] https://blog.janissary.xyz/posts/nixos-install-custom-image
Ubuntu बस खास नहीं है। पहले मैंने कई साल Ubuntu इस्तेमाल किया और बहुत खुश था कि आखिरकार non-experts को एक stable और easy-to-use Linux distro recommend कर सकता हूं, लेकिन जब दो-तीन consecutive in-place upgrades ने system तोड़ दिया और उसे ठीक करने के लिए Gentoo की अच्छी तरह documented installation process और सालों की trial-and-error से मिली system administrator knowledge चाहिए थी, तब मैंने छोड़ दिया। दोस्तों को Ubuntu इस्तेमाल न करने दें
कई सालों तक मैंने अपना gear IKEA FRIHETEN sofa के अंदर रखा था। फायदे: पहुंच आसान है, एक power cable + एक fiber WAN + एक ethernet LAN के अलावा पूरी तरह अदृश्य रहता है, और structure की वजह से cables बाहर निकालना आसान है तथा अंदर layout/wiring भी सुविधाजनक है
noise reduction भी मुफ्त में मिल जाता है, और सर्दियों में बैठने पर पीछे का हिस्सा कभी ठंडा नहीं होता, इतना heat भी मिलता है। spouse को blinking lights बिल्कुल नहीं दिखतीं, यह अच्छा है, और उन्हें UPS और disk bay खरीदने का भी पता नहीं चला। नुकसान: अंदर काम करना थोड़ा असुविधाजनक है, बैठने या खोलने-बंद करने पर vibration होता है जो spinning hard disks को पसंद नहीं आ सकता, और heat आश्चर्यजनक रूप से ठीक थी—closet से खराब नहीं। liquid spill का risk है, लेकिन design के हिसाब से वह अंदर जाने के बजाय किनारों के आसपास बहता है, और worst case में hardware के नीचे tray रख सकते हैं। सफाई करते समय furniture खिसकाने वाला spouse cable खींच सकता है, इसलिए extra slack देनी चाहिए
† https://www.ikea.com/us/en/images/products/friheten-sleeper-...
†† पीछे वाले कोने से route करके फिर सबसे नजदीकी socket तक wall के अंदर छिपाया था, इसलिए असल में दिखता नहीं था
आखिरकार यह न करने की एक वजह यह थी कि gear के ठीक ऊपर और आसपास sofa fuel बनने वाली आग नहीं चाहिए थी। server से ज्यादा UPS को लेकर थोड़ी चिंता थी। उस area को sheet metal से line कर दें, और अगर UPS battery type gas छोड़ सकता हो तो अच्छी ventilation रखें, तो थोड़ा भरोसा हो सकता है, लेकिन काम बहुत बड़ा हो जाता। इसलिए आखिर में gear कपड़े वाले material से दूर rack/shelf पर गया, ताकि आंखों से check कर सकूं
ventilation, heat और fire risk की काफी चिंता होगी। lack rack याद आता है
https://archive.is/Uf2k3
Home Lab की पूरी दुनिया शानदार है। हर व्यक्ति के लक्ष्य अलग-अलग होते हैं—low power, दिलचस्प processors, data ownership, high availability, UPS/पूरे घर का UPS—और मज़ेदार बात यह है कि इन overlapping interests और software का common meeting point घर है
यह भी दिलचस्प है कि इसमें उद्योग के experts जो hobby के तौर पर खेलते हैं, उनसे लेकर industry के बाहर के लोग तक खिंचे चले आते हैं। मैं भी इसमें गंभीरता से डूब गया, और कम से कम मेरे लिए इसने शुरुआती इंटरनेट वाला जादुई एहसास फिर से जगा दिया
दूसरे नज़रिए से देखें तो मेरा Home Lab ऐसा है। इसकी जगह basement office की shelf पर है, ventilation ठीक-ठाक है और WiFi ठीक है, लेकिन बहुत बढ़िया नहीं
Hardware एक पुराना PC है जो local swap meet से मिला था; मैंने किसी दूसरे पुराने PC से निकाली RAM जोड़ी और hard disk व WiFi card खरीदे। Software Debian stable और podman/podman-compose है। सभी उपयोगी services compose file वाले folders हैं, जिन्हें मैं podman-compose से systemd units में बदलकर इस्तेमाल करता हूँ। अगर लेख में बताई गई configuration आपकी पसंद है, तो बढ़िया है—बिल्कुल कीजिए। लेकिन ऐसा करना ज़रूरी नहीं है, खासकर शुरुआत से तो बिल्कुल भी नहीं। इस पुराने और लगभग मुफ्त PC पर मैं परिवार द्वारा रोज़ इस्तेमाल की जाने वाली कई services चलाता हूँ, फिर भी 16GB RAM का आधा भी इस्तेमाल नहीं होता और CPU usage 5% से ऊपर नहीं जाता
पीछे की तरफ cable hole बनाया था, और heat इतनी कम थी कि airflow कभी समस्या नहीं बना। उससे मैंने personal website और aquarium webcam host किया, doorbell से जोड़ा, और XMPP व document storage के तौर पर भी इस्तेमाल किया। जब भी server चाहिए होता, जो भी था वहीं डाल देता था। घर बदलने के बाद मैं एक पुराने Mac Mini को NAS की तरह इस्तेमाल करने लगा, और उसके बाद छेड़छाड़ करने का समय ज़्यादा नहीं मिला
Remote access के लिए tailscale भी set कर रखा है
समय के साथ काफी मेहनत से बनाया गया एक बड़ा-सा homelab है, और यह ठीक से चलता है इसलिए बहुत पसंद है। लेकिन असली समस्या disaster recovery है। सब कुछ replicate करने में शायद हमेशा लग जाए, और यह भी नहीं पता कि सब याद रह पाएगा या नहीं
router settings, switch settings, NAS, कई VLAN में फैले Docker containers वगैरह—शुरुआत में network का diagram बनाया था, लेकिन समय के साथ उसे up-to-date नहीं रख पाया। सोच रहा हूँ कि infrastructure diagrams बनाने, documentation करने और उन्हें updated रखने के लिए कोई अच्छा tool है क्या। backup और upgrade भी लगातार समस्या हैं। कोई container बना देता हूँ और 6 महीने बाद वापस देखता हूँ तो अक्सर बिल्कुल याद नहीं रहता कि क्या किया था। NUC, NAS, desktop, server जैसे कई machines पर दर्जनों containers फैले हैं, और हर service के लिए bind mount location, run user, permissions conventions सब अलग-अलग लगते हैं। सब कुछ दिमाग में रख पाना संभव नहीं, खासकर समय बीत जाने के बाद। अच्छा हो अगर किसी central interface से बस backup, restore, upgrade दबाया जा सके। पुराने दिनों की याद आती है जब VM clone/snapshot से cattle की तरह चलाते थे। Proxmox machine पर अभी भी कुछ VMs हैं, इसलिए कुछ हद तक वैसा है, लेकिन पूरे homelab के लिए ऐसा कुछ नहीं है। सिद्धांततः ऐसी स्थिति तक पहुँचना चाहता हूँ जहाँ घर जल भी जाए तो पूरा configuration पूरी तरह restore किया जा सके। घर के configuration management के लिए Kubernetes तक जाने से कोई ज्यादा सरल तरीका जरूर होगा; जानना चाहता हूँ कि बाकी लोग क्या इस्तेमाल करते हैं
एक-दो लोगों के लिए बहुत चौड़ाई में फैलना बहुत मुश्किल है, लेकिन अगर किसी एक stack में गहराई तक जाएँ तो अच्छी समझ बन जाती है, और अगर सब कुछ बिल्कुल उसी तरीके से हो तो स्थिति लगभग ऐसी हो जाती है कि या तो सब चलता है या कुछ भी नहीं चलता। आखिरकार संरचना ऐसी बनती है जिसमें हर चीज़ को ठीक से चलना ही होता है
80% मामलों में यह VM बनाना, rclone से files copy करना, और जरूरत हो तो service install/start करना भर होता है; custom commands इस्तेमाल करके लगभग 3 lines में हो जाता है। अगर VM चालू है तो deployment करीब 100ms लेता है। कभी-कभी script ज्यादा complex हो जाती है, लेकिन basic idea यह है कि अंदर कोई भी system इस्तेमाल हो,
deploy.ps1चलाने पर वह internet के बिना, dependencies के बिना, ब्रह्मांड की heat death तक चलता रहे। सब कुछ खोने के बाद deploy फिर से चलाया और list में बाँधकर पूरा restore कर लिया। routing settings की documentation 100% न होने वाली बात से सहमत हूँ। मेरे router/switch settings भी सच कहूँ तो बहुत complex हैं, शायद उन्हें कम करना चाहिएSuper Micro Computer शायद यह पहले से कर सकता हो, लेकिन उसका target datacenter है। फिलहाल तो बस सपना ही देखा जा सकता है
Proxmox idle में लगभग 12W लेता है, OpenWRT लगभग 4.5W लेता है, और NodeJS से OpenWRT पर MeshCommander चलाकर remote management कर सकता हूँ। ZFS की native encryption इस्तेमाल करता हूँ, इसलिए external drive पर पूरा backup इस तरह करता हूँ
# create backup pool on external drivezpool create -f rpoolbak /dev/sdb# create snapshot on proxmox NVMezfs snapshot -r "rpool@backup-2024-01-19"# recursively send the snapshot to the external drive (initial backup)# pv only is there to monitor the transfer speedzfs send -R --raw rpool@backup-2024-01-19 | pv | zfs recv -Fdu rpoolbakincremental backup के लिए
-Ioption और start/end बताने वाले दो snapshots दे देने होते हैं# create new snapshotzfs snapshot -r "rpool@backup-2024-01-20"# only send everything between 2024-01-19 and 2024-01-20zfs send -RI --raw rpool@backup-2024-01-19 rpool@backup-2024-01-20 | pv | zfs recv -Fdu rpoolbakआसान, तेज और काफी भरोसेमंद है।
zfs-auto-snapshotइस्तेमाल करें तो filesystem को 15-minute intervals तक वापस ले जा सकते हैं। virtual machines rollback करने के लिए भी काफी उपयोगी है[1]। हाल ही में NVMe, Samsung 980 Pro fail हो गया था; zfs से backup को उल्टी दिशा में, rpoolbak से rpool में restore करने वाला shell command चलाया, तो 700GB में करीब 2 घंटे लगे और server फिर online हो गया। जानता हूँ कि ZFS खासकर encryption में कुछ मामलों में “experimental” है, लेकिन result से काफी संतुष्ट रहा1: https://pilabor.com/series/proxmox/restore-virtual-machine-v...
इसलिए documentation पर काफी समय लगा रहा हूँ, और जहाँ संभव हो simple, defaults के करीब और community-supported तरीके से बनाने की कोशिश कर रहा हूँ। नतीजा यह है कि अभी तक homelab भी नहीं है, और न ही वह “homeprod” है जिसका यहाँ किसी ने जिक्र किया। इसी समस्या को लेकर सहमत एक दोस्त भी मिला है, इसलिए सोच रहा हूँ कि homelab docs और procedures को आपस में mirror करें ताकि bus factor 1 न रहे
पिछले साल से मैं अपना homelab सेटअप करके maintain कर रहा हूँ और यह वाकई कमाल का रहा। containers, virtual machines और networking के बारे में मैंने बहुत कुछ सीखा है
paperless-ngx [1] और immich [2] जैसी कुछ self-hosting applications, features के मामले में proprietary cloud solutions से कहीं बेहतर हैं। tailscale [3] जैसी VPN service जोड़ने के बाद अब मैं दुनिया में कहीं से भी अपने homelab को access कर सकता हूँ। बस अब एक low-power machine, जैसे NUC या mini PC, लेना बाकी है ताकि 24/7 जरूरी services उस पर shift कर सकूँ और बिजली का बिल कम कर सकूँ। अगर आप इसे maintain कर सकते हैं और weekends पर regular checks और upgrades करने की energy है, तो मैं अपना homelab बनाने की 100% recommendation दूँगा
[1] https://docs.paperless-ngx.com/
[2] https://immich.app/
[3] https://tailscale.com/
अगर homelab gear किसी non-technical nerd की living space में है, तो noise, lights/displays और ज्यादा नजर न आना भी सोचना चाहिए। मैं apartment में रहता हूँ और लंबे समय तक इसे closet में रखा था; living room में shift करने के बाद मैंने कुछ solutions अपनाए
ज्यादा नजर न आए, इसके लिए मैंने IKEA CORRAS cabinet इस्तेमाल किया, जो बाकी furniture से match करता है। पहले मैंने उसमें rackmount posts लगाए थे, लेकिन वे बाहर निकले हुए दिखते थे, इसलिए हटा दिए। noise के लिए मैंने fanless gear या ऐसे gear चुने जिन्हें कुछ Noctua fans से cool किया जा सके, और 1U PSU fan को भी Noctua से बदलना पड़ा, जिसमें थोड़ी soldering और काफी गालियाँ लगीं। आखिरकार datacenter के बजाय घर जैसे environment में, PSU को छोड़कर fanless चल सकने वाले Atom servers का ज्यादा इस्तेमाल करने लगा। अभी मेरा इकलौता non-quiet 3090 GPU server सिर्फ जरूरत पड़ने पर on होता है। मैं laptop से Wake-on-LAN command चलाता हूँ, लेकिन IPMI, PDU या IoT socket hacks, software से 3090 और fans रोकना, Kubernetes automation वगैरह भी संभव हैं। बहुत bright indicator LEDs को सफेद label-printer tape से ढकना अच्छी तरह काम करता है और उम्मीद से बेहतर दिखता है। जिन lights को देखने की जरूरत नहीं है, उनके लिए black label-printer tape इस्तेमाल करता हूँ। console के लिए मुझे खासकर TrackPoint keyboard वाला vintage IBM जैसा unobtrusive slide-out rack console पसंद है। अगर living room में monitoring display रखना हो, तो कम से कम keyboard को slide-out drawer में रखूँगा। गैर-जरूरी gear भी हटा दिया। नहीं तो मौजूदा rack space से दोगुना से ज्यादा चाहिए होगा, और living room में इसे audiophile gear जैसा दिखाकर justify करना भी मुश्किल हो जाएगा। अगर apartment में अभी router तक छेड़ना नहीं चाहते और सिर्फ server चाहिए, तो plastic OpenWRT router भी consider करने लायक है। यह router, switch और patch panel की कुछ rack units को replace कर सकता है, और शायद external WiFi AP और wiring की जरूरत भी न पड़े
मेरी “requirements” को देखते हुए minimum budget या spending कितनी रखनी चाहिए, यह जानना चाहता हूँ। या क्या आपको लगता है कि vast.ai जैसी sites पर्याप्त होंगी
30 से ऊपर हो जाने के कारण शायद मैं इसे बस home network और दो से ज्यादा computers होना कहता हूँ। home network इसलिए है क्योंकि यहाँ बहुत लोगों की तरह मैं network applications develop करता हूँ
मैं network engineer नहीं हूँ, लेकिन TCP/IP, DNS जैसे internet के अलग-अलग components असल में कैसे काम करते हैं, यह समझना सच में उपयोगी है और आपको कई developers से अलग करता है। अपने network को खुद control करने और जैसा चाहूँ वैसा करने की flexibility भी अच्छी लगती है। कई computers इसलिए हैं कि आजकल virtualization काफी अच्छा है, इसलिए अलग-अलग OS से खेलना मुख्य वजह नहीं है। असल में वजह equipment की location है। hard disks काफी noisy होती हैं, इसलिए मैं उन्हें cupboard में रखना चाहता हूँ, लेकिन screen और keyboard desk पर चाहिए। इसलिए cupboard में NAS है, desk पर quiet PC है, living room में silent media center और बाकी gear है। एक बात कहूँगा: rackmount server gear के लालच में मत पड़िए। यह cool दिखता है और used market में सस्ता मिल जाता है, लेकिन घर के लिए suitable नहीं है। इसकी जगह बड़े fans वाले desktop PC case इस्तेमाल करना बेहतर है। rackmount network gear काफी ठीक रहता है
इनमें real OOB management system भी होता है, जो काफी helpful है। https://www.supermicro.com/en/products/system/iot/1u/sys-510...
मैं सहमत हूँ कि typical deep rackmount servers से homelab में मेहनत के मुकाबले फायदा कम मिलता है
लेकिन अगर real rackmount gear घर में लाने का थोड़ा भी इरादा है, तो मैं strongly recommend करूँगा कि पहले किसी तरह उसका भयानक noise सुन लें। उसके साथ रहना imagine करना मुश्किल है
लेकिन अगर असली rack नहीं है तो यह काफी परेशान करने वाला हो जाता है। आखिरकार वह rack-जैसे tower की तरह दूसरे gear के ऊपर stack हो जाता है, और जिस equipment पर काम करना हो, उस तक पहुँचने के लिए सब कुछ खोलना पड़ता है। अगर lease-return rack gear लेना है, तो ठीक से जाएँ और rack और rails भी खरीदें। rails थोड़े महंगे हो सकते हैं, इसलिए ऐसे listings देखें जिनमें वे included हों। rails अक्सर servers से काफी लंबे समय तक compatible रहते हैं, इसलिए lease-return gear bulk में dispose करने वाली बड़ी companies आमतौर पर उन्हें include नहीं करतीं, जबकि छोटे sellers अक्सर include कर देते हैं