在 AlmaLinux 8.10 上部署 ComfyUI

最近买了一张 V100,为了爽玩 AI 绘图,我单独组装了一台 X99 平台主机来运行 ComfyUI。操作系统方面,我选择了 AlmaLinux 8.10,看中的是其稳定性以及对多版本 Python 的良好支持。

硬件介绍

显卡本体

Tesla V100 显卡展示(和RTX2080Ti同框):
01.jpg
安装到转接板上:
02.jpg
转接板是200买的,虽然比最便宜的99元转接板贵了一倍,但用的是原装座子,原装座子的转接板就算是10X10CM的小板子都170+了。我加多30,买个带温控的,尺寸大一点的板,还自带螺栓孔位固定,完美安装,他不香吗?
装上散热器后的样子:
03.jpg
我为了尽可能降低温度,延长使用寿命,买了最大的散热器,到手发现确实巨大无比,比想象中的要大得多。但是其实现在看,买小一号的9CM高度的可能更合适,因为更好安装8CM风扇,不会浪费散热面积。我最后还是选择了8CM的风扇来散热,放弃了之前使用12CM风扇的想法——因为没办法彻底吹透散热器,温度还高。
装上风扇Be Like:
04.jpg
因为两边会漏风,导致无法彻底吹透散热器,所以搞了一张纸包了一下,迫使气流贯穿散热器。

配套硬件平台

开头我先说一下我踩到的坑,首先平台选择就先栽了一头:一开始我想用我闲置的H61平台来带这个玩意,而且也确认看过那个主板有Above 4G Decoding选项,也打开了,但是就是死活没办法驱动这个显卡,系统识别到了这个设备,但是NVIDIA驱动无法初始化设备,导致无法使用。这个问题折磨了我很久,检查日志具体表现是:

[root@Neko-P104 ~]# dmesg | tail -100 | grep -i -E 'nvidia|nvrm|gpu|bar'
[    3.121900] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
               NVRM: BAR4 is 0M @ 0x0 (PCI:0000:01:00.0)
[    3.121902] NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
               NVRM: BAR5 is 0M @ 0x0 (PCI:0000:01:00.0)
[    3.322080] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  580.105.08  Tue Apr  8 12:41:17 UTC 2025
[    3.369648] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  580.105.08  Tue Apr  8 12:09:34 UTC 2025
[    3.376189] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    3.376192] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[  112.149308] caller _nv041720rm+0x3a/0xb0 [nvidia] mapping multiple BARs
[  112.163383] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0x72:1568)
[  112.163415] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
[  112.285687] nvidia-uvm: Loaded the UVM driver, major device number 237.
[  379.801748] caller _nv041720rm+0x3a/0xb0 [nvidia] mapping multiple BARs
[  379.815873] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x24:0x72:1568)
[  379.815912] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0

这表明:

  • BAR 分配失败:GPU 的某些地址空间没有正确映射到系统内存中。
  • RmInitAdapter 失败:驱动尝试初始化 GPU 时遇到了错误,无法完成初始化。

所以这是平台限制,必须换平台了。后面我在我主力机(X99双路服务器)上面强行安装上显卡,结果成功驱动了。
作死照片:
05.jpg
于是,我就从我家NAS拆了这套X99,然后NAS换回H61,因为NAS用X99本来就性能过剩。之前手痒痒给家里云升级了X99,现在又被拆走,回归最开始的H61,这算是回归本质了()
以下是配置:

  • 主板:山寨X99主板,H81芯片组魔改。
  • CPU:E5-2630 v4
  • 内存:SK REG ECC DDR4 2133p 2Rx4 16G 两条
  • 硬盘:500G机械硬盘
  • GPU:Tesla V100

装好起来就长这样了:
06.jpg
如果你仔细观察的话,你会发现带显卡的是独立的服务器电源,也就是这个电脑用了两个电源。问就是靠继电器触发服务器电源给显卡提供额外的12V供电,继电器的电源是主电源的12V供电,这样就可以同步上电。这样就可以不用花这么多钱买大电源了,而且服务器拆机电源用料还好,垃圾佬基本操作()搁这装炸弹呢(bushi
硬件介绍完了,接下来就开始折腾吧!

驱动安装

因为默认安装的AlmaLinux 8.10并没有自带NVIDIA驱动,所以,我我们需要手动安装驱动。具体的操作我博客之前的文章有介绍过,可以搜索看一下,这里我就简要过一遍:

yum install epel-release
dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/$(uname -i)/cuda-rhel8.repo
dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms
dnf module install nvidia-driver:580-dkms

安装完成后,重启,执行nvidia-smi能看到显卡信息,就说明成功了:

[rin@Neko-P104 ~]$ nvidia-smi 
Fri Dec  5 20:50:54 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.105.08             Driver Version: 580.105.08     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  Tesla V100-SXM2-16GB           Off |   00000000:03:00.0 Off |                    0 |
| N/A   45C    P0            153W /  300W |    2733MiB /  16384MiB |     99%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A          319443      C   ...2a49dd2e4e7a546c540f/rend.exe       2730MiB |
+-----------------------------------------------------------------------------------------+

部署 ComfyUI

截至我写这篇文章的时候,ComfyUI的版本为0.3.76,本文写的教材都是在这个版本下进行操作的,进行参考时请注意。
由于0.3.76版本的ComfyUI推荐Python版本是3.12,我们需要安装Python3.12。得益于AlmaLinux8.10支持多版本Python共存安装,事情变得很简单,不需要Anaconda这种东西。而且这个机器因为是单一的服务器用途,大概率相关的Python项目只会部署一个ComfyUI,所以直接在系统的Python环境部署即可。
安装Python3.12:

yum install python3.12 python3.12-pip

下载并解压ComfyUI:

wget https://github.com/comfyanonymous/ComfyUI/archive/refs/tags/v0.3.76.zip
unzip v0.3.76.zip
rm v0.3.76.zip

安装依赖环境:

cd ComfyUI-0.3.76/
pip3.12 install -r requirements.txt

如果你之前用过Stable Diffusion WebUI的话,可以照着extra_model_paths.yaml.example创建一个extra_model_paths.yaml,导入之前的模型。
取消注释对应的部分,填上路径就可以了:

a111:
     base_path: /home/rin/stable-diffusion-webui/
     checkpoints: models/Stable-diffusion
     configs: models/Stable-diffusion
     vae: models/VAE
     loras: |
          models/Lora
          models/LyCORIS
     upscale_models: |
                   models/ESRGAN
                   models/RealESRGAN
                   models/SwinIR
     embeddings: embeddings
     hypernetworks: models/hypernetworks
     controlnet: models/ControlNet

一切设置妥当后,就可以ComfyUI启动了:

python3.12 main.py --listen 0.0.0.0

不出意外的话,访问服务器的IP地址+8188端口(例如192.168.6.6:8188)就可以看到界面了。尝试跑几张图,没问题就部署完成了。

缺失模型下载技巧

如果你的服务器位于国内,因为众所周知的原因,是没办法根据它给出的地址直接用wget拉取的,但是我发现了一个小技巧,不需要给服务器魔法上网环境,也可以高速拉取模型。
例如,使用这个模板的时候缺失了模型:
07.png
点击复制连接,然后找一台国外的VPS使用curl来获取下载连接:

NyankoHost [~]# curl https://huggingface.co/lightx2v/Qwen-Image-Lightning/resolve/main/Qwen-Image-Lightning-8steps-V1.0.safetensors
Found. Redirecting to https://cas-bridge.xethub.hf.co/xet-bridge-us/689761ce345c5cafa2ebc6a6/dbc67890a57bd825922462d911e0d32c7ee7706ee7985f8ddf105b615a1e8e32?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20251205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251205T131704Z&X-Amz-Expires=3600&X-Amz-Signature=84def4e6cfc1dcd8ba5d646142f7d19680a030829568a0f67b4a887d35ecdb4b&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27Qwen-Image-Lightning-8steps-V1.0.safetensors%3B+filename%3D%22Qwen-Image-Lightning-8steps-V1.0.safetensors%22%3B&x-id=GetObject&Expires=1764944224&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDk0NDIyNH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82ODk3NjFjZTM0NWM1Y2FmYTJlYmM2YTYvZGJjNjc4OTBhNTdiZDgyNTkyMjQ2MmQ5MTFlMGQzMmM3ZWU3NzA2ZWU3OTg1ZjhkZGYxMDViNjE1YTFlOGUzMioifV19&Signature=coo9prmThYpuZYwNqFpZafSP8LHUXhb4DYd6PZbIn4EnSgC%7EDQP6gE3EneVg4I-1-QJcoGBj1lihIWOn8qkrtH5xJfekUCYSSzA1m8jQl89MmrxUxwEZEfYBR3ZturhNeXY5FOdqiYElE98gqr7LHocp0ue5EJJUCbYmlwlJGr4HnwqpM7VkvN1MAATGsIwUbztXOvsvPD6WyjxFGPfeHUPidQVWfCkZiMm-yDHFWRyMT3TYeh6YH8f0ZsVPO2TMvBUFcKRjaGoyKUOHA0EuCz0yKH%7EfrLzkqAVsc2V9MpWEVE5gcCseZufIFFLPDg7garAB%7E2wJddHK4WPw5H-K9g__&Key-Pair-Id=K2L8F4GPSG1IFC
NyankoHost [~]# 

获取到了下载连接后,我们在服务器上进入对应的目录位置进行拉取:

cd ComfyUI-0.3.76/models/loras/
wget -O Qwen-Image-Lightning-8steps-V1.0.safetensors 'https://cas-bridge.xethub.hf.co/xet-bridge-us/689761ce345c5cafa2ebc6a6/dbc67890a57bd825922462d911e0d32c7ee7706ee7985f8ddf105b615a1e8e32?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20251205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251205T131704Z&X-Amz-Expires=3600&X-Amz-Signature=84def4e6cfc1dcd8ba5d646142f7d19680a030829568a0f67b4a887d35ecdb4b&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27Qwen-Image-Lightning-8steps-V1.0.safetensors%3B+filename%3D%22Qwen-Image-Lightning-8steps-V1.0.safetensors%22%3B&x-id=GetObject&Expires=1764944224&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDk0NDIyNH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82ODk3NjFjZTM0NWM1Y2FmYTJlYmM2YTYvZGJjNjc4OTBhNTdiZDgyNTkyMjQ2MmQ5MTFlMGQzMmM3ZWU3NzA2ZWU3OTg1ZjhkZGYxMDViNjE1YTFlOGUzMioifV19&Signature=coo9prmThYpuZYwNqFpZafSP8LHUXhb4DYd6PZbIn4EnSgC%7EDQP6gE3EneVg4I-1-QJcoGBj1lihIWOn8qkrtH5xJfekUCYSSzA1m8jQl89MmrxUxwEZEfYBR3ZturhNeXY5FOdqiYElE98gqr7LHocp0ue5EJJUCbYmlwlJGr4HnwqpM7VkvN1MAATGsIwUbztXOvsvPD6WyjxFGPfeHUPidQVWfCkZiMm-yDHFWRyMT3TYeh6YH8f0ZsVPO2TMvBUFcKRjaGoyKUOHA0EuCz0yKH%7EfrLzkqAVsc2V9MpWEVE5gcCseZufIFFLPDg7garAB%7E2wJddHK4WPw5H-K9g__&Key-Pair-Id=K2L8F4GPSG1IFC'

然后你就能获得起飞一般的下载速度:

[rin@Neko-P104 loras]$ wget -O Qwen-Image-Lightning-8steps-V1.0.safetensors 'https://cas-bridge.xethub.hf.co/xet-bridge-us/689761ce345c5cafa2ebc6a6/dbc67890a57bd825922462d911e0d32c7ee7706ee7985f8ddf105b615a1e8e32?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20251205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251205T131704Z&X-Amz-Expires=3600&X-Amz-Signature=84def4e6cfc1dcd8ba5d646142f7d19680a030829568a0f67b4a887d35ecdb4b&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27Qwen-Image-Lightning-8steps-V1.0.safetensors%3B+filename%3D%22Qwen-Image-Lightning-8steps-V1.0.safetensors%22%3B&x-id=GetObject&Expires=1764944224&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDk0NDIyNH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82ODk3NjFjZTM0NWM1Y2FmYTJlYmM2YTYvZGJjNjc4OTBhNTdiZDgyNTkyMjQ2MmQ5MTFlMGQzMmM3ZWU3NzA2ZWU3OTg1ZjhkZGYxMDViNjE1YTFlOGUzMioifV19&Signature=coo9prmThYpuZYwNqFpZafSP8LHUXhb4DYd6PZbIn4EnSgC%7EDQP6gE3EneVg4I-1-QJcoGBj1lihIWOn8qkrtH5xJfekUCYSSzA1m8jQl89MmrxUxwEZEfYBR3ZturhNeXY5FOdqiYElE98gqr7LHocp0ue5EJJUCbYmlwlJGr4HnwqpM7VkvN1MAATGsIwUbztXOvsvPD6WyjxFGPfeHUPidQVWfCkZiMm-yDHFWRyMT3TYeh6YH8f0ZsVPO2TMvBUFcKRjaGoyKUOHA0EuCz0yKH%7EfrLzkqAVsc2V9MpWEVE5gcCseZufIFFLPDg7garAB%7E2wJddHK4WPw5H-K9g__&Key-Pair-Id=K2L8F4GPSG1IFC'
--2025-12-05 21:21:03--  https://cas-bridge.xethub.hf.co/xet-bridge-us/689761ce345c5cafa2ebc6a6/dbc67890a57bd825922462d911e0d32c7ee7706ee7985f8ddf105b615a1e8e32?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20251205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251205T131704Z&X-Amz-Expires=3600&X-Amz-Signature=84def4e6cfc1dcd8ba5d646142f7d19680a030829568a0f67b4a887d35ecdb4b&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27Qwen-Image-Lightning-8steps-V1.0.safetensors%3B+filename%3D%22Qwen-Image-Lightning-8steps-V1.0.safetensors%22%3B&x-id=GetObject&Expires=1764944224&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDk0NDIyNH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82ODk3NjFjZTM0NWM1Y2FmYTJlYmM2YTYvZGJjNjc4OTBhNTdiZDgyNTkyMjQ2MmQ5MTFlMGQzMmM3ZWU3NzA2ZWU3OTg1ZjhkZGYxMDViNjE1YTFlOGUzMioifV19&Signature=coo9prmThYpuZYwNqFpZafSP8LHUXhb4DYd6PZbIn4EnSgC%7EDQP6gE3EneVg4I-1-QJcoGBj1lihIWOn8qkrtH5xJfekUCYSSzA1m8jQl89MmrxUxwEZEfYBR3ZturhNeXY5FOdqiYElE98gqr7LHocp0ue5EJJUCbYmlwlJGr4HnwqpM7VkvN1MAATGsIwUbztXOvsvPD6WyjxFGPfeHUPidQVWfCkZiMm-yDHFWRyMT3TYeh6YH8f0ZsVPO2TMvBUFcKRjaGoyKUOHA0EuCz0yKH%7EfrLzkqAVsc2V9MpWEVE5gcCseZufIFFLPDg7garAB%7E2wJddHK4WPw5H-K9g__&Key-Pair-Id=K2L8F4GPSG1IFC
Resolving cas-bridge.xethub.hf.co (cas-bridge.xethub.hf.co)... 13.33.183.18, 13.33.183.37, 13.33.183.46, ...
Connecting to cas-bridge.xethub.hf.co (cas-bridge.xethub.hf.co)|13.33.183.18|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1698951104 (1.6G)
Saving to: ‘Qwen-Image-Lightning-8steps-V1.0.safetensors’

Qwen-Image-Lightning-8steps-V1.0.safetens 100%[==================================================================================>]   1.58G  28.8MB/s    in 1m 3s   

2025-12-05 21:23:08 (13.1 MB/s) - ‘Qwen-Image-Lightning-8steps-V1.0.safetensors’ saved [1698951104/1698951104]

[rin@Neko-P104 loras]$ 

能这么操作的原因是,huggingface.co的域名被阻断了,而真正用于分发下载的cas-bridge.xethub.hf.co域名并没有被阻断,而且因为是亚太的amazon节点,速度还很快。

番外:V100 的 SheepIt 战力

我用顺带跑了一下SheepIt渲染农场的渲染速度,测试了几次,基本上就是大概116%的算力,还是可以的。
08.png