树莓派HDMI强制输出

2019-06-19 作者:

因为前几天用Raspbian自带安装VLC播放1080p MP4严重卡顿,调研了一下;发现默认安装VLC是不带硬件解码的,也即没有发挥BCM2XXX ARM的GPU硬解码能力。
那么最简洁的解决方案是什么:命令行下omxplayer加上GUI外壳TBOplayer,试了一下果然很流畅而且占用cpu个位数,解H264编码的MP4和MKV文件都很流畅(且测试用的是pi2而非pi3)。

但这里边还有个小问题,树莓派如果上电时不接HDMI,物理口上是没输出的;这是个普遍问题,相信对于一个嵌入式设备,很多人都有类似需求(比如关屏不关盒),那么何解呢?

sudo vi /boot/config.txt

完整阅读本篇»

吾の中土 | My Middle Earth

2019-05-16 作者:

Well, since everyone on this planet knows about LoTR (Lord of The Ring), it’s not necessary to provide any intro of the Middle Earth. And the following is mine…

  • Gondor – A customized openwrt (by iKuai), as major router, w/ DHCP enabled.
  • Mordor – Another customized openwrt (by Koolshare), as bypass (not 2nd level) router, w/o DHCP.
  • Shire – A Proxmox VE host which serves KVM guests that run the both above, deployed on a ShenZhen-made SBC with Intel Core i5-7300U and 8GB RAM.
  • Rohan – A Netgear EX6200 AP connected on LAN of Gondor through a semi-pro 52-ports switch.

我的中土,刚铎-主路由,魔多-备用路由,夏尔-软路由物理机(PVE提供前两套小鸡服务,带vt-d网卡直通),洛汗-无线AP,一期全面建设完成,验收通过。

完整阅读本篇»

基于Proxmox 5.3的HA集群搭建试验

2019-04-05 作者:

Proxmox VE 5.3 based HA cluster setup experiment has been done on very basic hardware.

  • Intel Core i5-7400 4C4T
  • DDR4 24GB (1 x 8GB, 1 x 16GB)
  • SSD 960GB with ZFS RAID0 (2 x Sandisk SSD PLUS 480GB)

Special thanks to the best “nanny-level” tutorial (links listed below) by Mr. Weibing YU.

感谢提供保姆级教程的余伟兵先生,原始文章来源于其在51CTO及微信公众号的分享。

 

先来一个完成图,测起来一个字,爽!

完整阅读本篇»

美好莫过始终 | Accountability

2019-03-30 作者:

辉煌无非转瞬,美好莫过始终。

最近不少人谈论热门家庭剧集,剧情如何纠结而拖沓,到临了却秒变团圆;殊不知如若结局破碎,发人深省,又如何带起最后一波街巷辣评,让一众大妈摩拳擦掌声称要改写终章呢?

纵观荧幕,大多非小众故事,结尾常见三种:

  • happy ending合家欢,常见于家庭剧。如离婚律师、乡村爱情、唐顿庄园等。
  • 悲剧,常见于所谓史诗剧以及各种大制作,虽悲但一定要孕育希望。如角斗士、勇敢的心等。
  • 悬念留存。常见于科幻、魔幻大作。如各种alien以及witch/vampire类故事。

略跑题,话说The Walking Dead Game系列终于宣告完结。众多评论说,本以为Clem铁定走了Lee的老路而说服自己准备接受type II ending,奈何终结篇主角光环加成,一句“what you doing there, goofball?” 让吃瓜群众瞬间泪崩。

无喜无悲,心如止水,我看的多少有点跳戏;甚至完结后反而有种如释重负的感觉——毕竟4个season花了7年,一辈子有几个7年呢?其实年前在听到Telltale破产而震惊之余,我依稀觉得或许就那样结束(停在S4E2)并不算糟。

而如今的happy ending,窃以为happy不在剧情。2012年Telltale黄袍加身无非过眼烟云,“眼见他起高楼,眼见他宴宾客,眼见他楼塌了”,正所谓故事总是惊人的相似。在7年之后,Skybound接手后还能给老玩家一个体面的完结,仅此一点,称得上美好。至于剧情中Clem为啥截个肢就继续微笑,Lee就得吃花生米,作为一个工作中靠逻辑吃饭的人,欣赏个剧情并不想纠结。

转一个评论 “I thought this day would never come. Goodbye telltale games. Maybe someday, you’ll return. ” –by Logan Malough

完整阅读本篇»

论VT-d对虚拟化NAS之价值

2019-03-02 作者:

Here the post is to talk about how to build a vm-based homelab NAS file server to make the entire unit (host and vm guest) working perfectly well, with both low power consumption, and highly flexible features like timer power on/off, completely spin down HDDs (as data warehouse) with a “power-off” vm – while the host is running well in 7×24. And the key to all of those, is Intel VT-d (feature of x64 processor), with an extra SATA controller attached on the motherboard.

Then btw, clear thinking, after 10 years working experience, should be considered as one of the most valued personalities of a professional.

硬件:产自圣地华强北,3205U,4 Intel i211,HDMI,4 USB,3.5mm音频,1 9pin COM

初始状态:一台基于KVM虚拟化的NAS(文件服务器),Host系统是Proxmox VE 5.3。

  • 当大部分教程选择esxi 5.x时,博主经仔细选择玩了PVE,原因1母鸡是标准debian本身可以做很多事(比如crontab,比如nfs server,比如gitlab等),2基于kvm稳定且不缺文档,3开源,4玩转了可以在工作中使用,毕竟是远近驰名的专业私有云solution。
  • 小鸡操作系统是DSM6,参考别的资料,应该是基于BSD的定制魔改版本。
  • 虚拟机(小鸡)分配2核1.5G内存作为计算资源。
  • 硬盘共3块。
    • sata1,引导盘,尺寸50M,用于引导无系统的DSM6进入可以安装系统的状态。虚拟盘,位于母鸡Intel SATA控制器下的mSATA SSD上的一个qcow2文件。
    • sata0,系统盘,尺寸20G,用于安装DSM6系统。同样虚拟盘,位于母鸡Intel SATA控制器下的mSATA SSD上的一个qcow2文件。
    • sata2,数据盘,尺寸2.0T,从基于PVE(Proxmox VE)的母鸡“伪·直通”到小鸡的物理磁盘。
  • 网卡是从PVE母鸡“真·直通”到小鸡的物理网卡,Intel i211千兆网。

 

存在问题:一台既无性能,也不可靠的文件服务器。

  • 所谓无性能,就得搞明白“真·直通”和“伪·直通”的区别,这里有关于Intel VT-x和VT-d的简介
    • 对于已经通过VT-d做了直通的i211网卡,其DMA和Interrupt都会remapping到虚拟机去,不再累及母鸡的cpu和内存来做传声筒;换句话说,几乎等价把母鸡的物理外设直连到了小鸡。小鸡关机,可以直接关掉物理网卡,这一点是最好佐证。
    • 而对于通过PVE命令“qm set –sata2”接到小鸡的磁盘,无非是把母鸡身上这个整体存储区间(整个硬盘),映射到小鸡虚拟的sata2通道(看起来还是整个硬盘)。也就是说,所有从小鸡对这块磁盘的读写,事无巨细都得母鸡全部过一遍,中断响应和IO性能差异高下立现。
  • 所谓不可靠,此处指两点细节问题。
    • 首先,对“伪·直通”的硬盘。我们到小鸡身体里面看(下图右),虚拟出来的QEMU SATA硬盘,其身份信息以及可支持的健康功能统统不见;与同一块硬盘在母鸡身上所得的详细数据相比(下图左),堪称凄惨。这就造成DSM6系统对磁盘健康程度(SMART)是一无所知的。
    • 然后,单数据盘,无RAID,对文件服务器而言……尤其对于一台连磁盘的SMART状态都看不到的服务器,屋漏偏逢连夜雨,绝了。

 

解决思路:把SATA控制器“真·直通”到小鸡。

  • ↑这是tm不可行的,常见家用计算机,包括我手里这台软路由,只有一个SATA控制器。意即给母鸡的系统盘,和给小鸡的数据盘,挂在同一个SATA控制器下,一根绳上蚂蚱,要走都走,要留都留。
  • 既然如此,那么外接一个SATA控制器。接在哪,去看技术手册。

完整阅读本篇»

基于阿里云API实现简单DDNS

2019-02-28 作者:

This is a post talking about using Aliyun Domain Control API (and python sdk as well) to script a simple, self-own ddns service, with only one assumption – a public ip over WAN port of your router.

 

原始状态

光猫 <—> R7000主路由 <—> 需要出门的母鸡+小鸡们

 

设计思路

  • 办法1:破解光猫,将光猫与R7000桥接。
    • 优势:内网只有一层,简洁明了。
    • 劣势:打N通电话,下N多工具,还要将独立IPTV信道映射或proxy到R7000的某个LAN口。
  • 办法2:硬件不做任何变动,添加两层映射。
    • 优势:实施安全性高。
    • 劣势:理论上,走ddns经双层转发,传输性能受影响。
  • 总结:人老色衰,首选安全方案。

 

网络拓扑

【更新】代码已推至github,欢迎加星。

完整阅读本篇»