GTX690战术核显卡导弹 - 运维
type: channel
link: https://www.nekopara.uk/category/%E8%BF%90%E7%BB%B4/
description: 运维
items: 阿里云 ESA 回源 IP 段分享，可用于源站保护
items: 调用API实现Typecho博客VisitorLoggerPro插件IP信息更新
items: 解决PyTorch CUDA报错：no kernel image is available for execution on the device
items: V100 GPU 初体验：AlmaLinux 8.10 快速部署 ComfyUI
items: 个人博客低成本CC防护：抵御85%+常见CC攻击
items: Manjaro Linux 安装 Abaqus 2022 踩坑记
items: 绕过黑洞！利用VPC内网互通低成本实现DDoS攻击下网站高可用
items: 矿渣再就业：双卡 P104-100 运行大语言模型可行性报告
items: 使用 EasyTier 自建服务器组网
items: 解决 Arch 系 Linux Ark 打开 zip 压缩包中文乱码问题

阿里云 ESA 回源 IP 段分享，可用于源站保护
type: item
date: 2025-12-18T17:04:00+08:00
description: 分享阿里云 ESA 回源 IP 段因为阿里云的源站防护功能，在免费版用不了，而我需要在源站设置访问白名单，于是就需要找一份阿里云 ESA 回源 IP 段列表。Cloudflare和EdgeOne都是公开回源IP段的，同样是属于CDN的ESA居然不公开，有点离谱，不过看样子应该是想作为增值服务，付费才能开源站保护（）好巧不巧，这段时间基础版ESA都可以免费领取一个月，而基础版ESA是可以开启源站保护的，所以自然也就拿到了回源的IP段列表。虽然文档说这是收敛后的IP段列表，但是得到的回源IP估摸着大概有1700+个，而且我和群友交叉验证过，得到的IP段是一模一样的。应该是收敛之前的完整IP段。估计可能的原因是我没有添加任何要加速的子域名，直接先开源站保护，导致返回了全量的IP段——这是好事啊！连统计和汇总都省了。（后记补充：打脸了，后面进一步测试后发现，免费版和基础版回源IP段是分开的，不用白费力气了）现在我就分享出来，给需要的站长参考。IP段可以用来设置源服务器的访问白名单，避免源服务器被扫描。具体如何使用，懂得人自然会懂，如果不知道的话，可以看一下这篇文章：绕过黑洞！利用VPC内网互通低成本实现DDoS攻击下网站高可用中的代理服务器安全组设置（可选）这一小节。请注意，文中获取到的IP段很有可能是有时效性的，不保证未来可用！获取的时间为2025年12月18日，如果时间过去的太久，需要使用请先验证！测试后补充：免费版和基础版回源IP段是分开的，所以想白嫖源站保护是不太可能的，后续也不要白费力气了。这篇文章就当作教训挂在这里了。全部 IPv4 回源 IP 段39.96.151.128/25 111.13.222.128/25 111.206.190.0/25 49.7.41.128/25 111.7.71.0/25 117.49.24.96/27 183.131.47.64/26 117.49.26.96/27 27.128.150.128/25 222.138.192.0/25 111.63.174.128/25 123.149.174.0/25 39.173.24.0/26 117.49.24.128/26 117.49.173.192/26 117.49.26.128/26 101.69.215.128/26 163.181.67.128/25 175.4.42.0/25 183.215.56.0/25 116.163.14.128/25 157.255.137.128/25 117.49.181.0/25 183.60.170.128/25 120.241.64.0/25 8.147.217.48/29 8.147.217.32/28 114.250.55.64/26 106.38.245.128/26 221.179.212.0/26 8.147.217.0/27 163.181.122.128/25 36.156.79.0/25 183.136.179.64/26 120.222.205.128/25 60.188.139.0/26 163.181.15.128/25 120.241.14.64/26 112.90.140.64/26 120.241.13.128/26 163.181.89.128/25 61.241.9.128/25 124.95.162.128/25 222.141.35.128/25 42.96.222.128/25 117.49.152.64/26 106.38.189.128/25 117.49.153.0/25 39.156.171.128/25 111.7.83.128/25 219.144.87.0/25 117.49.3.128/26 8.152.80.0/25 114.232.93.0/25 150.139.146.128/25 123.126.111.128/25 140.249.255.128/25 39.173.42.128/25 59.36.91.0/26 120.222.200.128/25 111.19.142.0/25 113.201.176.0/25 122.193.247.0/25 183.36.45.64/26 139.129.78.0/25 183.240.195.128/25 117.49.179.0/25 36.99.21.0/25 27.221.6.128/25 42.248.141.128/25 124.160.142.128/26 112.17.15.224/27 115.238.4.128/25 8.147.211.128/25 101.67.60.128/25 58.251.89.64/26 120.201.61.128/25 112.13.103…

调用API实现Typecho博客VisitorLoggerPro插件IP信息更新
type: item
date: 2025-12-17T23:30:06+08:00
description: 利用B站IP查询API更新访客记录IP地理信息偶然的一次机会，在群里面聊天的时候，群友指出纯真数据库的数据并不准确，并且说有一个可以免费调用的IP地理信息库——B站的IP查询API。据说还是用的ipip.net的企业版，这下得狠狠白嫖了。前置任务：修复VisitorLoggerPro插件BUG如果使用过这个插件一段时间，你就应该发现了，在国家统计图表这项，非常的混乱，似乎是只要记录的字符不一致，就会被当作不同的国家处理，例如美国加利福尼亚洛杉矶和美国纽约就被当作不同的国家列在上面。经过深挖代码斗智斗勇，我发现这个问题我无法从根本解决，因为整个代码太奇怪了，而且用的本地IP数据库也都是乱七八糟的，根本没有做好国家的细分地区分类，一股脑返回，导致所有的信息被集中在一起写进了国家字段。于是，我放弃治疗，直接在后面的调用代码中，增加分类逻辑进行分类：这是原来的代码，单独处理和提取了国内省份： foreach ($countryCountsResult as $row) { $countryName = $row['country'] ?: '未知'; $count = $row['count']; if (!isset($countryData[$countryName])) { $countryData[$countryName] = 0; $totalCountries++; } $countryData[$countryName] += $count; if (strpos($countryName, '中国') !== false) { foreach ($provinces as $province) { if (strpos($countryName, $province) !== false) { if (!isset($provinceData[$province])) { $provinceData[$province] = 0; } $provinceData[$province] += $count; break; } } } }我决定在返回国家信息的时候，进行提取合并并返回： foreach ($countryCountsResult as $row) { $rawCountry = $row['country'] ?? ''; $count = (int)($row['count'] ?? 0); if ($rawCountry === '') { $stdCountry = '未知'; } elseif (strpos($rawCountry, '中国') !== false) { // 所有含“中国”的都归为“中国” $stdCountry = '中国'; // 同时尝试提取省份 foreach ($provinces as $province) { if (strpos($rawCountry, $province) !== false) { if (!isset($provinceData[$province])) { $provinceData[$province] = 0; } $provinceData[$province] += $count; break; // 匹配到第一个即停止 } } } else { // 非中国：尝试匹配标准国家名（用于归一化，如“美国加州”→“美国”） $stdCountry = $rawCountry; // 默认保留原值 foreach ($countries as $country) { if (strpos($rawCountry, $country) !== false) { $stdCountry = $country; break; // 匹配到即停止（因列表已按长优先排序） } } } // 累计国家统计 if (!isset($countryData[$stdCountry])) { $countryData[$stdCountry] = 0; $totalCountries++; } $countryData[$stdCountry] += $count; }当然了，需要补上完整的国家地区列表： $countries = [ // 长名称国家（必须放前面） '波斯尼亚和黑塞哥维那', '赤道几内亚', '圣文森特和格林纳丁斯', '特立尼达和多巴哥', '圣多美和普林西比', '阿拉伯联合酋长国', '沙特阿拉伯', '巴布亚新几内亚', '所罗门群岛', '马绍尔群岛', '密克罗尼西亚联邦', '帕劳共和国', '瓦努阿图共和国', '基里巴斯共和国', '瑙鲁共和国', '图瓦卢', '美属萨摩亚', '英属维尔京群岛', '美属维尔京群…

解决PyTorch CUDA报错：no kernel image is available for execution on the device
type: item
date: 2025-12-06T20:22:00+08:00
description: 修复GTX 10系显卡no kernel image报错今天想试试看P104-100玩AI画图怎么样，结果遇到了PyTorch相关的报错，解决后感觉也挺有代表性的，写篇文章简单记录一下。问题复现尝试使用P104-100跑ComfyUI玩，结果收到了报错：torch.AcceleratorError: CUDA error: no kernel image is available for execution on the device Search for `cudaErrorNoKernelImageForDevice' in https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html for more information. CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.我就觉得纳闷，为什么同样的驱动版本，都是580版本的驱动，V100不报错，但是P104-100报错了。然后我运行了检查GPU compute capability的代码，得到结果如下：print(torch.cuda.get_device_properties(0)) /home/rin/.local/lib/python3.12/site-packages/torch/cuda/__init__.py:283: UserWarning: Found GPU0 NVIDIA P104-100 which is of cuda capability 6.1. Minimum and Maximum cuda capability supported by this version of PyTorch is (7.0) - (12.0) warnings.warn( /home/rin/.local/lib/python3.12/site-packages/torch/cuda/__init__.py:304: UserWarning: Please install PyTorch with a following CUDA configurations: 12.6 following instructions at https://pytorch.org/get-started/locally/ warnings.warn(matched_cuda_warn.format(matched_arches)) /home/rin/.local/lib/python3.12/site-packages/torch/cuda/__init__.py:283: UserWarning: Found GPU1 NVIDIA P104-100 which is of cuda capability 6.1. Minimum and Maximum cuda capability supported by this version of PyTorch is (7.0) - (12.0) warnings.warn( /home/rin/.local/lib/python3.12/site-packages/torch/cuda/__init__.py:326: UserWarning: NVIDIA P104-100 with CUDA capability sm_61 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_70 sm_75 sm_80 sm_86 sm_90 sm_100 sm_120. If you want to use the NVIDIA P104-100 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/ warnings.warn( _CudaDeviceProperties(name='NVIDIA P104-100', m…

V100 GPU 初体验：AlmaLinux 8.10 快速部署 ComfyUI
type: item
date: 2025-12-05T23:21:00+08:00
description: 在 AlmaLinux 8.10 上部署 ComfyUI最近买了一张 V100，为了爽玩 AI 绘图，我单独组装了一台 X99 平台主机来运行 ComfyUI。操作系统方面，我选择了 AlmaLinux 8.10，看中的是其稳定性以及对多版本 Python 的良好支持。硬件介绍显卡本体Tesla V100 显卡展示（和RTX2080Ti同框）：安装到转接板上：转接板是200买的，虽然比最便宜的99元转接板贵了一倍，但用的是原装座子，原装座子的转接板就算是10X10CM的小板子都170+了。我加多30，买个带温控的，尺寸大一点的板，还自带螺栓孔位固定，完美安装，他不香吗？装上散热器后的样子：我为了尽可能降低温度，延长使用寿命，买了最大的散热器，到手发现确实巨大无比，比想象中的要大得多。但是其实现在看，买小一号的9CM高度的可能更合适，因为更好安装8CM风扇，不会浪费散热面积。我最后还是选择了8CM的风扇来散热，放弃了之前使用12CM风扇的想法——因为没办法彻底吹透散热器，温度还高。装上风扇Be Like:因为两边会漏风，导致无法彻底吹透散热器，所以搞了一张纸包了一下，迫使气流贯穿散热器。配套硬件平台开头我先说一下我踩到的坑，首先平台选择就先栽了一头：一开始我想用我闲置的H61平台来带这个玩意，而且也确认看过那个主板有Above 4G Decoding选项，也打开了，但是就是死活没办法驱动这个显卡，系统识别到了这个设备，但是NVIDIA驱动无法初始化设备，导致无法使用。这个问题折磨了我很久，检查日志具体表现是：[root@Neko-P104 ~]# dmesg | tail -100 | grep -i -E 'nvidia|nvrm|gpu|bar' [ 3.121900] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid: NVRM: BAR4 is 0M @ 0x0 (PCI:0000:01:00.0) [ 3.121902] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid: NVRM: BAR5 is 0M @ 0x0 (PCI:0000:01:00.0) [ 3.322080] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 580.105.08 Tue Apr 8 12:41:17 UTC 2025 [ 3.369648] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 580.105.08 Tue Apr 8 12:09:34 UTC 2025 [ 3.376189] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver [ 3.376192] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0 [ 112.149308] caller _nv041720rm+0x3a/0xb0 [nvidia] mapping multiple BARs [ 112.163383] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0x72:1568) [ 112.163415] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0 [ 112.285687] nvidia-uvm: Loaded the UVM driver, major device number 237. [ 379.801748] caller _nv041720rm+0x3a/0xb0 [nvidia] mapping multiple BARs [ 379.815873] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0x72:1568) [ 379.815912] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0这表明：BAR 分配失败：GPU 的某些地址空间没有正确映射到系统内存中。RmInitAdapter 失败：驱动尝试初始化 GPU 时遇到了错误，无法完成初始化。所以这是平台限制，必须换平台了。后…

个人博客低成本CC防护：抵御85%+常见CC攻击
type: item
date: 2025-11-02T16:47:03+08:00
description: 低成本CC防护：我的实战配置与效果喜报：被大规模CC了！平常的一天，突然受到了来自衣食父母华为云的服务器告警：虚拟机网络连接数突破15400个，CPU占用超过 85% 。就知道肯定是被CC了。果然网站被打是催更技术类博主最好的方式（雾不过我之前是设置过缓存的，有点好奇怎么绕过缓存，事后我抓取了对应时间的Nginx日志access.log：43.152.29.37 - - [30/Oct/2025:23:27:16 +0800] "GET /3bb6bfea9/90a2c9c9fc?limit=ef616a8b1b145df&token=176fe0f01f&utm_source=a5d4f247077b HTTP/1.0" 404 29335 "http://www.nekopara.uk/3bb6bfea9/90a2c9c9fc?limit=ef616a8b1b145df&token=176fe0f01f&utm_source=a5d4f247077b" "Mozilla/5.0 (Windows NT 11.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0" "91.209.77.93, 43.152.29.37" 43.152.24.20 - - [30/Oct/2025:23:27:16 +0800] "GET /profile/config/delete?search=9844b7e151&version=504397e6490c&utm_campaign=bd5783ef290&page=4b9e8cc670d HTTP/1.0" 404 29335 "http://www.nekopara.uk/profile/config/delete?search=9844b7e151&version=504397e6490c&utm_campaign=bd5783ef290&page=4b9e8cc670d" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "138.2.109.39, 43.152.24.20" 43.152.143.43 - - [30/Oct/2025:23:27:16 +0800] "GET /health/admin?utm_medium=eb37025 HTTP/1.0" 404 29335 "http://www.nekopara.uk/health/admin?utm_medium=eb37025" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" "163.61.245.58, 43.152.143.43" 43.174.55.12 - - [30/Oct/2025:23:27:16 +0800] "GET /5de3c/0727afb/info?type=f06d22885b8 HTTP/1.0" 404 29335 "http://www.nekopara.uk/5de3c/0727afb/info?type=f06d22885b8" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15" "103.184.54.67, 43.174.55.12" 43.152.14.36 - - [30/Oct/2025:23:27:16 +0800] "GET /edit/a97b/cba81414/content.htm?offset=09cd68b44dd60&key=030f41284 HTTP/1.0" 404 29335 "http://www.nekopara.uk/edit/a97b/cba81414/content.htm?offset=09cd68b44dd60&key=030f41284" "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" "49.145.113.40, 43.152.14.36" 43.152.…

Manjaro Linux 安装 Abaqus 2022 踩坑记
type: item
date: 2025-10-22T10:53:00+08:00
description: 在Manjaro Linux上安装Abaqus 2022本来没什么素材更新文章的，这下因为阴差阳错各种巧合，来素材了（ 刚立flag没几天说是其实在目前阶段我并不需要用这个软件，究其原因，是我朋友的电脑内存不够，他的研究生导师的课题组要用Abaqus这个软件进行有限元分析模拟，不出所料炸内存了。他想起来我有这么一个128G内存的“电脑”（服务器），于是想让我帮忙算一下。好巧不巧，这逼软件有Linux版，那就试试吧！然后试试就逝世，这逼养的古董屎山软件的安装方式，以及各种奇葩的要求和报错属实难绷，挂出来让大家品屎罢！踩坑报错把我搞傻了，国内各种资料网站参考了一遍没能解决，压力ChatGPT解决了，GPT yyds! 记录一下吧，给后面有需要的人指路。理论上这篇教程同样适用于在Arch Linux上安装，应该也可以作为在其他发行版进行安装时的参考。软件获取自己可以找一下，相对而言还算是比较好找的。如果找不到，我这里有：Abaqus_2022_Linux.7z.001 Abaqus_2022_Linux.7z.002 Abaqus_2022_Linux.7z.003 Abaqus_2022_Linux.7z.004 请下载全部压缩分卷后解压，解压密码是：www.nekopara.uk如果你下载我打包的版本，那安装前准备的修改Linux.sh脚本部分可以跳过，已经帮改好了。安装前准备首先，进入安装目录，赋予全部文件可执行权限已经修改权限，不然你会得到报错：Error: This media has been unzipped or copied in such a way that the permissions of some files have been lost. Please unzip or copy the media again.chmod -R 777 DS.SIMULIA.Suite.2022.Linux64/*接着，要修改安装目录里面的每一个Linux.sh文件，强行指定检测的发行版为CentOS或者其他位于支持列表的发行版。这些文件存在于：DS.SIMULIA.Suite.2022.Linux64/1/inst/common/init/Linux.sh （这个好像是主安装程序的，但是实际上主安装程序没屌用，就是套娃然后依此启动3 4 5文件夹里面的安装程序，套娃安装，也是唐完了。）DS.SIMULIA.Suite.2022.Linux64/3/NETVIBES_Exalead_CloudView/Linux64/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/3/Search_Doc/Linux64/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/3/SIMULIA_FLEXnet_LicenseServer/Linux64/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/4/SIMULIA_EstablishedProducts/Linux64/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_Documentation/AllOS/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_EstablishedProducts_CAA_API/Linux64/1/inst/common/init/Linux.shDS.SIMULIA.Suite.2022.Linux64/5/SIMULIA_Isight/Linux64/1/inst/common/init/Linux.sh找到这一行：DSY_OS_Release=`lsb_release --short --id |sed 's/ //g'`修改为：DSY_OS_Release="CentOS"有一说一，这安装包的目录结构太抽象了，真的是唐完了。修改完成后，就可以开始安装了。安装软件我实测下来，是可以不使用root权限执行安装的，只需要安装在一个普通权限可以写入的文件夹里面即可。权限最小化，不轻易给出root权限！而且，直接不经包管理器修改/usr目录是不太好的。如你享受Windows上面那种套娃安装的操蛋感，那请执行:DS.SIMULIA.Suite.2022.Linux64/1/StartGUI.sh。他会一步一步引导你安装，记得勾选许可证服务器安装，用于验证：然后他就先给你吃一口屎：招笑完了，安装还…

绕过黑洞！利用VPC内网互通低成本实现DDoS攻击下网站高可用
type: item
date: 2025-09-29T11:34:00+08:00
description: VPC内网互通：让被黑洞的服务器仍能访问事情起因很简单，前段时间我的华为云服务器又被闲的蛋疼的人刷了DDoS礼物，也是成功地触发了EIP（弹性公网IP）黑洞封堵。喜报如下：尊敬的(Rin):感谢您使用华为云产品，非常抱歉打扰您。在北京时间2025/09/23 10:26，华为云监测到您的弹性公网IP(EIP)实例 发生EIP封堵事件。 详情：节点：亚太-新加坡实例名称：119.8.185.128实例ID：b002926d-60de-4951-a9e9-b337e3a550d8告警描述：{"reason_zh": 尊敬的Rin：华为云DDoS防护服务在2025-09-23 10:26:56检测到您的EIP 119.8.185.128 异常流量已超过DDoS防护峰值触发封堵，封堵时带宽为 79 Gbps, 您服务器的访问将受到限制，24小时后系统将自动为您解封。您可登陆官网购买DDoS高防服务提升防护能力，保障服务器稳定运行。, "reason_en": Dear Rin: HUAWEI CLOUD Anti-DDoS Service detects that your EIP 119.8.185.128 abnormal traffic has exceeded the DDoS protection peak at 2025-09-23 10:26:56 and triggers blocking. Bandwidth when blocking is 79 Gbps, Access to your server will be restricted, and the system will automatically unblock it for you after 24 hours. You can log in to the official website of HUAWEI CLOUD to purchase Advanced Anti-DDoS service to enhance protection capabilities and ensure stable server operation.}原因分析：尊敬的Rin：华为云DDoS防护服务在2025-09-23 10:26:56检测到您的EIP 119.8.185.128 异常流量已超过DDoS防护峰值触发封堵，封堵时带宽为 79 Gbps您服务器的访问将受到限制，24小时后系统将自动为您解封。您可登陆官网购买DDoS高防服务提升防护能力，保障服务器稳定运行。如有疑问，您可以登录华为云官网提交工单咨询，会有相应工程师为您核实查看。IP我就懒得打码了，反正就是这个网站域名平时解析的IP，有什么好打码的，ping一下就能看到了。我在之前的文章，就有说过一套抗DDoS的方案，并且已经付诸实践了（详见文章：《当网站遭遇DDoS：如何优雅地应对云服务器被封堵》）。很显然，并没有太大影响，在网站主服务器被打黑洞的三分钟后，脚本就自动切换服务器到备用服务器并且套上了Cloudflare的代理，无需我干预，唯一的不足就是在被DDoS期间网站访问变慢了。但是，当时我就有说过，那套方案是有缺陷的，也就是因为网站数据同步是单向的，在被攻击期间交互产生的数据，后面会被覆盖掉。好巧不巧，华为云又送钱了，我寻思着我之前开的华为云服务器已经续费十年多了，不如开个新的云服务器，搞VPC内网互通，彻底解决上述的痛点问题。这里说个题外话，我发现新开的华为云 Flexus L 实例相比于之前已经大幅缩水，网络回国优化没了，而且CPU性能只有原来的三分之一了，已经变得跟阿里云的轻量服务器一个水平了，而且价格还更高。除非你和我一样是白嫖的，否则真金白银买我是不推荐，因为差不多一样的东西，阿里云那边要大概便宜个10%-20%，买华为云真不划算了。现在华为云的 Flexus L 实例算是把华为手机的高价低配学过来了，难绷。但是老实例性能和网络那还是相当不错的。资源准备为了实现这个方案，你需要准备两台云服务器，并且两台服务器必须在同一个地域，以便进行VPC内网互通。虽然同一个地域就足够，但将两台服务器放在同一个可用区会获得更好的内网延迟（通常<1ms），而跨可用区的内网延迟可能会稍高（但通常也在1-5ms范围内）。这就是最重要的前提要求，日常访问的可以是两台服务器的任意一台，只需要它的性能可以满足业务要求。对于另一台服务器，那是作为网站流量跳板服务器，最低配即可，方便节约成本，因为只需要在上面运行一个代理流量程序，在主实例EIP被封堵时代理接管流量入口。因为本方案抗DDoS采用的是Cloudflare的CDN，所以跳板实例的网络可以差一点，只需要保证到Cloudflare的回源服务器线路通畅即可，国内访问…

矿渣再就业：双卡 P104-100 运行大语言模型可行性报告
type: item
date: 2025-09-28T10:33:00+08:00
description: 尝试使用双卡 P104-100 运行大语言模型Introduction（bushi 鉴定为搞学术搞的在我之前的文章，我说了我买了四张P104-100用于跑Blender Sheepit渲染积分，现在我想试试看开发出新的玩法——用P104-100通过Ollama运行大语言模型。因为大语言模型的话，显存大小很重要，很大程度上是显存即正义，一些比较大的模型，我的RTX2080Ti 11G显存还是力不从心。虽然说P104-100才8GB的显存，但是招架不住它便宜啊，79包邮的价格要什么自行车，买两张不就是16G了吗？虽然说不能这么算，但是Ollama支持把大语言模型拆分到不同的显卡进行运行，买都买了，不如试试看？目前的硬件情况目前的四张P104并不是安装在一起的，而是分别放在两个不同的机器上面。又因为我没有支持安装四卡的主板，所以想测试四卡并行跑比较大的模型还是算了。还有一个比较蛋疼的问题是，因为我算是为了利用闲置硬件买的卡，所以是一块H61+E3-1220v2+两条8G内存。这样子做主要是为了满足Sheepit的需求，因为它不支持多GPU同时渲染，所以只能每个GPU开一个实例，分开渲染，占用双倍资源，所以显卡并没有全部安装在一起。也正因为是这样，第二张卡是通过PCIe X1的延长线转接出来的，啊对，就是挖矿用的那种延长线，因为Cycles渲染只需要一次性加载数据，所以即使是PCIe 1.0 X1也影响不大，无非就是加载慢一点。但是，如果是多卡并行跑LLM就是另一个故事了，会涉及频繁的数据交换，这样子即使是显卡原来就砍废的PCIe 1.0 X4都会造成严重瓶颈，更何况转接板的PCIe 1.0 X1。虽然理论上跑起来的效果会非常难看，但是，实践是检验真理的唯一标准，不试试看怎么知道是什么情况呢？于是我打算尝试一下。部署Ollama这算是论文的 Approach 吗？（bushi 鉴定为搞学术搞的因为目前Pascal架构的N卡驱动还是支持的，但是今年10月就正式抛弃，所以，现在还是可以使用最新的Ollama，也算是赶上末班车了。如果后面Ollama也抛弃这些老架构，那就真的寄了，但是跑当下的模型，未来也是可以跑的，只不过有可能新的模型就跑不了了。Pascal架构的显卡最后支持应该是CUDA 12.9了。所以，直接打开Github下载最近版本的Ollama就行了，因为Ollama更新频繁，文章写作测试时用的是前不久的0.11.10版本，进行测试。如果你部署出现什么问题，建议切换到这篇文章使用的相同版本，也就是0.11.10。毕竟在0.11.11的What's Changed里面，增加了CUDA 13的支持，不知道会不会影响Pascal架构的最后CUDA 12.9版本，因为文章的重点不在这里，如果有需要请自行验证，也欢迎你在评论区说一下验证的结果。部署的方式也很简单，在Github的Releases找到对应版本的Ollama下载就行了，有点大，慢慢下就行。下完后解压即可使用：mkdir ollama mv ollama-linux-amd64.tgz ollama/ cd ollama/ tar -xzvf ollama-linux-amd64.tgz rm ollama-linux-amd64.tgz因为Ollama默认会把模型下载在用户文件夹的.ollama隐藏文件夹下，会占用大量空间。为了避免这种情况，我选择创建一个数据文件夹，并设置Ollama将模型文件放在那里。mkdir data然后指定创建的data文件夹为临时HOME目录后，启动Ollama。下面是启动脚本run.sh，请放在刚刚创建的ollama文件夹里面。export HOME=/home/rin/ollama/data/ ./bin/ollama serve/home/rin/ollama/data/请替换为你需要存放模型的实际路径。然后直接启动Ollama:./run.sh进入ollama/bin/目录，执行以下命令运行LLM：./ollama run qwen3:8b --verbose这里的实例用的qwen3:8b，可以根据实际需需要替换为目标模型。--verbose是设置显示 Ollama 每秒生成的 Token 数量。测试平台如图所示：以下测试均在Ollama 0.11.10进行。注意！数据为我本人实测结果，不同环境和提示词结果可能会有差异！单卡P104-100跑常见模型速度测试模型均使用最新模型进行测试，测试的提示词是：请帮我写一段2000字的小故事，讲述两只猫娘 Chocola 和 Vanilla 的日常生活。通义千问模型速度回答时 PCIe 最高交换速率qwen3:0.6b64.24 tokens/sRx:105MB/s Tx:85MB/sqwen3:1.…

使用 EasyTier 自建服务器组网
type: item
date: 2025-08-24T16:37:00+08:00
description: EasyTier自建服务器组网教程之前有使用过 ZeroTier 进行校园网内网环境下设备穿透组网，但是发现并不是那么好用，自建服务器效果也不太好，官方服务器慢的要死。偶然的机会，听朋友介绍了 EasyTier ，试了一下确实不错，写一篇博客记录一下折腾过程。官方文档算比较完善了，看看自己也能搭建成功，如果你只是单纯想要自建一个服务器并且配置电脑进行连接组建虚拟局域网，不使用其他的功能，那就可以参考这篇教程。下载 EasyTier直接在官方的文档界面就可以下载，而且提供了Github加速，非常贴心。直接wget梭哈：cd /opt/ wget https://ghfast.top/https://github.com/EasyTier/EasyTier/releases/download/v2.4.2/easytier-linux-x86_64-v2.4.2.zip unzip easytier-linux-x86_64-v2.4.2.zip rm easytier-linux-x86_64-v2.4.2.zip cd easytier-linux-x86_64/配置 EasyTier 启动参数注意，请在root权限下运行 EasyTier ，因为创建 TUN 设备需要root权限。服务端配置在服务器端，开放11010端口的TCP和UDP防火墙连接许可。然后启动服务端：./easytier-core --private-mode true --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -i 10.6.6.1参数解释：--private-mode：启用私有模式--network-name：网络名称（可以理解为客户端连接时的用户名）--network-secret：连接的密钥，建议使用uuidgen命令生成UUID作为密码。-i：服务端IP地址网段，这里指定了10.6.6.1，那服务器给连接的节点分配的就是10.6.6.2-10.6.6.255这个个IP段。至此，服务端已经配置完毕，是不是很简单？启动后服务端会打印toml格式配置文件文本，可以复制出来方便后面指定配置文件启动：NekoHost:/data/easytier-linux-x86_64# ./easytier-core --private-mode true --network-name nekopara-uk --network-secret 3bbca7ed-a114-4821-b61f-f3b214af97da -i 10.6.6.1 Starting easytier from cli with config: ############### TOML ############### ipv4 = "10.6.6.1" listeners = [ "tcp://0.0.0.0:11010", "udp://0.0.0.0:11010", "wg://0.0.0.0:11011", "ws://0.0.0.0:11011/", "wss://0.0.0.0:11012/", ] rpc_portal = "0.0.0.0:0" tcp_whitelist = [] udp_whitelist = [] [network_identity] network_name = "nekopara-uk" network_secret = "3bbca7ed-a114-4821-b61f-f3b214af97da" [flags] private_mode = true ----------------------------------- 2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: tcp://0.0.0.0:11010 2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: tcp://[::]:11010 2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener: udp://0.0.0.0:11010 2025-08-24 14:14:12: [82a75e04-d647-4538-a9a4-54edabe9f469] new listener added. listener:…

解决 Arch 系 Linux Ark 打开 zip 压缩包中文乱码问题
type: item
date: 2025-08-10T19:05:00+08:00
description: 解决 Manjaro 的 Ark 打开 zip 中文乱码这似乎是一个软件包的BUG，一直都没有修复，需要安装AUR的p7zip-natspec软件包代替7zip软件包才能解决。这个问题从我第一次使用Manjaro就有了，到现在都要这样子手动解决。出问题的样子Be Like:今天又让我碰到了，顺手解决了，写个小文章记录一下。下面是解决步骤：从 AUR 安装 p7zip-natspec确保安装了yay，以及确保电脑处于可访问国际互联网的环境，然后执行以下命令安装：yay -S p7zip-natspec到后面会提示p7zip-natspec与7zip冲突，要删除7zip才可以安装：正在加载软件包... 正在解析依赖关系... 正在查找软件包冲突... :: p7zip-natspec-17.05-2 与 7zip-24.09-3 有冲突 (p7zip)。删除 7zip 吗？ [y/N] y 软件包 (2) 7zip-24.09-3 [删除] p7zip-natspec-17.05-2 全部安装大小： 10.69 MiB 净更新大小： 4.50 MiB :: 进行安装吗？ [Y/n] (1/1) 正在检查密钥环里的密钥 [############################################] 100% (1/1) 正在检查软件包完整性 [############################################] 100% (1/1) 正在加载软件包文件 [############################################] 100% (1/1) 正在检查文件冲突 [############################################] 100% (2/2) 正在检查可用存储空间 [############################################] 100% :: 正在处理软件包的变化... (1/1) 正在删除 7zip [############################################] 100% (1/1) 正在安装 p7zip-natspec [############################################] 100% :: 正在运行事务后钩子函数... (1/1) Arming ConditionNeedsUpdate... 禁用 Ark 的 Libzip 插件依次点开 Ark 的菜单>设置>配置 Ark取消勾选 Libzip 插件：应用操作后，重新打开zip文件，中文不再乱码：