菜菜博士

博士在网络的家

买不到好笔记本

笔记本市场市场竞争非常激烈,从业者都说本子难卖。然而我准备更新我用了4年的老本子的时候,却发现无本可买。 为啥我要买一个新本子呢?因为不够用了。现有的笔记本内存只有16G, 想想现在的软件个个都是吃内存大户,干活编译代码的时候只能把浏览器关了。 有时候关浏览器还不够, 还得把运维工具也关了才能腾出内存。不然编译器就内存不足崩了。敲着代码还得上爆栈的时候,敲着代码还得 ssh 到服务器上调试...

1840 年来百年的屈辱换来的教训

1840 年鸦片战争爆发, 到1949年, 中国开始了超过一百年的屈辱. 要说这一百多年的屈辱让这个民族学会了什么的, 那就是一定要工业化. 只有工业化, 才能救中国. 为什么说只有共产党,才能救中国, 因为纵观1912年到1927年, 中国学习了西方的政治制度, 成立了几百个大大小小的政党, 但是没有救到中国. 归根结底的原因是, 这些政党不是工业党. 不是西方化, 就能救中国, 而是只...

Mirror Efi Boot Partition

镜像 EFI boot 分区。 最近给电脑配了2个 nvme SSD 做 ZFS mirror . 每个盘都分了 2个分区, 一个 EFI system 分区, 一个 ZFS 分区。两个 ZFS 分区放到一个 zfs pool 里做镜像。但是 两个 EFI 分区。。。。怎么 mirror 呢? 首先尝试了 raid1, 发现 raid1 在盘上建的话, 会破坏 ZFS。如果用分区建 r...

3950X 再次拯救 Gentoo

多年前, 我抛弃了 AMD, 从 athlon 64 x2 升级到了 Sandy Bridge 的 Xeon E3-1230. 初代 E3 神U. 写了一篇文章, 说 i7 拯救了 Gentoo . 虽然 E3 从名字上来说不是 i7 就是了, 不过后来我把 1230 升级到了 i7-4790. 但是, 我从 E3 到 4790 的升级, 其实完全没有感觉到性能进步. 只是心理多了点安...

升级到4盘 raidz

上次折腾NAS, 使用了2个8T的盘建的 raid1. 速度不太满意. raid0 当然怕挂一个盘数据就没了, 索性就再买2个8T的, 组建4盘位raid5. 这阵列升级啊, 一般的做法是, 先建 raid5 新阵列, 然后把数据拷贝过去, 然后… 等等, 2个盘建什么 raid5. 那先把 raid1 取消镜像吧. 那也只有3个盘啊! 三个盘是能 raid5 问题是拷贝完了多一个盘, ...

sfp 形态 gpon 光猫失败

路由器上有一个 sfp 口, 有 sfp 模块形式的 gpon 光猫, 如果能用的话, 机柜里就少一个设备, 还少占用一个插座…少接条网线….. 最近听网友说 TW2362H 这个猫便宜, sfp 模块的. 于是买了一个, 插入路由器. 过了一会启动完毕后就识别出来了. 配置下路由器的网口 ip 地址, 然后 192.168.1.1 果然能进猫的页面. 然而, 这简陋的界面犯愁了. ...

准备上 3950x

听闻秒天秒低秒 i9 的 3950x 要在9月份发售了, 陪伴我多年的 i7-4790 终于可以退役了. 本来是打算9月进行退役的, 但是亲戚家有孩子今年开学需要用电脑了, 于是我就把电脑送给她了. 这样, 在9 月份到来前, 我就需要准备好一台备用电脑, 一台能随时升级到 3950x 的电脑. 主板呢, 肯定是选 X570 芯片组的, 这样日后只需要换 cpu 即可. 选主板花了不少精力...

NAS 换 Gentoo

freenas 使用了一阵子,发现了几个严重的问题 软件严重缺乏 插件需要使用 jails 而 jails 的网络居然不能使用宿主网络必须桥接 桥接导致 mlx 驱动禁用网卡 tcp offload engine 不支持 RDMA,atom cpu 性能弱,无法跑满万兆带宽。 实际上很少使用 web 管理界面,多数情况下还是 ssh 上去直接敲命令 性能差 要...

根分区 ZFS 化

自从用 freenas 接触到了 ZFS, 我就爱上了 ZFS , 变得愈发不可收拾. 50买了2个 320G 的二手盘放公司玩 raidz. 只是拿 zfs 挂数据的话, 只要编译好 zfs 内核模块和 zfs 命令行工具即可. 但是,如果要 zfs 当 root 文件系统的话, 则免不了一番折腾. 为啥呢? 因为 zfs 不同于 legacy 文件系统, 他是集卷管理于一身的.

无盘PC

自从上了万兆,把PC上的硬盘拆到nas上,让PC变成无盘的计划就开始执行了。真正的无盘需要 PXE,然而,同时也意味着现有的 NVMe SSD 成了摆设,因为上文提到的,我的 nas 因为主板关系, pcie 通道不足,无法插 M.2 了。所以现有的 ssd 还是继续在主板上服役。M2 只是一个非常小的接口, ssd 插上主板后和主板融为一体了,所以,姑且就算是主板自带的存储好了,如果只有 ...

NAS 的 pcie 短缺问题

万兆网卡到货后,迫不及待的插上主板开机。 当时就注意到了一个问题,怎么有一个 SATA 控制器变成了 2port controller 了。也就是说只有6个 sata 口了。 然后和 pc 开始 iperf 测速。发现速度居然只有刚刚超过 2Gbps!!! 什么鬼? 然后把 pc 上的那个卡换了个插槽,换到 pcie x16 的显卡插槽上了。原来是我这个卡放到了最后一个 pcie 2....

10Gbps 家庭云存储

在万兆内网达成后, 终于到了最重要的环节了,就是搭建一台支持万兆网络访问的 NAS。 首先问自己一个最重要的问题:我家里有矿吗? 显然,没有,所以,一切都要以够用为目标,而不追求高大上。 所以,显然这次万兆够用为主,量力而行。 第一个选择就是主板。主板我花了超过一周的时间去寻找,对比各种方案。 当时的方案有3个: 方案1:集成 Atom C3558 的主板。有ASRock和超微两...

多WAN平衡

曾经我也搞了两条宽带,见 使用邻居的CMCC网络 。 然后利用路由器的loadbalance就可以使用多条线路了。 但是,问题恰恰在这里。效果并不好。因为2条宽带并不是一样容量的,对同一目标的访问速度也不尽相同。所以退而求次,选择了只把某些 cmcc 访问速度更快的目标通过 邻居网络出去。 虽然我换了一个城市,然后选择了CMCC,也没有破解邻居的电信宽带wifi密码。但是多年前的失败经历还...

内网万兆达成

千兆用几年了? 从我拥有的第一台电脑起,主板自带以太网口就是千兆的。十几年过去了,主板自带网口依旧千兆。 千兆网和 1366x768 一样,都是业界毒瘤,停滞在一个“够用” 的幻想里止步不前。 为了打破这个幻想,我最终决定,将家里的内网升级为 10G 光以太网。 为啥用光纤呢? 主要是我的 PC 所在的位置,距离 86网络端口面板有数米的距离,中间如果使用网线会非常的碍事。 所以我买...

入DN42坑

近来把 家和公司三处地方的网络(2个家,乡下老家嘛)通过 tunnel 手段连接到了一起, 三个地方的 LAN 分配不同的私网网段,因此配置好路由表后,三处内网的机器就可以互相访问了。 最初我使用的是添加静态路由,但是因为 vpn 是使用的点对点互联,而不是首先集中连到一个转发服务器上,所以需要配置路由表的路由器数量达到了4台,比较麻烦,关键是期间我还修改过私网使用的网段,结果每台路由器都...

拿到了移动宽带的公网IP

闻觉 CMCC 手握 HKIX 宝剑, 想必连 HK 节点的 VPN 访问世界一定更快。世界的一部分一般在 HK 本地也有 CDN 节点,因此多数时候并不需要再从 HK 去世界绕一圈。于是买新房后,就办理了免费的CMCC宽带。不再向恶势力CT低头了。 美中不足的是 CMCC 手头 ip 资源紧张,早早部署了 CGNAT,再经过猫一层 NAT,路由器又一层 NAT,访问个局域网都要3层NAT...

折腾 NAT64 实现 ipv6 only 内网

一直以来,虽然启用了 ipv6, 但是都是以 Dual Stack 模式运行。 你不知道,是服务器端不支持 ipv6 呢,还是客户端不支持,亦或二者皆有之。 而且Dual Stack虽然解决了互联问题,但是看起来非常的丑陋,多个协议一起跑什么的,才不要呢! 于是就有了搞 IPv6 Only 的想法。为了解决互联问题,还需要一台翻译的设备执行 NAT64。 所谓 NAT64 就是让一台网...

IPv6 这几天的体验

如果只是家里折腾上了 ipv6 那不算 ipv6。网络这种东西一定要互联互通才算。最近把公司的猫也折腾了一下下,上了 ipv6。 于是发现,在公司可以无缝访问家里的设备了。全部都在公网,无需端口映射之类的东西了。当然,家里也没有公网ipv4地址,映射了也白搭。 有了 ipv6 后,发现所有的机器都突然没有了 NAT 墙。那一道无形中把整个世界割裂的墙消失了,只要知道 ip 地址,所有的设...

中国移动原生IPv6配置

上峰拍了桌子, 要求 2018 年底之前商用 ipv6. 移动响应非常积极,已经可以用了. ipv6 带来的第一个好处就是削除了NAT, 对万恶的私网ip地址说再见! 在继续之前,首先讲下,ipv6 同 ipv4 在配置上的不同。 对于家庭宽带,ipv4 是 pppoe 拨号的时候自动配置的。isp 给且仅给一个 ipv4 地址。 如果有多台设备需要上网,就需要使用一种叫 NAT 的技术...

高并发服务器的静态内存分配策略

asio 的 async_accept 函数在高并发的时候,会发生遗漏 accept 的情况。根本原因在于,async_accept 回调的时候,已经 监听的socket已经没有执行 accept 操作了。 解决的办法就是投递多个 async_accept. asio 的 async_* 系列 函数通常只能投递一次,多次投递会发生未定义行为。async_accept 是为数不多的例外。 通...