VMware vSphere 6.0 虚拟机运维常见问题排除
戳蓝字“CSDN云计算”关注我们哦!
技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!
当您将VMware vSphere 6.0虚拟化平台架构中的vCenter、ESXi主机、Data Center、群集完成初期安装之后,接下来您必须开始学习如何做好虚拟机(Virtual Machine)的基础管理,包括了创建虚拟机的各种技巧、将各类现有运行中的系统迁移至vSphere 6.0虚拟化平台中的方法(P2V、V2V)、远程操控虚拟机客户端操作系统的秘诀等等,如此才能真正有里到外彻底掌控虚拟化平台的运维。
简介
如今企业 IT导入虚拟化平台解决方案的频繁程度,就好像15年前许多公司陆续不断导入信息协作平台一样,这股趋势可远比将信息系统部署至公有云服务上还要来得夯,因为它可是直接关系到IT整体持有成本的降低,以及建构私有云的核心基础。由于它是如此重要,因此相信许多系统集成厂商(SI)的IT顾问,都和笔者一样经常遇到企业IT部门主管,询问如何为现行的信息环境与需求,来选择最适合的虚拟化平台解决方案,而我给的答案几乎永远是若IT编列的预算足够的话,建议您不妨直接选择VMware vSphere,因为它可不只是强在其先天的稳定性、高可靠度、高性能、高延展性以及高可用性而已。
相较于其它品牌的虚拟化平台解决方案,VMware vSphere 6.0在各类IT管理工具的提供上,无论是VMware原厂所内置还是由第三方厂商所提供的,在资源的广泛度上也皆远远超越各家竞争对手许多,这包括了本地控制台工具、远程管理工具、自动化操作命令管理工具、备份复原工具、备援复写工具、虚拟化迁移工具、系统集中监测工具以及行动运维App等等,这一些都展现了它在私有云基础建设管理方案上的完善设计。以上这一些工具集合的交互运用,对于各类部署级别的vSphere 6.0环境来说,在7x24的运维工作是极为重要的一个环节。
然而在vSphere 6.0诸多的付费授权的版本之中,无论您选择的是Essentials Plus Kit、Standard、Enterprise还是Enterprise Plus,尽管不同版本所支持的功能程度有些差异,但其基础的管理技巧却都是一样的,因此皆下来笔者特地将一些在vSphere 6.0虚拟化平台中最常用的管理技巧,以及初学者最常遭遇的疑难杂症,采用一问一答的描述方式来和读者们分享。
如何管理数据存放区文件?
在VMware vSphere 6.x的群集架构中,我们可以大致将数据存放区分为ESXi本地(例如:SATA、SAS、SSD)、网络(例如:iSCSI、Fiber SAN、NFS)、Virtual SAN(VSAN)、Virtual Volumes(VVOLs)。无论是哪一类型的数据存放区,只要在完成连接与创建之后,都可以在[相关对象] \[数据存放区]页面中来管理它们。
不过不同的存储区规划,皆有着它不同的使用需要,例如我们会将一些需要高性能与高可用性运行的虚拟机文件,选择置放在共享的高速数据存放区之中(例如:Fiber SAN、VSAN),而将一般仅需要高可用性但无需高性能的虚拟机文件,选择置放在像是iSCSI或NFS的存储区之中,因为这一类的存储区通常只需要平价的NAS设备就可以完成集成使用。
此外数据存放区的使用并非只是用来存储虚拟机的相关文件(例如:设置、虚拟硬盘、快照备份),而是包括了备份、模板以及共享的映象等等。不同的文件类型与用途除了必须选择适当的存放区之外,还必须经常性的做好基础管理,像是多余文件的清理、分类、移动以及复制等等,如此才能够获得最佳的存储效率。请对于任一数据存放区点击[文件浏览器]图标继续。
进入到数据存放区的文件浏览器页面之后,便可以开始创建各个分类目录,例如您打算将所有的映象都置放在ISO活页夹之中,以便让数据中心内的所有ESXi主机,都可以随时通过相关ISO档的加载设置,来安装新的虚拟机客户端操作系统(Guest OS)。上传文件至活页夹的方法很简单,只要点击右上方中的上传文件图标即可。
至于不同活页夹或不同数据存放区之间的文件复制、移动、更名以及删除,皆同样只要通过右上方相对图标的点击即可。在进行文件移动的设置页面中,您可以进一步从页面左下方的选项,来决定是否要覆写目的地的相同名称之文件或活页夹。文件移动功能的使用有助于解决当前存储空间不足的问题。
如何创建虚拟机模板?
想要在短时间内完成大量虚拟机的创建以及客户端操作系统(Guest OS)的安装,除了需要有高速稳定的网络之外,最重要的就是数据存放区的读写速度,例如您可能会选择使用企业级的SSD,藉由它快闪内存与控制器的强化设计,来兼顾高速、安全以及低耗电的需要。但是这样仍是不够的,因为这只是在硬件的架构上进行改善而已,如想要改善管理上的效率,则必须懂得善用虚拟机模板(Template)功能。此功能在许多它牌的虚拟化平台中虽然也都有提供,但VMware vSphere所提供的仍是目前最完整与最易于使用的。
您只要将目前刚安装好客户端操作系统的虚拟机,在主机或群集节点的[相关对象]\[虚拟机]页面中,便可以从右键的选单之中,来决定是要从[复制]子选单中来执行[复制到模板],还是执行位在[模板]子选单中的[转换成模板]。前者可保留现有的虚拟机,后者则是仅保留转换后的虚拟机模板。
在此以执行[复制到模板]的功能为例,首先必须先设置好新虚拟机模板的名称与在数据中心的所在位置。接着在[选取运算资源]页面中,则必须挑选负责运行此虚拟机模板的群集或是主机。当我们选取之后无论目标为何,系统皆会立即检测出它的兼容性状态。
以这个范例而言,由于我们所选取的是群集节点,因此会显示出旗下每一部主机的兼容性状态。在此可以发现第一部主机与虚拟机的版本是不兼容的,因此肯定是无法选择安置在此。至于其它两部主机则仅是出现无法访问CD/DVD虚拟设备中的媒体,因此我们只要先去修改这两部虚拟机的CD/DVD设备设置,取消对于ISO映象的加载设置即可解决。
在出现了兼容性检查成功的信息之后,便可以进一步完成存储区的选择。此存储区的选择除了需要考虑剩余空间的使用状态之外,建议您将每一份所要创建的虚拟机模板,皆存放在一般硬盘所组成的存储区即可,保留更多高速的存储区空间,让企业中一些关键的虚拟机运行来使用。完成虚拟机的复制或转换成模板之后,便可以在数据中心的[相关对象]\[活页夹中的虚拟机模板]页面中,针对刚刚所创建好的虚拟机模板,按下鼠标右键就可以选择[从这个模板添加虚拟机]。
接着便可以从 [从模板部署]向导设置中,来选定新虚拟机的名称、所在位置与运算资源、所在存储区。在[选取复制选项]页面中,则可以决定是否要自定义操作系统、自定义此虚拟机的硬件以及在创建之后是否要立即开启虚拟机电源。如果想要维持模板中的一切配置,则可以完全不用勾选任何选项,直接点击[下一步]来完成创建即可。
在前面步骤之中若您有勾选[自定义此虚拟机的硬件]选项,便会进一步开启如 [自定义硬件]页面,您可以调整默认模板使用的CPU、内存、硬盘、网络界面卡、CD/DVD光驱等设置,以便创建一个符合该虚拟机应用系统所需要的资源分配。
通过虚拟机模板所创建的虚拟机,虽然可以方便快速部署大量的虚拟机,但是若大量创建的虚拟机是Windows的客户端操作系统,在相同网络的Active Directory中将会有计算机安全标识符(SID)冲突的问题,这时候就得仰赖Windows所提供的Sysprep工具程序来重置这个标识符。此工具程序的执行,对于Windows Vista、Windows 7、Windows 8/8.1以及Windows Server 2008/R2、Windows Server 2012/R2的客户端操作系统而言,是不需要特别安装Sysprep工具程序。
相反的如果是更旧版的Windows操作系统,像是Windows XP、Windows Server 2003等等,就得特别去将Sysprep相关工具程序,预先复制到以下vCenter的默认相关径之中。最后在执行从模板部署新虚拟机时,便可以在[选取复制选项]页面中勾选[自定义操作系统],然后完成新计算机名称、管理员帐密以及时区等设置即可。
旧版vCenter:C:\ProgramData\VMware\VMware VirtualCenter\sysprep
新版vCenter:C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\sysprep或C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Sysprep\
官方知识库参考:http://kb.vmware.com/kb/1005593
小提示:若想要得知网络中某一台Windows操作系统的SID信息,只要到以下Technet网址下载一支名为PsGetSid命令工具,执行后即可轻易获得。
Windows Sysinternals - PsGetSid命令工具下载:
https://technet.microsoft.com/en-us/sysinternals/bb897417
如何正确安装vCenter Converter Standalone 6.x ?
由VMware官方所免费提供的Converter Standalone工具,是一个集中式的虚拟化转换管理界面,除了可以将自家的其他平台上的虚拟机进行迁移之外(例如:Workstation、Fusion、Player),它主要可以协助企业IT轻易完成各类物理主机系统(Windows、Linux)、其它虚拟化平台(例如:Hyper-v)以及各类支持的映像档格式(例如:Acronis),转换至VMware vSphere虚拟化平台运作架构之中,也就是所谓的P2V以及V2V。过程之中来源主机与系统无须停机或重新启动,整个转换操作是采用在线复制技术(Hot cloning)来完成。以下是Converter Standalone 6.x所提供的最新功能:
l 支持最新的Virtual Machine Hardware 11以上版本
l 完全支持vSphere 6.0与Workstation 11以上版本
l 额外加入最新支持的客端操作系统(Guest OS)有Red Hat Enterprise Linux 7、Ubuntu 14、CentOS 6至7版、Windows Server 2012 R2、Windows 8.1。
l 支持在完全纯IPv6的网络环境中,以及需Proxy网络连接的架构中运行。
l 对于ReFS文件系统的磁盘组支持文件级别的复制
l 支持XFS文件系统以及可预测的网络界面名称
至于您可以将Converter Standalone 6.x转换工具安装在哪一些操作系统之中呢?答案是Client类别的有Windows Vista SP2、Windows 7、Windows 8/8.1、Windows 10。服务器类别则有Windows Server 2003 R2 SP2、Windows Server 2008 SP2/R2、Windows Server 2012/R2、Windows Server 2016。
当Converter Standalone 6.0安装程序侦测到有旧版的程序存在于系统时,将会出现如图1所示的警示信息,您可以点击[确定]来完成就地升级操作,必须注意的是原有旧版的设置、记录文件、历史操作记录都将会被清除。
图1旧版存在提示
在[Setup Type]页面中,您可以选择本地安装(Local installation)或客户端与服务器的安装(Client-Server installation)模式。在此我们选择后者并点击[Next]继续。在[Custom Setup]页面中,可以自定义是否要安装Converter server、Converter agent、Converter client。
其中Converter server便是扮演负责处理客户端与代理程序之间的通信,以Windows操作系统来说,代理程序将会通过后续转换设置的过程之中,自动部署到即将进行转换的来源操作系统之中。至于Linux系列的操作系统,并不需要特别安装代理程序来进行转换,而是只要通过以root身份,来远程连接登录SSH服务并进行实时转换即可。
在Web Service端口的设置面中,Agent Service Port(TCP 9089)主要用以转换Windows主机时所会使用到的通信端口。请注意!若此主机有启用Windows防火墙功能,请务必特别开通这几个连接端口。
来到[Ready to Install]页面中只要点击[Install]便可以开始进行安装,过程中若是系统侦测到有相关文件被旧版的程序锁定中,将会出现如图14所示的[Files in Use]页面信息,此刻建议您在自行手动关闭这一些程序之后,再点击[OK]来继续完成安装即可。
完成安装之后便可以从[开始]页面中,来开启vCenter Converter Standalone客户端程序界面。以Windows 8/8.1操作系统的安装为例,如果执行后出现了乱码的错误信息,即表示您Windows的个人设置档名称是以中文来命名,导致此程序无法辨别中文名称的个人活页夹。此时您只要切换到另一位同样拥有管理员权限的用户来执行即可。
如何将Windows主机转换成虚拟机(P2V)?
无论待转换至VMware vSphere 6.0的来源计算机是服务器还是客户端,其操作系统绝大多数都还是以Windows为主,至于这一些系统是否位在物理的计算机主机上,还是位在其它不一样的虚拟化平台之下并不重要,因为vCenter Converter Standalone 几乎都有办法,将它转换成vSphere 6.0架构下的虚拟机。
在vCenter Converter Standalone管理界面中,可以允许同时进行多个来源系统的转换操作,并且可以查看到每个系统的转换进度。请注意!若是您为以非管理员身份来执行此工具程序,在后续转换的过程之中可能会发生错误而中断。点击[Convert machine]按钮继续。
在[Source System]页面中,首先可以在[Select source type]下拉字段中挑选来源的系统类型,其中默认的[Powered-on machine]选项,即表示任何已开机的计算机(包括虚拟机)。至于第二与第三选项则为VMware的虚拟机,包括了最多人爱用的VMware Workstation。最后一项则是VMware的头号大敌Microsoft Hyper-v Server。
当我们选择Hyper-v Server时,便需要输入Hyper-v主机的地址、用户名称以及密码。执行后若是出现错误信息,即表示目前这个版本不受vCenter Converter Standalone所支持。一旦成功连接将可以批量选取所要迁移的任何虚拟机。
若是暂时无法直接批量迁移来自Hyper-v中的虚拟机,便只能够改以默认的[Powered-on machine]选项设置,来把每一个虚拟机当作物理主机一样进行迁移。请输入任何想要迁移的Windows系统之IP地址(或计算机名称)、用户名称、密码。点击[Next]继续。接着将会出现如图2所示的代理程序(Agent)部署提示信息,在此建议采用默认选项设置,也就是让代理程序在我们成功完成虚拟机的迁移操作后,自动将已安装的代理程序移除干净。
图2代理程序部署提示
在[Destination System]页面中,请先在[Destination type]字段中选择[VMware Infrastructure virtual machine]。然后输入vCenter Server的服务器完整名称或IP地址、管理员账号以及密码。点击[Next]。
在[Destination Virtual Machine]页面中,请先选择虚拟机迁移成功后所要置放的数据中心位置,然后可以决定是否要变更虚拟机的显示名称,在默认的状态下将会使用来源的计算机名称。值得注意的是此名称的更改,并不会影响到来源系统迁移后的计算机名称,因为这两者是没有关联的。
在[Destination Location]页面中,请挑选存放虚拟机目标的位置,可以是某个群集节点或ESXi主机,然后再挑选数据存放区(Datastore)。点击[Next]。在[Options]页面中,如果来源的磁盘大小超过了目标位置的数据存放区可用空间时,将会出现错误信息而无法继续。
不过这并不表示真的无法存储来源的主机数据,因为您可以进一步从[Destination size]字段中,来修改转换至目标位置后的大小类型。在默认的状态下将会使用整个来源空间的大小(Maintain size),您可以将它修改成最小的大小(Min size),也就是接近实际总数据量的大小,或是以手动输入的方式选定想要的大小值即可。
在[Summary]页面中可以看到完整的来源系统与目标系统的配置信息,点击[Finish]开始进行转换操作。整个虚拟机转换的进度与记录,都会出现在此页面之中,在此也可以看到目前数据发送的速率以及预估花费的时间。
在完成虚拟机的转换操作之后,便可以从vSphere Web Client的界面中,开启目标主机的[相关对象]\[虚拟机]页面,来查看新虚拟机是否已经转换成功,并且可以尝试启动此虚拟机来看看是否可正常运行,不过必须注意在启动之前,原始的来源机器可能需要先关机或拔除连接的网络线,以避免和转换后的虚拟机发生冲突。
如何将Linux主机转换成虚拟机?
vCenter Converter Standalone工具不仅可以用来协助企业IT,转换Windows的相关系统至vSphere 6.0架构下的虚拟机,也可以用来转换Linux系列的操作系统。其中最知名的Ubuntu Linux也是受支持的系统之一,在前面的介绍中我们曾提及它支持Ubuntu 14以上的版本,现在就让我们立即来试试看针对这个最新版本是否也能够一样转换成功。
首先我们必须在来源的Ubuntu操作系统中,执行sudo apt-get install openssh-server命令来安装SSH的服务器服务,整个程序包的安装仅会占用大约3MB的空间。
紧接着必须执行sudo vi /etc/ssh/sshd_config命令参数,来修改SSH服务的设置文件。如图3所示请将其中PermitRootLogin叙述后面的设置改为yes即可。存储并离开。最后请执行sudo /etc/init.d/ssh restart命令来重新启动SSH服务。
图3修改SSH服务设置檔
回到执行[Convert machine]的[Source System]页面中,来源的系统类型请同样选取默认的[Powered-on machine]选项,至于远程的操作系统类型(OS Family)则必须修改成Linux,然后输入此Ubuntu系统的地址、root帐户与密码。点击[Next]继续。
在[Destination System]页面中,同样可以输入特定的ESXi主机或是vCenter的主机地址、管理员帐户以及密码。点击[Next]。在[Destination Location]页面中可以修改默认转换后的虚拟机名称,以及所要置放的活页夹位置。点击[Next]。在如 [Options]页面中,可以根据实际的转换需要,来修改每一个转换后的虚拟磁盘大小,以及选取目标主机所连接的数据存放区。点击[Next]开始进行转换操作。待成功转换至虚拟机的Ubuntu客户端操作系统,登录后请检查原先在此系统中运行的各项服务是否正常。
解决Convert Standalone Agent安装失败问题
通过vCenter Converter Standalone 6.0工具的使用,无论是想要迁移物理主机(P2V)还是其它虚拟化平台中的虚拟机(V2V),其操作过程都是相当简单的,不过作法虽然简单但却可能会遭遇失败,其中最常见的不外乎是来源主机的防火墙设置问题,或是来源主机与目标vSphere主机之间的连接问题。
无论如何只要来源操作系统的版本是受支持的,那么遭遇失败的原因便多半是操作系统环境的问题所致,像是最近刚完成某一些Windows Update或Linux程序包的更新,都有可能会导致发生虚拟化迁移的操作失败。诸如上述的这一类问题,一般来说都可以在VMware官方讨论区的网站上找到解决方法。
此外另一种发生机率较小的迁移失败原因,便是在执行到Convert Standalone Agent部署时,出现像如图4所示一样的错误信息,想想看会是甚么原因造成的呢?
图4无法部署代理程序
让我们来到来源Windows主机的[服务]管理员界面之中,如请检查目前是否已经有执行中的[VMware vCenter Convert Standalone Agent]服务,如果答案是肯定的,那么即表示这是过去所部署的旧版代理程序。
进一步让我们再开启[控制面板]\[程序和功能]界面,便可以发现此旧版代理程序的版本信息,请先将它移除后再尝试执行虚拟化迁移工具即可获得解决。
如何更新已过期的VMware Tools?
无论是哪一种虚拟化平台上的虚拟机,其客户端操作系统都必须安装所谓的集成工具程序,如此一来这一些虚拟机才能真正被主体服务器系统所完全控制,从最简单的桌面操作、正常关机、暂停以及重新启动等操作,到较高级的高可用性容错机制、备份、备援以及实时运维监控管理,通通都需要仰赖这支小程序来与主系统进行沟通后才能正常运行。
这支工具程序在VMware虚拟机的管理中就叫做VMware Tools,是我们初步刚完成新虚拟机创建时,或是刚完成P2V以及V2V虚拟机迁移操作后,所必须优先执行安装的重要操作。此外当发现虚拟机的[摘要]页面中,出现了[此虚拟机上的VMware Tools已过期]之信息,请立即点击[更新VMware Tools]的超连接继续。
接着将会开启 [升级VMware Tools]页面,在此只要选择[自动升级]即可,也就是说过程中不需要管理员介入操作,便会自动在背景完成更新操作。不过必须注意的是有可能会自动进行此虚拟机的重新启动,因此仍得依实际的状况来挑选升级类型。
如何安装与使用远程控制台(VMRC)?
VMware Remote Console (VMRC)是一个独立的Windows应用程序,主要用以连接操作位在远程主机中的虚拟机,像是操作客端操作系统、修改虚拟机中的CPU、RAM以及磁盘的资源分配、连接客户端设备(例如:DVD-ROM、USB随身碟)等等,至于操控的方法可以选择从vSphere Web Client中来启动它,或是直接通过VMRC命令工具的执行来启动它。
目前最新版本的VMware Remote Console 兼容于64位的操作系统有Windows Server 2008 R2、Windows Server 2012/R2、Windows 7、Windows 8/8.1。至于下载它的最佳方式就是从vSphere Web Client的虚拟机[摘要]页面中,点击[下载远程控制台]超连接,即可到相对应的官方网站上来下载安装程序。
关于VMRC程序的安装过程中,除了可以自定义安装路径之外,就是可以在如用户经验设置页面,来决定是否要让此程序在每一次执行时,自动检查官方网站上,目前有没有最新版本的程序可以下载。此外您也可以决定是否要协助VMware官方,自动以匿名回传系统数据的方式,以改善VMRC程序的质量。
完成VMRC程序的安装之后,往后您便可以在同样以此计算机连接vSphere Web Client网站时,直接从虚拟机的[摘要]页面之中,点击[启动远程控制台]超连接来开启即可。以Firefox浏览器来说,第一次执行时便会开启[启动程序]页面,您只要将页面下方中一律使用的偏好设置项勾选并点击[确定],往后便不会再出现这个提示窗口了。
初次连接时通常会出现证书安全提示信息,请将其中的[Always trust this host with this certificate]勾选,然后点击[Connect Anyway]即可,往后再次点击连接时便不会出现此信息。
如图5所示便是成功以VMRC工具,远程连接一部Ubuntu Linux客户端操作系统的虚拟机窗口。对于连接中的虚拟机管理,您可以从VMRC的下拉选单之中,执行电源的各项管理操作、各种卸除式设备的连接、执行VMware Tools的安装或更新、编辑虚拟机设置、以全屏幕开启等等。
图5成功远程连接虚拟机
如何使用命令打开远程控制台?
使用VMRC工具开启远程虚拟机控制台的方式,除了可以经由vSphere Web Client的虚拟机[摘要]页面中来开启之外,管理人员也可以通过它专属的命令工具来启动连接。在默认的状态下,它的安装路径是C:\Program Files(x86)\VMware\VMware Remote Console。因此我们只要在此路径的命令提示字符下,执行VMRC -?命令便可以得知此命令参数的用法。
接着就让我们尝试执行vmrc vmrc://连接帐户名称@vCenter Server地址/?moid=虚拟机名称。
执行后可能会出现没有在选定的主机中找到此虚拟机。奇怪了所选定的虚拟机名称明明就是存在的,而且还正在启动之中,为何会说找不到此虚拟机呢?请继续往下看吧!
原来是VMRC命令中的moid参数值,指的并非是虚拟机的名称,而是每一部虚拟机的一组唯一标识符(ID)。而取得目前所有虚拟机moid的方法,就是通过vSphere PowerCLI Cmdlets工具,执行Get-VM | ft -Property Name,ID –AutoSize命令后即可取得。
当您再一次执行vmrc连接命令时,然后将其中的moid参数值修正之后,便会发现在正确输入连接密码之后,便可以顺利开启虚拟机远程控制台了。
结论
虚拟化平台是私有云网络架构中最重要的基础建设,尽管VMware已经强先一步Microsoft陆续推出了vSphere 6.x,但面对来势汹汹的Windows Server 2016、Windows Server 2019以及System Center解决方案,VMware在虚拟化技术的领导地位是否会受到冲击呢?
就笔者个人深入双方技术层面的探讨结果,即便Microsoft的方案一再强调能为IT单位节省掉更多整体拥有成本,但全新vSphere 6.0极具完善与先进的设计,再加上过去以来始终给IT人良好、稳定以及高性能的映象之下,早已掳获了大多数企业IT部门的心。
不过Microsoft终究不是省油的灯,在相关方案正式版推出之前,没有人能够精准料想到它将会瓜分掉VMware的多少市场。无论如何对于IT人而言,现阶段最重要的就是持续不间断的学习vSphere 6.x,才是面对诡谲多变虚拟化世界的首要之道。
福利
扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读:
开了个会:破局企业云通信,华为加速 Buff 开发者!
没有一家公司可以逃避边缘计算 | 技术头条
她高中发明著名算法,保送清华姚班,斯坦福 AI 实验室负责人高徒 | 人物志
GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
华为员工年薪 200 万!真相让人心酸!
天才程序员:25 岁进贝尔实验室,32 岁创建信息论 琥珀 极客宝宝 5天前
安全顾问反水成黑客, 靠瞎猜盗得5000万美元的以太币, 一个区块链大盗的另类传奇
人造器官新突破!美国科学家3D打印出会“呼吸”的肺 | Science