DIY 家庭小主机 ALL IN ONE 实验记录(All in Boom 同生共死) (3)——个人云电脑的搭建
长期以来都是小透明和资深潜水党在社区里吸取大佬们的营养和指导, 近日折腾了一下小主机和 aio, 并且将过程整理成教程在社区里发表出来, 不求能够指导别人, 但求别人能有个参考, 并且一起交流学习.
各位说话好听 头发多 精力旺盛 过年涨薪的 佬们 觉得可以的话 就给我点个赞吧.
另外本人热爱分享, 热爱搞机, 馒头 pt 上传100T+,发种100+,做种500+, 做种时间一年(数据准备另开一贴贴出), 希望基于此能得到大佬的厚爱发个邀请:(btschool,聆音, 红叶,emp峨眉派/P0 rNbay都行,), 丰富下自己的下载中心, 再过几周我就可以回来发馒头药了
邮箱: hasdrsafsdeyuo@gmail.com
系列文章目录:
[*](1)PVE安装与卸载
[*](2)核显虚拟化
[*](3)个人云电脑的搭建 vgpu 硬解串流
[*](4)iStoreOS 软路由安装与网络流量分流实验
[*](5)PVE 下以虚拟机方式安装群晖 NAS 的技术可行性探讨
[*](6) NAS / 私服 功能规划与服务搭建
[*]私人网盘/同步备份中心
[*]内容流转中心和家庭影音媒体中心
[*]云笔记知识管理 云密码本 协同办公 和 其他效率服务
[*]将私服暴露到公网, 安全便利地回家及无缝网络服务
[*]PVE 下关于 NAS Linux 等虚拟机的系统管理
前言
从 3G -> 4G -> 5G 的进步速度也能知道 网络越来越发达,而得益于发达的网络,涌现了诸多云电脑、云手机、云游戏等受制于 过去网络低带宽和高延迟而无法发展的产品和服务。同理受益于发达的网络服务,个人的 DIY 和 自托管 服务的实现也更加容易了。今天就来说说个人云电脑。
先来谈谈一些场景和需求。
[*]设计类/软件类/游戏迷/电脑控 大一新生 ABCD 为了不让人等设备,决定买了台笨重的游戏本带上学,日后背着沉重的电脑和书本 在偌大的校园里来回跑的经历将会让他铭记一生。此外每次到一个新的地方都要先找个电源插头,简直让人抓狂。
[*]博士 小李 平常热爱拍摄、剪视频需要高性能电脑进行图像处理和存储大量内容,同时有需要机器长时挂机运行服务,又同时。。。。总之他啥都想要。
[*]出门达人 既想出门,又想带着便携电脑出去,奈何轻薄本性能不够,够的续航又有焦虑。
[*]打工人 小白 想在办公室午休事件玩两盘游戏大作,奈何没有设备。
“既要有要还要” = “滚”。从软硬件的发展历史看,软件的发展和硬件性能的发展都在相互推动着,电脑手机硬件性能越来越高,软件服务越来越强大,但同时功耗也越来越大,在 功耗/续航、性能、体积大小/便携性、用途 无法做到十全十美的。最简单也是最理想的办法就是做拆分,将不同用途的场景拆分开来,装不同的虚拟机,再塞进 虚拟机管理平台 PVE 中,此处也可以有多个配置不一样的机器组成一个统一管理平台。
今天就从最简单的开始,装个 windows10-企业版-ltsc(轻量) 来实验一下。
实验目标和简单的设计
在疫情期间通过远程办公的人们,讨论出多种奇淫技巧来改善 微软自带的 RDP 的体验,包括但不限于 修改帧数、启用硬件加速、修改图形处理质量、修改带宽限制等等。然而 游戏界为了满足远程游戏的需求也开发了 串流的远程方案,利用电脑的 GPU 编码显卡的视频输出信息,通过视频推流的方式 推到远端主机,远端主机再用 GPU 来解码,这样可以获得 低延迟、高质量的 远程桌面画质,同时也解决了 声音采集、传输、和解码,电脑外设直通到远程设备的问题。所以本次实验目标是搭建个人云电脑,使用时仿佛忘记了它远在天边,而是近在眼前。
实验设计和过程包括:
[*]PVE 虚拟机安装 windows 虚拟机
[*]配置虚拟机可以利用 GPU
[*]内网实现远程桌面
[*]通过公网地址DDNS/内网穿透 等方式 在外网使用。
实验过程记录——创建虚拟机
windows-10-企业版-ltsc 是个较为轻量的 windows 版本,因为我的 n100 小鸡 性能有限,所以就选他,windows 主要作为备用机,和挂程序用的。
准备好两个 iso 镜像文件 并通过 pve web 界面的 "【数据中心】 -> 【pve】 -> 【local 存储】-> 【ISO 镜像 】-> 【上传 】" 或者 scp 将两个 镜像上传到 /var/lib/vz/template/iso 目录下
[*]Stable virtio-win ISO, 来源于 virtio-win/virtio-win-pkg-scripts
[*]windows10-2021-ltsc-x64-中文版 ,其他版本镜像选择按需下载
创建虚拟机
虚拟机的配置会保存于该文件中
/etc/pve/nodes/pvesmall/qemu-server/104.conf
$ cat /etc/pve/qume-server/104.conf
bios: ovmf # BIOS
boot: order=scsi0 # 引导顺序,从系统盘开始
sockets: 1 # 1个CPU插槽
cores: 4 # 四核心
cpu: host # CPU 类型选择 host, 模拟物理机
efidisk0: local-lvm:vm-104-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M # EFI 磁盘
hostpci0: 0000:00:02.1,pcie=1,x-vga=1 # 核显过来的 vgpupci 设备
hostpci1: 0000:00:1f.3,pcie=1 # 物理声卡
ide0: local:iso/virtio-win.iso,media=cdrom,size=708140K # windows 虚拟驱动
local:iso/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso,media=cdrom,size=4925988K # windows 10 ltsc 镜像
machine: pc-q35-8.1 # 机型 选择 q35
memory: 8192 # 内存大小
meta: creation-qemu=8.1.5,ctime=1727107875 # 元数
name: win10-2021-ltsc # 名字
net0: virtio=BC:24:11:B4:F6:ED,bridge=vmbr0,firewall=1 # 网卡,网络接口
numa: 0 # 不开启,内存 cpu 的热插拔需要开启这个,但是开启这个会导致一开始无法安装 windows 和后面 vgpu 无法正常使用
ostype: win10 # 系统类型
scsi0: local-lvm:vm-104-disk-1,iothread=1,size=128G,ssd=1 # 硬盘,给大点,因为 efi 磁盘的分割,后续扩容没法扩大 C盘空间
scsihw: virtio-scsi-single
smbios1: uuid=885e6244-3277-42fe-982c-8ebb6dd397e3
vmgenid: d1989818-048f-4da2-9db0-1c5e9a1f9f9c
下面挑几个重要的来对应着 web 管理界面的创建虚拟机来讲,其余看注释即可。
1. local:iso/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso,media=cdrom,size=4925988K: 这里是 WEB界面的第一步,选择 ISO 镜像和操作系统类型,如下图。选择刚才上传的 win10镜像和虚拟驱动镜像。
https://pica.zhimg.com/v2-aec5a424e34e7a2bbf37fc986c6037b4_1440w.jpg
2. ide0: local:iso/virtio-win.iso,media=cdrom,size=708140K : windows 虚拟驱动
3. machine: pc-q35-8.1 : 机型 选择 q35, bios: ovmf : BIOS, EFI 选择 添加磁盘
https://pic1.zhimg.com/v2-48c9dd61279edc67267c212c0136ca32_1440w.jpg
4. scsi0: local-lvm:vm-104-disk-1,iothread=1,size=128G,ssd=1 系统盘,给大点,因为 efi 磁盘的分割,后续扩容没法扩大 C盘空间 或者比较麻烦
https://pica.zhimg.com/v2-6a5df4c7d56ae5180507009a63f75ea4_1440w.jpg5. cpu: host : CPU 类型选择 host, 模拟物理机,https://pic4.zhimg.com/v2-cd433030cae773f291756f99136fbd69_1440w.jpg
6. numa: 0 : 不开启,内存 cpu 的热插拔需要开启这个,但是开启这个会导致一开始无法安装 windows 和后面 vgpu 无法正常使用
7. hostpci0: 0000:00:02.1,pcie=1,x-vga=1: pci 设备在创建虚拟机并安装好 WINDOWS 后,并开启核显虚拟化后添加。这里的pci 设备时核显过来的 vgpu pci 设备, 在我的 pve 界面里,设置完会自动退回到 物理 vgpu 02.0 而非虚拟的 vgpu, 此时需要手动修改 /etc/pve/qemu-server/104.conf 文件去保证使用的是vgpu, 否则物理本体被占用,所有 vgpu 消失。同时也要将 gpu 作为主gpu. (这一步需要 SSH 到 PVE 中手动修改 虚拟机配置文件)
https://pic2.zhimg.com/v2-a49cef4a5837bd593a47a95cc9024079_1440w.jpg
8. 修改引导顺序为镜像第一。
https://pic4.zhimg.com/v2-18962634b7790c4f035c72b15a4903ff_1440w.jpg
https://pic1.zhimg.com/v2-54ffff119b223e29085b11e900688416_1440w.jpg
实验过程记录——启动安装 windows-10-企业版-ltsc
本小节内容参考[在Proxmox VE pve中安装windows操作系统——以ltsc2019为例](在Proxmox VE pve中安装windows操作系统--以ltsc2019为例)创建虚拟机后,导航到 "【选项】 -> 【引导顺序】", 选择 windows iso 并拖到第一位。启动安装。总体而言分为以下四个步骤
[*]安装虚拟驱动程序。
[*]按提示安装 windows
[*]进入 windows 安装 全部虚拟驱动程序(包括虚拟网卡),开启 远程桌面服务(一定要开启,否则后面加了 vgpu 后没法看,不过忘了可以重新看,步骤见详情),并启动系统更新
[*]待更新完毕后 安装最新 intel graphics 显卡驱动
第一步:
在启动镜像引导后,进入 windows 安装程序,疯狂点击下一步,来到 选择 安装 windows 的驱动器(也就是装在哪个盘,是我们之前划分的128G磁盘), 但这里没有安装 虚拟驱动前,windows 安装程序是读不到我们划分的 磁盘,所以要先安装 virtio驱动. 操作如下 “点击【浏览】-> 点击进入【virtio光盘】-> 【vioscsi】-> 【win10】【amd64】”
第二步:疯狂点击下一步,看得懂的就改改,看不懂的就下一步
https://pic1.zhimg.com/v2-61ef65efde57e6d8a2aeaefcb9512780_1440w.jpg
https://pic1.zhimg.com/v2-96786b1c4b08adaeba8d681df1065e56_1440w.jpg
https://pic2.zhimg.com/v2-aada18b486d90695148cc8bcb0836f37_1440w.jpg
https://pic3.zhimg.com/v2-2cc66adc7cc01e7ce82a90a33f86c650_1440w.jpg
https://picx.zhimg.com/v2-5042941d548d051a0d1b11b2e7d78d55_1440w.jpg
第三步:开远程桌面服务和安装全部虚拟驱动程序。
[*]开启远程桌面服务,通过在设置搜索 “远程桌面”后,开启即可。
[*]添加 PCI 设备 vgpu(在"创建虚拟机"一节中提到),接着重启电脑。
[*]安装普通驱动。进入电脑后,右键 home 图标打开设备管理器,会发现有很多设备有个黄色感叹号图标,如下。显示适配器会有两个,一个是 没有安装好驱动的 vgpu, 另外一个就是用于 pve 网页端控制台的windows 桌面显示。此时打开 "【此电脑】-> 【CD-virtio-win 驱动器】 -> 【virtio-win-gt-x64】" 安装所有驱动。此时在设备管理器的所有设备应该不再显示黄色感叹号了,如果有,右键它,更新驱动程序。
[*]安装 qemu-guest-agent。此时除了 Intel UHD Graphics 还显示黄色感叹号外,其余都没问题了。 还需要装个 qemu-guest-agent, 这个是用来给 pve 控制 开关虚拟机的. 操作如下"【此电脑】-> 【Guest-Agent】 -> 【virtio-win-gt-x64】", 然后打开 服务确定服务是否正在运行,重启一下,不行还将另外一个 qemu-agent 服务设置为自启动(如何安装QEMU Guest Agent),
接着 进入系统更新,更新到没有为止后,打开 windows 的 "【设置】 -> 【系统】 -> 【关于】",查看 系统的版本号 也就是 "【21H2】 / 【22H2】" 这样的字眼。Access Denied接着 进入系统更新,更新到没有为止后,打开 windows 的 "【设置】 -> 【系统】 -> 【关于】",查看 系统的版本号 也就是 "【21H2】 / 【22H2】" 这样的字眼。
https://pic1.zhimg.com/v2-ca73184e0956ad4f80a517be2b41c4a6_1440w.jpg
https://pic4.zhimg.com/v2-36a2667c401a77cdc84af7e2af125b4b_1440w.jpg
第四步:安装最新的 Intel 显卡驱动。虚拟机打开 英特尔® Arc™ 和锐炬® Xe 显卡 - Windows*,选择通过选择不同的 含 "Certified" 字样的版本,观察其配置 是否 包含我们的 Windows10*(21H2) 版本号,确定后再点击下载并安装。安装完成重启后, 再打开 Windows ,查看 "【任务管理器】-> 【性能】" 就能看到 GPU.
https://pic4.zhimg.com/v2-df303de4925e810953752e7da0981597_1440w.jpg
实验过程记录——内网实现远程桌面,串流使用
安装串流远程桌面工具 parsec (可选) 或者 使用 RDP(微软自带)
parsec 串流工具会使用 系统 GPU 采集系统输出界面并使用 H.265 编码输出视频流, 并由另外一台 parsec 客户端 的 GPU 解码, 帧率、画质、带宽都可调整,非常流畅。如图所示,远程小主机 windows 播放 4K HDR 60fps 高质量视频时, 采用核显加速远程传输画面,其编码延迟是 仅为15ms, CPU 占用率 为 62% 左右,GPU 为45%左右,完全不掉帧,画面非常流畅。配合大屏平板做移动电脑、备用电脑、电视盒子 不在话下。https://pic2.zhimg.com/v2-a4b1a8bbb02f175c69868b01e2c7e3cd_1440w.jpg
实验过程记录——通过公网地址DDNS/内网穿透 等方式 在外网使用未完待续
parsec有手机客户端吗 yin19991999 发表于 2024-12-23 21:17
parsec有手机客户端吗
有的(凑字数凑字数) 3. machine: pc-q35-8.1 : 机型 选择 q35, bios: ovmf : BIOS, EFI 选择 添加磁盘
这一步为什么选择 q35 机型? elvba 发表于 2024-12-24 13:21
这一步为什么选择 q35 机型?
我之前查过,没记错的话,q35 的兼容性、扩展性和虚拟化能力更好,就是模拟真机更像
页:
[1]