[{"data":1,"prerenderedAt":1389},["ShallowReactive",2],{"\u002F2025\u002Fpve-vgpu-principle-deployment-guide":3,"surround-\u002F2025\u002Fpve-vgpu-principle-deployment-guide":1378},{"id":4,"title":5,"body":6,"categories":1355,"date":1357,"description":1358,"draft":1359,"extension":1360,"image":1361,"meta":1362,"navigation":1364,"path":1365,"permalink":1366,"published":1366,"readingTime":1367,"recommend":1366,"references":1366,"seo":1372,"sitemap":1373,"stem":1374,"tags":1375,"type":1376,"updated":1357,"__hash__":1377},"content\u002Fposts\u002F2025\u002Fpve-vgpu-principle-deployment-guide.md","PVE系统下vGPU原理与部署全指南",{"type":7,"value":8,"toc":1279},"minimark",[9,14,19,28,71,75,82,86,187,191,195,239,243,252,265,268,272,282,286,291,296,307,312,318,327,333,338,344,349,355,360,366,371,377,381,386,392,412,416,421,427,433,439,448,453,459,464,470,475,483,487,496,502,507,513,517,522,526,531,537,548,553,559,564,570,574,580,587,593,599,603,626,628,637,641,646,652,658,664,669,675,680,684,693,702,718,724,728,732,737,741,744,749,752,756,761,767,774,778,784,790,793,799,806,809,815,818,824,827,833,836,841,847,852,858,863,869,873,879,883,889,892,895,901,904,909,917,920,923,929,933,939,943,948,952,958,962,965,971,974,980,983,989,994,1000,1004,1009,1013,1015,1020,1026,1029,1036,1041,1045,1048,1051,1054,1058,1061,1072,1075,1081,1084,1087,1095,1098,1101,1109,1112,1118,1121,1124,1129,1132,1143,1147,1150,1154,1157,1174,1177,1180,1182,1185,1188,1191,1205,1208,1251,1254,1266,1268],[10,11,13],"h2",{"id":12},"壹vgpu技术核心原理与架构解析","壹、vGPU技术核心原理与架构解析",[15,16,18],"h3",{"id":17},"_11-什么是vgpu","1.1 什么是vGPU？",[20,21,22,23,27],"p",{},"vGPU（虚拟图形处理单元）是一种通过",[24,25,26],"strong",{},"硬件虚拟化技术","，将物理GPU分割为多个虚拟GPU实例的技术。它通过硬件调度器和专用驱动程序实现GPU资源的细粒度划分与调度管理。",[29,30,31],"ul",{},[32,33,34,37,38],"li",{},[24,35,36],{},"核心优势","：\n",[29,39,40,47,53,59,65],{},[32,41,42,43,46],{},"✅ ",[24,44,45],{},"资源隔离","：每个虚拟机独享独立显存与算力，确保工作负载互不干扰",[32,48,42,49,52],{},[24,50,51],{},"性能保障","：通过NVIDIA vGPU或Intel GVT-g等技术实现接近物理GPU的性能（95%以上性能保持）",[32,54,42,55,58],{},[24,56,57],{},"灵活分配","：按需动态调整虚拟机显存大小，支持热插拔",[32,60,42,61,64],{},[24,62,63],{},"资源监控","：提供细粒度的性能监控和调优能力",[32,66,42,67,70],{},[24,68,69],{},"成本优化","：提高GPU硬件利用率，降低总体拥有成本（TCO）",[15,72,74],{"id":73},"_12-vgpu技术架构","1.2 vGPU技术架构",[20,76,77],{},[78,79],"img",{"alt":80,"src":81},"mermaid","\u002Fassets\u002Fimages\u002Fpve-vgpu-principle-deployment-guide-images\u002Fmermaid-1.png",[15,83,85],{"id":84},"_13-vgpu与直通passthrough的区别","1.3 vGPU与直通（Passthrough）的区别",[87,88,89,105],"table",{},[90,91,92],"thead",{},[93,94,95,99,102],"tr",{},[96,97,98],"th",{},"特性",[96,100,101],{},"vGPU",[96,103,104],{},"GPU直通",[106,107,108,122,135,148,161,174],"tbody",{},[93,109,110,116,119],{},[111,112,113],"td",{},[24,114,115],{},"硬件利用率",[111,117,118],{},"✅ 支持多虚拟机共享GPU",[111,120,121],{},"❌ 单虚拟机独占GPU",[93,123,124,129,132],{},[111,125,126],{},[24,127,128],{},"配置复杂度",[111,130,131],{},"⚠️ 需特定驱动和授权",[111,133,134],{},"⚠️ 需IOMMU\u002FVT-d支持",[93,136,137,142,145],{},[111,138,139],{},[24,140,141],{},"性能损耗",[111,143,144],{},"⚠️ 5%-15%（取决于负载）",[111,146,147],{},"✅ 几乎无损耗",[93,149,150,155,158],{},[111,151,152],{},[24,153,154],{},"灵活性",[111,156,157],{},"✅ 支持动态资源调整",[111,159,160],{},"❌ 固定分配",[93,162,163,168,171],{},[111,164,165],{},[24,166,167],{},"成本效益",[111,169,170],{},"✅ 单卡多用户共享",[111,172,173],{},"❌ 需配置多卡",[93,175,176,181,184],{},[111,177,178],{},[24,179,180],{},"应用场景",[111,182,183],{},"云桌面\u002F轻量AI训练",[111,185,186],{},"重负载图形工作站",[10,188,190],{"id":189},"贰部署前准备","贰、部署前准备",[15,192,194],{"id":193},"_21-硬件兼容性检查","2.1 硬件兼容性检查",[29,196,197,218],{},[32,198,199,37,202],{},[24,200,201],{},"GPU型号要求",[29,203,204,215],{},[32,205,206,207,210],{},"NVIDIA：Tesla\u002FQuadro系列（需购买vGPU授权）",[208,209],"br",{},[211,212,214],"a",{"href":213},"https:\u002F\u002Fmcyre.cc\u002Fposts\u002Fnvidia-vgpu-unlock\u002F","这里查看支持的型号",[32,216,217],{},"Intel：支持GVT-g的CPU+核显（如第11代酷睿处理器）",[32,219,220,37,223],{},[24,221,222],{},"主板要求",[29,224,225,236],{},[32,226,227,228,231,232,235],{},"启用BIOS中的",[24,229,230],{},"Intel VT-d","或",[24,233,234],{},"AMD-Vi","（IOMMU）功能",[32,237,238],{},"确认GPU已正确安装且未被宿主机占用",[15,240,242],{"id":241},"_22-软件环境","2.2 软件环境",[29,244,245],{},[32,246,247,248,251],{},"PVE版本：",[24,249,250],{},"7.0或更高版本","（内核需5.11+）",[20,253,254,260],{},[255,256,257],"em",{},[24,258,259],{},"注意！请不要无脑使用PVE最新系统，请根据驱动支持的最大内核版本进行选择！！！",[255,261,262],{},[24,263,264],{},"注意！PVE系统内核版本过低或过高均可能导致vGPU无法正常工作！！！",[266,267],"hr",{},[10,269,271],{"id":270},"叁开始部署vgpu","叁、开始部署vGPU",[273,274,275],"blockquote",{},[20,276,277,278,281],{},"注意此处的解锁方法仅适用于家用显卡，对于专业显卡请跳转至",[255,279,280],{},"3.2","安装驱动步骤。",[15,283,285],{"id":284},"_31-配置vgpu_unlock","3.1 配置vGPU_Unlock",[287,288,290],"h4",{"id":289},"_311-安装依赖","3.1.1 安装依赖",[20,292,293],{},[24,294,295],{},"创建vgpu_unlock文件夹",[297,298,304],"pre",{"className":299,"code":301,"language":302,"meta":303},[300],"language-bash","mkdir \u002Fetc\u002Fvgpu_unlock\n","bash","",[305,306,301],"code",{"__ignoreMap":303},[20,308,309],{},[24,310,311],{},"创建profile_override.toml文件",[297,313,316],{"className":314,"code":315,"language":302,"meta":303},[300],"touch \u002Fetc\u002Fvgpu_unlock\u002Fprofile_override.toml\n",[305,317,315],{"__ignoreMap":303},[20,319,320],{},[24,321,322,323,326],{},"创建",[305,324,325],{"code":325},"nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d","服务文件",[297,328,331],{"className":329,"code":330,"language":302,"meta":303},[300],"mkdir \u002Fetc\u002Fsystemd\u002Fsystem\u002F{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}\n",[305,332,330],{"__ignoreMap":303},[20,334,335],{},[24,336,337],{},"写入路径信息",[297,339,342],{"className":340,"code":341,"language":302,"meta":303},[300],"echo -e \"[Service]\\nEnvironment=LD_PRELOAD=\u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\u002Flibvgpu_unlock_rs.so\" > \u002Fetc\u002Fsystemd\u002Fsystem\u002Fnvidia-vgpud.service.d\u002Fvgpu_unlock.conf\necho -e \"[Service]\\nEnvironment=LD_PRELOAD=\u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\u002Flibvgpu_unlock_rs.so\" > \u002Fetc\u002Fsystemd\u002Fsystem\u002Fnvidia-vgpu-mgr.service.d\u002Fvgpu_unlock.conf\n",[305,343,341],{"__ignoreMap":303},[20,345,346],{},[24,347,348],{},"重新加载服务",[297,350,353],{"className":351,"code":352,"language":302,"meta":303},[300],"systemctl daemon-reload\n",[305,354,352],{"__ignoreMap":303},[20,356,357],{},[24,358,359],{},"执行完成后，cat下查看服务配置是否与输出内容一致",[297,361,364],{"className":362,"code":363,"language":302,"meta":303},[300],"cat \u002Fetc\u002Fsystemd\u002Fsystem\u002F{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}\u002F*\n",[305,365,363],{"__ignoreMap":303},[20,367,368],{},[24,369,370],{},"输出内容",[297,372,375],{"className":373,"code":374,"language":302,"meta":303},[300],"[Service]\nEnvironment=LD_PRELOAD=\u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\u002Flibvgpu_unlock_rs.so\n[Service]\nEnvironment=LD_PRELOAD=\u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\u002Flibvgpu_unlock_rs.so\n",[305,376,374],{"__ignoreMap":303},[287,378,380],{"id":379},"_312-安装vgpu_unlock","3.1.2 安装vGPU_Unlock",[20,382,383],{},[24,384,385],{},"下载预编译好的libvgpu_unlock_rs.so文件",[297,387,390],{"className":388,"code":389,"language":302,"meta":303},[300],"mkdir -p \u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\ncd \u002Fopt\u002Fvgpu_unlock-rs\u002Ftarget\u002Frelease\nwget -O libvgpu_unlock_rs.so https:\u002F\u002Fraw.githubusercontent.com\u002FMapleawaa\u002FIceDocument\u002Frefs\u002Fheads\u002Fmain\u002Flibvgpu_unlock_rs_20230207_44d5bb3.so\n",[305,391,389],{"__ignoreMap":303},[273,393,394],{},[20,395,396,397,402,403,407,408],{},"如文件失效或无法下载，请更换为以下链接：\nJulyBlog提供：",[211,398,399],{"href":399,"rel":400},"https:\u002F\u002Fyangwenqing.com\u002Ffiles\u002Fpve\u002Fvgpu\u002Fvgpu_unlock\u002Frust\u002Flibvgpu_unlock_rs_20230207_44d5bb3.so",[401],"nofollow","\nOneDrive链接下载：",[211,404,405],{"href":405,"rel":406},"https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AgklE145BxGdmdtPAwysOPsp2sB5Mw?e=m5dls3",[401],"\n第二个备份网盘：",[211,409,410],{"href":410,"rel":411},"https:\u002F\u002Fpan.huang1111.cn\u002Fs\u002F8QvnxFQ",[401],[15,413,415],{"id":414},"_32-安装vgpu驱动","3.2 安装vGPU驱动",[20,417,418],{},[24,419,420],{},"安装显卡驱动需要用到的依赖",[297,422,425],{"className":423,"code":424,"language":302,"meta":303},[300],"apt install build-essential dkms mdevctl pve-headers-$(uname -r)\n",[305,426,424],{"__ignoreMap":303},[20,428,429,432],{},[24,430,431],{},"下载显卡驱动","\n注意这里的驱动版本为GRID16.2版本。",[297,434,437],{"className":435,"code":436,"language":302,"meta":303},[300],"wget \"https:\u002F\u002Fyun.yangwenqing.com\u002FNVIDIA\u002FvGPU\u002FNVIDIA\u002F16.2\u002FNVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-patched.run\"\n",[305,438,436],{"__ignoreMap":303},[20,440,441,442,447],{},"如需要其他版本，请前往",[211,443,446],{"href":444,"rel":445},"https:\u002F\u002Falist.homelabproject.cc\u002Ffoxipan\u002FvGPU",[401],"佛西大佬的博客网盘","，下载对应可以使用的版本驱动。",[20,449,450],{},[24,451,452],{},"赋予执行权限",[297,454,457],{"className":455,"code":456,"language":302,"meta":303},[300],"chmod +x NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-patched.run\n",[305,458,456],{"__ignoreMap":303},[20,460,461],{},[24,462,463],{},"安装驱动(默认回车直至安装完成即可)",[297,465,468],{"className":466,"code":467,"language":302,"meta":303},[300],"\u002FNVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-patched.run\n",[305,469,467],{"__ignoreMap":303},[20,471,472],{},[24,473,474],{},"重启",[297,476,481],{"className":477,"code":479,"language":480,"meta":303},[478],"language-shell","reboot\n","shell",[305,482,479],{"__ignoreMap":303},[287,484,486],{"id":485},"_321-其他补充提示","3.2.1 其他补充提示：",[488,489,490],"ol",{},[32,491,492,493],{},"如之前安装过了显卡驱动，则需要先卸载，再安装\n",[24,494,495],{},"卸载显卡驱动",[297,497,500],{"className":498,"code":499,"language":302,"meta":303},[300],"\u002FNVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-patched.run --uninstall\n",[305,501,499],{"__ignoreMap":303},[20,503,504],{},[24,505,506],{},"移除显卡相关程序",[297,508,511],{"className":509,"code":510,"language":302,"meta":303},[300],"sudo apt-get remove --purge nvidia-*\n",[305,512,510],{"__ignoreMap":303},[20,514,515],{},[24,516,463],{},[297,518,520],{"className":519,"code":467,"language":302,"meta":303},[300],[305,521,467],{"__ignoreMap":303},[15,523,525],{"id":524},"_33-检查服务状态","3.3 检查服务状态",[20,527,528],{},[24,529,530],{},"查看相关服务状态",[297,532,535],{"className":533,"code":534,"language":302,"meta":303},[300],"systemctl status {nvidia-vgpud.service,nvidia-vgpu-mgr.service}\n",[305,536,534],{"__ignoreMap":303},[20,538,539,543,544,547],{},[78,540],{"alt":541,"src":542},"检查服务状态","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F3104229423.png","\n如果出现 ",[305,545,546],{"code":546},"Active: failed"," 字样，则需要手动启动相关服务。或者有步骤配置错误，请检查。",[20,549,550],{},[24,551,552],{},"重新启动相关服务",[297,554,557],{"className":555,"code":556,"language":302,"meta":303},[300],"systemctl restart {nvidia-vgpud.service,nvidia-vgpu-mgr.service}\n",[305,558,556],{"__ignoreMap":303},[20,560,561],{},[24,562,563],{},"停止相关服务",[297,565,568],{"className":566,"code":567,"language":302,"meta":303},[300],"systemctl stop {nvidia-vgpud.service,nvidia-vgpu-mgr.service}\n",[305,569,567],{"__ignoreMap":303},[20,571,572],{},[24,573,530],{},[297,575,578],{"className":576,"code":577,"language":302,"meta":303},[300],"nvidia-smi  \n",[305,579,577],{"__ignoreMap":303},[20,581,582,586],{},[78,583],{"alt":584,"src":585},"nvidia-smi","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F3159478274.png","\n以及mdevctl types查看",[297,588,591],{"className":589,"code":590,"language":302,"meta":303},[300],"mdevctl types\n",[305,592,590],{"__ignoreMap":303},[20,594,595],{},[78,596],{"alt":597,"src":598},"mdevctl types","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F1406127646.png",[10,600,602],{"id":601},"肆配置vgpu授权服务","肆、配置vGPU授权服务",[20,604,605,608,609,612,613,618,619,621,622,625],{},[24,606,607],{},"为什么要配置授权服务器？","、\nNVIDIA VGPU并非免费产品，需要对VGPU驱动购买许可才能正常使用VGPU。然而家用客户无法直接购买授权，这里我们使用一个取巧的方式，即通过一个",[24,610,611],{},"授权服务器","来获取授权。\n这里使用",[211,614,617],{"href":615,"rel":616},"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fcollinwebdesigns\u002Ffastapi-dls",[401],"FastAPI-dls","作为授权服务器，通过",[305,620,617],{"code":617},"提供的接口，获取授权码，再通过",[305,623,624],{"code":624},"vgpu_unlock","提供的接口，将授权码写入显卡驱动，即可实现授权。",[266,627],{},[20,629,630,631,634],{},"下载部分代码请直接复制，避免出错。\n",[24,632,633],{},"感谢July's Blog提供的配置好的LXC容器。",[24,635,636],{},"感谢他们的贡献！",[15,638,640],{"id":639},"_41-下载lxc容器备份包","4.1 下载LXC容器备份包",[20,642,643],{},[24,644,645],{},"进入pve备份文件夹",[297,647,650],{"className":648,"code":649,"language":302,"meta":303},[300],"cd \u002Fvar\u002Flib\u002Fvz\u002Fdump\u002F\n",[305,651,649],{"__ignoreMap":303},[20,653,654,657],{},[24,655,656],{},"使用wget命令下载lxc docker 容器备份包","\n这里使用的是July's Blog提供的备份包，因为他们的容器已经配置好了授权服务器。\n下载源是国际版OneDrive网盘，并非世纪互联版，下载慢请使用多线程下载。",[297,659,662],{"className":660,"code":661,"language":302,"meta":303},[300],"wget https:\u002F\u002Fyun.yangwenqing.com\u002FProxmox\u002FLXC\u002FFASTAPI-DLS\u002Fvzdump-lxc-100-2023_11_14-15_docker.tar.zst\n",[305,663,661],{"__ignoreMap":303},[20,665,666],{},[24,667,668],{},"或者使用aria2c命令多线程下载lxc docker 容器备份包",[297,670,673],{"className":671,"code":672,"language":302,"meta":303},[300],"aria2c -s 8 -x 8 -j 10 'https:\u002F\u002Fyun.yangwenqing.com\u002FProxmox\u002FLXC\u002FFASTAPI-DLS\u002Fvzdump-lxc-100-2023_11_14-15_docker.tar.zst'\n",[305,674,672],{"__ignoreMap":303},[273,676,677],{},[20,678,679],{},"LXC容器信息：\n默认IP地址：192.168.2.99\n账号：root\n密码：123123",[15,681,683],{"id":682},"_42-还原lxc容器并修改ip","4.2 还原LXC容器并修改IP",[20,685,686,689],{},[24,687,688],{},"将下载下来的LXC容器进行还原",[78,690],{"alt":691,"src":692},"还原LXC容器","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F701573596.png",[20,694,695,698],{},[24,696,697],{},"并将原来的IP改为自己内网的IP",[78,699],{"alt":700,"src":701},"修改IP","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2025\u002F02\u002F82240125.png",[20,703,704,707,711],{},[24,705,706],{},"3）登录LXC容器并创建授权服务：",[78,708],{"alt":709,"src":710},"创建授权服务","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2025\u002F02\u002F3610659870.png",[24,712,713,714],{},"创建授权服务,注意下边的",[715,716,717],"ip",{},",一定要改为刚刚自己修改好的",[297,719,722],{"className":720,"code":721,"language":302,"meta":303},[300],"docker run --restart always -d -e DLS_URL=192.168.2.99 -e DLS_PORT=443 -p 443:443  makedie\u002Ffastapi-dls\n",[305,723,721],{"__ignoreMap":303},[10,725,727],{"id":726},"伍创建虚拟机","伍、创建虚拟机",[15,729,731],{"id":730},"_51-创建ubuntu虚拟机","5.1 创建Ubuntu虚拟机",[273,733,734],{},[20,735,736],{},"此处使用 Ubuntu 24.04 LTS 版本，不同版本的操作方法大同小异。",[287,738,740],{"id":739},"_511-创建虚拟机","5.1.1 创建虚拟机",[20,742,743],{},"步骤省略，总结关键信息如下：",[273,745,746],{},[20,747,748],{},"名称：自定义\n光驱挂载：Ubuntu安装ISO镜像\n系统中显卡：默认\n机型：q35\nBIOS：默认 (SeaBIOS)\n磁盘：SCSI 大小60G（按需设置，或硬盘直通）\nCPU：host 核心数量4（按需设置）\n内存：4G及以上\n网络：virtIO（半虚拟化或网卡直通）网卡\n添加PCI设备：nvidia显卡（勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备）",[20,750,751],{},"经过安装步骤，安装完成进入系统。",[287,753,755],{"id":754},"_512-配置ubuntu虚拟机","5.1.2 配置Ubuntu虚拟机",[757,758,760],"h5",{"id":759},"查看ip地址","查看IP地址",[297,762,765],{"className":763,"code":764,"language":302,"meta":303},[300],"ip addr show | grep inet | awk '{print $2}' | sed 's\u002F:\u002F\u002Fg'\n",[305,766,764],{"__ignoreMap":303},[20,768,769,773],{},[78,770],{"alt":771,"src":772},"image-20250325161752554","\u002Fassets\u002Fimages\u002Fpve-vgpu-principle-deployment-guide-images\u002Fimage-20250325161752554.png","\n到这一步，确认自己在安装步骤中勾选安装了OpenSSH工具，否则无法使用SSH工具连接到Ubuntu主机。\n如果没有安装OpenSSH工具，则需要安装。",[757,775,777],{"id":776},"安装openssh","安装Openssh",[297,779,782],{"className":780,"code":781,"language":302,"meta":303},[300],"sudo apt-get update\nsudo apt-get install openssh-server -y\nsudo systemctl enable ssh.service\nsudo systemctl restart ssh.service\n",[305,783,781],{"__ignoreMap":303},[20,785,786,789],{},[24,787,788],{},"得到IP之后，使用SSH工具，配置好IP地址和密码信息，即可连接到Ubuntu主机。","\n这里推荐使用 Tabby | MobaXterm，或者使用其他SSH工具。",[757,791,792],{"id":792},"更换镜像源",[297,794,797],{"className":795,"code":796,"language":302,"meta":303},[300],"sudo -i\n# 注意这里切换到root用户\nwget https:\u002F\u002Flinuxmirrors.cn\u002Fmain.sh\nchmod +x main.sh\n\u002Fmain.sh\n",[305,798,796],{"__ignoreMap":303},[20,800,801,805],{},[78,802],{"alt":803,"src":804},"image-20250325162929588","\u002Fassets\u002Fimages\u002Fpve-vgpu-principle-deployment-guide-images\u002Fimage-20250325162929588.png","\n根据提示，选择离自己物理距离近的镜像源，然后选择安装。",[757,807,808],{"id":808},"安装需要所需依赖",[297,810,813],{"className":811,"code":812,"language":302,"meta":303},[300],"sudo apt install build-essential linux-headers-generic libglvnd-dev pkg-config -y\n",[305,814,812],{"__ignoreMap":303},[757,816,817],{"id":817},"安装dkms",[297,819,822],{"className":820,"code":821,"language":302,"meta":303},[300],"sudo apt install dkms -y\n",[305,823,821],{"__ignoreMap":303},[757,825,826],{"id":826},"安装32位兼容库",[297,828,831],{"className":829,"code":830,"language":302,"meta":303},[300],"sudo dpkg --add-architecture i386\nsudo apt update\nsudo apt install libc6:i386 -y\n",[305,832,830],{"__ignoreMap":303},[757,834,835],{"id":835},"屏蔽自带的显卡驱动",[20,837,838],{},[24,839,840],{},"创建blacklist-nouveau.conf文件",[297,842,845],{"className":843,"code":844,"language":302,"meta":303},[300],"sudo nano \u002Fetc\u002Fmodprobe.d\u002Fblacklist-nouveau.conf\n",[305,846,844],{"__ignoreMap":303},[20,848,849],{},[24,850,851],{},"在blacklist-nouveau.conf文件添加如下内容：",[297,853,856],{"className":854,"code":855,"language":302,"meta":303},[300],"blacklist nouveau\noptions nouveau modeset=0\n",[305,857,855],{"__ignoreMap":303},[20,859,860],{},[24,861,862],{},"重载内核initramfs",[297,864,867],{"className":865,"code":866,"language":302,"meta":303},[300],"sudo update-initramfs -u\n",[305,868,866],{"__ignoreMap":303},[757,870,872],{"id":871},"重启ubuntu","重启Ubuntu",[297,874,877],{"className":875,"code":876,"language":302,"meta":303},[300],"sudo reboot\n",[305,878,876],{"__ignoreMap":303},[757,880,882],{"id":881},"重启完成后检查nouveau是否已禁用没有任何输出说明已经禁用","重启完成后检查nouveau是否已禁用，没有任何输出说明已经禁用",[297,884,887],{"className":885,"code":886,"language":302,"meta":303},[300],"lsmod | grep nouveau\n",[305,888,886],{"__ignoreMap":303},[757,890,891],{"id":891},"切换到文本命令行控制台关闭显示服务",[20,893,894],{},"如果没有安装图形界面，跳过这一步。",[297,896,899],{"className":897,"code":898,"language":302,"meta":303},[300],"sudo chvt 3\n# 关闭图形界面服务\nsudo service gdm stop\n",[305,900,898],{"__ignoreMap":303},[757,902,903],{"id":903},"安装显卡驱动",[20,905,906],{},[24,907,908],{},"使用aria2c命令多线程下载 NVIDIA Guest驱动",[297,910,915],{"className":911,"code":913,"language":914},[912],"language-text","aria2c -s 4 -x 4 -j 10 'https:\u002F\u002Fyun.yangwenqing.com\u002FNVIDIA\u002FvGPU\u002FNVIDIA\u002F16.2\u002FNVIDIA-GRID-Linux-KVM-535.129.03-537.70\u002FGuest_Drivers\u002FNVIDIA-Linux-x86_64-535.129.03-grid.run'\n","text",[305,916,913],{"__ignoreMap":303},[20,918,919],{},"注意这里安装的是535.129.03-537.70版本，如果要安装其他版本的驱动，请前往佛西大佬的博客网盘，下载对应可以使用的版本驱动，可用驱动为run结尾的文件。",[757,921,922],{"id":922},"给可执行权限",[297,924,927],{"className":925,"code":926,"language":302,"meta":303},[300],"chmod +x NVIDIA-Linux-x86_64-535.129.03-grid.run\n",[305,928,926],{"__ignoreMap":303},[757,930,932],{"id":931},"安装驱动默认回车直至安装完成即可","安装驱动（默认回车直至安装完成即可）",[297,934,937],{"className":935,"code":936,"language":302,"meta":303},[300],"\u002FNVIDIA-Linux-x86_64-535.129.03-grid.run\n",[305,938,936],{"__ignoreMap":303},[757,940,942],{"id":941},"安装完成重启ubuntu","安装完成重启Ubuntu",[297,944,946],{"className":945,"code":479,"language":302,"meta":303},[300],[305,947,479],{"__ignoreMap":303},[757,949,951],{"id":950},"重启完成后使用nvidia-smi验证","重启完成后，使用nvidia-smi验证",[297,953,956],{"className":954,"code":955,"language":302,"meta":303},[300],"root@Ubuntu23:~# nvidia-smi\nTue Feb 20 16:22:12 2024\n+---------------------------------------------------------------------------------------+\n| NVIDIA-SMI 535.129.03             Driver Version: 535.129.03   CUDA Version: 12.2     |\n|-----------------------------------------+----------------------+----------------------+\n| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |\n| Fan  Temp   Perf          Pwr:Usage\u002FCap |         Memory-Usage | GPU-Util  Compute M. |\n|                                         |                      |               MIG M. |\n|=========================================+======================+======================|\n|   0  GRID P40-1Q                    On  | 00000000:01:00.0 Off |                  N\u002FA |\n| N\u002FA   N\u002FA    P8              N\u002FA \u002F  N\u002FA |      7MiB \u002F  1024MiB |      0%      Default |\n|                                         |                      |             Disabled |\n+-----------------------------------------+----------------------+----------------------+\n\n+---------------------------------------------------------------------------------------+\n| Processes:                                                                            |\n|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |\n|        ID   ID                                                             Usage      |\n|=======================================================================================|\n|    0   N\u002FA  N\u002FA       801      G   \u002Fusr\u002Flib\u002Fxorg\u002FXorg                            6MiB |\n+---------------------------------------------------------------------------------------+\n",[305,957,955],{"__ignoreMap":303},[287,959,961],{"id":960},"_513-启用授权","5.1.3 启用授权",[757,963,964],{"id":964},"获取授权文件",[297,966,969],{"className":967,"code":968,"language":302,"meta":303},[300],"wget --no-check-certificate -O \u002Fetc\u002Fnvidia\u002FClientConfigToken\u002Fclient_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https:\u002F\u002F192.168.2.99\u002F-\u002Fclient-token\n# 或者\ncurl --insecure -L -X GET https:\u002F\u002F192.168.2.99\u002F-\u002Fclient-token -o \u002Fetc\u002Fnvidia\u002FClientConfigToken\u002Fclient_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok\n",[305,970,968],{"__ignoreMap":303},[757,972,973],{"id":973},"验证授权",[297,975,978],{"className":976,"code":977,"language":302,"meta":303},[300],"sudo service nvidia-gridd restart\n",[305,979,977],{"__ignoreMap":303},[757,981,982],{"id":982},"验证授权获取情况",[297,984,987],{"className":985,"code":986,"language":302,"meta":303},[300],"nvidia-smi -q | grep License\n",[305,988,986],{"__ignoreMap":303},[20,990,991],{},[24,992,993],{},"看到有Licensed字样，就授权好了。",[297,995,998],{"className":996,"code":997,"language":302,"meta":303},[300],"root@Ubuntu23:~# nvidia-smi -q | grep License\n    vGPU Software Licensed Product\n        License Status                    : Licensed (Expiry: 2024-5-20 9:40:22 GMT)\n",[305,999,997],{"__ignoreMap":303},[15,1001,1003],{"id":1002},"_52-创建windows虚拟机","5.2 创建Windows虚拟机",[273,1005,1006],{},[20,1007,1008],{},"此处使用Windows10 22H2版本，不同版本的操作方法大同小异。",[287,1010,1012],{"id":1011},"_521-创建虚拟机","5.2.1 创建虚拟机",[20,1014,743],{},[273,1016,1017],{},[20,1018,1019],{},"名称：自定义\n光驱挂载：Win安装ISO镜像\n系统中显卡：默认\n机型：q35\nBIOS：OVMF（如果采用SeaBIOS引导，机型q35版本要选7.2及以下，否则无法正常授权驱动）\nEFI分区：UEFI（OVMF）需要\n磁盘：SCSI 大小60G（按需设置，或硬盘直通）\nCPU：host 核心数量4（按需设置）\n内存：4G及以上\n网络：virtIO（半虚拟化或网卡直通）网卡\n建立好虚拟机后\n添加CD\u002FDVD设备1个，挂载virtIO驱动ISO镜像",[20,1021,1022],{},[78,1023],{"alt":1024,"src":1025},"创建win10虚拟机","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F03\u002F1898555321.png",[757,1027,1028],{"id":1028},"添加你的显卡",[20,1030,1031,1032],{},"勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备\n",[78,1033],{"alt":1034,"src":1035},"勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F03\u002F3935107902.png",[273,1037,1038],{},[20,1039,1040],{},"其中 GRID P40-1Q 是 mdev 的名字，P40--显卡名，1--1G 显存，Q 代表 vWS\n关于最后一位字母，如下\nA = Virtual Applications (vApps)\nB = Virtual Desktops (vPC)\nC = AI\u002FMachine Learning\u002FTraining (vCS or vWS)\nQ = Virtual Workstations (vWS)（性能最佳）\n在配置vgpu的时候，选择正确的型号型号即可。",[287,1042,1044],{"id":1043},"_522-配置windows虚拟机","5.2.2 配置Windows虚拟机",[757,1046,1047],{"id":1047},"确保远程可以连接到虚拟机",[20,1049,1050],{},"在系统设置中开启远程功能。",[20,1052,1053],{},"如有需求，可以用下载todesk，vnc，向日葵，parsec等远程软件。",[757,1055,1057],{"id":1056},"安装nvidia-guest驱动","安装NVIDIA Guest驱动",[757,1059,1060],{"id":1060},"启用授权",[20,1062,1063,1064],{},"1）在浏览器访问fastapi-dls授权服务：https:\u002F\u002F",[1065,1066,1067,1068],"here-is-your-ip",{},"\u002F-\u002Fclient-token会自动下载好授权文件\n",[78,1069],{"alt":1070,"src":1071},"下载授权文件","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F3339204735.png",[20,1073,1074],{},"2）下载后放入C:\\Program Files\\NVIDIA Corporation\\vGPU Licensing\\ClientConfigToken\\这个目录下",[20,1076,1077],{},[78,1078],{"alt":1079,"src":1080},"将授权文件放到指定路径","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F02\u002F2303419304.png",[20,1082,1083],{},"重启NVIDIA Display Container Ls服务，即可获得授权也可以在cmd窗口使用nvidia-smi -q命令查看授权情况\n如授权失败，需要检查电脑时间是否对得上授权服务器时间",[757,1085,1086],{"id":1086},"测试调用",[20,1088,1089,1090,1094],{},"4）使用Todesk远程工具连接上虚拟机\n打开OpenGL测试网页",[211,1091,1092],{"href":1092,"rel":1093},"https:\u002F\u002Fopenprocessing.org\u002Fsketch\u002F418877\u002F",[401],"\n随便找一个测试项目，测试显卡有没有正常启动。",[757,1096,1097],{"id":1097},"解锁帧数限制",[20,1099,1100],{},"由于默认的vGPU是有帧数限制的，部分场景需要使用到高刷新率，可以在这里修改帧数限制。\n5）使用nano命令编辑文件\n编辑nano \u002Fetc\u002Fvgpu_unlock\u002Fprofile_override.toml文件，加入以下信息关闭虚拟机重新开机生效。",[297,1102,1107],{"className":1103,"code":1105,"language":1106,"meta":303},[1104],"language-toml","[profile.nvidia-46]\nnum_displays = 1\ndisplay_width = 1920\ndisplay_height = 1080\nmax_pixels = 2073600\ncuda_enabled = 1\nfrl_enabled = 0\nframebuffer = 939524096\n","toml",[305,1108,1105],{"__ignoreMap":303},[20,1110,1111],{},"参数说明：",[297,1113,1116],{"className":1114,"code":1115,"language":1106,"meta":303},[1104],"[profile.nvidia-46]nvidia-46 为vgpu型号的参数。如选的不是46则改成自己选的那个型号。\nnum_displays 最大显示器数量\ndisplay_width = 1920\ndisplay_height = 1080\nmax_pixels = 2073600 这3个是虚拟显示器的分辨率，max_pixels是长宽的乘积\ncuda_enabled = 1是否开启cuda\nfrl_enabled = 0 是否限制帧数，0为不限制\nframebuffer = 939524096 1GB显存，设定vgpu的显存\n",[305,1117,1115],{"__ignoreMap":303},[757,1119,1120],{"id":1120},"自定义显存大小",[20,1122,1123],{},"如要自定义修改显卡的显存大小，只需要修改framebuffer的值就好了,显存不建议低于1GB，官方说低于1GB将会禁用NVENC视频编解码器.",[20,1125,1126],{},[24,1127,1128],{},"注意：vgpu会默认占用128M，所以如果要改显存，请将结果减去128M再去换算，旧版是减去64M",[20,1130,1131],{},"例如，你期望显存为1GB，所以就用1024M-64M=960M\u002F1024M-128M=896M",[20,1133,1134,1138],{},[78,1135],{"alt":1136,"src":1137},"换算结果","https:\u002F\u002Fyangwenqing.com\u002Fusr\u002Fuploads\u002F2024\u002F10\u002F1293451713.png",[211,1139,1142],{"href":1140,"rel":1141},"https:\u002F\u002Fwww.bejson.com\u002Fconvert\u002Ffilesize\u002F",[401],"在线大小换算平台",[10,1144,1146],{"id":1145},"六注意事项与进阶技巧","六、注意事项与进阶技巧",[20,1148,1149],{},"⚠️ 如果希望使用虚拟的显卡打游戏，那就需要绕过虚拟化检测。本文不会介绍方法。",[10,1151,1153],{"id":1152},"end","END",[20,1155,1156],{},"到此为止，你已经掌握了PVE环境下vGPU的完整部署流程。从理论到实践，我们已经完成了：",[29,1158,1159,1162,1165,1168,1171],{},[32,1160,1161],{},"✅ vGPU技术原理与架构的深入理解",[32,1163,1164],{},"✅ 硬件环境与软件依赖的准备工作",[32,1166,1167],{},"✅ vGPU驱动的安装与解锁配置",[32,1169,1170],{},"✅ 授权服务器的搭建与使用",[32,1172,1173],{},"✅ Ubuntu和Windows虚拟机的完整部署",[20,1175,1176],{},"希望本教程能够帮助你在虚拟化环境中更好地利用GPU资源。\n记住，授人以鱼不如授人以渔，掌握了这些知识，你不仅能够搭建出高性能的虚拟化环境，更能够根据实际需求进行灵活调整和优化。\n希望你也可以把自己的技能和经验分享给更多人，共同成长和进步。",[20,1178,1179],{},"祝你在GPU虚拟化的道路上一帆风顺！如有问题，欢迎参与社区讨论，共同进步。",[266,1181],{},[10,1183,1184],{"id":1184},"本文参考资料",[20,1186,1187],{},"感谢前人的付出，让我们一起分享知识，共同进步！",[15,1189,1190],{"id":1190},"技术文档",[488,1192,1193],{},[32,1194,1195,1196,1199,1200,1204],{},"NVIDIA Corporation. (2024). ",[255,1197,1198],{},"NVIDIA Virtual GPU Software Documentation",". NVIDIA.\n",[211,1201,1202],{"href":1202,"rel":1203},"https:\u002F\u002Fdocs.nvidia.com\u002Fgrid\u002Flatest\u002F",[401],"\n访问日期: 2024-03-25",[15,1206,1207],{"id":1207},"社区教程与博客",[488,1209,1210,1221,1231,1241],{},[32,1211,1212,1213,1216,1217,1204],{},"Yang, W. Q. (2024). PVE8.1 NVIDIA显卡虚拟化多开VGPU16.2--基于1050Ti. ",[255,1214,1215],{},"July's Blog",".\n",[211,1218,1219],{"href":1219,"rel":1220},"https:\u002F\u002Fyangwenqing.com\u002Farchives\u002F1766\u002F",[401],[32,1222,1223,1224,1216,1227,1204],{},"国光. (2024). PVE 环境搭建教程. ",[255,1225,1226],{},"国光的博客",[211,1228,1229],{"href":1229,"rel":1230},"https:\u002F\u002Fpve.sqlsec.com\u002F4\u002F5\u002F",[401],[32,1232,1233,1234,1216,1237,1204],{},"PVE中文社区. (2024). Proxmox VE Nvidia-vGPU 中文教程. ",[255,1235,1236],{},"ReadTheDocs",[211,1238,1239],{"href":1239,"rel":1240},"https:\u002F\u002Fpve-doc-cn.readthedocs.io\u002Fzh-cn\u002Fpve-nvidia-vgpu\u002F",[401],[32,1242,1243,1244,1216,1247,1204],{},"佛西. (2024). PVE虚拟化专题. ",[255,1245,1246],{},"佛西博客",[211,1248,1249],{"href":1249,"rel":1250},"https:\u002F\u002Ffoxi.buduanwang.vip\u002Fvirtualization\u002Fpve\u002F",[401],[15,1252,1253],{"id":1253},"开源项目",[488,1255,1256],{},[32,1257,1258,1259,1216,1263,1204],{},"DualSpark. (2024). FastAPI-dls ",[1260,1261,1262],"span",{},"Computer software",[211,1264,615],{"href":615,"rel":1265},[401],[266,1267],{},[273,1269,1270],{},[20,1271,1272,1273,1278],{},"📝 本文档采用 ",[211,1274,1277],{"href":1275,"rel":1276},"https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002Fdeed.zh",[401],"CC BY-NC-SA 4.0"," 许可协议。转载请注明出处。",{"title":303,"searchDepth":1280,"depth":1280,"links":1281},4,[1282,1289,1293,1303,1307,1348,1349,1350],{"id":12,"depth":1283,"text":13,"children":1284},2,[1285,1287,1288],{"id":17,"depth":1286,"text":18},3,{"id":73,"depth":1286,"text":74},{"id":84,"depth":1286,"text":85},{"id":189,"depth":1283,"text":190,"children":1290},[1291,1292],{"id":193,"depth":1286,"text":194},{"id":241,"depth":1286,"text":242},{"id":270,"depth":1283,"text":271,"children":1294},[1295,1299,1302],{"id":284,"depth":1286,"text":285,"children":1296},[1297,1298],{"id":289,"depth":1280,"text":290},{"id":379,"depth":1280,"text":380},{"id":414,"depth":1286,"text":415,"children":1300},[1301],{"id":485,"depth":1280,"text":486},{"id":524,"depth":1286,"text":525},{"id":601,"depth":1283,"text":602,"children":1304},[1305,1306],{"id":639,"depth":1286,"text":640},{"id":682,"depth":1286,"text":683},{"id":726,"depth":1283,"text":727,"children":1308},[1309,1335],{"id":730,"depth":1286,"text":731,"children":1310},[1311,1312,1330],{"id":739,"depth":1280,"text":740},{"id":754,"depth":1280,"text":755,"children":1313},[1314,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329],{"id":759,"depth":1315,"text":760},5,{"id":776,"depth":1315,"text":777},{"id":792,"depth":1315,"text":792},{"id":808,"depth":1315,"text":808},{"id":817,"depth":1315,"text":817},{"id":826,"depth":1315,"text":826},{"id":835,"depth":1315,"text":835},{"id":871,"depth":1315,"text":872},{"id":881,"depth":1315,"text":882},{"id":891,"depth":1315,"text":891},{"id":903,"depth":1315,"text":903},{"id":922,"depth":1315,"text":922},{"id":931,"depth":1315,"text":932},{"id":941,"depth":1315,"text":942},{"id":950,"depth":1315,"text":951},{"id":960,"depth":1280,"text":961,"children":1331},[1332,1333,1334],{"id":964,"depth":1315,"text":964},{"id":973,"depth":1315,"text":973},{"id":982,"depth":1315,"text":982},{"id":1002,"depth":1286,"text":1003,"children":1336},[1337,1340],{"id":1011,"depth":1280,"text":1012,"children":1338},[1339],{"id":1028,"depth":1315,"text":1028},{"id":1043,"depth":1280,"text":1044,"children":1341},[1342,1343,1344,1345,1346,1347],{"id":1047,"depth":1315,"text":1047},{"id":1056,"depth":1315,"text":1057},{"id":1060,"depth":1315,"text":1060},{"id":1086,"depth":1315,"text":1086},{"id":1097,"depth":1315,"text":1097},{"id":1120,"depth":1315,"text":1120},{"id":1145,"depth":1283,"text":1146},{"id":1152,"depth":1283,"text":1153},{"id":1184,"depth":1283,"text":1184,"children":1351},[1352,1353,1354],{"id":1190,"depth":1286,"text":1190},{"id":1207,"depth":1286,"text":1207},{"id":1253,"depth":1286,"text":1253},[1356],"技术","2025-03-25 00:00:00","本文章适合初次接触Proxmox VE（PVE）虚拟化技术，希望了解vGPU概念并完成基础部署的用户。",false,"md","\u002Fassets\u002Fimages\u002Fpve-vgpu-principle-deployment-guide-images\u002Fvgpu_.webp",{"slots":1363},{},true,"\u002F2025\u002Fpve-vgpu-principle-deployment-guide",null,{"text":1368,"minutes":1369,"time":1370,"words":1371},"18 min read",17.05,1023000,3410,{"title":5,"description":1358},{"loc":1365},"posts\u002F2025\u002Fpve-vgpu-principle-deployment-guide",[],"tech","oEmtw2HpDQRhIIEbkJuRXwmk9K0WbXNkzPSqRUJ3AFA",[1379,1384],{"title":1380,"path":1381,"stem":1382,"date":1383,"type":1376,"children":-1},"Proxmox VE（PVE）快照与还原点完全指南","\u002F2025\u002Fpve8-snapshots-restore-guide","posts\u002F2025\u002Fpve8-snapshots-restore-guide","2025-03-22 00:00:00",{"title":1385,"path":1386,"stem":1387,"date":1388,"type":1376,"children":-1},"快速部署新一代探针服务 —— Komari","\u002F2025\u002Fdeploy-new-generation-probe-komari","posts\u002F2025\u002Fdeploy-new-generation-probe-komari","2025-08-07 00:00:00",1777395321551]