专栏名称: 企业存储技术
企业存储、服务器、SSD、灾备等领域技术分享,交流 | @唐僧_huangliang (新浪微博 )
目录
相关文章推荐
51好读  ›  专栏  ›  企业存储技术

用笔记本搭建HPC 演示环境,只需8步!

企业存储技术  · 公众号  ·  · 2019-10-07 08:00

正文

请到「今天看啥」查看全文


本文最初发表在“HPC高性能计算”博客,经作者授权转载,原文链接见文末。


秋高气爽,欢度国庆。“快看,‘ 神威 ’花车开过来了”,“还有‘ 天河 ’花车”,我喊着让女儿来看建国70周年的国庆游行的转播。

“神威和天河是中国制造的超级计算机,在全球Top500 的超算排名中,名列前茅,多涨中国人的志气啊!”我对女儿说。“什么是超级计算机?”女儿问。“就是特别大的计算机,运行速度特别快的计算机” 我说,“也叫并行计算机,就是有很多台计算机并行同时计算解决一个问题”。


“噢,那为什么一台解决不了呢?现在一台计算机运行也很快呢,为什么需要并行呢?”女儿问。“如果计算一个小学或者初中的数学题目,一台计算机就足够了,但是如果想要根据气象站收集的数据进行数值计算预报天气,或者对生命的基因数据比对分析或者根据勘探数据对其进行计算分析地下是否有油藏,由于这类计算数据太多,而且还需要在一定的时间内完成计算,一台计算机就无法完成这样的计算。”我说,“就像国庆阅兵游行一样,一个人是完不成这个任务的,必须有很多人同时并行来做,才可以完成。”


“这个听起来好像挺高大上的,做一台高性能计算机挺难的吧?”女儿问。“从头开始做就很难,如果在其他人做的基础上做就不那么难。” 我说,“如果采用工业标准的计算机和主流的Linux 操作系统,就可以比较容易地搭建一台高性能计算机,像神威和天河一样,实现并行计算。”“你可以搭建一台高性能计算机吗?”女儿问。“当然可以,如果你有钱给我买很多台标准计算机的话”我说,“不过我可以用笔记本电脑,给你搭建一个HPC 的演示环境,就在这个国庆节。” “这个演示环境是用笔记本创建几个虚拟的计算机,配置相应的软件环境,可以实现 一个程序在多台计算机上同时并行运行 。”


搭建之前,需要有一些考虑和准备。首先是HPC 集群软件的选择。HPC 系统越来越多的运行Linux 操作系统,Top500中 100% 的系统采用Linux。Linux 基金会为了帮助用户更方便的搭建和使用HPC,成立了OpenHPC 项目组,其将所需要的软件包,预先编译搭建好,这样,通过标准的Linux 安装流程,就可以快速安装部署一套 HPC 系统。所以本次安装采用OpenHPC 软件。OpenHPC 的网站是:http://openHPC.community。


OpenHPC 集群的架构图是:

然后是OpenHPC 软件模块的考虑和选择。OpenHPC 可以支持的操作系统有CentOS,SUSE Linux ;集群管理软件有Warewulf 和xCAT;作业调度软件有PBSpro 和Slurm,等多种选择。由于CentOS 用户比较多;Warewulf 比较简单;PBSpro 在国内有商业厂商支持;所以本次安装采用 OpenHPC 选择了CentOS、Warewulf 和PBSpro的组合。


最后是笔记本的虚拟平台的考虑和选择。我用于日常工作的笔记本电脑,是1台Dell Latitude 5490,Intel i5 1.7GHz CPU,16GB 内存,500GB的SSD硬盘,运行Windows 10 Enterprise。目前在笔记本上可以运行三种虚拟化平台软件:VMware Workstation 15 Player,  Oracle VM VirtualBox 和 微软的Hyper-V Manager。由于VMware Workstation Player 免费版本不可以同时支持多个vm (虚拟机) 的运行;Oracle VirtualBox 的vm 安装CentOS 7.6是会出现鼠标点击无效的Bug;所以,本次部署采用 Windows 10 Hyper-V。


用笔记本电脑,搭建HPC 运行环境。开始!


1. Windows10 Hyper-V虚拟平台的设置


1.1 开启Hyper-V 模式支持:

在Windows 10 中开启 Hyper-V 运行模式。在搜索栏中输入“turn windows features”, 然后选择,进入配置窗口,在 Hyper-V 的旁边,选择划勾,然后重启Windows 10。


1.2 运行Hyper-V:

在搜索栏中输入“Hyper-V Manager”,启动Hyper-V manager

Hyper-V Manager连接到服务器。点击右侧的连接到服务器,选择本地,即这台笔记本电脑。本电脑的名字为“*DST2”。


2. 创建虚机集群管理节点sms ,并安装CentOS 7.6 操作系统


2.1 首先创建一台vm(虚机),作为OpenHPC 的管理节点,命名为sms。


点击左侧的服务器“*DST2”, 然后点击右侧的“New” , 弹出菜单,选择 “Virtual Machine”:


按照创建vm 导航,创建 OpenHPC的管理节点,在”name“, 处,输入 sms ,为vm 的名字。


选择Hyper-V支持的vm 类型,选择第一代“generation #1”

申请内存空间为2GB,(CentOS, 需要最少 2GB的内存,硬盘容量建议为 40GB)


配置网络连接为连接 外部网络”external” 交换机。


配置vm的本地硬盘为40GB



2.2 安装操作系统

OpenHPC 支持的最新版本为CentOS 7.6,可以在此处下载 ,下载到本地。

在Image file (.iso) 的位置,指定CentOS ISO 文件的本地路径。


完成设置后进入总结页面,选择 “finish”完成。


开启 sms的vm, 在 Virtual Machines 的窗口中选择 sms 后,点击右侧菜单中”action”下部 “sms”的 “connection”,将连接到sms 的vm, 后,点击 弹出窗口“action”下的 “start” 开始。

即开始sms vm虚拟机上安装CentOS 7.6。选择用”English” 语言安装,选择时区,可以选择“shanghai, China”,在“Language Support”支持语言中选择 “简体中文”

在software selection 中,安装最小包,带有Gnome Application图形界面的软件包。


按照提示步骤进行配置 ,配置“Installation Destination”, 然后需要等约2分钟,检测“Installation Source”完成,就会出现这个界面,


然后点击 “Begin Installation”,开始安装,约安装1398个软件包,约需要。在期间需要设置root 的密码口令 :

估计运行 14分钟,可以完成OS的安装,按“reboot”, 重启,在”Initial Setup” 中,完成 License 许可的接受。配置主机名和网络,主机名设定为”sms”, 网络eth0 设置为”ON” 开启。


然后需要添加一个用户名,如“test“, 输入口令,跳过google 等用户注册,完成CentOS 7.6 的安装。

然后会以 “test“ 用户登录到 系统,我们需要用root 登录,所以,需要点击右上角的开关按钮,点击”logout”退出 用户“test”.

然后用 root 重新登录系统。



3. 配置sms 管理节点的网络,使其可以访问Internet


3.1 配置  Hpyer-v Switch网络

进入Hyper-v manager, 通过 “ Virtual switch manager” 创建2个网络,一个是“External”的OpenHPC External ,用于连接外网的Internet 的访问,将连接 sms的 eth0 网卡;一个是“Private”的OpenHPC Private, 用于HPC 集群的内部管理。


3.2 在Windows 10 的网络配置中,将 OpenHPC External 和vEthernet (default) 设为共享。右键点击 vEthernet , OpenHPC External 的网卡,点击 Properties -> Sharing, 在Internet Connection Sharing 中的下拉菜单中选择 vEthernet (Default Switch) .


3.3 配置  sms 节点的网络 接口

在sms 上控制台上创建2个网络接口卡eth0, 连接external网,eth1, 连接 private 网络。


3.4 重新连接 sms, 并start,用root 登录后,启动一个terminal, 运行

#ping www.sohu.com 可以ping 通,

#yum list installed, 可以显示 yum 运行正常。


4. sms节点的配置和 OpenHPC 发行版本软件安装


4.1 设置再次确认和配置主机名

#hostnamectl set-hostname sms

#hostname

可以显示主机名已经修改;

重新启动一个terminal, 可以在提示符处,看到名字改为 sms ;


4.2 设置eth1 网络接口IP 地址为 172.16.0.1/16

可以通过网络配置工具


4.3 配置/etc/hosts 文件

#echo 172.16.0.1 sms >> /etc/hosts

可以检查一下

#cat /etc/hosts


4.4 禁用 selinux

#sestatus

#vim /etc/selinux/config

selinux=disabled

# reboot


4.5 安装 OpenHPC release 包:

#yum install http://build.openhpc.community/ OpenHPC:/1.3/ CentOS_7/x86_64/ ohpc-release-1.3-1.el7.x86_64.rpm

4.6 安装 docs-ohpc包:

#yum install docs-ohpc

5. 创建 计算节点vm,4台, 名为 c1-c4


创建vm c1, 与sms 的创建类似,需要配置2GB的内存和40GB的硬盘。

此外,在配置网络时需要选择 OpenHPC Private 网络:


在安装选项中,选择后安装 Operating System:


配置 c1 的BIOS,引导为pxe, 由legacy Network Adapter 最先引导;


配置 c1, 添加网卡,选择添加Legacy Network Adapter, 并添加到 OpenHPC Private 网络中。

设置Legacy Network Adapter 的MAC地址,c1的MAC地址的最后两位分别为 00:00:00:00:00:01 .


依次创建  c2-c4 vm, 并修改其MAC地址的最后2位分别为 02-04.


6. 在 sms管理节点上安装 OpenHPC 软件


6.1 编辑 input.local 文件

[sms]# cp /opt/ohpc/pub/doc/recipes/ centos7/input.local input.local

[sms]# cp -p /opt/ohpc/pub/doc/recipes/ centos7/x86_64/ warewulf/ pbspro/recipe.sh .


修改input.local 文件,将计算节点private 网络,进行pxe 引导的网卡MAC 输入到文件中:

# vim input.local

c_mac[0]=00:00:00:00:00:01

c_mac[1]=00:00:00:00:00:02

c_mac[2]=00:00:00:00:00:03

c_mac[3]=00:00:00:00:00:04


6.2 安装 OpenHPC 软件

[sms]# export OHPC_INPUT_LOCAL=./input.local

[sms]# ./recipe.sh


安装大约需要 45分钟 根据网络速度和CPU的速度。


由于recipe.sh 中有创建  用户名为 test 的语句,所以会有这个信息,可以忽略。


我们vm  c1- c4计算节点没有 BMC 控制端口,需要在 vm 中手动开启。

现在OpenHPC 成功安装到sms 节点上。

7. 启动计算节点


在 Hpyer-v Server, 启动c1 计算节点。


然后依次开启 c2,c3。当开启c4的时候,将会出错,这是由于笔记本电脑的内存无法支持第四个 vm。

现在在笔记本电脑上完成了OpenHPC 软件的部署,运行了3个计算节点,由一个sms 管理节点进行管理。


8. 测试


8.1 测试节点是否正常运行

#pdsh -w c[1-3] hostname


8.2 用PBS队列交互式执行


用测试用户test, 登录系统,然后用mpicc 编译一个带有MPI 消息传递并行指令的的程序“hello.c”。

申请一个交互式队列资源,包括三个计算机,每个计算机需要运行4次;

提交这个程序。

从输出可以看到,c1-c3,  3个计算节点,每个节点运行一次 “hello”程序中的并行代码。


[root@sms]#su – test

[test@sms]#mpicc -O3 /opt/ohpc/pub/examples/ mpi/ hello.c

[root@sms]#qsub -I -l select=3:mpiprocs=4

[root@sms]#prun ./a.out


这个命令的意思是在3个节点上,每个节点执行4次程序,结果在屏幕上显示。


8.3 用PBS队列批处理执行


除了交互式提交作业,还可以用批处理的方式提交,通常通过编辑一下批处理脚本文件。然后,提交这个脚本。


先copy 一个模板软件job.mpi 到本地目录。然后查看一下这个脚本文件,这个是申请了2台计算机资源,每台计算机上运行2次程序。

输出为job.out.


提交后,打开job.out, 可以看到输出结果如下图。


这个命令的意思是在2个节点上,每个节点执行4次程序,结果输出到job.out 文件中。


至此,OpenHPC 按照 手册全部在笔记本电脑上安装完成 !


安装体会

  • 先看一下OpenHPC 的相关资料,包括安装手册,input.local 和 recipe.sh 3个文件;

  • Windows 10 Hyper-V 虚拟机sms的Internet 访问,需要将网卡设置为”external” , 然后再Windows 10 的网络设置中将 “external” 和”default” 的共享;

  • Hyper-V 计算节点 vm c1-c3, 引导网卡要是 “Legacy Network Adapter”,其内存需要 2GB,硬盘 也需要比较大,这次配置 40GB;

  • vm 的名字和IP 等,按照input.local 的设定,会简单,易于维护;


结束前的代码

输入一段html 内容到 httpd 的html 目录:

[root@sms]# echo “

style=\”color:red;text-align:center;margin:1em;font-size:3em;\”> 我爱祖国!

” >> /var/www/html/index.html


然后用打开浏览器,输入sms 的地址,可以显示刚刚输入的内容。


国庆假期很快就结束了,继续工作,迎接新的技术和创新!


原文出处

https://www.dellhpc.cn/blog_display?b_id=15

作者: 巍才



:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流 技术 可以 加我的 QQ/ 微信: 490834312 。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


感谢您的阅读和支持!《企业存储技术》微信公众号: HL_Storage

长按二维码可直接识别关注


历史文章汇总 http://chuansong.me/account/huangliang_storage







请到「今天看啥」查看全文


推荐文章
济宁拉呱  ·  又是同学聚会看看吧,真丢人!
7 年前
健康常识百科  ·  做人,善良一点不吃亏!(写的真好)
7 年前
khotyn  ·  蚂蚁金服招聘实习生
8 年前