1. 程式人生 > 其它 >「HomeLab系列」Version4

「HomeLab系列」Version4

簡介

本文容最初記錄於2019年7月,整理併發佈於2021年10月

人常年不在家,所以這套方案的使用基本上是圍繞異地遠端連線使用的,包括但不限於檔案存取、遠端看家裡儲存的電影、照片的實時回傳和舊照片查閱、跑web服務(主要是學習和測試用)、遠端下載等等。

這套方案,其實我已經使用了快2年,其中的部分元件偶爾會根據需求有所調整。之前一直沒有系統性地記錄過這套系統的情況,因為這次家裡寬頻到期,重新辦理的時候,工作人員上門安裝後直接把路由器給我抹掉,導致不在家的我直接和家裡所有的裝置和資料失聯,所以在修復的過程中,我決定系統記錄下目前的情況。以下的所有配置,基本能滿足我的需求,但是一定不是最優的(技術上或設計上),所以還有很多改進空間,這也是我一直在思考的問題。

路由

硬體:netgear r6300v2

系統:刷梅林韌體(380.70_0-X7.9.1)

接下來就是一些非常重要且基礎性的配置了。

基本通用設定

任何使用者密碼都不可採用弱口令

  • 無線設定
  • 系統管理員賬號密碼設定

LAN

  • 內部網路使用10.0.0.1/24網段
  • 後面的裝置,客戶端(手機、電腦等)使用dhcp,其他固定裝置,全部使用static

網際網路訪問

  • 系統管理-系統設定:開啟遠端訪問|埠配置|ssl證書上傳

DDNS

DDNS可以解決公網IP動態變化的問題,實現使用固定的域名連回家裡,如果DDNS失效,那就只能打電話讓家裡人幫忙看IP,才能重新連回去,因此這項服務非常重要。對於這麼重要的服務,需要使用一定的冗餘來保證永遠能找到家裡的IP,所以我同時使用了兩個DDNS服務。

華碩DDNS

  • 外部網路-DDNS

騰訊雲的DNSpod

  • 軟體中心-安裝DDnspod
  • 特別注意:該應用未更新,導致wget命令無法使用,需要手動ssh進路由器,修改一下程式碼,github連結

Ss

軟體中心無法直接一鍵安裝ss客戶端,需要ssh進路由器手動安裝,github連結

注意:該離線包已支援ssr,不再像以前一樣只支援sslibev

埠對映

  • 外部網路-埠對映:家庭網路中所有的服務如果需要外部訪問,都需要在這裡進行埠對映。

群暉DS218+

2018年1月11日從美亞購入了群暉DS218+,從此告別了黑群暉。

HP Gen8伺服器

為gen8升級最新的ilo

截止2019年7月,gen8的ilo4最新的韌體是2.7。google搜尋ilo firmware,找到最新的下載即可。

注意下載scexe副檔名的韌體,然後解壓即可得到bin 型別的二進位制檔案。

chmod 755 CP022551.scexe
./CP022551.scexe  --unpack=/tmp/ilo

最後登陸ilo的web管理介面,在管理-韌體中上傳升級即可。

神奇的是,我從老版本升級到2.7後,以前刷進去的語言包依然有效。

更換CPU:E3-1265L V2

安裝受支援的最新esxi

ilo掛esxi iso為cd

從cd啟動

安到sd卡

啟用NF0F3-402E3-MZR80-083QP-3CKM2

替換ssl證書 /etc/vmware/ssl rui.crt rui.key

安裝raid驅動

參見此處

6.7需要另外關閉ahci模式

esxcli system module set --enabled=false --module=vmw_ahci

模板ubuntu的製作

  • 基於ubuntu18.04LTS
  • 時區配置
  • 使用者及密碼
  • ssh信任使用者祕鑰的設定,ssh關閉密碼登陸
  • network
  • git身份及全域性ignore
  • pip源
  • hosts+hostname
  • zsh、ohmyzsh、自動補全
  • root的bashrc中ps1配置
  • 用ovf tool匯出ovf模板和硬碟檔案備用

儲存設計與實施

  • 用hp的b120i建立兩組raid1

  • 分別進行rdm對映,得到兩個邏輯磁碟

  • vmkfstools -z /vmfs/devices/disks/naa.600508b1001ccf18aa25ff413d9a6833 /vmfs/volumes/OS/3T.vmdk
    
  • 掛載vmdk到系統

  • 格式化並掛載

    #檢視新硬碟
    fdisk -l
    #格式化
    mkfs.ext4 /dev/sdb   
    #檢視uuid
    blkid 
    #建立掛載點目錄
    mkdir /data
    #掛載
    vim /etc/fstab
    
  • nfs server

    apt install nfs-kernel-server
    chmod 777 /data
    vim /etc/exports
    #/data 10.0.0.150/28(rw,async,no_subtree_check,no_wdelay,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)
    exportfs -a
    systemctl restart nfs-kernel-server
    
  • nfs client

    # k8s的節點注意要先安裝客戶端工具,否則nfs pv無法掛載
    apt install nfs-common
    

k8s叢集部署

使用kubeadm部署,用於入門學習k8s

單體虛擬機器

  • windows server2012
  • 一臺跑單體應用的ubuntu18 server

冷備份硬碟盒

TODO

  • 在esxi裡引入lede軟路由,將目前的主路由用作無線AP

  • 電氣安全問題

  • 冷資料無冗餘