榨干小主机,all in one 家庭软路由方案 篇一:PVE 虚拟化环境搭建与调试入门

2022-02-01 13:21:26 657 点赞 5190 收藏 237 评论

大家新年好,我是大鹏。

本篇章是【all in one 家庭软路由方案】系列的第一篇实操内容,主要讲如何搭建虚拟机系统环境,大鹏作为一位刚刚从新手村出来的新人,会用最详细的方式给小白们进行说明,如果你觉得细节繁琐,请快速阅读即可,本系列教程主要针对新手入门用途。

本篇章之所以在命名上是篇 2,因为实际会有一篇介绍 all in one 的理论知识啰嗦内容作为篇 1,放到最后发布吧,本系列教程预计 10 篇章内容左右,目的是帮助小白从一脸懵逼,到顺利离开新手村开始踏上被 all in one 折磨的道路。

阅读本章,你可能需要花费 30 分钟,但是将学会

  1. 搭建 PVE 虚拟系统环境;

  2. 让 PVE 系统接入现有局域网并连接互联网;

  3. 更新内置的软件源地址;

  4. 增加插件显示 CPU 温度;

  5. 将 PVE 安装到内置 EMMC 中;

  6. 对系统分区进行扩容;

  7. 设置基础网络网卡配置;

  8. 设置定期启动或关闭虚拟机;

  9. 备份与还原虚拟机;

本系列教程将采用 PVE 作为底层搭建整套方案的环境,之所以选择 PVE,主要考虑几点

  • 对网卡兼容性比较好,不需要折腾驱动;

  • 支持显卡直通功能,可以把 all in one 当普通电脑视频输出;

  • 相对比较成熟,网上教程也很多;

  • 其它的我不会

当然 PVE 并不是非常完美,你所看到本系列教程中,会有很多需要通过命令行操作的功能,对新手非常不友好,但这里不过多讨论用什么底层系统作为 all in one ,虽然之前采用过 Hyper-V 方式,不过近期我研究的方向是 PVE,所以用此作为 all in one 方案给大家分享, 其实 PVE 只是一个底层, 我们后期关注的是虚拟机的搭建与使用。

本教程 PVE 系统版本是 7.0.11 (不知道为什么安装 ISO 显示 7.0.2,安装后显示是 7.0.11),如果你是新手,请严格按照相同的软件版本进行搭建,可以使用我提供的懒人包文件的,或者在 PVE 官网上下载,我提供的并非最新的,但是都是我实践过的,建议新手不要贪图新版本,因为在我研究的过程中发现,目前网上分享的教程很多都是基于 PVE 5 系列或 6 系列的说明,实际一些方法到 7 系列已经无法适用了,本篇章编写截稿于 2022 年 1 月 31 日,未来查看的朋友,请对本文内容的有效性进行判断是否适用;

阅读提示:本文含有大量图片或动图,请在电脑端浏览以获得更好的浏览体验

1. 准备

**1. 1 固定投入硬件(**这些是固定要使用的)

  • 电脑主机一台(就是 all in one 主机,至于怎么选择):

  • USB 转 RJ45 网卡一个,如果电脑是多网口的,那就不用这个;

  • 无线路由器,以后要当家庭 wifi AP 用途;

  • all in one 主机连接到 wifi AP 的网线;

**1.2 临时使用硬件(**这些只是在安装时候使用)

  • 电脑,用来操作;

  • 鼠标键盘;

  • U 盘,用来安装系统;

  • all in one 主机连接到操作电脑的网线;

  • 现有能正常上网的路由器及网络;

**1. 3 软件 & 工具(**这些都是免费可以下载到的)

  • 各种系统文件;

  • 各种工具软件;

本篇章所用的的软件和工具,都会在下面这个地址下载到,并且将按照步骤排序好了,适合懒人使用

百度云:https://pan.baidu.com/s/1mjx_NdySgPMMia6gsW84VA 提取码:vcm3

阿里云:https://www.aliyundrive.com/s/T4fHctQ8vWf 提取码: 42ri

1.4 all in one 主机设备连接

在安装之前, 你需要把所有设备按照下图进行连接,本篇章内容会分为两个阶段,两种连接方式:

  • 安装阶段:通过 PVE 主机外接的 显示器,进行操作;

  • 调试阶段:通过你的操作电脑用网线连接 PVE 主机,进行操作(这个后面再讲);

安装时的主机连接

2 PVE 系统安装

安装主要步骤为

  1. 烧录 PVE 安装程序到 U 盘;

  2. 使用安装程序 U 盘对主机进行安装;

  3. 使 all in one 主机连接局域网;

2.1 U 盘烧录

拿出准备的 U 盘,容量大于 2GB 即可

  1. 首先,将 U 盘插入你所使用的电脑(非 all in one 主机),并对其进行格式化;

  1. 打开烧录工具 UltraISO

All in one1. PVE 环境搭建 1.ISO 烧录工具 UltraISO.exe

并从右上角【文件】中打开 ISO 安装包

All in one1. PVE 环境搭建 2. PVE 安装包 proxmox-ve_7.0-2.iso

  1. 继续在 UltraISO 中操作,点击【启动】,然后选择【写入硬盘映像】,选择好需要烧录的 U 盘后,点击【写入】;

  1. 如果出现无法格式化,无法写入的情况,请使用

All in one1. PVE 环境搭建 3. 磁盘管理工具 DiskgeniusDiskGenius495.exe

对 U 盘进行删除所有分区后再进行,以下这几种情况都会导致烧录 PVE 出错。

  • 使用的 U 盘之前烧录过别的安装包,分区被划分过;

  • U 盘有多个分区;

  • U 盘的格式之前改过;

  1. UltraISO 中出现【刻录成功】后即可,此时你的电脑的文件管理器是无法识别到 U 盘的了,这样属于正常。

2.2 开启主机虚拟化功能

开启虚拟化功能的作用是让 CPU 的虚拟化技术能应用在 PVE 系统上,其实在 intel 4 代 CPU 后基本上都支持该技术,特别老的可能不支持,请根据自己的硬件进行判别。

另外一点是硬件直通功能,也是需要硬件支持的。

U 盘刻录成功后,把 U 盘插入 all in one 主机中,先关机,再开机,进入 BIOS 设置虚拟化功能打开,

  1. 把 all in one 主机关机后,再开机,进入 BIOS 设置界面,一般就是开机过程中连续按【Delete】按键,或者【Esc】,又或者 F1~F0 按键,每个电脑不同, 我的是开机按【Delete】键;

  2. 进入 BIOS 后, 进入【Advanced】选项,找到 CPU 相关的内容,将虚拟化和硬件直通打开选择【Enabled】使能

  • Intel Virtuallzation Technology,这个是虚拟化技术,打开了才能通过宿主机运行虚拟机;

  • VT-D, 这个是硬件直通技术,可以用来把 PCI E 设备直接给虚拟机使用,比如网卡,显卡;

  1. 设置后,进入到【Boot】选项,将 第一启动项【Boot Option #1】 设置成刚刚插入带有 PVE 安装程序的 U 盘;

  1. 最后进入【Save & Exit】进行保存,并重启;

完成上面设置后,就可以准备安装了

2. 3 系统安装

PVE 的系统安装,和 win10 其实差不多,就是开机后简单的设置几点后就自动化执行了

  1. 设置完 U 盘启动后,开机,此时你的 all in one 主机会输出 PVE 的安装引导页面;

  1. 然后会跑十几秒的 启动命令行界面;

  1. 出现相关协议页面,点击右下角同意,就可以准备开始安装选项;

  1. 首先选择安装的磁盘位置,这里选择你需要把 PVE 安装的磁盘,建议 all in one 主机是多磁盘的新手朋友,在安装前先把多余(不用来装系统的)磁盘拆除,避免选择错误;

重要说明

  • 当前 PVE 安装时不支持写入内置 EMMC 磁盘 或者 外部的 存储卡 的,能选择,但是安装无法通过;

  • 如果需要将 PVE 系统安装到主板内置的 EMMC 中,可以看后面的操作说明;

  1. 选择磁盘时候,根据自己需要安装的磁盘进行选择,这里建议选择好磁盘后,点击旁边的【Options】进行自定义设置,把【hdsize】设置为 64,其它的保持空白即可,这样做的用途是只采用该磁盘的 64GB 容量进行本次安装,剩余的容量,后期可以自己进行分配,这样做的原因是因为 PVE 安装后,对不同分区的容量进行扩容方便,但是减少容量就很麻烦,作为一名新手,可能对 PVE 的架构不了解,如果不特意限制 64GB 的空间的话,安装引导就会按照一定的比例帮你分配,带来的后果就是 可能备份和镜像的空间分配得很多,实际你根本用不到,所以我的建议是先使用 64GB 用来试试水,已经可以满足你前期的调试安装了。

使用 64GB 安装后,你会得到如下两个重要的空间

  • local = 16.31% (2.70 GB 的 16.53 GB) ,这个是存储镜像、模板、备份的空间,我一般用来周转安装镜像,备份后期可以修改成别的位置

  • local-lvm = 0.00% (0 B 的 33.15 GB),这个是存储虚拟机用的虚拟磁盘空间,你所安装的虚拟机都会放到这个空间

  1. 然后设定密码,以及输入你的邮箱地址(其实没什么用,但是要填写才能进行);

  1. 选择使用地区国家,输入 china 即可选择, 时区保持默认的 shanghai 即可,输入法也保持默认英文键盘;

  1. 接着最重要的填写主机信息,其中包括

  2. 选择网卡, 这里选择的网卡,是以后你进行 PVE 系统的管理口,意思是你选择了哪个网卡,以后只能通过这个网口进行对 PVE 系统的管理,如果主机网口比较少,那随便选都可以,如果网口很多的,请记住你选择的网卡,免得后期不方便管理,如果你的主机是有 wifi 网卡,那么这里也会出现这个 wifi 网卡,但是千万不能选择 wifi 网卡,是无法链接的,一定要选择有线网卡;

  3. 主机名称,其实是让输入你自己的网站名称,格式一定是 XXX.XXX, 不然无法通过,可以随便填,不过填写后,会作为你 PVE 主机的名称,请输入自己喜欢的名称即可;

  4. 管理 地址,后期通过这个 IP 地址进行管理,这里需要设计好,比如你计划以后的局域网网关地址是 192.168.0.1,那么你就应该输入 192.168.0.2, 与网关地址不要冲突,自己能记住即可,这里建议设置成你现有路由器一样的网关地址,这样后续进行联网调试会更加方便,适合新手;

  5. 网关地址,同管理地址的意思,我设置成 192.168.0.1, 这个地址我以后也会作为软路由的网关路由地址,虽然后期都可以改,不过一开始还是计划好吧;

  6. DNS 地址,这个虽然不改保持默认能继续安装,但是新手一定一定要修改这个为 114.114.114.114,切记切记,因为如果你保持默认或者随便填写一个不可用的 DNS,那么后期你的 PVE 是无法联网安装插件的,我就吃过亏,研究了很久;

完成这些后,下一步

  1. 最后会把你设置的信息汇总给你确定,查看以西没问题,就点击右下角安装开始跑进度了

  1. 安装过程中,等待几分钟即可;

  1. 进度跑完后,系统会重启,注意及时拔出 U 盘,当重新开机,你的 all in one 主机 视频输出这样的启动页面,表示 PVE 安装完成了。

注意事项:

如果是非主板自带的网卡作为管理网口的,比如说通过 PCIE 插槽扩展网卡,或者 USB 网卡的,安装完成后,切勿动网卡,因为一旦网卡拔出或修改,那么你可能连后台都进不去了。

3. 初探 PVE

安装完 PVE 系统,那么我们先对 PVE 系统的使用进行简单的操作

3.1 与 PVE 连接

安装完 PVE 系统后,PVE 主机会自动重启,拔掉 U 盘,后面的操作,就不需要 PVE 的显示屏操作了, 而是通过局域网连接,那么我们接下来,进行 PVE 主机与操作主机的局域网连接,请按照下图进行设备的连接:

大体流程

  1. 设置两个主机在一个网段;

  2. 然后通过局域网访问;

操作电脑的 IP 修改成与 PVE 相同网关

  1. 打开【你的电脑】-【控制面板】-【网络和共享中心】;

  2. 找到有线网口的网卡,点击进入选项;

  3. 进入【属性】设置,找到【internert 协议版本 4(TCP/IPv4)并双击;

  4. 选择【使用下面的 IP 地址】;

  5. 将第一个【IP 地址】改为 192.168.0.5,只要是同个网段,和 PVE 不一样即可;

  6. 第二个【子掩码】会自动填入 255.255.255.0,默认即可;

  7. 【默认网关】改为 192.168.0.1;

  8. 完成,点击确定;

完成上述操作,你的操作电脑和 PVE 主机就是在同一个网段了,接下来可以进行访问了。

注意事项

  • 上面的 192.168.0.1 是你安装 PVE 系统时,设置 PVE 的 IP 对于的网关,前三段你设置多少,这个网关最后一位就是 1;

  • 同理,192.168.0.5,是你的电脑即将使用的 IP ,这里的前三段要和网关一样,最后一位不能和 PVE 主机相同即可;

  • 如果你在安装 PVE 的时候就听从我上面的建议,将网关设置成现有路由器相同,则可以免去这一步骤;

3.2 与 PVE 第一次亲密接触

安装完 PVE,并连接网线和设置 IP 后,就可以对 PVE 主机进行操作了

PVE 的交互方式会涉及到三种

  • WEB 网页端的面板管理:新建虚拟机等管理用

  • SSH 指令式管理:修改后台配置,安装插件等用

  • SFTP 文件式管理:上传下载 PVE 配置文件用

3.2.1 WEB 方式

首先我们通过最直观的 WEB 网页访问,用具有 UI 交互的方式先看看,不要使用 IE 浏览器,请使用 EDGE,或者 Chrome 浏览器

  1. 通过浏览器,访问 https://192.168.0.2:8006 ,第一次访问一定要用 https:// 开头的,不然访问不了;

  2. 提示不是专用连接,不用管,点下面的高级选项,继续访问即可;

  3. 通过安装时设的密码进行登录 root 账号,语言记得修改一下;

  4. 登录后,会提示订阅不可用,没事,白嫖者就默默关闭;

此时,你应该可以看到 PVE 的管理后台了,随便看一看,不要着急新建虚拟机。

新建虚拟机其实比较简单,难就难在不同虚拟机的配置,可以看看新建虚拟机的流程,不用太在意,后面篇幅会详细说明参数

注意事项:

  • 这个地址,是安装 PVE 时设置的,请根据自己设置的 IP 进行访问;

  • 记得把 https:// 输入完成,因为 PVE 后台只能通过 https 访问;

  • 访问前,一定要把网卡的 IP 自定义与 PVE 地址一样网关,不然访问不了;

  • 登录 PVE 界面,可以选择中文语言,并且可以选择记住用户,下次就不用重复输入;

善用任务栏

初次登陆管理后台,你会发现最下方有一行行列表,可能你会觉得很烦占用界面空间,但是实际对于新手,是比较重要的内容显示,这个栏目的功能是显示 PVE 系统的任务状态,比如启动了什么虚拟机,新建了什么内容,或在什么虚拟机出现什么错误,都会有详情说明,对排查故障时很好的帮助,大家可以在平时熟练后,点击隐藏,出现故障时打开看看任务详情即可快速定位问题。

3.2.2SSH 连接方式

工具路径:

All in one1. PVE4. 连接 PVE 工具 Puttyputty.exe

SSH 连接应该说是最高级别的控制 PVE 方式了,只要是 Linux 底层的都可以通过这种方式对系统进行控制,PVE 最底层 Debian 也属于 Linux 一个分支,自然通过 SSH 连接能对 PVE 进行最完全的控制,网上说 PVE 对新手不友好,可能也体现在这里,有很多功能无法通过 WEB 控制面板进行操作,而是通过命令行实现。

  1. 打开 PuTTY 工具,输入 PVE 的地址 192.168.0.2,回车;

  2. 就开始连接,提示安全相关的信息,确定即可;

  3. 接着会出现黑色的窗口,提示输入账号,账号就是 root;

  4. 接着要求输入密码,输入安装 PVE 时设定的密码即可,但是注意的是,这个窗口输入密码显示出来是空的,大家不要慌张,可能是安全机制吧;

登录成功后,就是以 root# 开始的命令行界面了, 就先到这里,了解如何连接操作即可,后面还需要经常操作,如果意犹未尽,那就输入个 reboot 试试看主机会不会重启。

3.2.3 SFTP

工具路径:

All in one1. PVE4. 连接 PVE 工具 WinscpWinSCP.exe

SFTP 是具有安全协议的 FTP 文件传输类型,和上面 SSH 同理,也是 Linux 下就有的管理方式,可以以文件管理器的方式,展示操作系统里面的文件,方便我们配置系统。

  1. 打开 WinSCP 工具,输入 PVE 主机的地址 192.168.0.2,协议选择 SFTP,端口默认即可;

  2. 在账号和密码位置输入对于的账号密码,其它保持默认即可;

  3. 回车,也是提示相关安全信息,确定即可;

登录后,就能看到 PVE 系统里面的相关文件了, 相当于 Window 的文件管理器

登录进去是 root 的文件夹,可以尝试向上一层就是根目录了,先到这里,基本操作和 FTP 工具差不多,后面我们也需要用到。

####### 上述为必看内容,下面为选看内容 #######

4 系统调试

系统调试的目的,是让 PVE 系统更加好用,这个根据每个人的用途不同,比如硬盘数量,根据自己的需求参考下列说明操作吧。

4.1 准备

调试 PVE,主要是将 PVE 优化成符合自身要求的功能,里面涉及到插件的安装,但是现在的 all in one 主机是无法联网的,请按照下面的方式进行设备间的连接:

完成上面的设备连接操作后,请将原有的路由器网关,设置成你的 PVE 安装时一样的网关,比如我安装设置的是 192.168.0.1, 那么我就将我现在能链接网络的路由器网关地址改为 192.168.0.1,这样的话就不用手动修改自己电脑的网关,又或者你在安装 PVE 的时候,就将 PVE 的网关地址设置成你现有路由器的网关更加方便。

注意事项:

  1. 大家可以看到上图,在还没搭建软路由前,只用到一个网口即可,但一定要用设置的管理网口接入到路由器上;

  2. 先利用家里原来可以正常上网的路由器进行辅助,一定要先确保原来网络正常哦,后期安装软路由后,网络结构会发生改变;

  3. 操作的电脑链接路由器,可以是有线,也可以用无线连接,都可以;

4.2 让 PVE 联网

联网,是万恶之源,如果 PVE 连接不上互联网,那下面很多工作是无法完成的,

根据上面的设备连接方式后,登录 SSH 后,如果是简单的命令,可以登录 web 端实现网页端的 ssh,方式如下

  1. 登录 PVE 的后台;

  2. 选择这个主机节点;

  3. 点击右上角的【Shell】

通过命令行,检测是否当前 PVE 系统能否连接网络,点击输入

ping baidu.com

此时如果正常,则会显示这样的连接数据

64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=13 ttl=50 time=40.8 ms

如果 PVE 无法连接联网,则会卡住十秒左右,然后出现

ping: baidu.com: Temporary failure in name resolution

联网不了网络的,请排查一下

  • 网线是否有正常连接好,是否接入到管理网口;

  • 网线是否正确链接到能上网的 lan 口中;

  • 到你的路由后台看看有没有 pve 的设备;

  • 测试一下自己操作的电脑是否能正常联网;

  • 当时安装 PVE 的时候, DNS 有没有设成有效地址;

最终的目的,都是要让 PVE 系统能连接外网,如果无法联网,那 PVE 将无法安装插件进行功能扩展。

OK ,既然连接上网络了

4.3 更换软件源

更换源,其实就是更换应用市场的意思,因为 PVE 默认的应用市场是海外的,国内无法连接,所以需要更换成国内的应用市场,大概这样意思吧

  1. 登录 SFTP,找到对于的文件后然后进行修改增加国内的源地址

/etc/apt/sources.list.d/pve-enterprise.list

/etc/apt/sources.list

或者用我提供的懒人包进行替代,懒人包路径

All in one1. PVE 环境搭建 5. 更改系统软件源

新手可以直接下载我做好的文件进行替代,我采用的是 aliyun 的镜像源地址,

如果想知道具体改了什么内容,可以百度一下, 非常多的介绍,自己修改也可以

上面直接替代主要针对新手, 我已经将修改好的文件提供,可以直接替代接口,不用麻烦一个个修改

如果你的 PVE 版本和我的不一样,可能需要你找详细的修改说明自己修改。

  1. 然后登录 SSH,输入更新应用数据,这个更新大概不到一分钟吧

apt-get update

  1. 命令行跑完后,在输入,这个更新比较久,等进度跑完就行

apt-get dist-upgrade -y

上面讲的是正确的更新应用商店的列表,如果没有替换国内支持的源,就会提示更新失败,如下图

4.4 增加 CPU 温度显示(可跳过)

增加 CPU 温度就是在控制面板上显示 CPU 的温度,这个功能看着在 window 是很容易实现的功能,但是在 PVE 上要修改一下配置才能实现,如果你不在乎,那就不用改,直接跳过。

大体流程

  1. 安装插件

  2. 增加接口文档中的插件接口

  3. 增加显示页面的接口显示

  4. 首先要安装传感器的检测工具,登录 SSH 后,使用这个命令进行安装,安装很快

apt-get install lm-sensors

  1. 完成完成后,需要进行扫描一次电脑的传感器,使用这个指令

sensors-detect

检测传感器时,会提示很多次是否扫描不同类别的传感器,要在 SSH 上输入 yes 进行确定,

扫描过程比较长,窗口会一直滚动,滚动

  1. 完成扫描后,进行测试一下, 输入

sensors

窗口就会反馈相关传感器的信息,也不知道为什么我这个主机只能显示这几行,不过足够了。

  1. 完成上述操作,只是把温度插件安装好而已,还需要进行页面配置修改,原来的页面是没有显示温度的位置与接口,所以需要进行改动,将我提供的替代文件覆盖原路径的文件即可,

/usr/share/perl5/PVE/API2/Nodes.pm ,这个是接口文件

/usr/share/pve-manager/js/pvemanagerlib.js , 这个是 UI 显示文件

懒人包文件路径:

All in one1. PVE 环境搭建 6. 增加 CPU 温度显示

由于录屏时在 3 楼连接一楼的主机,所以看上去很久,因为信号不好,实际很快

用我提供的懒人包直接替代即可,如果你用的 PVE 版本和我不同(教程是基于 PVE7.0.11),也可以根据下面自己修改

#### 如果你用我提供的懒人包覆盖,那这以下这部分就跳过 ####

主要修改点是在 / usr/share/perl5/PVE/API2/Nodes.pm 里面在 version_text 这一行, 下面增加一行

$res{thermalstate} = sensors;

在 / usr/share/pve-manager/js/pvemanagerlib.js 里面,在 Ext.create(‘Ext.window.Window 附近修改页面样式高度

/usr/share/pve-manager/js/pvemanagerlib.js ,在 widget.pveNodeStatus 附近修改高度

/usr/share/pve-manager/js/pvemanagerlib.js ,在 pveversion 下方插入显示传感器温度的接口

#### 如果你用我提供的懒人包覆盖,那这以上这部分就跳过 ####

  1. 最后,到 SSH 上,更新一下页面后台服务

systemctl restart pveproxy

  1. 然后到控制面板看看,就可以显示温度了

注意事项

  • 如果操作完上面的还不显示,一般是浏览器缓存了老的前端文件,可以清除一下缓存试试,或者换个浏览器就可以;

  • 这些操作都不用重启 all in one 主机;

4.5 转移到内置 EMMC(选看)

若你的主机主板内置了 EMMC 硬盘,比如之前热门的锐角云,就自带 64GB EMMC,那怎么能空着不用呢,榨得一滴不剩,

传统的 pve 安装方式,是不支持将系统装到 EMMC 上的,装到一半会出错,应该是官方限制了。

没有困难的工作,只有勇敢的狗狗,

既然直接安装不行,那就用奇淫巧技,

重要说明

本章节内容非必要,请根据自己的硬件进行选择

原理

我们通过将系统安装到普通符合 PVE 要求的硬盘,再将该盘完全克隆到 EMMC 上,就能实现曲线救国的效果

1。首先安装 pve 系统前,要准备一个容量小于你内置 EMMC 的硬盘,选择有两种

  • 主板内置的接口,M.2,sata 都可以

  • USB 接口,用 移动硬盘,高级 U 盘等能在 windows 系统识别为磁盘而非移动存储的 存储设备

Q&A

  • Q: 为什么准备的硬盘小于 EMMC 容量?

A: PVE 在安装时会对安装盘的容量进行自动分配分区大小,有三个分区,如果大于 EMMC,那就会匹配不上。

  • Q: 我是土豪,没有太小的硬盘怎么办?

A: PVE 安装时,选择硬盘可自定义分区大小,但需要有一点基础,我没这么操作过,所以你得去查阅相关资料尝试。

2。按照[安装 PVE 到硬盘]的步骤,装系统安装到上一步准备的硬盘上,流程一样;

3。拿出你的 U 盘,制作 PE 系统 U 盘,这里推荐的是 WEPE,干净功能齐,双击制作程序选择好 U 盘就行;

PE 系统懒人路径

All in one1. PVE7. 复制到 EMMCWePE_64_V2.1.exe

  1. 将 all in one 主机关机,然后插入 U 盘,按照之前进入 BIOS 的方式,选择 U 盘启动,然后进入 PE 系统,打开 PE 系统自带的 Diskgenius 工具进行对磁盘管理,选择【工具】,然后进入【克隆硬盘】;

  1. 首先会让你选择你的源磁盘, 就是你已经安装好 PVE 系统,需要复制出来那个磁盘;

  1. 然后会让你选择需要将 PVE 系统复制到哪个硬盘,我们选择内置的 EMMC 磁盘;

  1. 最后选择克隆模式,选择【复制所有扇区】,其实 3 个我都试过,好像都能用;

  1. 克隆硬盘完成后,将 U 盘拔出,并将原来已经安装好 PVE 那个磁盘拆除,如果不拆除,系统是无法进入的,因为开机启动项无法识别两个相同的系统;

注意事项

  • 在克隆磁盘的过程中,如果出现乱码,系统卡死,这个时候请重启再试;

  • 如果重新操作也不行,请更换一个 PE 系统;

  • 如果只是在拷贝到最后的时候提示错误,没关系,我测试过,也能正常使用;

  • 如果这么操作都不行,就要考虑一下是不是内置 EMMC 有问题;

4.6 调整硬盘(选看)

**本章节建议你先看个大概,等你对 PVE 的虚拟机搭建有一定了解后,再回到本篇章进行调整硬盘。 **

我们在安装完 PVE 后,系统会自动分配两个重要的分区,我们作为菜鸟,也只要认准这两个分区就行

  • local:主要是 VZDump 备份文件, ISO 镜像, 容器模板。

  • local-lvm:主要是 磁盘映像, 容器,意思就是放虚拟机的。

对于 local 来说, 我们在前期只要保证上传的 ISO,能放的下就行,最大的就是 win10 的,精简版有 2G 多,后期大家对 pve 有一定的了解后,可以自行设置该空间的路径到别的磁盘。

对于 local-lvm 来说,根据自己的硬盘容量,以及结合需要搭建的虚拟机来设定,比如用 windows 系统可能需要多一些,用软路由就只需要很小的空间即可。

如果是下列情况,就需要调整硬盘

  • 使用了我推荐的安装使用 64GB 作为安装容量的,实际磁盘还有容量没有使用;

  • 需要使用内置 EMMC 的,并且按照上面教程成功克隆 PVE 系统到 EMMC 了;

首先进入后台,点击左侧的 local 查看,

左侧的小图标实际已经是容量的显示,可以看磁盘已经分配不同空间,以及使用量;

正式开始调整容量

  1. 打开 SSH 工具,先查询一下硬盘情况,输入命令

fdisk -l

重点

查看硬盘情况,需要记住你需要调整的磁盘盘符,虽然看到很多命令行的信息可能对新手不友好,但是小技巧是找到自己磁盘容量大小的信息,比如

  • /dev/sda , 这个在我的主机上是 2.5 寸 sata 接口的硬盘;

  • /dev/sdb,这个在我的主机上是 M.2 接口的 2280 硬盘;

  • /dev/mmcblk0,这个在我的主机上就是主板上内置的 EMMC 硬盘;

这样的,记住这个路径,具体要看你的主板磁盘的接口顺序了,认真自己的容量,找到盘符即可

这个命令是查看硬盘信息的,从上图可以看到,我的主机装了两个硬盘,第一个是安装 PVE 系统的硬盘,本次操作对第一个进行,第二个我打算用来做存储,所以先不管,后面会直通给群晖使用。

首先要核对一下,硬盘 1 的总容量,看上图, 我的 EMMC 是 58GB 的,但是硬盘分区信息中,3 个分区加起来还没有 15GB,这是因为我首次安装的硬盘容量是 16GB 的,后来通过硬盘克隆全盘复制,导致有很多容量没有纳入到分区,这时候我们就需要对分区进行扩容。

  1. 我们先通过 SSH 安装一个插件,用于管理硬盘

apt-get install parted

  1. 然后输入命令,就可以用这个工具查看硬盘,确定插件正常

parted -l

会返回硬盘的各种信息,

  1. 接着我们正式开始扩容,输入命令,对指定的硬盘进行操作

parted /dev/mmcblk0

这个 / dev/mmcblk0 路径,就是最上面让你记下来的路径,其实就是在 Linux 系统中,硬盘的通道,输入后会提示欢迎语,如果你路径输入错误(不存在的),就不会出现这个欢迎提示

  1. 输入

print

会显示分区信息

看到,LVM 就是目前你能用的容量,我们的目的是先将硬盘剩余的空间全部扩容到这个分区,这是第一步。

  1. 我们通过命令将硬盘剩余没有使用的容量,分配到 LVM 分区上

resizepart 3 100%

3 的意思是第三个分区,对应上图 LVM 的 number, 而 100% 就是剩余空间的 100%

  1. 分配完成后,我们退出这一步骤的操作

quit

  1. 分配完成后,我们来检验一下分区大小是否已经变大,输入命令

fdisk -l

可以看到,LVM 的容量已经是 57GB 了,3 个分区加起来差不多是 EMMC 的容量了,但是只完成了第一步。

但是这里还需要记住一个路径,就是我们需要扩容的空间

/dev/mmcblk0p3, 大概意思是第三个分区吧,这个是我内置 EMMC 的分区,如果你不是 EMMC,那可能是 / dev/sdb3

  1. 我们还需要更新一下

pvresize /dev/mmcblk0p3

这个 / dev/mmcblk0p3 路径,就是上图中需要记住的路径,意思是 mmcblk0 硬盘中的 p3 分区

提示分区更新成功

  1. 完成了分区的扩容后,我们还需要对挂载点进行扩容,先来查看一下挂载点的名称

lvdisplay

这里面显示出来的内容,可以在控制面板上看到的两个容器,其中对应的名称是 root 和 data

  • 如果你想扩容放 ISO 的容量,就是 root

  • 如果你想扩容放虚拟机的容量,就是 data

  1. 扩容前确定一下可以进行扩容的容量,其实就是检查分区的容量使用情况

pvs

可以看到,在 PFree 一列中,还有 45GB 的容量没有使用,那么我们就要对这 45GB 进行分配到挂载点去

  1. 通过输入命令,为指定的挂载容器进行扩容

lvextend -l +10%FREE /dev/pve/root

其中 + 10%FREE,是指要增加未使用容量的 10%,即 4.5G,

/dev/pve/root,是指要把这 10% 增加到 root 挂载中,对应就是放 ISO 和备份的地方

我的目的是能存放要安装的 ISO 就行, 备份什么的以后再修改路径。

  1. 然后我们再扩容存放虚拟机的容器,将剩余空间都分配给 data

lvextend -l +100%FREE /dev/pve/data

  1. 最后,我们来检验一下,输入命令进行查看容量

pvs

lvdisplay

查看到,存放 ISO 和 虚拟机的 容器,都扩容成功了,

再到到控制面板去看看,发现 local-lvm 扩容成功了,local 还是原来的容量

  1. 这个时候我们需要更新一下 root 的容量,输入

resize2fs /dev/mapper/pve-root

  1. 输入完成后,就可看到容量增加了

完成对剩余空间的扩容了!

注意事项

  • 调整硬盘空间过程不需要重启,命令行进行更新即可;

  • 对硬盘调整空间,扩容简单,减少我还没操作过;

  • 对于新手来说,建议熟悉一下基本的虚拟机搭建后,空间不够再操作扩容吧;

4.7 添加硬盘(选看)

重要说明

不是一定要添加硬盘,只有在你主机有多个硬盘,并且不准备用来直通给虚拟机用的时候,才需要进行操作添加硬盘,如果你有多硬盘,除了装系统的硬盘外,都希望直接给虚拟机用,比如群晖,不想通过 PVE 底层进行中转,那么不要操作本步骤的内容。

如果你在 windows 下,添加硬盘真是一件非常简单的事情,但是在 Linux 下真实对菜鸟噩梦般的操作,来照葫芦画瓢吧。

  1. 进入 PVE 控制面板,在节点中,进入【磁盘】,看到里面除了系统盘外,有一个你插上的硬盘,记住这个路径

/dev/sda, 路径因人而异,不过大部分都是 sda,sdb 之类的

不同主板,不同接口可能不同,一定要看清楚

  1. 然后打开 SSH, 输入管理该硬盘的命令

fdisk /dev/sda

  1. 进入了 sda 硬盘的操作,先输入分区命令选项

n

  1. 然后输入分区为主分区命令选项

p

  1. 然后输入写入命令

w

  1. 最后将分区 sda1 格式化为 ext4

mkfs -t ext4 /dev/sda1

上述就完成了新建硬盘的分区操作,下面是要挂载

  1. 创建 linux 系统的目录命令

mkdir -p /mnt/sda1

  1. 然后将分区 sda1,挂载到目录下,大概这个意思吧

mount -t ext4 /dev/sda1 /mnt/sda1

  1. 最后就是设置每次开机都挂载一次的命令,大概是写入这个命令到开启启动配置文件中;

echo /dev/sda1 /mnt/sda1 ext4 defaults 1 2 >> /etc/fstab

上面操作就完成了系统级别的加硬盘,但是还差最后一步,才能使用这个硬盘

  1. 回到 PVE ,点击【数据中心】,【存储】,然后左上角点击【添加】,选择【目录】;

  1. 然后 ID 可以选择自己容易记的,我的盘是 NGFF 的,所以直接写 NGFF,最重要是目录,就写刚刚新建的挂载目录

  1. 确定后,过几秒中,再左侧的树型结构上,就能看到添加的硬盘了,

  1. 经过上述操作,就添加了一个硬盘了,后续在新建虚拟机的时候,硬盘选项中就可以选择用这个新硬盘的目录进行分配硬盘。

4.8 宿主机的网卡设置

对网络的设置,本篇章只是做一个准备,在未添加虚拟机之前,是用不上的,可以先跳过,等后面要添加软路由的时候再来详细看。

如果你准备单网卡使用,不作为软路由,那本章节可以忽略

PVE 系统的网络概念其实是比较简单,我浅薄的理解就是,只分为真实网卡,和虚拟网卡就可以了,不想 hyper V 那样分内部,外部,专用网络,也不像 EXSI 那样对网卡驱动兼容不优化,PVE 基本上是个网卡都能识别,包括我插入的 USB 网卡都能正确识别,不用特地折腾一次驱动。

PVE 在安装后,就会自动为你新建一个虚拟网卡,并绑定好安装时选择的真实网卡,

所以你才能通过局域网正常登录 PVE 后台,那么在什么情况下需要配置一下网络设置呢

  • 你需要把 all in one 作为软路由,并且主机有多网口

通过查看【节点】-【网络】,就能看到网卡的列表,如下

如果你的电脑准备用来做软路由,主机是多网卡,或者准备增加 USB 网卡,那就需要对网络进行配置,

虽然 PVE 支持网卡直通,但是对于我们菜鸟来说,先用最简单的方式架设好网络才是最重要的,那么我们按照下列方式操作。

大概原理:新建虚拟网卡,并把虚拟网卡和真实网卡绑定在一起

  1. 点击上方【创建】,【Linux Bridge】,新建一个虚拟网卡;

  2. 填写新建的虚拟网卡桥接的端口,一定要根据真实网卡的名称填写,你的主机有多少个真实网卡,就新建多少个虚拟网卡,第一个网卡系统已经帮你创建了;

  1. 最后,一定要点击【应用配置】,不然不会生效

操作完上述,网络配置就结束了,这个动作很重要,后面新建软路由虚拟机的时候,需要用的。

4.9 设置虚拟机定时任务

定时任务就是指自己设定一个时间,让虚拟机自动启动或者关闭,这种应用场景是

  • 有些虚拟机系统,不用 24 小时后台跑服务器的,只是在某个时间段使用,比如 window;

  • 有些虚拟机系统原生没有自动重启功能,想要通过底层控制定期重启一下;

说了惭愧,我实在没找到 PVE 系统后台能进行设置的前端选项,只能找到参考 linux 系统的定时任务方法

大体原理

在系统的定时任务清单中添加对虚拟机的定时任务

具体的方法是在系统目录 etc / 目录中,找到 crontab 文件,在里面添加如下命令

00 19 * * * root pvesh create /nodes/allinone/qemu/101/status/start #每天 19 点开机

00 23 * * * root pvesh create /nodes/allinone/qemu/101/status/stop #每天 23 点关机

上面命令中,# 和后面中文只是方便注释,并不其实际作用

  • 00 19 * * * 表示每天 19 点

  • root pvesh create /nodes/allinone/qemu/101/status/start 表示通过 root 权限对虚拟机 101 的状态进行控制

  • start 表示 开机

  • stop 表示 关机

新手建议直接在我上面的命令后中复制修改, 或者采用在我提供的懒人包中修改后替代系统文件即可。

懒人替代包路径

All in one1. PVE 环境搭建 8. 定时任务

上述内容需要到后面的教程篇章中才会实践到,相对比较简单,不过对 window 这种比较吃内存的虚拟机,定时开关可以解决白天人不在,无需要 window 操作时的问题,等晚上到家后定期开机,睡觉定时关机这种方式,以节约 all in one 的内存消耗(其实卵用没,如果是 8G 常开也没问题了)

4.10 虚拟机的备份与恢复

辛苦摸索搭建的虚拟机如果不小心删除,或者调试崩溃后,要重新搭建是件非常痛苦的事情,好在 PVE 系统是支持备份与恢复的,我们来学习一下方法

4.10.1 备份

备份功能已经做在了 PVE 的后台控制面板上,只要登陆管理后台,即可进行备份,

  1. 进入管理后台后,点击左侧【数据中心】;

  2. 进入工具栏中的【备份】;

  3. 选择【添加】备份任务;

选择好需要备份的自动时间,以及要备份的虚拟机即可,其它选项对于新手就默认即可,

上面完成了自动定时备份,对于新手其实还是很方便的,也可以进行立刻备份

备份后的文件,可以通过查看 local 空间查看到。

其备份的文件,实际路径在

/var/lib/vz/dump

可以通过 SFTP 工具登录查案,并下载到本地进行保存

4.10.2 恢复

恢复也比较简单, 在备份的空间中就有选项可以恢复

我们还原的方式有两种

  • 通过本机 PVE 进行备份的,会存储在备份目录中,直接输入恢复命令即可;

  • 通过外部存储加载的,比如说我分享一个我备份出来的虚拟机给你,你需要导入到 PVE 备份目录中,然后才可以进行恢复;

4.10.2.1 自备份恢复

自备份就是从本机备份的文件,恢复到本机

  1. 如果从本机备份,先进入 local 空间中查看是否存在备份的文件;

  2. 确定备份文件存在,并确定是否是你要的那个虚拟机 ID,OK 的话记录名称全称

  1. 在 local 空间中,找到你的备份文件,然后点击还原即可;

  1. 恢复完成后,进度会显示 task ok

4.10.2.2 外部备份恢复

如果是其它人员分享给你,又或者是你原来下载到本地保存的备份文件,直接在 local 空间是没有的, 这个时候,就需要通过 SFTP 工具,将备份文件上传到如下路径

/var/lib/vz/dump

上传后,在 local 的备份列表中刷新后即能看到,就可以进行还原操作了。

注意事项

  • 恢复的目的 ID 不能与现存的虚拟机 ID 相同,一定要选择现在没有的 ID,即不能进行覆盖恢复;

  • 恢复会将原来备份的虚拟机所有配置进行还原,比如设置的 CPU,硬盘,网络等,所以如果是从另外一个 PVE 主机备份而来的恢复文件,请先查阅是否配置相同,我们可以在备份列表选中后,点击【显示配置】即可查看;

练习

可以用我提供的备份文件进行练习,把下列内容上传到 pve 根目录

All in one1. PVE 环境搭建 9. 备份与还原

4.10.2.3 命令行恢复

当然如果你觉得前端操作麻烦,也可以用命令行进行还原恢复,将备份文件上到备份空间路径后,通过 SSH 输入命令

vzdump-qemu-100-2021_12_25-22_08_16.vma.zst 106

其中

  • vzdump-qemu-100-2021_12_25-22_08_16.vma.zst 代表上传的备份文件名

  • 106 代表我需要恢复出来的目标虚拟机 ID

如果新手,就建议少用命令行了,因为一个字符输错就失败。

好了,上面就是本篇章的内容。

除了如何安装 PVE 系统外,其它其实都是可选的内容,大家根据自身的实际情况选择是否参与即可。

操作完本篇章的内容后,实际只是把底层环境搭建好而已,并不能投入到家庭网络中使用

后面还会更新的内容,或许你可以等整个系列都更新后,再选择是否搭建一套属于你的 all in one。

  1. 软路由 ikuai 虚拟机搭建基础网络路由服务;

  2. windows 虚拟机搭建与显卡直通输出;

  3. openwrt 旁路由搭建实现增强型网络功能;

  4. 群晖 7.0 NAS 系统搭建,硬盘直通与 photos 人脸识别;

  5. AdGaurd 广告拦截服务搭建;

  6. Docker 应用实例(网站建设、撸京豆等);

  7. Homeassistant 智能家居 服务搭建;

最后,给大家转个笑话

快过年了,不要再讨论什么 NAS、HTPC、软路由了。

你带你的傻大黑粗机箱回到家并不能给你带来任何实质性作用,朋友们兜里掏出一大把钱吃喝玩乐,你默默的在家里摆弄你的破黑群晖。

亲戚朋友吃饭问你收获了什么,你说我组了一个 RAID 0 的 ALL IN ONE,亲戚们懵逼了,你还在心里默默嘲笑他们,笑他们不懂你的黑群,不懂你的内网穿透,也笑他们看爱奇艺还要忍受会员专属广告。你父母的同事都在说自己的子女一年的收获,儿子买了个房,女儿买了个车,姑娘升职加薪了,

你的父母默默无言,说我的儿子装了个黑盒子,开起来嗡嗡响、家里电表走得越来越快了

本文截稿于 2022 年春节大年初一

好在我提倡的是 mini 主机哈。

文章

【拿你命 2022】麻雀虽小~可能是你见过最小 all in one 软路由

大鹏蟹

2022-01-11

168

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~