Web 服务器架构

很久以前,web服务器就是Apache,或者LAMP这样的标准组合。 手头一个嵌入式项目也直接叫做 web server, 把HTTP + 网页 + 请求处理作为web服务的全部集成在一个程序上了。翻看了一些稍微有些规模的网站,发现现在的web 服务架构已经和我以往所了解的有了很大的不同。在这里正好梳理一下相关的内容,也算是补一下全栈的web sever 技术知识(full stack knowledge of web server)的一部分。 继续阅读“Web 服务器架构”

漫谈电动汽车和自动驾驶

首先要承认这个标题很唬人,其实来这里并不是要真的分析自动驾驶技术的未来发展之类我自己根本没有了解过得话题。只是从个人的角度,觉得这自动驾驶技术的发展对传统汽车制造产业会有一个非常大的改变。而汽车产业,在很多地方是一个非常能拉动GDP的业务,其经济拉动效应比很多一般的服装,食品,甚至电子组装制造都要高很多。

所以,在看到现代汽车这则电动车会造成70%岗位的流失的报道,才开始意识到,电动汽车,以及后续的自动驾驶技术的发展,对传统汽车行业而言是一个颠覆性的改变。而我们这些旁观者,正在目睹这场巨大变革的一步步到来。从这些传统车场的无视,彷徨,无奈, 焦虑,求变的处事方式,也可以想象接下来整个工业界其他领域洗牌的脚步是怎样的一个情景。

传统汽车到电动车

目前的汽车产业可以说真是走到了夕阳时刻,自从大众排放造假丑闻的爆发,更多的“大众”也慢慢意识到:传统的汽油车、柴油车已经走到了效率改进的边界。同样的排量,我们不会再看见效率跟高,马力更大的汽车出现了。这也是当特斯拉两秒多跑到100$km/h$的时候的轰鸣,也宣告了这个传统行业的幕布渐渐被拉上了。

不过,真正让电动车变得热火朝天的,还是直接的商业利益,特别是各国政府的大力补贴。国内这种情况更广为人知,大量不具备能力的车厂都开始挥汗如雨的建设电动车生产线。大量的城市额外还拿出补贴措施促进电动车的消费。比如在北京,如果你要买一辆汽油车,首先需要参加摇号以获得车牌。这个获奖的概率是多低呢?北京市,2018年总共计划新增小轿车3.8万辆,两个月抽一次,能获得购买汽油车的概率接近 1900 分之一。而如果去购买新能源汽车,则可以将购买新车的可能性提高到近 25% 。

让汽油车更难买,给新能源车以补贴,这样的剪刀差,让更多人开始认真的考虑第二辆汽车是否要买电动车,甚至第一辆……

即便是新电动车的序幕刚刚拉开,也可以看到对供应侧的拉动是非常明显的。首先,就是动力电池的连续快速增长。以锂电池为首的动力电池,从2010年开始,一直保持接近20%的增长速度飞速发展。如果按照工信部的计划停止销售汽油车,电动汽车行业可能会保持 40% 左右的年增长速度,跨越式替换汽油车。

电动汽车的构成

随着汽油车向电动汽车转移的开始,整个工业界的布局也有了很大的改变。

  • 汽油车的核心发动机,不再是核心,而且毫无利用价值。
  • 减速箱技术在新的电动汽车中利用价值很低。
  • 底盘技术会保留下来
  • 油路,水路,散热统统要推翻重来
  • 安全技术随着汽车结构的改变需要彻底的升级
  • 汽车控制软件无异无法完全适应电动汽车的需求
  • 驾驶和操作性
  • ……

汽车制造商原来最重要的三板斧,丢掉了两个,看上去就没有原来那么威风凛凛了。

不过新车厂的日子也不好过,汽车这么一弄,主要的成本构成就和以前的完全不同了。原来汽车厂价值和利润的源泉——发动机没有了,汽车的价值链变成了

  • 车体,小汽车,小客车以及大客车,成本会有很大的差距
  • 电池
  • 电源和动力系统
  • 传感器
  • 控制系统
  • ……

很多人知道电动汽车中电池在总成本中占比很高,很多车三分之一的成本都是电池。但绝大多数汽车厂都不是电池制造商,就是说电池在车厂中就是纯物料成本,没有带来额外的利润。顺便说一下,对个体消费者电池也不是不变的材料成本,这一部分是会减值或者较大的折旧,并且可能需要在几年后重新更换电池,所以还真是索价不菲的。

目前主流的汽车厂,在动力和电源管理上还是花费了不少力气的。个人感觉大家都觉得这一部分就像是传统汽车里面的发动机,所以很想在上面做出一些名堂,以获取一些额外的溢价。不过,很可惜的是电动汽车的动力和电源管理系统必须采用 IGBT 器件来设计。像是一辆特斯拉,使用了近一百个 IGBT 器件。宝马等没有使用这么多分立的元器件,不过也是要购买英飞凌为其特殊定制的模块。说白了,动力和电源系统中 IGBT 的供应商获得了主要的利润,也就是工业界所熟知的英飞凌,三菱和ON这些大厂。

传感器在现代的汽车中变得很微妙。一两百块的胎压监测就不要再提了,这里不是讲这些。视觉传感器和超视觉传感器开始慢慢的普及起来。而更多的新兴创业公司成为很多巨头抢购的香饽饽。激光雷达(Lidar ),高分辨率雷达,更多的摄像头占据了车身最突出的多有部位。一个激光雷达的价格,可以达到 $4,000 = 2万人民币左右。

控制系统听上去更像是汽车的大脑了,这个必须抓在手里啊。可惜的是上面说的大量复杂度极高的传感器需要极大的数据处理能力,而传统车厂和新兴车厂都是机械出生,所以高性能的控制系统只能有 IC 大厂来主导,也即是英伟达和英特尔,基本上没得挑。但是价格呢,但是 NVIDIA Drive PX 2 硬件的价格就是 $15,000 = 9万人民币。

汽车制造厂商的未来在那里呢?肯定不在堆砌这些材料上,即便是堆砌的越多不过就是给这些主要供应商打工,自己根本拿不到什么利润。

为什么自动驾驶这么重要?

如果单车的利润没法保证,车厂如何发展呢?只有一条路——增加销量,来一个薄利多销。

说这句话的时候,我应该脸红的,每天上下班被堵的结结实实的我,怎么会说未来汽车数量还要不停的增加呢?这里就引出来今天所说的主题,为什么自动驾驶这么重要?

自动驾驶能解决上面两个似乎矛盾的问题:

首先,自动驾驶将扩大购买汽车用户群体。很多现在没有能力开车的人,可以开车了。七八十岁的老人家出去遛弯,自己坐车就去了。孩子上学,自己就开车走了。这样一算,如果经济许可,一家人真的可能需要人手一车了。而对于送货等完全不载人的运输,更是得益于无人驾驶。货车的数量再也不限于司机的数量(现在的长途货车至少要配两个司机),甚至现在常见的拖挂车也没有存在的价值了,可以用两个自动驾驶货车替代。

再者,自动驾驶将大幅提高道路的使用效率。有过驾驶经验的人都知道,不良的驾驶习惯是造成城市拥堵的痼疾之一。基本上每个城市都有每个城市的驾驶习惯,初入此地的人往往被折磨的够呛。而自动驾驶,以及现在谈及的车联网,将全局自动优化道路使用的方式,让所有车按照优先级自动的分配道路使用权。连事故处理都变得异常简单,无需下车拍照,阻塞交通就可以快速解决。甚至,可以想象在不远的将来红绿灯和限速牌也是一种无用的设计了。据现在出租车调度算法的优化,我们就可以实现接近40%以上的效率提高,如果全面实现局部最优,或者区域最优的自动驾驶技术普及,道路的使用效率一定可以实现数倍的提高。

所以,提供配置自动驾驶技术的汽车给客户,不仅是单个车厂市场推广上的小把戏,也是宏观上推动所有车厂业务持续发展的核心动力。

自动驾驶会将汽车业带向何方呢?

个性化的软件汽车

就如前面所述,未来的电动汽车没法通过堆砌硬件挣钱,而且硬件材料成本在整车中的比例实在是太高了,而且车厂在关键的组件(电池,IGBT,传感器,控制单元)上没有太强的议价能力。如果要提高整车的利润,而又不增加太多的直接成本,就要在固定成本这些一次性投入上进行投资,对于一个拥有强大软件能力的电动汽车而言,至少两个可能的选项:

  • 特殊的汽车设计
  • 特别的软件功能

对于第一点,很容易就联想到了时尚产业。其实来在很久之前 Swatch (斯沃琪 )集团就开始考虑是否可以件给汽车变成一个时装化的产品,所以也才有了S.M-ART – Swatch Mercedes Art 这么一个产品。虽然五彩的SMART很多,和理想的时装化汽车产品还是有不少的差距的。

不过电动车和前面说的自动驾驶技术的搅局,让这种业务可能性再次浮现。汽车生产很可能变得异常的灵活,厂家在设计理念上的标新立异会让这个行业爆发出更多奇幻的可能性。真的可能会出现上班、晚宴、出游需要不同的衣服,也理所当然的需要不同的车来代步。

更多的车厂也会涌现出来,用自己标新立异的风格来占据细分市场。日渐庞杂、多变的产品会 不断的填补市场上任何可能缺失的缝隙。不再会有某个车占据半壁江山的可能性,分化的客户多样性最终会将厂家的蛋糕切的越来越细小……也许第一点对大厂来说就像是一个噩梦,不过新兴公司可能会很乐于听我讲述这样的科幻故事。

举一个例子说一下硬件和机械的突破——很多人觉得机械和硬件很难再汽车上有改变了,不过如果真的无人驾驶了,多个人共享一辆汽车是不是一件不是那么必要的事情了?如果多个人出行,每个人“开”自己的车一同出发,一起到达目的地不是很好嘛?如果大多数人都是一人一车的出行,汽车是不是还要像现在这样巨大?是不是需要行李箱(行李车可以自动随行)?是不是需要四个轮子? 两个车轮的汽车,也许人类无法驾驭,但是对自动驾驶来说平衡车已经是中国马路上最为普遍的技术了。而且,两个车轮的汽车,在高速行驶中也更有空气动力学上的优势。

而软件呢?一般规模效应在软件,特别是像汽车这么大规模的复杂的软件系统上,大公司天然就具备小公司难以企及的优势——有钱,有人,有经验。

即便是主流汽车厂拥有最多的自动驾驶相关的专利,拥有最佳的先发优势,可惜他们遇到的是科技界的新贵们:信息技术高科技公司,Google, Tesla, Intel, Nvidia, Uber, Baidu …… 他们同样是不缺人,也不缺钱,搞软件更有经验,而且胆子比传统车厂大的多。

如果将来的汽车行业如同前面第一点所说,是一个众多车厂进行竞争的市场,单单只是做好自己品牌汽车的自动驾驶技术,让自己汽车采用,是很难占据市场份额的,因为每个品牌的市场份额都是那么小,几乎无足轻重。只有劝说更多的汽车使用自己的软件和系统,才更能摊销开发成本,增加市场占有率,获得额外的服务等增值。

换句话说,这些车厂(奥迪,大众,梅赛德斯,宝马,通用,福特,丰田)和IT巨头(Google, Tesla, Intel, Nvidia, Uber, Baidu ……可能还有Apple)在一起竞争的,就是谁能建立跨车厂,以强大自动驾驶为核心的软件平台。

先不论这场战争的过程如何,结果倒是可以预想的。以后当你买车的时候,你要考虑以要把你和家人的身家性命交付给这个车的控制系统了,也就是关键时刻性能的分毫之差就可能决定你家人的生死存亡。请问,你会在几辆汽车中选择哪个?——安装了最值得信赖的自动驾驶平台的那辆汽车。即便是性能有一点点差异,谁又会把自己的性命押上去呢?进而,所有汽车制造商,也就只有一个选择:安装那个世界上最可靠,性能最优的软件平台。

这是一个比操作系统更加残酷的市场,也许只有第一,以及第二名能活下来。看着这长长的竞争者名单,可以想象多年之后,绝大多数都会折戟成沙成为历史。

HP MicroServer Gen8 光驱位启动操作系统

HP Gen8 除了标配的四个硬盘,在服务器的顶部,还有一个安装光驱的位置 ( 也成为ODD ),很多使用者都将这里改造后安装一个2.5寸的SSD硬盘作为系统盘。不过在各个论坛上,经常讨论如何将这个硬盘为系统启动盘。

为什么要用光驱位直接启动?

根本的问题出自 HP Gen8 这个电脑的设计,作为一台服务器,并没有向普通电脑一样可以设置任何一个硬盘都可以随意成为启动盘。如果采用AHCI模式( Serial ATA Advanced Host Controller Interface ),启动盘只能是SATA1或者TF存储卡。

Gen8只有四个标准的硬盘安装位,支持快速插拔。如果使用了第一个硬盘来做系统盘,首先会占用较多的空间放置系统程序和数据,同时这个硬盘损坏后更换,也就涉及到系统的重新安装和设置,对NAS的使用维护添加额外的麻烦。另外,如果采用软件或者硬件方式RAID来进行冗余存储数据,更需要四个数据盘只存放数据,而非操作系统。

目前,从光驱位(ODD)的硬盘启动操作系统,目前市面上还流传有一种方法:将grub安装到一个TF (MICRO SD)存储卡作为启动盘,在启动后通过它跳转到SATA5对应的盘符上。不过这个方法需要很多命令行的操作,如果驱动器号没有配置正确或者操作系统相关的配置有误,就会无法启动。并不是一种老少皆宜的简单办法。另外,为了启动一个几十个G的操作系统盘,还要买一个TF卡,实在是像是花冤枉钱。

还有一种硬件修改的办法,就是将 SATA1 和 SATA5 的接线换一下,深水宝上可能有现成品简化一些接线的工作。不过这方法还是比较适合动手能力强的人。而且 SATA1 是 6GB/s 的接口,用在操作系统上有点可惜了。

如果Gen8能和一般电脑一样灵活的设置,就不会出现这样一个问题。不过,HP 服务器其实来还是预留了一个变通的方法, 不用以上各种折腾就能无痛的实现光驱位第五个SATA的启动。

操作步骤

1. 只留下系统盘

拆除所有其他硬盘,只留下光驱位的系统盘。

这时候这个磁盘可以是空白,没有安装操作系统的。如果没有安装操作系统,先从第一步走到第四步,然后用 iLO 安装操作系统,验证一切都没有问题了,在修改启动盘的优先级。

2. 打开 iLO 窗口

所有的操作都是在iLO下进行的,所以需要确定iLO的网线口联好了网络,并让一台电脑访问这个地址 https://192.168.1.xxx,使用管理员账号 administrator登录。打开 Remote Console 访问Gen8服务器,并启动服务器。

在启动过程中,看见进度条和按下F9进入Setup菜单的时候,按下F9进入设置界面。

3. 使能B120i 控制器

按下F9进入BIOS后,按照如下的菜单来设置使能B120i磁盘阵列控制器。

System Options 
  >> SATA Controller Options 
    >> Embedded SATA Configuration
      >> Enable HP Dynamic Smart Array B120i Controller

重启服务器,好了,我们就可以进入最为重要的一步。

4. 建立阵列服务

接下来的操作,我们将安装在光驱位的SSD盘建立了一个虚拟的 RAID 0 卷,也就是 Local – logical Drive 1。如果之前已经建立过RAID卷,请删除,务必保证只有一个RAID 0 卷,而且这个卷只有我们这个在光驱位的系统盘。

再次启动,继续启动进度条的界面中按下F9进入 Perform Maintenance 界面。选择进入 HP Smart Storage Administrator (SSA) 智能存储管理的界面。

在左侧的 Configura 菜单中选择 Dynamic Smart Array B120i RAID 项,并选择 Set Bootable Logical Drive/Volume 来建立可以启动的逻辑驱动/卷。在出现的磁盘列表中选择第一个 Local – logical Drive 1 作为 Primary Boot Logical Drive/Volume 主启动逻辑盘/卷。然后OK保存。

退出当前页面,重启服务器。接下来,我们就可以用这个虚拟的设置为启动盘。

5. 设置启动盘

再次启动,继续启动进度条的界面中按下F9进入 BIOS 设置。

选择Standard Boot Order (IPL) 菜单,在回车后,通过调整启动盘的顺序,将 IPL:1 设置为第一启动优先级。

退出BIOS,并按F10保存设置,重启服务器,这时候服务器应该可以直接从第五个硬盘的接口启动操作系统了。

升级2012年版MacPro Book

目前的苹果产品可以说是绝对封闭的体系了,基本上没有人会打开外壳进行一些内部硬件的升级改造,而且基本上也没有了这样的可能。可以说2012年版的MacBook Pro是最后一个可以用户升级硬件的苹果产品了。

正好本人手头的这台苹果电脑就是这样一个产品。平时如果只是做一些基本都操作,也就凑合了,随着iPhone容量的不断增大,同步几次照片后,就开始发现机器慢的不得了,硬盘空间完全没法满足人民群众照片数量日益增长的需求了。 但是,到底是苹果的产品,其做工和用户体验一直还是保持水准的,内置的i5处理器处理器算力倒一直都不是瓶颈,可以考虑升级一下其他的部分。

关于这个电脑的技术数据可以参考苹果官网。其中可以方便升级的部分主要是存储部分,2012版的MacBook均采用了标准的PC配件,而且操作系统上没有加任何锁定,非常人性。

继续阅读“升级2012年版MacPro Book”