🏠 HomeLab:中年男人之友
未读前言DS218+ 是我用得最久的那台群晖,2 盘位、J3355、4G 内存(后来偷偷加到 10G),常年跑 Drive、Photos、几个轻量 Docker。用下来最大的槽点只有一个:磁盘太慢了。 这货用的是两块 4T HDD 组 SHR,日常浏览照片、翻 Drive 里的老文档,机械盘寻道声噼啪响,Photos 的缩略图滚动起来一顿一顿的。我本来想加块 SSD 做读缓存,结果发现: DS218+ 在 DSM 里根本没有 SSD 缓存选项。 官方给的理由是只有 2 个盘位,”塞 SSD 就等于少一个数据盘”,所以直接把这个功能砍了。但我又不想换 920+ / 923+(那时候价格还没跳水)—— 总觉得这台机器其实硬件是够的,只是被官方软件故意阉割掉了。 然后我盯上了它屁股后面那个从来没用过的 eSATA 接口。 思路很简单:如果能把 eSATA 这个接口在系统里”改名”成一个内置 SATA 盘位,那 DSM 就会认为这台 NAS 有 3 个内置盘位,SSD 缓存选项理论上就会亮起来。 折腾了一晚上,方案跑通了。这篇把整个原理和具体参数都记一下,后面谁要是也想干同样 ...
🖥️ 基础设施与运维
未读背景40G 交换机不便宜,二手也要大几百。我手上有 4 台 PVE 节点(3 台 M920x + 1 台 NUC),每台装了一块迈络思(Mellanox,现属 NVIDIA)双口 40G 网卡,没买交换机,用光缆把 4 张卡串成一个环,给 Ceph 集群提供高速存储网络: Alpha port1 → Bravo port2 Bravo port1 → Cobar port2 Cobar port1 → NUC port2 NUC port1 → Alpha port2 这样一来,每台节点都直连两台邻居。但问题是,Alpha 和 Cobar 之间没有直连,怎么通信?某台节点挂了,剩下的怎么绕路? 这篇把整个搭建过程走一遍,包括桥接网络配置、OSPF 动态路由、以及踩过的坑。 硬件清单 节点 机器 CPU 内存 40G 网卡 Alpha M920x i7-8700T 64GB Mellanox ConnectX-3 Pro MCX354A-FCBT Bravo M920x i7-8700T 64GB 同上 Cobar M920x i7-8700T 64GB 同 ...
🏠 HomeLab:中年男人之友
未读简介本文汇总了我在三台联想 M920x 上搭建和使用 PVE(Proxmox Virtual Environment)过程中的心得与遇到的问题。 在选择虚拟化平台时,我倾向于 PVE 而非 ESXi(vSphere Hypervisor)。 这一选择基于 PVE 的开源性及其基于 Debian 的架构,这为它带来了相比 ESXi 更多的可玩性和折腾空间。 选择 PVE 或 ESXi 并不在于哪个更优秀,而在于哪个更能满足个人的特定需求。 安装完成后 IP 不对启动后出现了一张 vmbr0 网卡, 这个是桥接网卡, 可以查看绑定的物理网卡: 1ip link show master vmbr0 修改一下 3 个文件: 12345678910111213141516171819202122232425# /etc/network/interfacesauto loiface lo inet loopbackiface enp92s0 inet manualauto vmbr0iface vmbr0 inet static address 192.168.100.100/24 ...
🏠 HomeLab:中年男人之友
未读简介家中的服务器有 3 台全部安装的是 Ubuntu, 有时候需要折腾一下. 所以想用一个文档来记录 Ubuntu 上遇到过的问题, 另外就是做一个备忘录, 将已操作过的记录保存下来, 以便在其他服务器上重现, 避免重复查询资料. 优化建议启用 Ubuntu ProUbuntu Pro 是 Canonical 提供的企业级专业支持服务,个人用户和小团队可免费使用(最多 5 台设备,超过需付费)。它提供了长达 10 年的安全更新支持。 1 打开「软件和更新」,切换到「Ubuntu Pro」选项卡。 2 点击「启用 Ubuntu Pro」。 3 访问 Ubuntu Pro Dashboard 拿到分配给你的Token,填入「手动添加令牌」中,然后点击「确定」。 参考 新手必备:安装 Ubuntu 24.04 LTS 后的 10 项基本建议 Landscape Server参考: Landscape 安装配置速记 系统克隆原来的系统安装在一块 PCIe Gen3 x4 的 M.2 固态上, 查阅资料得知这个插槽支持 PCIe Gen4 x4, 为了不浪费资源, 所以需要使 ...
🏠 HomeLab:中年男人之友
未读前言上一篇 使用 Cloudflare 增强公网服务安全性的实践 里,我只是拿 NAS 当例子跑了一遍 Cloudflare 的代理流程,证明”这条路是通的”。 真正用了一段时间之后,我发现一个尴尬的事实:家里暴露在公网的服务不止 NAS 一个,博客、图床、私有 Git、各种管理面板加起来十来个子域名,每个都”单独配一套”的话,免费账户的规则数量根本不够用 —— Origin Rules 免费版只有 10 条。 更重要的是,只要还有一个服务没走 Cloudflare,别人用 dig 或者挨个域名试一下就能挖出我真实的公网 IP,那前面那点安全努力基本等于白做。 所以这次干脆一次到位:把 *.dong4j.dev 全部塞进 Cloudflare CDN,入口只留一个,规则也只留一条。 顺便还踩了两个跨域的小坑,一起记一下。 目标和思路先说下我想达成的效果: 家里所有对外暴露的服务都走 *.dong4j.dev 这一套子域名; 所有子域名全部经过 Cloudflare CDN 代理(小云朵是橙色的); 用户用浏览器直接访问 https://blog.dong4j.dev、htt ...
🏠 HomeLab:中年男人之友
未读简介前几天在 Cloudflare 上买了一个 dev 域名, 想着使用 Cloudflare 强大的 proxy 功能增加暴露到公网服务的安全性, 今天尝试了一下, 感觉基本满足要求, 下面说说折腾过程. 现状 上图是现在的流量路径: 路由器将 1000 端口的流量全部转发到雷池 WAF 所在的服务器上(192.168.1.2:1000); 雷池 WAF 的 1000 端口配置了 HTTPS 证书, 然后在反向代理到局域网内真实的服务器上; 现在的问题是可以通过暴露出去的域名得到我真实的公网 IP 地址, 虽然公网 IP 会不定期变更, 但是感觉还不是特别安全, 所以打算使用 Cloudflare 来增加安全防护. 使用 Cloudflare我这里以在外网访问家中的 NAS 为例, 方便理解. 我预期的效果为 通过 https://nas.dong4j.dev 访问家中的 NAS. 我们都知道家用宽带的 80 和 443 端口是被运营商封了的, 为了实现上面的效果, 我们需要对 CloudFlare 有个基础的了解. CloudFlare CDN 支持的端口在我们使用 ...
🏠 HomeLab:中年男人之友
未读简介很久以前买 R2S 的时候一起买了一个 LCD 小屏幕, 一直没用起来, 这次装了个小主机, 想着看能不能废物利用一下. LCD4Linux 是一个小程序,它从内核和一些子系统抓取信息并将其显示在外部液晶显示器上。 下面是一些运行 LCD4Linux 的图片: LCD4Linux 在两个不同尺寸的显示器上 Iomega HMNHD-CE 上 的 LCD4Linux 安装 lcd4linux1$ sudo apt-get install lcd4linux 查看 USB 屏幕的设备名称 1$ lsusb 将会看到有lcd2usb interface的设备出现 12345678Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 003 Device ...
🏠 HomeLab:中年男人之友
未读简介前段时间在小黄鱼上捡了 2 张移远的 EC20, 今天折腾一下这张 4G 网卡. 实战 移远 EC20 mini PCIE 模块 usb 转 mini PCIE 模块 ipex1 代转 sma 内孔转接线 sma 内针 4G 天线 加上风扇: 合体后的样子: 检查 USB 设备中是否存在 4G 模块 1234lsusbBus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modemBus 001 Device 002: ID 2109:3431 VIA Labs, Inc. HubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 获取 4G 模块 USB 转串口终端 123ls /dev/ttyUSB*/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 ppp0 拨号第三节 树莓派 EC20 之 PPP 拨号上网_树莓派拨号上网-CS ...
🏠 HomeLab:中年男人之友
未读简介今天折腾一下使用 TTL 连接到树莓派 Zero 2W. 串口连接是一种常用的通信方式,通常用于计算机与外部设备之间的数据传输。它是通过一根或多根电缆将设备通过串行接口连接起来,数据一位一位地按顺序传输。串口通信可以分为两种类型:RS-232 和 TTL,分别代表不同的电气标准和通信协议。 开启串口1sudo raspi-config->Interfacing options-> Serial->Yes 安装驱动macOS 14+ 后自带 CH340X 驱动, 因此直接用就可以了: 1234ls /dev/cu.*输出:cu.usbmodem57590428591 screen123brew install screen# 这里的 11520 是波特率,在树莓派上的 /boot/cmdline.txt 进行设置screen /dev/cu.usbmodem57590428591 115200 Notice执行完会进入一个空界面,此时按 Enter 键,就会出现 Raspberry Pi 的登录提示了。 将树莓派进行 shutdown 之后,如果想 ...
简介一直在使用 hexo-deploy-git 插件部署我的部署到 Github Page, 不知道最近抽什么风, Github Pages 部署一直失败. 今天有空查看了日志才发现一直使用的是 Jekyll 来编译我的静态文件, 应该是我以前的博客需要使用 Jekyll 来编译, 不过现在已经不需要了, 因为我上传的已经是 Hexo 编译后的静态文件了, 最近应该是修改了某些插件导致 Jekyll 解析 URL 出现了问题所以才暴露了这个问题. 解决方法因为我直接上传的 Hexo 编译后的今天文件, 所以只需要将静态文件通过 Github Action 拷贝到 Github Pages 即可, 所以部署应该更简单, 下面是详细过程. 修改 Pages 配置Github Pages 默认使用 Jekyll 来部署: 所以这里需要修改为使用自定义 action 来部署: 添加 action 配置12345678910111213141516171819202122232425262728293031323334353637383940414243# Simple workf ...
🏠 HomeLab:中年男人之友
未读简介 一年前购买了一张 Tesla P40, 花了 700+, 现在已经涨价到 1500+, 显卡真的是理财产品. 年前将装在公司服务器上的的 Tesla P40 带回了家, 想着如何在家将这张卡再次利用起来, 找了一圈了最终选择使用猛兽峡谷 11 代计算卡 + 外置机箱来配合这张卡. 硬件配置我比较喜欢开放型机箱, 相比有大比笨重的传统机箱, 我更喜欢看到内部的元器件, 所以这次还是挑选的一个开放型平台: 1200W CSPS 电源 + CSPS 转接板; 猛兽峡谷 11 代, i7 11700B 计算卡; Tesla P40 显卡; 华为 SP310 双光口万兆网卡; 温控版; 其他小配件; CSPS 电源第一次玩儿 CSPS 电源, 小黄鱼有大量改装配置, 相比于传统的 SFX 电源便宜的多: CSPS 是 Common Slot Power Supply 的缩写,如今,随着 CPU 和显卡频率的增加,对于电源的需求也越来越大,而现在的好的电源非常贵,而以往 500 瓦走天下的时代已经一去不复返了,这导致玩家只能一边骂电源厂商一边当韭菜,而这时,CSPS 的优点就 ...
🎉 高能分享
未读简介在数字化时代,一张吸引人的封面图片对于博客来说至关重要。它不仅能够提升文章的视觉效果,还能在第一时间吸引读者的注意力。制作封面的方法多种多样,从自行设计到基于现有模板进行修改,每种方式都有其独特之处。然而,如果你希望以最快捷的方式输入标题或基本信息,直接生成封面,那么在线封面生成器无疑是你的最佳选择。今天,就让我带你一起探索几款优秀的在线封面生成工具,为你的技术博客增添一抹亮色。 CoverView:开发者的首选 链接: CoverView | GitHub 仓库 CoverView 以其丰富的内置模板和图标而著称,尤其是针对编程语言的图标,这使得它成为开发者制作技术博客封面的理想工具。无论是 Java、Python 还是 React,你都能在这里找到合适的图标和模板,快速打造出专业且符合技术氛围的封面。 Cover-Image-Generator:灵活调整,创意无限 链接: Cover-Image-Generator | GitHub 仓库 虽然没有内置模板,但 Cover-Image-Generator 的灵活性却为其赢得了众多粉丝。你可以自由移动标题和副标题的位置,调整字体、 ...
前言在 AI 时代,越来越多的开发者开始使用 AI 编程助手来提升开发效率。为了让 AI 更好地理解和学习我们的技术文档,社区提出了 llms.txt 规范。本文将以开发一个生成 llms.txt 的 Hexo 插件为例,介绍 Hexo 插件开发的基本流程。 什么是 llms.txt?背景随着 ChatGPT、Claude 等大语言模型的普及,越来越多的开发者开始使用 AI 编程助手。但是这些 AI 助手在访问网站内容时,往往需要处理复杂的 HTML 结构,这不仅增加了处理成本,还可能影响理解的准确性。 llms.txt 规范llms.txt 类似于 robots.txt,它是一个专门为 AI 准备的纯文本格式的站点内容索引。通过提供结构化的纯文本内容,可以帮助 AI 更好地理解和学习网站的内容。 主要特点: 纯文本格式,易于解析 包含文章的标题、描述和链接 可选包含完整的文章内容 支持 Markdown 格式 查看本站的 llmx.txt 和 llmx-full.txt Hexo 插件开发基础插件类型Hexo 支持多种类型的插件: Generator:用于生成静态文件 ...
简介在 Docker 生态中,命令行操作虽然强大,但繁琐的命令记忆和跨终端窗口的容器管理往往让开发者头疼。Lazydocker 应运而生,这是一款基于终端的 Docker 管理工具,凭借简洁的 UI 设计和一键式操作,成为众多开发者提升效率的利器。本文将从功能、安装到实际体验,全面解析这一工具。 Lazydocker 的核心功能 一站式容器管理通过终端 UI 界面,Lazydocker 支持实时查看 Docker 容器、镜像、卷和网络的运行状态,无需在多个终端窗口切换。 快捷操作与调试 日志流分类查看:支持按服务或容器分类显示日志,快速定位问题。 一键重启/重建容器:按下快捷键即可重启、重建或删除容器,尤其适合调试服务故障。 镜像与磁盘管理:查看镜像层级结构,清理无用镜像或卷以释放磁盘空间。 自定义与扩展性用户可绑定自定义命令或快捷键,甚至通过配置文件修改界面布局,满足个性化需求。 安装指南(支持多平台)Lazydocker 支持多种安装方式,以下是主流操作系统的快速安装方法: Linux/macOS 一键脚本安装(推荐):1curl h ...















