老板新到了一个服务器,我应该如何配置,并做一个优秀的管理员?

329 天前
 rjagge

如题,老板拿了一个全新的服务器给我管理,有四张 4090 给组内的同学使用。我们主要是搞机器学习,所以 conda 这些就够了。

那么问题来了:

  1. 如何最干净地装 conda 然后管理 python 环境呢?

以及以前用服务器都是以 user 身份,或者一台机器就我一个人 root 随便用,我不太清楚如何才能做好不同用户的权限管理和数据管理。对此,有没有相关经验的老哥传授给小弟一些经验呀?

  1. 如何做到 user 们的权限和数据空间分配?

最后,有其他任何关于服务器运维有用的小建议也希望老哥们不吝赐教~小弟在这里先谢谢了🙏

6090 次点击
所在节点    程序员
43 条回复
rjagge
329 天前
@alteremliu 学校的运维有监控的,看你挖矿直接一个红牌警告
my3157
329 天前
@rjagge 有,现在虚拟化几乎不损失性能,做好隔离最重要,不然不给 root 权限,有些操作又需要,不给等开一次误操作啥的,就该哭了
salmon5
329 天前
想了下,还不如弄个云账号,物理机折腾起来太烦了,但是学生有时间
dann73580
329 天前
如果会配置,虚拟机的优势还是比较明显的,资源隔离,虚拟机玩炸了也不怕炸母鸡。如果考虑到抢占需求可以适当超配一些资源。
bitllion
329 天前
作为一名 HPC 管理员,没必要用 pve ,虽然我这里部分生产环境的机器用了 pve 做 a100 直通,但对于你们人少后续维护不是很方便。给你这样的规划:
thinkershare
329 天前
没啥好办法,这个场景我也遇到过,每种解决方案都有问很多问题。要不性能不行,要不普通用户有时候也需要 root 权限来实施一些操作,这个时候作为管理员的你就需要帮他们做一些维护工作了。推荐 docker 的都是有坑,不要用 docker.
sunny2580839896
329 天前
ssh 哥,内网咋给你开
sunny2580839896
329 天前
我有预感,你这帖子 ssh 哥肯定会来
bitllion
329 天前
@bitllion slurm 做调度,还可以配置 mail 提醒作业状态,zerotire 等 vpn 做异地 vpn,放假出差在外也能连 server ,使用 spack 包管理器安装软件,软件都是 root 安装,普通用户只有使用权限
rjagge
329 天前
@bitllion 我等你的规划:
rjagge
329 天前
@bitllion 收到,slurm zerotire spack 这些我都不太清楚,我去研究研究下!
EVANGELIONAir
329 天前
入学的时候组里准备搞深度学习,我负责维护,搞了四五台,多卡、8 卡都有,扔实验室地下室,教育网公网 ip ,校内可直接远程访问,bios 开断电后来电自启
所处专业和计科完全不搭边,同门的计算机水平都挺拉,考虑到网上资料比较多用的是 ubuntu ,同门遇到问题比较好查资料解决,就用了 ubuntu 22.04 lts ,每个人都给了管理员权限(这应该是错误做法,但考虑同门计算机水平我觉得做不出什么奇葩事,再加上基本环境我都配好了他们也不需要装什么包,以后会考虑关掉权限),远程就靠 xrdp 或者 ssh 弄带 gui 不无 gui 的,一方面还可以直接用控制端用 pycharm 或者 vscode 远程
装了 anaconda pycharm matlab ,基本上软件都进/opt 文件夹这样每个用户都能用到不用重复装,conda 的新建 env 都在每个用户自己的文件夹下,有效隔离开
cuda 也装了最新的,我认为 cuda 版本没什么好纠结的,毕竟 conda 新建 env 后环境隔离的,本机 cuda 版本不影响环境

我也算是被强行拉来负责这块内容的,主要是以前虚拟机玩过好几次不同发行版,大概清楚一个操作情况

这些服务器的配置做法肯定是有问题的,我暂时说一下我的情况,如果各位有建议也希望多提

总之现在比较后悔用 ubuntu ,应当用 debian ,尤其是 12 开放非自由固件
defunct9
329 天前
@sunny2580839896 我早就来了。我来操作的话,和 tin3w5 说的完全一致。用 kvm ,保证宿主机的干净整洁。多开台虚机跑 prometheus 和 grafana 监控,没啥了。
wangmou
329 天前
楼上实验室怎么这么复杂。。。我们都是多卡 T4 ,直接一个人分一个普通账号就行了。每个人自己安装 conda 在自己 home 下互不冲突,每个人没有权限杀死别人的进程或者删除别人的文件。CUDA 由管理员控制,大家固定一个版本号使用,这就够了。
wangmou
329 天前
尤其是楼上分配虚拟机的方案,某一学生同时需要多卡怎么办,不给他用还是去后台重新分配资源?
tin3w5
329 天前
@rjagge @Chipmunker 忘记了现在都流行管导师叫老板的事情了……😂

其实有的时候选择虚拟化也是没办法,大家的水平参差不齐,有的人可能连基本操作都不会,有的人可能看着网上的文章就傻逼呵呵的升级系统 glibc ,升级完之后发现崩了……天天处理这些鬼畜问题,自己的事情还要不要做了?他们可能后因为某些事情或者特定的需求要求必须要获得 root 权限(比如要操作 selinux 、iptables 等),你给他一个虚拟机的 root ,他如果作死死就死他一个。如果没有虚拟化,就是大家一起给他陪葬。
之前就有学弟喝酒的时候说过,出现过情人节整根女友 papapa ,一个夺命连环 call 过来说第二天要搞一个什么展示,但是系统被某个白痴搞坏了,要求当天晚上必须搞好……嗯,当天晚上的确搞好了,但是他彻底萎了。
拿多少钱办多大事,真的有多个 gpu 使用的需求,找老板批条子去。不要想着给别人多创造多少福利,先想好做了某些事情会不会因此而背锅才是正道。
yulgang
329 天前
给我也开个 ssh 看看
nightwitch
329 天前
实际管过 gpu hpc 差不多一年,虚拟机的方案就是扯淡。机器学习经常要调用多张 gpu 一起训练,不支持 vGPU 的显卡实现不了
nightwitch
329 天前
用 slurm 这种任务调度的软件是最方便的,超算用户都在用。会自动调度任务,让不同用户的任务排队跑,不会互相争抢资源。
DissDoge
329 天前
对于服务器管理和权限管理的,以下是一些建议:
1. 安装和管理 Conda:可以按照 Conda 官方文档提供的指引进行安装。确保选择适合服务器操作系统的安装方式,并按照最佳实践设置 Conda 环境。安装后,您可以使用 Conda 创建和管理 Python 环境,方便团队成员进行机器学习工作。

2. 用户权限和数据空间分配:可以采用以下方法来管理用户权限和数据空间:

- 创建用户账号:为每个团队成员创建独立的用户账号,以便管理和跟踪各自的活动。
- 文件和目录权限:设置文件和目录的适当权限,以确保用户只能访问其所需的数据和资源。使用 UNIX 文件权限(如 chmod 和 chown )可以精确控制用户对文件和目录的访问权限。
- 用户组管理:将用户分配到适当的用户组中,并设置组级别的权限,以便共享资源和数据。
- 存储配额:如果需要限制用户的数据空间使用量,可以使用存储配额功能。这样可以确保用户不会占用过多的存储空间。

3. 其他服务器运维建议:

- 定期备份:设置定期备份策略,确保服务器上的重要数据得到备份,以防数据丢失或损坏。
- 安全更新:及时更新服务器操作系统和软件包,以修复安全漏洞并提高系统稳定性。
- 日志管理:配置适当的日志记录,以便跟踪服务器活动和故障排除。
- 监控和警报:设置服务器监控系统,以实时监测服务器性能和资源使用情况,并设置警报以便及时响应问题。
- 强密码策略:要求用户使用强密码,并定期更新密码,以提高服务器的安全性。

这些建议是一般性的指导,具体的服务器管理和权限管理操作可能会因你的服务器配置和需求而有所不同。在实施之前,建议仔细阅读相关文档、参考最佳实践。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/954410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX