2024 年云原生运维实战文档 99 篇原创计划 第 013 篇 |玩转 AIGC「2024」系列 第 003 篇
你好,欢迎来到运维有术。
今天分享的内容是 玩转 AIGC「2024」 系列文档中的 打造本地 AI 大模型地基,PVE 制作 Ubuntu 24.04 LTS 模板。
本文将详细介绍如何在 PVE 虚拟化中安装操作系统 Ubuntu 24.04 LTS 并制作成模板,同时详细讲解如何用命令行基于 Ubuntu 24.04 LTS 模板快速创建 AI 大模型云主机。
本文选择纯矿卡 NVIDIA P104-100 作为演示,配置方法同样适用于其他型号显卡。
本文选择最新版的 Ubuntu 24.04 LTS 作为演示,配置方法同样适用于其他操作系统。
本系列文档的实验环境是基于 PVE 虚拟化构建,因此,部分文档中会涉及一些 PVE 虚拟化的使用方法和操作技巧。不感兴趣的你可以忽略只看关注点。
Ubuntu 24.04 LTS 近期刚刚发布正式版,我们来体验一下 Ubuntu 24.04 LTS 是否适合作为我们 AI 云主机的底层操作系统。
由于是个人使用,暂不考虑稳定性如何,只考虑常用软件是否能运行适配。生产环境还是首选 Ubuntu 22.04 LTS
将安装好的 Ubuntu 24.04 LTS 系统制作成 PVE 通用模板,方便后续实验使用。
# 安装必须的包
sudo apt-get install qemu-guest-agent cloud-init
sudo cloud-init clean --machine-id
注意: 必须执行,否则会导致后续的 Cloud-Init 配置无效
sudo apt autoclean all
# 注意 history 跟命令提示符 $ 之间加一个空格
$ history -c && init 0
在 PVE 管理控制台中,在虚拟机名称上点击「右键」,选择「转换成模板」。
接下来,我们利用刚刚创建的 Ubuntu 24.04 LTS 模板,创建一台虚拟机用作 AI 大模型云主机。
创建虚拟机的方式有两种:
通过图形化控制台创建虚拟机比较简单,一步一步按页面提示操作即可。本文演示如何通过命令行在 PVE 中创建一台虚拟机。
创建的虚拟机配置信息如下:
虚拟机名称: AI-LLM-Prod
配置:8C,32G
系统盘: 40G
数据盘: 500G
虚拟机 IP 掩码: 192.168.2.30/24
虚拟机网关:192.168.2.254
虚拟机用户名: ubuntu
利用 SSH 登录 PVE 主机,编辑自动创建虚拟机的 Shell 脚本 , vi create-ai-llm.sh
#!/bin/bash
# 定义虚拟机 ID,随便写不跟现有虚拟机 ID 冲突即可
id=200
# 利用 Ubuntu 24.04 LTS 模板对应的虚拟机 ID 108 创建虚拟机 AI-LLM-Prod,采用完全克隆模式,完整复制系统盘,并将虚拟机存储在 pve 中名称为 zfs-nvme 的存储中
qm clone 108 ${id} --name AI-LLM-Prod -full true -storage zfs-nvme
# 设置虚拟机 CPU 为8核,内存为 32G
qm set ${id} --sockets 2 --cores 4 --memory 32768
# 虚拟机添加一块网卡并使用网桥 vmbr0
qm set ${id} --net0 model=virtio,bridge=vmbr0
# 虚拟机添加 500G的数据盘,存储使用跟系统盘一样的 zfs-nvme
qm set ${id} --scsi1 iothread=1,zfs-nvme:500
# 添加 CloudInit 设备,存储使用跟系统盘一样的 zfs-nvme
qm set ${id} --ide0 zfs-nvme:cloudinit
# 利用 CloudInit 设置虚拟机网络及账户
# DNS 114.114.114.114,IP及掩码 192.168.2.31/24,网关 192.168.2.254,用户名 ubuntu,密码 OpsXlab2024!,--ciupgrade 0 不自动更新系统
qm set ${id} --nameserver 114.114.114.114 --ipconfig0 ip=192.168.2.30/24,gw=192.168.2.254 --ciuser ubuntu --cipassword OpsXlab2024! --ciupgrade 0
# 启动虚拟机
qm start ${id}
执行脚本创建虚拟机,过程如下:
root@pve9:~# sh create-ai-llm.sh
create full clone of drive scsi0 (local:108/base-108-disk-0.qcow2)
transferred 0.0 B of 40.0 GiB (0.00%)
transferred 430.1 MiB of 40.0 GiB (1.05%)
transferred 856.1 MiB of 40.0 GiB (2.09%)
transferred 1.2 GiB of 40.0 GiB (3.12%)
......(受限于篇幅,内容有省略)
transferred 39.7 GiB of 40.0 GiB (99.13%)
transferred 40.0 GiB of 40.0 GiB (100.00%)
transferred 40.0 GiB of 40.0 GiB (100.00%)
update VM 200: -cores 4 -memory 32768 -sockets 2
update VM 200: -net0 model=virtio,bridge=vmbr0
update VM 200: -scsi1 iothread=1,zfs-nvme:500
scsi1: successfully created disk 'zfs-nvme:vm-200-disk-1,iothread=1,size=500G'
update VM 200: -ide0 zfs-nvme:cloudinit
ide0: successfully created disk 'zfs-nvme:vm-200-cloudinit,media=cdrom'
generating cloud-init ISO
update VM 200: -cipassword <hidden> -ciupgrade 0 -ciuser ubuntu -ipconfig0 ip=192.168.2.30/24,gw=192.168.2.254 -nameserver 114.114.114.114
generating cloud-init ISO
创建完成的虚拟机配置信息如下:
参考打造本地大模型地基,PVE 配置显卡直通,将物理显卡分配给新创建的 Ubuntu 24.04 LTS 云主机。
正确配置截图
添加完成后,点击「关机」关闭虚拟机。再点击「启动」,打开虚拟机。
ubuntu@AI-LLM-Prod:~$ sudo dmesg | grep -i nvidia
[ 3.441875] nouveau 0000:00:10.0: NVIDIA GP104 (134000a1)
以上,就是今天分享的内容,下一期我们会分享如何在 AI 云主机 Ubuntu 24.04 LTS 中安装 NVIDIA Container Toolkit ,如何用 Docker 容器方式部署大模型运行管理器 Ollama 并使用 GPU 运行大模型。敬请持续关注!!!
免责声明:
Get 本文实战视频(请注意,文档视频异步发行,请先关注)
如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @ 运维有术,及时收看更多好文!
欢迎加入 「知识星球|运维有术」 ,获取更多的 KubeSphere、Kubernetes、云原生运维、自动化运维、AI 大模型等实战技能。未来运维生涯始终有我坐在你的副驾。
版权声明
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。