2020-08-06 在hyper-V安装ubuntu并运行CellRanger count流程

准备工作

我的组装台式机主要配置

  • 英特尔(Intel)i9-9820X 酷睿十核 盒装CPU处理器 (10核20线程)
  • 微星(MSI)X299 GAMING PRO CARBON主板 (IntelX299/LGA 2066)
  • 金士顿(Kingston) DDR4 2400 16GB 台式机内存条 骇客神条 Fury雷电系列 8条 (128GB)
  • 西部数据(WD)黑盘 4TB SATA6Gb/s 7200转256M 台式游戏硬盘(WD4005FZBX)

主机系统

Windows 10 Pro

Linux 发行版iso镜像

Ubuntu 20.04 LTS desktop
我的Linux命令行技术实在太差,就用桌面版了。如果为了追求极限的运算性能肯定还是Server版好一些。

安装Ubuntu虚拟机

启用Hyper-V服务

  • 控制面板 -- 程序与功能 -- 启动或关闭Windows功能:把Hyper-V及其子目录全部勾上:


  • 重启计算机

  • 在开始菜单搜索Hyper-V,打开Hyper-V管理器:


  • 我这里已经创建了一些虚拟机:


创建虚拟机

  • 在右侧操作窗口点击新建,创建虚拟机:

  • 我的系统盘是SSD,这里需要把虚拟机装在4T的机械硬盘上:


  • 选择第二代虚拟机:


  • 分配内存:由于我计划要把几乎所有内存都用来跑CellRanger,这里需要把动态内存取消,设置为每次启动时直接将足量内存分配给虚拟机。否则虚拟机向宿主机索取内存时似乎会影响虚拟机中在跑的程序。


  • 后面的配置网络和连接虚拟硬盘都不要配置,我们稍后再手动配置:



  • 点击完成即可。

创建虚拟交换机

  • 回到主界面,点击新建,选择创建虚拟硬盘:

  • 磁盘格式选择默认的VHDX:


  • 磁盘类型选择固定大小,以便获得最佳性能:


  • 指定虚拟硬盘文件的路径,把它放到虚拟机的位置就可以:


  • 指定虚拟硬盘大小,给够1.5个T:


  • 依次点击下一步、完成即可完成创建。由于我们选择的是固定分配大小,这个写入过程会非常长,我记得花了大约2小时。

创建虚拟交换机

Hyper-V的虚拟机需要创建虚拟交换机才能使用互联网

  • 回到主界面,点击虚拟交换机管理 -- 新建虚拟网络交换机

  • 设置虚拟交换机为外部网络。我用的是有线网络,所以就选主板上自带的那个接口。如果是用WIFI,需要选到相应的无线网络适配器。



    这样应该是相当于虚拟机直接使用物理机的网络适配器,就能连接外网了。

设置虚拟机

这里就以我之前已经创建好的虚拟机ubuntu设置为例:

  • 选中指定虚拟机,点击设置:


  • 弹出以下窗口:


  • 首先设置CPU,我把18/20的逻辑处理器全部分配给了虚拟机:


  • 设置SCSI控制器,我们需要分别添加硬盘驱动器DVD驱动器(用于加载Ubuntu的安装镜像):

  • 选择硬盘驱动器,点击浏览把之前创建的虚拟硬盘路径添加进来(根据你创建硬盘时的设置):

  • 选择DVD驱动器,添加Ubuntu的映像文件:

  • 点击网络适配器,选择我们自己创建的虚拟交换机:

  • 点击下方的检查点,把启用检查点的勾去掉,否则每次关机会把大量的检查点文件写入硬盘。我们通常并不需要这个功能:

  • 点击自动启动操作,选择

  • 点击自动停止操作,选择强行关闭虚拟机这一点非常重要! 否则每次还是会把内存中的内容写入硬盘,贼麻烦:

到这里,虚拟机设置已经完成了。回到主界面,选中你的虚拟机,点击启动即可。由于我们设置了在启动时把95%的内存一次性分配给虚拟机,请务必先关闭各种后台进程,保证足够的空闲内存,否则虚拟机将无法启动!

安装Ubuntu 桌面版

由于写这篇教程的时候我的电脑正在跑CellRanger,这里就用网上的图来举例子好了(https://www.sysgeek.cn/install-ubuntu-20-04-lts-desktop/)。

  • 虚拟机启动后,需要点击连接才能与虚拟机交互。

  • 如果顺利,此时应当进入Ubuntu的安装界面:



  • 这一步注意我们应当改成最小安装,充分把性能用在刀刃上:

  • 后面的就傻瓜式操作了:



  • 这里注意,必须选择登录时需要密码,涉及到之后我们设置更好的交互界面:


  • 安装完成后会提示重新启动系统,不要点击重启, 否则同样会将内存中的内容写入硬盘!应当在Hyper-V主界面点击关机

应当注意的是,在Hyper-V中使用Ubuntu虚拟机,只能在电源处选择关机,再开启,而不能选择休眠或重启,否则会导致关机时将内存内容写入硬盘(亲测十分坑爹!!!)

配置Ubuntu

更新Ubuntu软件

  • 在Hyper-V主界面再次启动虚拟机并连接,这时应该能正常进入Ubuntu了。
  • 在完成一些个性化设置后,需要更新软件库:
sudo apt update
sudo apt upgrade
  • 手动重启一次虚拟机,即可完成更新配置。

配置增强会话

相信大家一定发现Hyper-V自带的交互界面卡顿得令人发指,而且不能在虚拟机和宿主机之间传文件,我们下面通过配置增强会话来解决这个问题。

  • 安装 git
sudo apt install git
  • 把以下Github仓库clone下来:
git clone https://github.com/Hinara/linux-vm-tools.git
cd ./linux-vm-tools/ubuntu/20.04/
sudo chmod +x ./install.sh
sudo ./install.sh
  • 等待运行完,会提示重启虚拟机,同样不要忘记需要手动重启。
  • 重启后,进入该目录再次运行(我印象中这一步似乎不需要了。如果你之前没有更新软件库的话,它会先帮你调用apt更新软件,然后提示你重启,重启后再次运行该文件才会帮你配置Xrog之类的库):
sudo ./install.sh
  • 关闭虚拟机。
  • 以管理员打开powershell,运行:
Set-VM -VMName 你的虚拟机名字 -EnhancedSessionTransportType HvSocket
  • 再次启动虚拟机并点击连接,应该会弹出Xrog的设置窗口:

  • 点击显示选项,可以在本地资源勾选剪贴板共享

  • 点击更多,可以设置共享硬盘(用来传文件):

  • 设置完成后,点击连接,输入用户名和密码(这就是为什么我们安装Ubuntu时不要勾选自动登录):

  • 然后你就可以在Ubuntu中愉快的玩耍了:


共享文件

  • 打开文件夹,左侧栏有一个shared-drives

  • 里面其实就是你之前设置的可共享本地驱动器,可以用来在虚拟机和宿主机之间传递文件:


至此,我们已经拥有了Linux环境,可以在上面运行CellRanger了!

配置并运行CellRanger

根据10x Genomics官方的教程来做就行了:
https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/installation

贴一张自己电脑跑CellRanger的截图:


其他

我过去用过VirtualBox搭建虚拟机跑CellRanger,经常在写入BAM文件那一步卡住,感觉是VirtualBox虚拟化技术导致的硬盘I/O问题。Hyper-V作为Type I虚拟机,是直接把Ubuntu系统架在物理机硬件上的,由于缺少虚拟化软件作为中介,理论上说性能应该比Type II虚拟机(Virtualbox或VMware)更好。

©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335