风无痕
July 31,2023
前言
很多人想建个人博客类的网站,这就需要网站服务器;需要管理手机、电脑中积累的照片,每张照片可都是人生一个片段的记录,需要管理微信中收发的各种文档等等,这就需要一台 NAS 即 Network Attached Storage(网络附属存储),NAS 本质上也是一台服务器;更有甚者想借助 NextCloud 之类的服务器平台搭建个人(群组)云盘;总之需要很多台服务器为自己的生活增加便利性、拓展内涵。是购买商家的云服务还是自己在家搭建?是用一台服务器达成全部需求还是用几台专业的服务器分别达成不同需求?软硬件怎么配置?什么方案兼有经济性、安全性和可靠性?
现在的个人电脑都很强了,Windows 和 Linux 操作系统中都有很多虚拟化软件,既然有如此之多需要厘清的问题,我们在实践之前何不试验在自己的电脑中虚拟一下、找到这些问题的答案呢?我的构想是,在个人电脑中用 PVE 这个平台来虚拟个服务器虚拟化集群,用这个服务器虚拟化集群分别实现网页服务器、NAS 以及个人云盘。通过这个试验,我们来找到上述问题的答案,再在实践中得以贯彻以节省成本、少走弯路。
上一篇,试验了 PVE 虚拟机的系统安装、重启并进入登录状态。由于 PVE 系统提供了浏览器中的图形管理界面,我们需要在浏览器中进入该界面,并进行软件源更换和系统更新,这便是本篇试验的内容。
进入 PVE 图形管理界面
正如上篇 PVE 虚拟机重启、进入登录状态后 Shell 显示的信息所提示的,我们应该用浏览器通过连接地址 https://<PVE's IP Address>:8006/
来设置该 PVE 虚拟服务器集群,首先需要打开 PVE 浏览器图形管理界面。
- 在 PVE 虚拟机的宿主机(即我们的个人电脑)的浏览器地址栏中输入
https://192.168.100.188:8006/
,在忽略了“隐私错误”后随即出现图形管理界面的登录页面。
- 选择合适的语言后输入用户名(目前只有
root
用户)、安装时设置的密码并登录。
- 忽略“无有效订阅”提示后,浏览器中的 PVE 图形管理界面就呈现在面前了。
更换软件源、安全更新源
Proxmox VE 基于 Debian Linux,他们的软件源、安全更新源服务器均在境外。根据我们既有的经验,用这些源进行软件安装、更新的网络速度太慢,甚至是经常失败,我们需要更换为国内镜像源。查询后发现, 在清华大学、中国科学技术大学等为数不多镜像站有 Proxmox 镜像源,且清华大学镜像站 https://mirrors.tuna.tsinghua.edu.cn/
的 使用帮助 比较清晰、易于理解。这里就更换为清华镜像站的镜像源。
PS:各种开源软件的源国内大学镜像详见 校园网联合镜像站 。
- 在 PVE 图形管理界面打开名为
xterm.js
的 Shell 模拟器,如下图。
- 随即,浏览器在新页面中打开了该 Shell 模拟器,后续的设置我们均在这个 Shell 模拟器中进行。
PS:之所以不在 PVE 虚拟机的 Shell 或者图形管理界面的另一个名为 noVNC
的 shell 中进行设置,都因为无法在他们中进行文本的复制粘贴。
-
根据清华源镜像的帮助文档,首先更换 Debian 软件源:参考 Debian 软件仓库镜像使用帮助,修改
/etc/apt/sources.list
。-
在 Shell 模拟器中,输入如下命令以避免无法拉取 HTTPS 源的情况出现。
apt install apt-transport-https ca-certificates
-
在 Shell 模拟器中用
nano
命令修改/etc/apt/sources.list
为以下内容:# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware # deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware # # deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
PS:这里考虑安全更新的网络速度,选择了镜像站安全更新软件源;官方安全更新软件源与镜像站安全更新软件源两者只能取一。
-
在 Shell 模拟器中输入以下命令,关闭 HTTP Pipelining 特性解决 “apt 的 HTTP Pipelining 特性与 Nginx 服务器疑似存在一定的不兼容问题”。
echo "Acquire::http::Pipeline-Depth \"0\";" > /etc/apt/apt.conf.d/99nopipelining
-
-
更换 (Proxmox)软件源:在 Shell 模拟器中用
nano /etc/apt/sources.list.d/pve-no-subscription.list
命令新建文件/etc/apt/sources.list.d/pve-no-subscription.list
,内容如下。# 使用帮助是针对基于版本号为 bullseye 的 Debian 的 Proxmox ,Proxmox 8.0-2 是基于版本号 bookworm 的 Debian,须调整。 deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
-
注释掉 Ceph 和 pve-enterprise 两个源:在 PVE 系统的
/etc/apt/sources.list.d
目录下的两个文件ceph.list
和pve-enterprise.list
中分别提供了 Proxmox VE 的开源软件存储平台 Ceph 的源和企业版 (pve-enterprise )的源,在更新时会出现网络、授权等问题,且我们暂不研究这些复杂内容,对于完美主义者不希望更新时出现问题。在 Shell 模拟器中用nano
命令编辑这两个文件,把这两个源的代码前加#
注释掉。编辑后内容分别如下。# /etc/apt/sources.list.d/ceph.list #deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise
# /etc/apt/sources.list.d/pve-enterprise.list #deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
-
清华源 使用帮助 所说的 CT Templates 源的内容,同理暂不予处理。
更新源及发现的问题
这样,我们把 PVE 的软件源、安全更新源全部更换为清华镜像源了,可能产生问题的一些因素已经处理,且注释掉了一些暂不需要的源,可以进行源更新了。
-
更新源:在 Shell 模拟器中输入如下命令,以更新源。
apt update
-
出现的问题:源更新结果如下图,明显出现问题,从 Shell 的反馈信息中可以看出,是无法解析(failure resolving)清华源域名
mirrors.tuna.tsinghua.edu.cn
导致无法拉取目录文件(index files)。
问题原因排查
PVE 虚拟机的网络设置似乎出现了问题,或者是用于域名解析的 DNS 服务器设置错误,或者是虚拟机根本就没有与路由器连接。那么我们用检查网络常用的 ping
命令来测试一下吧。
- 检查能否连接 DNS 服务器:打开 PVE 虚拟机的域名解析设置文件
/etc/resolv.conf
可以看到,设置的 DNS 服务器为路由器192.168.2.1
,ping 一下该服务器,显然 PVE 虚拟机无法连接 DNS 服务器,PVE 虚拟机与路由器无网络连接。
- 检查 PVE 虚拟机网络设置:打开 PVE 虚拟机的网络适配器配置文件
/etc/network/interfaces
,发现网关等设置正确、但 IP 地址(address) 为192.168.100.188
,上一篇考虑笔记本电脑更换使用场所的情况做了这样设置的,与路由器并不在同一网段,尽管用宿主机的浏览器能打开 PVE 图形管理界面,但 PVE 虚拟机并不能与路由器连接、当然不能与清华源镜像或者其他外网连接。
更改 IP 地址并更新系统
问题原因查明,解决问题就简单了;问题解决后,再更新源、更新系统。
- 更改 PVE 虚拟机的 IP 地址:在 Shell 模拟器中用
nano
命令编辑 PVE 虚拟机的/etc/network/interfaces
文件,使得PVE 虚拟机的 IP 地址与路由器同一网段,这里就设为192.168.2.188
,保存后退出。
- 重启 PVE 虚拟机和打开图形管理界面:在 Shell 模拟器中输入
reboot
命令重启虚拟机,新设置的 IP 地址已经生效,进入 PVE 图形管理界面时输入的地址也应该调整为https://192.168.2.188:8006/
,尽管 PVE 虚拟机重启后 Shell 的提示信息尚未改变。
- 在 PVE 的图形管理界面重新打开 Shell 模拟器,输入源更新、系统更新命令
apt update && apt upgrade -y
,系统更新顺利完成。
PS:个人电脑更换使用场所后,网络的网关一般会发生变化,用网关作为DNS 服务器的话也就会发生变化。在此情景下,为了 PVE 虚拟机网络正常,需要重新编辑 PVE 虚拟机的 DNS 配置文件 /etc/resolv.conf
,把当前的网关设为 DNS 服务器,更为保险的是把 8.8.8.8
、 114.114.114.114
等通用网关服务器添加为备用 DNS 服务器;还需编辑网络适配器配置文件 /etc/network/interfaces
,使得所设置网关与当前网络的网关一致,并使得 PVE 虚拟机的 IP 地址与当前网络在同一网段。
这样本次试验用的 PVE 虚拟机的源就更换成了清华镜像源,并做了系统更新;顺便解决了上篇中 PVE 虚拟机安装前设置时错误设置 PVE 虚拟机 IP 地址的问题。下一篇,我们对 PVE 虚拟机系统进行存储相关设置等一些其他设置。
参考资料
- Proxmox 软件仓库镜像使用帮助. mirrors.tuna.tsinghua.edu.cn
- Debian 软件仓库镜像使用帮助. mirrors.tuna.tsinghua.edu.cn
- Debian中如何设置静态IP地址 网关 DNS. blog.csdn.net
- Debian系Linux软件源配置详解与常用的国内软件源汇总. juejin.cn
- MiaoTony. HomeLab | 1 Proxmox Virtual Environment(PVE) 安装及配置. miaotony.xyz
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。
本文链接:http://t.csdn.cn/72Oys