如何迁移整个深度学习服务器? [目标服务器不能连接外网] - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rjagge
V2EX    程序员

如何迁移整个深度学习服务器? [目标服务器不能连接外网]

  •  
  •   rjagge 333 天前 2203 次点击
    这是一个创建于 333 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位老哥, 接到老板需求需要迁移深度学习平台从[旧服务器]到[新服务器]: 需要把这些旧服务器环境, 数据, 和 llm 的模型参数全部搬迁到一个新服务器

    [旧服务器介绍] 是 ubuntu 系统, 然后通过 pytorch, trasnformers 等框架进行大语言模型的训练, 然后使用 conda 进行 python 的包管理[大概的意思, 标准的深度学习环境]. 旧服务器下载了三个 70b 的模型,用于本地部署.

    [新服务器介绍] 新服务器有安全保护限制不能够连接到互联网. 也就是说, pip install, apt install 以及下载模型参数都不被允许.

    [可能的方案] 我个人有限的认知是通过 docker 一次性打包.

    我接到的通知是, 我只能够通过在机房内通过物理上传的方式进行实验环境的移植. 老哥们有什么好的方法和建议, 能够方便的做这个移植的事情吗?[小弟从未搞过离线移植]

    23 条回复    2024-11-11 20:07:06 +08:00
    chihiro2014
        1
    chihiro2014  
       333 天前
    把硬盘拔了,装到新服务器
    defunct9
        2
    defunct9  
       333 天前
    docker 是行不通的。直接打包旧服务器的东西,然后传到新服务器上即可。难度不大,就是细节,不要遗漏
    rjagge
        3
    rjagge  
    OP
       333 天前
    @defunct9 为什么 docker 行不通呢?
    rjagge
        4
    rjagge  
    OP
       333 天前
    @defunct9 [直接打包旧服务器的东西] 我的理解是打包 conda 环境, apt 依赖, 数据和模型; 还有其它我遗漏的吗
    rjagge
        5
    rjagge  
    OP
       333 天前
    @chihiro2014 那必然是不行的....我们原来的服务器还要继续使用..
    defunct9
        6
    defunct9  
       333 天前
    东西得在 docker 里才能用 docker 打包,不在你打进去也没用啊。看你的描述没在里面
    Vraw5
        7
    Vraw5  
       333 天前   3
    dd 拷整个硬盘过去
    sampeng
        8
    sampeng  
       333 天前
    把新服务器搬出来装好再放回去。。。
    k9982874
        9
    k9982874  
       333 天前 via Android
    7 楼正解,硬件差别不大直接 dd 过去,改 boot loader 完事
    ugpu
        10
    ugpu  
       333 天前
    除非可以克隆硬盘, 或者镜像.
    不然就写脚本重新部署 & 找个脚本打印所有系统环境安装的版本信息? github 找找?

    这种所谓的 手动“迁移” 到最后 你会发现莫名其妙的启不来 & 少了 lib & lib 版本对不上
    momocraft
        11
    momocraft  
       333 天前   1
    写个 Dockerfile ,在 docker build 时把需要下载的东西全部下载好
    docker export 成文件
    在内网机器 docker import 那个文件
    riazjack218
        12
    riazjack218  
       333 天前
    如果有群辉的话,可以尝试下群辉的系统备份
    mgrddsj
        13
    mgrddsj  
       333 天前
    Conda 环境可以通过 `conda info -e` 找到位置。
    Transformer 等模型如果是通过 Hugging Face 下载的话,那应该会在 `~/.cache/huggingface/` 目录下,这玩意估计挺容易忽略的。
    以及由于数据通常都比较大,推荐用 ncdu 命令(或单纯的 du )找到大文件的位置,并迁移。
    其它的就只有搬完之后试试才知道了。
    Solix
        14
    Solix  
       333 天前
    整盘做个镜像,然后镜像恢呢
    paopjian
        15
    paopjian  
       333 天前
    除了 cuda 驱动问题,其他一切都不是问题,恶心的只有环境问题, 省事的方法就是模拟新机器环境,先用 pip 把包都下好,再压缩放到新机器里
    rjagge
        16
    rjagge  
    OP
       333 天前
    @Vraw5
    @k9982874 这个我考虑过, 目标服务器是一个集群, 不是我们单独拥有的, 不知道能不能这样搞- -
    Vraw5
        17
    Vraw5  
       333 天前
    @rjagge #16 开多方会议,确定能不能行。如果不 dd 的话,先把旧的数据 rsync 到临时硬盘,需要的镜像啥的都弄进去,临时硬盘插新机器上,新机器做新部署,需要啥东西就从临时硬盘 rsync
    Hengtang
        18
    Hengtang  
       333 天前
    conda 好说,包默认都在 conda 目录下面,pip 的包也相对集中。

    如果只是这俩安装的依赖倒还简单,直接复制就行,然后把模型的目录拷一下,一般是.cache 。

    但是如果有其它依赖比如 apt 那就不好弄了,基本得重装或者磁盘拷贝。

    dd 整机备份就行,服务器集群无非就是还原到虚拟盘的事情。
    ```shell
    dd status=progress if=/dev/sda | gzip > /mnt/mounted_drive/backup.gz
    ```
    Vraw5
        19
    Vraw5  
       333 天前
    @Vraw5 #17 另外一个方法就是新机器硬盘拿出来,找个其他联网机器做环境,然后插回去(有无引入安全隐患靠自己判断)
    coefu
        20
    coefu  
       333 天前
    https://docs.vmware.com/en/vCenter-Converter-Standalone/index.html 可以试试这个工具。新的机器虚拟化更好。
    coefu
        21
    coefu  
       333 天前
    VMware 这种工业级的东西,应该还是靠谱的。
    pagxir
        22
    pagxir  
       333 天前 via Android
    @rjagge #3 因为他不会。直接整个系统打包过去就好了,你可以用 lxc/lxd/docker/libvirt-lxc 运行老的环境,如果需要安装新系统但是不想重新配置老环境的话。
    mazyi
        23
    mazyi  
    PRO
       333 天前
    换硬盘
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2639 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:14 PVG 23:14 LAX 08:14 JFK 11:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86