PVE-服务器部署
PVE安装
略,有待补充
PVE初始化
整合固态存储空间
删除 locall-lvm,合并存储空间到 local
- 在 PVE 的命令行里执行以下命令:
lvremove pve/data
# 随后键入 y 以确定删除操作
lvextend -l +100%FREE -r pve/root # 将存储空间都合并到 local
- 在 PVE 的操作界面点击
数据中心 - 存储
,选中local-vm
,点击移除
; - 再双击打开
local
,将内容一栏追加勾选 “磁盘映像”,点击OK
确定即可。
AX210驱动更改
(见此文章:基于PVE与AX210无线网卡的NAS主机调试记录)
运行信息大概类似下面这样:
> dmesg|grep iwl
#略
iwlwifi 0000:aa:00.0: WRT: Invalid buffer destination
#略
iwlwifi 0000:aa:00.0: loaded firmware version 83.e8f84e98.0 ty-a0-gf-a0-83.ucode op_mode iwlmvm
iwlwifi 0000:aa:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
即新版的PVE内核不兼容。这里引用一段原文,以防原文丢失:
似乎是读驱动时报了”Invalid buffer destination“,然后顺着这个错误信息,在archlinux论坛里翻到两个帖子:
https://bbs.archlinux.org/viewtopic.php?id=288765
https://bbs.archlinux.org/viewtopic.php?id=286305
提到了“AX210/211无线网卡在OS的某次6.X内核更新后无法使用”,报错和上面相同。看了下PVE 8.2的内核,发现用的是Kernel 6.5.11的Debian 12.5。
移动新的驱动:
mv /usr/lib/firmware/iwlwifi-ty-a0-gf-a0-86.ucode.xz ~/ # 我这里有86版本,依情况而定
mv /usr/lib/firmware/iwlwifi-ty-a0-gf-a0-83.ucode.xz ~/
# 直到降到尾号为72版本,就可以正常运行啦!
重启机子,再次查看运行信息,即正常:
root@haohaha:~# dmesg | grep -i iwl
[ 3.878485] iwlwifi 0000:07:00.0: enabling device (0000 -> 0002)
[ 3.880018] iwlwifi 0000:07:00.0: Detected crf-id 0x400410, cnv-id 0x400410 wfpm id 0x80000000
[ 3.880029] iwlwifi 0000:07:00.0: PCI dev 2725/0024, rev=0x420, rfid=0x10d000
[ 3.880303] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-86.ucode failed with error -2
[ 3.880369] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-85.ucode failed with error -2
[ 3.880430] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-84.ucode failed with error -2
[ 3.880486] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-83.ucode failed with error -2
[ 3.880547] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-82.ucode failed with error -2
[ 3.880605] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-81.ucode failed with error -2
[ 3.880662] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-80.ucode failed with error -2
[ 3.880718] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-79.ucode failed with error -2
[ 3.880788] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-78.ucode failed with error -2
[ 3.880846] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-77.ucode failed with error -2
[ 3.880901] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-76.ucode failed with error -2
[ 3.880958] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-75.ucode failed with error -2
[ 3.881014] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-74.ucode failed with error -2
[ 3.881074] iwlwifi 0000:07:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-73.ucode failed with error -2
[ 3.949885] iwlwifi 0000:07:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.36
[ 3.950336] iwlwifi 0000:07:00.0: loaded firmware version 72.a764baac.0 ty-a0-gf-a0-72.ucode op_mode iwlmvm
[ 4.461401] iwlwifi 0000:07:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
[ 4.634925] iwlwifi 0000:07:00.0: WFPM_UMAC_PD_NOTIFICATION: 0x3f
[ 4.634940] iwlwifi 0000:07:00.0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
[ 4.634952] iwlwifi 0000:07:00.0: WFPM_AUTH_KEY_0: 0x90
[ 4.634964] iwlwifi 0000:07:00.0: CNVI_SCU_SEQ_DATA_DW9: 0x0
[ 4.637355] iwlwifi 0000:07:00.0: loaded PNVM version e28bb9d7
[ 4.652500] iwlwifi 0000:07:00.0: Detected RF GF, rfid=0x10d000
[ 4.721469] iwlwifi 0000:07:00.0: base HW address: e8:bf:b8:9b:97:9a
[ 4.818834] iwlwifi 0000:07:00.0 wlp7s0: renamed from wlan0
安装 iStoreOS (OpenWRT)
安装步骤
-
使用 MobaXTerm 可更方便传输文件。
-
向 PVE 内传入
img2kvm
和 下载好的 iStore镜像/OpenWRT镜像,版本要根据自己主机的指令集架构选择。 -
赋予
img2kvm
执行权限:chmod +x ./img2kvm
-
新建虚拟机,虚拟机 ID 为
100
(参考)- 添加 PCI 设备,直通 AX210
-
在 PVE 命令行中执行命令
格式:
./img2kvm <传入的镜像名称> <虚拟机号> <磁盘号> <放入的存储设备名>
我的命令为:
./img2kvm istore... 100 vm-100-disk-0 local
-
在 PVE 的操作界面将新建硬盘正式添加到设备中,在启动项中打开此磁盘启动,并排至第一位。
-
打开 iStoreOS 之后,编辑
/etc/config/network
,将其其中一段改为:config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr 'xxx.xxx.xxx.xxx' # 这里填写安装 PVE 时所写的网关地址 option netmask '255.255.255.0' option ip6assign '60'
-
重启即可进入软路由设置界面,可连接 WiFi,并配置 IPv6。
配置 iStoreOS
- 在主页选择更换软件源,更换为中科大源
- 进入系统-软件包,点击更新列表
- 进入iStore,安装 frpc。
IPv6+DDNS-GO+Socat 部署服务器到公网
参考视频:手把手教学!Openwrt IPV6 ddns解析,公网访问,远程开机,远程桌面 - Bilibili
TODO:详细流程有待补充哈。
DDNS-GO
- 注意,腾讯的密钥和 DnsPod 搀在一个页面了,默认打开的是腾讯的,千万注意。
- DnsPod 那的白名单不用开,默认就是关着的,别开。开了反倒可能出现 DDNS-Go 的 “IP非法” 错误。
备案
- 其实不用云服务器,只用域名的话,备案其实也不用备(毕竟备案需要有云资源)。
PVE 配置
更新中科大源并更新软件
sed -i 's|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g' /etc/apt/sources.list
sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list
rm /etc/apt/source.list.d/* # 删除其他源
apt update
apt upgrade
优化 PVE 界面
- 将 pve_source.tar,gz 传入 PVE 中
- 解压此包
- 命令行中运行
pve-source
- 执行 6 选项,优化 PVE 界面;
- 执行 7 选项,选
o
即可。
设置用户账号
```text
cat /etc/passwd # 查看所有用户的列表
sudo useradd -m 用户名 -s /bin/bash # 创建新用户,并使用/bin/bash 作为 shell
sudo passwd 用户名 # 为新用户设置密码
sudo adduser 用户名 sudo # 为新用户添加管理员权限
sudo userdel 用户名 # 删除用户
```
安装 KDE 图形界面
- 运行如下命令
apt install kde-full -y
apt install lightdm -y
# 在随后的设置中选择 lightdm 即可
apt install chromium -y
- 重启电脑,右上角左数第一个图标选择 Plasma(x11),然后输入用户名密码即可进入图形界面。
图形界面配置
安装 X11VNC-Server
安装搜狗输入法
安装 Zsh 并美化
……
安装 Ubuntu 22.04
设置网络配置
- 编辑
/etc/netplan/01-network-manager-all.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3: # 替换为您的网络接口名称
dhcp4: no
addresses:
- 192.168.3.50/24
routes:
- to: default
via: 192.168.3.1
nameservers:
addresses: [223.6.6.6, 8.8.8.8]
- 执行
sudo netplan apply
设置系统代理
更改启动界面
sudo apt install lightdm -y
安装时选择 lightdm
即可
安装 X11VNC-Server
配置 Docker
Docker换源
见 2024 年 4 月可以用的 docker 国内源 - Josefa@知乎
emmm,看起来换官方源开代理更靠谱。
官方源:https://registry.docker-cn.com
然后重启 Docker 服务 sudo systemctl restart docker
Docker配置代理
注意是 172.17.0.1:7890
,因为 docker 用的是 docker 自己的网卡 docker0
。
Docker 内 Nextcloud 配置代理
配置 config/config.php
:
'proxy' => 'http://172.17.0.1:7890', # 因为是docker内,故docker网关为172.17.0.1
WebDAV 挂载到 Ubuntu
sudo apt install davfs2
mkdir osca
sudo mount -t davfs http://192.168.9.3:6293/osca/ ~/osca
后续还有重启自动挂载,看文章就是了。
如果Nextcloud无法读取信息,要检查:
- 容器内
data/
目录的所有者,应该是www-data
- 挂载点权限是否改变
- TrueNAS 的
/mnt/oscaPool
所有者是否为 osca,即 TrueNAS 的配置用户这一步是否做好!
Nextcloud 部署 OnlyOffice
要点:
config.php
内要写:
'proxy_exclude' => ['172.17.0.2'],
'onlyoffice' => [
'verify_peer_off' => true,
'DocumentServerUrl' => 'http://192.168.9.2:6290/', // 外部访问
'DocumentServerInternalUrl' => 'http://172.17.0.2/', // 内部访问
],
'allow_local_remote_servers' => true,
- 改 OnlyOffice 容器内
/etc/onlyoffice/documentserver/default.json
里面的代码:
"requestDefaults": {
"headers": {
"User-Agent": "Node.js/6.13",
"Connection": "Keep-Alive"
},
"gzip": true,
"rejectUnauthorized": false # 这里要把原来的 true 改成 false
},
-
一定要去 OnlyOffice 的内部看好密钥的每个字母,这非常重要。
-
更新字体参考:ubuntu server 22.04 使用docker安装 onlyoffice 8.0同时添加中文字体、字号 - CSDN
docker cp /path/to/fonts/. my_container:/usr/share/fonts/
要复制 mini-fonts
和 fonts
两个文件夹的.
就是别忘了更新浏览器缓存。
安装 TrueNAS Core
PVE-硬盘直通
配置网络
ifconfig <网卡> inet <ip> netmask <子网掩码>
配置用户(必做!!)
见 truenas下配置用户及权限 - firemakergk@Github
配置池
见 TrueNAS存储池配置 - firemakergk@Github