「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
-
电气安全问题
-
冷数据无冗余
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。