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

2019-03-02 作者:

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

初始状态:一台基于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控制器。接在哪,去看技术手册。

完整阅读本篇»

PVE 5.3网卡直通 | PCI NIC Passthrough

2019-01-18 作者:

The pic shown below is recently purchased “software router” from Taobao. This article is written to talk about PCI NIC (Ethernet) passthrough on the newly released Proxmox 5.3.

Configuration –

  • Intel 3205U 2C 1.5GHz
  • DDR3 4G RAM
  • LENOVO MSATA 256GB SSD

最近一直心痒想玩软路由,入了一台几乎是HTPC的“诡异”配置。说是软路由,带着wifi、音频输出和HDMI,说是HTPC吧,还有四块i211千兆。

本想玩esxi,但想到那玩意儿非开源,输码激活不说;Host机上还不方便跑其他脚本和自己想玩的服务,所以还是上熟悉的Proxmox,这货抛掉虚拟机就是个minimum installed Debian,Host和Guest都可以玩的尽兴。

先上直通后的样子 –

  • 黑线是#1网口,是PVE Host管理口,也是Guest机虚拟网卡桥接到外界的网口
  • 灰线是#2口,是虚拟机直通后走的物理网口。

完整阅读本篇»

让树莓派用上移动LTE | RaspberryPi Connect TD LTE

2016-02-18 作者:

很多人用树莓派接联通3G(WCDMA),这样的话,E261量很大很足

还有电信网络(CDMA2K),可以用EC122

可是移动3G/LTE,google找不到相关资料

其实huawei的USB adapter基本都复用了ID,所以基本上只要能买到华为的货,支持哪家的网都不是问题(甚至不需要升级usbmodeswitch版本,不需要自己build代码)

Fisherworks选了E3276s-861,为数不多的支持移动TD 2G/3G/4G/LTE的卡

注意不要随便选那种号称3网的usb卡,对移动的支持恐怕只限于2600MHz,1900不覆盖,到二三线地区估计够呛


 

树莓派wheezy/jessie系统,使用sudo apt-get install ppp usb-modeswitch来安装关键的usb-modeswitch,还有sakis3g/umtskeeper(这个就不写怎么装了,一搜一大把)

随便找一个接联通E261的教程就行,要改的有以下两点~

  1. 设备ID,E261被usbmodeswitch切换过ID后是12d1:1346,而E3276s-861切换后是12d1:1506
  2. CUSTOM_APN,联通是3gnet,移动是cmnet

然后就没有然后了,拨号接通享受网络

pic

 

完整阅读本篇»