找回密码
 新注册用户
搜索
查看: 4914|回复: 20

[原创] Ubuntu (20.04)F@H专机的OS、软件安装教程 V1.0 update_2023_02_13

[复制链接]
发表于 2023-2-13 15:06:43 | 显示全部楼层 |阅读模式
本帖最后由 Keyco 于 2023-2-15 21:23 编辑

本教程是在@Lynt 兄的教程上修改而来,感谢@Lynt 2年多前的帮助。

一、Ubuntu系统安装
1.选择64位桌面版20.04 LTS (我用的是20.04.4 desktop,20.04 LTS版本下最新的是20.04.5。22.04 LTS版本下最新的是22.04.1)
20.04.4 Desktop下载链接:https://old-releases.ubuntu.com/releases/20.04/ubuntu-20.04.4-desktop-amd64.iso
20.04.5 Desktop下载链接:https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso
22.04.1 Desktop下载链接:https://mirror.amuksa.com/ubuntu-releases/22.04.1/ubuntu-22.04.1-desktop-amd64.iso
2.将安装盘镜像制作成启动U盘:准备4G以上U盘,里面的数据会被清空,请注意备份资料。建议用rufus工具制作,自动检测到U盘,选择镜像文件后开始制作即可,其他选项默认,如提示需要下载文件请同意下载;
3.用制作好的U盘引导系统,选择第二项 Install Ubuntu安装Ubuntu
4.“更新和其他软件”选择最小安装(FAH专机建议精简),同时勾选下载更新(自动安装第三方程序@Lynt兄不建议选,除非有无线网卡、蓝芽之类的无法驱动,@Lynt兄 和我本人都没有测试,感兴趣的话可以试试能否自动装好正确的显卡驱动)
5.安装类型按实际需要,我个人只安装Ubuntu因此选择清除整个磁盘,其他加密之类的都不勾选
6.设置置用户名、密码(注意第一项名称不是系统用户名,类似显示名称,可随意设置,下面的用户名和密码是区分大小写的,请注意!Linux与Windows的区别就是严格区分大小写),建议勾选自动登录,方便远程维护,下文中sudo方式运行指令时如需要输入密码,就是这一步设置的密码
7.安装完毕后会重启。
8.重启后进入系统,会有一些提示,可以根据自己的情况选择是否接受那些服务。个人建议一律不接受各类服务和升级。
9.点击做右上角网络图标(见图1)

图1

图1


点击Settings(见图2)

图2

图2


看到有联网的网卡,点击设置按钮(见图3)

图3

图3


记录下IP地址(见图4),以备远程登录用。

图4

图4


二、安装ssh服务端有远程管理ubuntu需要的人(尤其是远程管理fah物理机)必须在安装显卡驱动前安装好ssh服务端)、依赖、并为FAHcontrol远程管理打开端口(打开端口为可选,用于远程管理fah软件的。此处和前面提到的远程管理fah物理机的概念是有区别的。)
1.因为我有ssh连接的需求(方便我远程连接命令行),所以需要确保openssh可以使用。貌似桌面版的ubuntu没有安装openssh server(服务端,也可以理解为被控制的一方),只有客户端(控制方)。因此需要安装线安装openssh工具
直接在ubuntu desktop显示界面操作,则按’Ctrl’ + ‘Alt’ + ‘T’打开Terminal(中文版ubuntu称Terminal为终端),
  1. sudo apt-get install openssh-server
复制代码
(如果提示输入密码,就输入之前设定的用户名的密码)
2.安装依赖、升级、网络工具等:
  1. sudo dpkg --add-architecture i386
  2. sudo apt-get update
  3. sudo apt-get -y install gcc make lib32ncurses6 lib32z1 build-essential libc6:i386
  4. sudo apt-get -y install net-tools ssh vim
复制代码

3.为FAHControl图形界面远程管理做设置,不需要的可忽略此步骤,在终端中输入以下指令:
  1. sudo iptables -I INPUT -p tcp --dport 36330 -j ACCEPT
  2. sudo iptables-save
  3. sudo apt-get -y install iptables-persistent
复制代码
按提示保存iptables防火墙设置即可。

三、安装xshell和安装xftp(有远程管理fah机器的人可以参看本章节)
1.在远程机器上下载xshell或xftp:https://www.xshell.com/en/free-for-home-school/ (也可以选择其他同类型软件,比如putty, winscp等)
2.安装xshell或xftp(安装过程不表,但是记得选择 for home and school选项)
3.打开xshell,在右上角工具栏中点击第一个按钮“新建”(见图5)

图5

图5


填写相关信息并点击“用户身份验证”(见图6)

图6

图6


填入安装系统时自己设定的用户名和密码(图7)

图7

图7


然后点击确定,就完成了“新建”的设定
4.此时会有一个“会话”的窗口,点击前面刚刚“新建”完毕的的名称“fah”,这样就可以远程连接(此时仅局域网内可访问。如果需要跨公网访问,则还需要其他设定,本文暂时不表。对于局域网内跨网段访问,需要3层交换机或者借用路由器的3层交换功能,这里也暂时不表。)
5.第一次连接该会话的(双击fah或者在fah上点右键都可以打开),会提示SSH安全警告,点击中间的按钮“接受并保存”即可。这样就可以远程控制(局域网内控制)fah机器了。
6.对于xftp,也按照上述方法建立连接。唯一不一样的是在选择协议的时候要选择SFTP(见图8)。

图8

图8


7.建立xftp的会话后,用同样的方法可以打开该会话。

四、安装显卡驱动(较旧版驱动有較大改进,不需要停用图形界面,可自动修改屏蔽开源驱动)(以下开始命令行操作都是在xshell下进行)
1.下载Linux 64bit驱动,下载连接首先可以从这个地址找到所有当下和历史驱动:https://www.nvidia.com/en-us/drivers/unix/ 。当前最新版本是525.89.02,我测试用本机是只有3080,所以用470.161.03。4系卡用户可以选择最新驱动。(按’Ctrl’ + ‘Alt’ + ‘T’打开终端)在终端中运行

  1. wget https://us.download.nvidia.com/XFree86/Linux-x86_64/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run
复制代码
如图9

图9

图9


2.现在开始安装。在shell内输入:
  1. sudo bash NVIDIA-Linux-x86_64-470.161.03.run
复制代码

输入密码后进入显卡安装界面(图10)

图10

图10


4.碰到提示按以下回答:
a)选择“continue Installation”(默认就是该选项),点击回车(图11)

图11

图11


b)检测到开源显卡驱动,点击”OK”(默认就是该选项),点击回车(图12)

图12

图12


c)新驱动要自动修改屏蔽开源驱动,用键盘上面的方向键切换光标到“Yes”并按回车(图13)(以后的选择都是靠键盘的方向键)

图13

图13


d)提示屏蔽成功,并提示未来如果要开启自带驱动的话需要将新驱动建立的2个文件删除,点击”OK”(默认就是该选项),点击”OK”(默认就是该选项),点击回车(图14)

图14

图14


e)提示本次安装失败,点击”OK”(默认就是该选项),点击回车(图15)

图15

图15


5.此时安装会中断并退回命令输入模式(图16)
图16.png

6.输入
  1. sudo reboot
复制代码
并回车重启电脑;(xshell的连接会自动断开)
7.重启后完毕后,“恢复”前面的连接或者重新打开连接(图17)

图17

图17


8.重复上述第3步操作,即输入
  1. sudo bash NVIDIA-Linux-x86_64-470.161.03.run
复制代码
a)依然选择“continue Installation”,此时就可以进行安装了
b)询问是否安装nvidia 32位兼容库,选择“Yes”并按回车(图18)

图18

图18


c)提示无法检测到一些库,点击”OK”(默认就是该选项),点击回车(图19)

图19

图19


d)随即进入安装,然后询问是否自动修改显示配置文件,选择“Yes”并按回车(图20)

图20

图20


e)提示显卡配置文件升级完毕,驱动安装成功。点击”OK”(默认就是该选项),点击回车(图21)

图21

图21


9.此时又返回到了命令输入的地方(图22),再输入

图22

图22


  1. sudo nvidia-xconfig -a --cool-bits=28
复制代码
并回车(启用所有显卡并打开超频选项)
#此时会在 /etc/X11/路径下生成2个文件,分别是xorg.conf 和 xorg.conf.backup 。xorg.conf此时里面的文件内容就是导致接下来重启后BMC集成显卡无显示的罪魁祸首。但是因为我们有xshell和xftp,所以可以在无显示的情况下完成相关修复。
10.输入sudo reboot并回车重启系统
11.重启后回到系统后,已无显示。当然了,此时将显示器连接显卡的DP或者HDMI依然可以显示,只是集成显卡无显示导致使用IPMI服务的人无法使用桌面了。
12.此时可以输入
  1. sudo nvidia-smi
复制代码
来查看nvidia的设备(见图38)

图38

图38



五、修改xorg.conf文件使BMC集成显卡可以正常显示显示器直连独立显卡的无需看本章节
1.利用xftp连接fah机器,直接在xftp软件右侧窗口的地址栏内输入:/etc/X11
2.找到xorg.conf 和 xorg.conf.backup 这2个文件,复制到本机——
先在xftp左边窗口选择自己希望保存上述文件的地方,选择完毕后右键这2个文件的文件名可以看到“传输”按钮,点击后文件就传输到本地电脑刚选择的地方了
3.对刚刚保存xorg.conf进行备份一份。然后用记事本或者其他文本编辑器打开(我是使用的是notpad++)。接下来要进行4处修改:分别是Section "ServerLayout"下新增Screen,新增Section "Monitor",新增Section "Device"和新增Section "Screen":
4.不过在修改之前,需要使用获取BMC芯片的PCIE信息,在xshell内执行以下命令:
  1. lspci | grep VGA
复制代码
在我这台fah机器上可以看到4个显卡信息,分别是3块3080和1个ASPEED的集成显卡(AST2500)(图23)

图23

图23


5.可以看到在每一个显卡信息的前面,会有aa:bb.c这种排列的数字夹着字母的信息,这些就是设备 ID。然后记下BMC芯片的通道,我这里是C3:00.0 (见图24)。

图24

图24


6.打开:https://www.binaryhexconverter.com/hex-to-decimal-converter,将前面的C3:00.0这个16进制的设备ID依次填入左侧的Hex Value输入框内,可以得到10进制的设备ID,操作如下:
a)首先将C3填入Hex Value输入框内,然后点击Convert,就可以在右侧的Decimal Value框内得到195
b)依次再在Hex Value输入框内填入00,得到0
c)再在Hex Value输入框内填入0,得到0。这样10进制的设备号就是195:0:0 (注意此处都将是半角冒号)
7.用记事本或者其他文本编辑器打开本机的xorg.conf
a)在Section "ServerLayout"下新增Screen,具体编辑见图25和图26

图25

图25

图26

图26


b)进行新增Section "Monitor"操作,具体编辑见图27和图28

图27

图27

图28

图28


c)进行新增Section "Device"操作,具体编辑见图29和图30

图29

图29

图30

图30


d)进行新增Section "Screen"操作,具体编辑见图31和图32

图31

图31

图32

图32


e)保存前面编辑的xorg.conf文件
8.在xshell内输入

  1. sudo chmod  777 /etc/X11/xorg.conf
复制代码
此命令是用来打开该文件的可编辑权限。
9.在本机用xftp把文件传输过去,提示“覆盖”的时候点击确认。
10.在xshell内输入
  1. sudo chmod  644 /etc/X11/xorg.conf
复制代码
此命令是恢复原文件的权限到644状态,关于777 644代表什么意思,大家可以学习unix的文件权限相关内容。
11.然后重启
  1. sudo reboot
复制代码
12.重启完毕后,BMC的集成显卡又可以开始工作了,同时也可以用ipmi看到ubuntu的桌面了。(见图39)

图39

图39


六、安装FAH(FAHClient、FAHControl)
1.安装FAH需要的python2.7。打开xshell或者显卡直连显示器的直接在fah物理机上打开终端,输入以下指令:
  1. sudo apt-get install python2.7
复制代码
如提示安装失败,用以下指令安装所需依赖:
  1. sudo apt-get -f install
复制代码
因为Ubuntu20.04不再支持python2,需要手动下载安装相关依赖:
  1. wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
  2. sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
复制代码
此时安装会因缺少依赖文件报错(见图33)

图33

图33


终端运行以下指令修复安装:
  1. sudo apt-get -f install
复制代码
2.根据自己版本需求下载安装FAHClient,安装文件源网址是:https://foldingathome.org/alternative-downloads/?lng=en
我下载的是最新安装版:
  1. wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.6/fahclient_7.6.21_amd64.deb
复制代码
下载完毕后开始安装:
  1. sudo dpkg -i fahclient_7.6.21_amd64.deb
复制代码
##也可以使用(未验证过是否依然有效)
  1. wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.6/latest.deb
复制代码
对应的安装指令就是:
  1. sudo dpkg -i latest.deb
复制代码
在安装过程中,会要求逐次输入:
a)fah的用户名
b)团队编号(这里是3213)
c)passkey(用xshell这类软件的好处就是都可以复制进去,避免录入错误)
d)提问:是否用所有系统资源来泡fah,用键盘方向键选择full(如果你们要是fah专机跑的话),这些事后在fahcontrol里面也都可以改。
e)提问:是否开机自启动。根据需要选。
3.上述步骤完成后,fahclient会自动在/etc/fahclient/ 路径下新建配置文件config.xml。如果前述东西要修改的话,也可以直接用vi、vim、nano等命令对该配置文件进行修改,或者如第五章一样用xftp传到远程管理的机器上用文本编辑器修改。反正方法很多。
4.下载安装FAHControl(方便在本机管理FAH, 如用远程方式管理,可忽略此步骤,但需要自行修改/etc/fahclient/config.xml文件来打开远程管理,本教程暂时没有涵盖这部分内容,会在后续完成验证后加入)
  1. wget https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v7.6/fahcontrol_7.6.21-1_all.deb
复制代码
安装指令如下
  1. sudo dpkg -i fahcontrol_7.6.21-1_all.deb
复制代码
5.按以下方法找到FAHControl程序:
6.点击fah物理机桌面左下角的9个点(见图34)

图34

图34


7.选All(见图35)

图35

图35


8.应该在第一页就可以找到FAHControl的图标,双击图标就是打开它。图标上点击右键,可以收藏起来(Add to Favorites)(见图36)

图36

图36


方便以后直接在桌面的左侧快捷栏找到它(见图37)

图37

图37


9.接下来就可以在fah物理机上(或者用ipmi远程连接的方式)通过FAHControl配置FAH了。Ubuntut下的FAHControl的设置方法同windows,请参看论坛设置教程,此处不表。
10.安装后第一次跑可能只有CPU(需要启动FAHClient才可以在FAHControl中看到设备信息)。若需用GPU计算,则需要进入FAHControl里面的Expert,将“Extra client options”中的gpu的Value改为“true”。如果不需要cpu的话,则去slots里面将cpu选项删除,然后点击save。接下来重启系统即可。重启后运行FAHClient后会自动下载GPU.txt,并用GPU开始计算。

七、安装Teamviewer、Todesk、向日葵(全部待后续更新)

八、对显卡进行超频(打开驱动面板方式和第七章的第5点一样)
驱动面板内可以查看显卡的大部分信息。(见图40)

图40

图40


但是注意本驱动面板只能调节性能模式(在PowerMizer内)。(见图41)

图41

图41


#如果要电压调整、频率调整,暂时还没有研究。

九、一些常用的命令
1.F@H相关:
开始计算:
  1. sudo /etc/init.d/FAHClient start
复制代码

  1. sudo service FAHClient start
复制代码

结束计算:
  1. sudo /etc/init.d/FAHClient stop
复制代码
  1. sudo service FAHClient stop
复制代码

2.nvidia相关(可参考:https://www.cnblogs.com/omgasw/p/10218180.html):
安装驱动(此处的文件名已大家的实际驱动为准):
  1. sudo bash NVIDIA-Linux-x86_64-470.161.03.run
复制代码
安装完毕后记得:
  1. sudo nvidia-xconfig --cool-bits=28 -a
复制代码
卸载驱动(此处的文件名已大家的实际驱动为准):
  1. sudo bash NVIDIA-Linux-x86_64-470.161.03.run --uninstall
复制代码
命令行界面中查看显卡:
  1. sudo nvidia-smi
复制代码
指定显卡的前缀(xxx为前述命令中查看到的显卡的序号):
  1. nvidia-smi -i xxx
复制代码
刷功耗(指定某个(xxx)GPU最大电源功耗yyy(瓦特)):
  1. nvidia-smi -i xxx -pl yyy
复制代码
动态刷新信息(默认5s刷新一次)(本命令可用按Ctrl+C停止刷新):
  1. nvidia-smi -l xxx
复制代码
前述动态刷新nvidia显卡信息的命令可指定刷新频率,以秒为单位(zz为秒,要1秒刷新就填1)(本命令可用按Ctrl+C停止):
  1. nvidia-smi -l zz
复制代码


十、ubuntu下的硬件资源的说明(给新手)
CPU:1个GPU需要占用1个CPU线程
GPU:建议用nvidia显卡(AMD的也可以,但是我没用过,无法解答问题)
PCIe带宽说明:
建议性能在3080以及以上的显卡给与PCIe 3.0 x16或者等效带宽
建议性能在3080以下的显卡给与PCIe 3.0 x8或者等效带宽
内存:建议为每块显卡准备8G内存。
电源:电源功率为所有显卡的功耗+主板和CPU功耗(主板+CPU大约200~300w,如果是双CPU建议准备400w)
GPU散热:GPU为核心满负荷,显存几乎不怎么用。所以GPU核心散热要做好(可以使用好一点的硅脂或者水冷)。整机散热:若是服务器机箱,建议使用GPU专用服务器或者专用机箱,前后加风扇用来强力排风。若是开放式机箱或者机架,建议对最边缘的显卡的背部加强以下散热。
夏季使用:可以考虑用家用电风扇来加强周围空间的散热,或者降功耗使用(如何降频、降压还没有学会)。

十一、网络问题(后续更新)


##各位在使用中遇到什么问题可以留言,我能解决则解决,解决不了也没办法,因为本身不是linux运维专家。若遇无法解决的,还望各位坛友出手相助。
##最后再次感谢@Lynt 兄之前的相助。




评分

参与人数 5基本分 +96 收起 理由
0xCAFEBABE + 10 很给力!
Lynt + 28 灰常好!
LittleSho + 4 很给力!
金鹏 + 40 很给力!
flybike007. + 14 很给力!

查看全部评分

回复

使用道具 举报

发表于 2023-2-14 08:54:16 | 显示全部楼层
好详细的教程!谢谢分享!
我在Ubuntu中的FAHControl一直装不上,也懒得装了。
回复

使用道具 举报

 楼主| 发表于 2023-2-14 11:58:26 | 显示全部楼层
flybike007. 发表于 2023-2-14 08:54
好详细的教程!谢谢分享!
我在Ubuntu中的FAHControl一直装不上,也懒得装了。 ...

是根据我写的内容在装fahcontrol的时候有问题么?还是以前你自己装的时候有问题了?

我这里是根据@Lynt 兄弄的,属于一把过。
回复

使用道具 举报

发表于 2023-2-14 13:21:54 | 显示全部楼层
太强大了,慢慢拜读
回复

使用道具 举报

发表于 2023-2-14 16:07:52 | 显示全部楼层
膜拜兄弟
收藏备用
回复

使用道具 举报

发表于 2023-2-14 16:14:54 | 显示全部楼层
感谢大佬出的详细教程
回复

使用道具 举报

发表于 2023-2-15 11:44:23 | 显示全部楼层
Keyco 发表于 2023-2-14 11:58
是根据我写的内容在装fahcontrol的时候有问题么?还是以前你自己装的时候有问题了?

我这里是根据@Lynt  ...

我以前自己装的时候有问题,也参考了lynt的帖子,在https://foldingforum.org/论坛也搜索过,好像说fahcontrol是Python2编的,Ubuntu22.04安装的是python3不兼容,具体我也没弄明白……,反正折腾了一天没装上就只安装了FAHClient
回复

使用道具 举报

发表于 2023-2-15 17:28:52 | 显示全部楼层
兄弟抬举了,这篇图文并茂,注解清晰,比我写的好太多,我那篇实在不适合入门学习,只起到抛砖引玉的效果吧

评分

参与人数 1基本分 +20 收起 理由
金鹏 + 20 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2023-2-15 19:58:54 | 显示全部楼层
flybike007. 发表于 2023-2-15 11:44
我以前自己装的时候有问题,也参考了lynt的帖子,在https://foldingforum.org/论坛也搜索过,好像说fahco ...

照我这个装没啥问题,我装了3次都是一次过。
你可以试试看。
回复

使用道具 举报

发表于 2023-2-16 10:02:48 | 显示全部楼层
Keyco 发表于 2023-2-15 19:58
照我这个装没啥问题,我装了3次都是一次过。
你可以试试看。

好的,我周末试一下,谢谢大佬
回复

使用道具 举报

发表于 2023-2-18 16:46:20 | 显示全部楼层
Keyco 发表于 2023-2-15 19:58
照我这个装没啥问题,我装了3次都是一次过。
你可以试试看。

兄弟4090超频过度么?没产出分数啥情况
回复

使用道具 举报

 楼主| 发表于 2023-2-18 17:01:03 | 显示全部楼层
金鹏 发表于 2023-2-18 16:46
兄弟4090超频过度么?没产出分数啥情况

这次用的是AMD的GPU服务器,然后东西搬到仓库之后,发现导轨买错了。没地方装。等新导轨到货。4090还在上海睡觉,等我下一批货运来韩国的时候再跑。暂时先3080跑着。





回复

使用道具 举报

发表于 2023-2-18 23:48:18 | 显示全部楼层
金鹏 发表于 2023-2-18 16:46
兄弟4090超频过度么?没产出分数啥情况

问下金版大佬是不是用同名知乎
回复

使用道具 举报

发表于 2023-2-19 11:00:19 | 显示全部楼层
Keyco 发表于 2023-2-18 17:01
这次用的是AMD的GPU服务器,然后东西搬到仓库之后,发现导轨买错了。没地方装。等新导轨到货。4090还在上 ...

兄弟看看是不是PASSKEY输错了,你没分数产出呢
回复

使用道具 举报

发表于 2023-2-19 11:00:53 | 显示全部楼层
wuzhenan 发表于 2023-2-18 23:48
问下金版大佬是不是用同名知乎

不是我,天下金鹏千千万
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-28 02:35

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表