2024年1月

适合于初学者—软路由全探索系列(一):探索 VMware 虚拟机旁路由安装及设置

一、 旁路由安装背景知识

1、什么是路由器

2、什么是软路由

3、什么是旁路由

二、设有旁路由的局域网配置及特点

1、设有旁路由的局域网配置

2、设有旁路由的局域网特点

三、VMware 虚拟机旁路由安装全过程

1、虚拟机旁路由安装准备

2、虚拟机旁路由安装步骤

3、虚拟机旁路由 IP 地址设置

四、旁路由 OpenWrt 系统设定

1、进入 OpenWrt 管理页面

2、设定 root 用户密码

3、设定网络 lan 接口

4、设定网络防火墙

五、旁路由试用及后续课题

1、电脑怎么用旁路由上网

2、手机怎么用旁路由上网

3、后续课题探讨

更新

1、4.30, 2022

一、 旁路由安装背景知识

1、什么是路由器

路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置—百度百科。


简而言之,路由器是把局域网连接到因特网上的设备,我们家庭、办公室常见的有华为 AX3 Pro、TP-LINK AX6000以及 ASUS RT-AX86U 等多种品牌、形状及功能各异的设备。



2、什么是软路由

上述各种品牌、形状及功能的路由器,能实现的功能都是由厂家预先定义好的、有限的,无法实现上网者的一些特殊要求:客户端管理、去广告以及出国上网等,软路有应运而生。软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能;而硬路由则是以特有的硬设备,包括处理器、电源供应、嵌入式软件,提供设定的路由器功能—百度百科。


软路由本质上是一个可以自己定义功能的路由器。与服务器共同形成软路由的软件称为软路由系统,主要有 ikuai、ROS 等,尤以 OpenWrt 为著名(常见的 LEDE 是 OpenWrt 的一个分支)。




3、什么是旁路由

一般家庭或者小型办公室,并不需要客户端管理等复杂的路由功能、很强的路由处理能力,用普通的路由器能满足大多数功能需求,但偶尔也有出国上网等特殊需要,便有了旁路由的出现。


旁路由的命名并不标准,本质上是局域网中的一个网关服务器、一个网络设备,是其他网络设备的一个邻居,并不是局域网的路由器,但这个设备的硬件、软件与软路由基本一致,设置也相仿,便被大家称呼为“旁路由”。


二、设有旁路由的局域网配置及特点

1、设有旁路由的局域网配置

现代家庭或者小型办公室一般局域网网络配置:Interne 通过光纤接入千兆光猫,光猫把光信号解调成电信号,电信号通过超五类线接入路由器,路由器通过超五类线把电信号送达 NAS、台式电脑(或者笔记本)和无线 AP 等,无线 AP 与 智能手机、平板电脑(或者笔记本)和智能电视等无线设备则通过 wifi 信号进行网络连接;有线设备比较多的,则在路由器后增加交换机;网络更简单的,则直接利用光猫的路由功能,省却了单独的路由器。


这里要说明的是,有些家庭为了无线信号覆盖,在路由器后再接无线路由器作为子路由,这样的设置使得家庭局域网网段很多、很复杂,应该关闭无线路由器的路由功能、只作无线 AP 用,旁路由(网关服务器)也只对同一网段设备有用。


在这样的局域网中,路由器通过网线连接一个软路由设备、通过软路由系统 OpenWrt 把该设备设置成提供网关服务,这个软路由就成了该局域网中的旁路由。


现在能用作软路由的设备一般性能过剩,需要一机多用,除了做网关服务器、同时需要做网络存储器(NAS)、多媒体中心等,为了设置旁路由可以在设备中安装软路由虚拟机。我自己的旁路由就是在一台闲置的装有 Windows 10 系统的笔记本上,用 VMware 虚拟机软件,虚拟了一台软路由。


设有 VMware 虚拟机旁路由的局域网网络拓扑图大致应该如下。




2、设有旁路由的局域网特点

设有旁路由的局域网一般有以下特点:


旁路由不影响网络中其他设备、特别是路由器的使用,不会因为旁路由的故障导致其他网络设备无法联网、影响工作和他人;

通过对旁路由 OpenWrt 系统的设置和插件的安装,同样能提供很多特别的网关服务,以便实现出国上网、去广告等很多个性化的功能;

网络中由旁路由提供网关服务的设备,需要设置固定 IP 地址、网关,无法利用路由器的 DHCP 服务进行 IP 地址动态分配等。

三、VMware 虚拟机旁路由安装全过程

1、虚拟机旁路由安装准备

VMware 虚拟机旁路由安装需要做好以下准备工作:


笔记本或者软路由等能安装 VMware 虚拟机的设备通过网线连接路由器;

安装虚拟机软件 VMware Workstation 15.0 及以上版本(15.0 以下版本已经不兼容 Windows 10 系统);

OpenWrt 软路由系统是开源软件,有各种各样的衍生版本,LEDE就是其中之一。下载任一能用于 VMware 虚拟机的 x86 版本的 OpenWrt 软路由系统,这里以 OpenWrt GDQ v9.1[2021] 为例,LEDE 未预安装 Passwall 等插件、日后需要自行安装插件才能实现各种个性化功能,姑且不用;

下载的 OpenWrt 软路由系统一般为 GZ 格式的压缩文件,先解压缩获得 IMG 格式的磁盘映像文件;

由于磁盘性能较差,需要用工具软件把 OpenWrt 软路由系统 IMG 文件转化成能用于 VMware Workstation 的 vmdk 格式硬盘映像文件,另命名为 eSir.vmdk(不是必须的,任意合法的文件名都可以);工具软件这里推荐使用 StarWind Converter。

接下来就可以开始 OpenWrt 虚拟机旁路由安装。


2、虚拟机旁路由安装步骤

OpenWrt 旁路由系统,是以开源操作系统 GNU/Linux 为基础开发而来,本质上是一种嵌入式 Linux 操作系统,所以在虚拟机软件 VMwware Workstation 中安装 OpenWrt 虚拟机跟安装大多数 Linux 虚拟机类似。


在目标位置创建虚拟机文件夹 eSir(虚拟机也命名为 eSir),这里以D:\我的文档\Virtual Machines\eSir为例;

复制准备阶段转化而得的硬盘映像文件 eSir.vmdk到文件夹 eSir;

打开虚拟机软件 VMwware Workstation,创建虚拟机 eSir,与创建其他 Linux 虚拟机大同小异,需注意的细节见下图;


特别需要说明,用作旁路由的虚拟机网络连接必须是桥接有线网卡(lan),如果宿主机同时有无线网卡(wlan)、宿主机想连接 wifi 上网同时兼有旁路由功能,那是无法做到的,除非在 VMware Workstation 中安装另一台能上网的虚拟机、这样的虚拟机才能使用旁路由功能。


这需要在虚拟机软件 VMware Workstation 的“编辑”菜单栏启动“虚拟网络编辑器”,在该编辑器中把虚拟机网络连接设置为桥接到有线网卡。




3、虚拟机旁路由 IP 地址设置

跟设置其他 Linux 虚拟机 IP 地址基本一致。


在 VMware Workstatuon 中启动 OpenWrt 虚拟机即 eSir;



启动后根据屏幕显示信息,(使鼠标焦点进入虚拟机后)按回车键激活虚拟机控制台;



在控制台的 shell 中输入命令vim /etc/config/network以打开网络配置文件并编辑,用 Linux 常用文本编辑器 Vim 修改 lan 的 ipaddr(IP地址)为192.168.3.188;这里要说明的是,OpenWrt 虚拟机旁路由 IP 地址设置跟局域网中其他网络设备的静态 IP 地址设置一样,要根据路由器网关(gateway)设定、且与其他网络设备不能冲突,最后一个数字选择 0~255 之间任一数字、较大数字不容易引起冲突;至于 Vim 编辑器的使用,尚不会的请先移步网络教程,有些 OpenWrt 版本仅安装了编辑器 Vi,好在 Vi 与 Vim 用法基本一致。



OpenWrt 虚拟机旁路由 IP 地址设置完毕后,在 shell 中输入reboot命令以重启虚拟机。

至此,VMware 虚拟机旁路由已经安装完毕并启动,在局域网中其他设备(包括宿主机)上的浏览器中已经能打开 Openwrt 管理页面。


四、旁路由 OpenWrt 系统设定

这样的旁路由尚不能提供网关服务,需要在 OpenWrt 管理页面进一步设定。


1、进入 OpenWrt 管理页面

在局域网中的设备(包括宿主机)上的浏览器地址栏中输入已经设定的旁路由的 IP 地址(本文中为192.168.3.188),浏览器即显示 Openwrt 管理页面登录界面,如下图。



以用户名root直接登录,初始密码为空,进入Openwrt 管理页面。



2、设定 root 用户密码

root 用户初始密码为空,显然不合适,需要设定。


打开管理界面的“系统”栏下的“管理权”页面;



在“系统”项的“管理权”页面设定 root 用户密码;设定后,在页面底部予以“保存&应用”,在其他项的设定中都做类似操作,不再累述。



3、设定网络 lan 接口

旁路由要提供网关服务,首先要设定网络接口的相关参数,这里的虚拟机旁路由未设其他接口,只有 lan。


打开管理界面的“网络”栏下的“接口”页面;



在“接口”页面选 lan 接口的“修改”,进入 lan 选项卡页面,这里的数据设定需要根据路由器确网关定、下面仅是路由器网关为192.168.3.1的示例:IP 地址先前已经设定为192.168.3.188,如果更改,保存后管理页面需要重新登录;IPv4网关为192.168.3.1;网络广播为192.168.3.255;自定义 DNS 服务器设置成跟网关一样就好,或者设置成通用 DNS 服务器114.114.114.114、8.8.8.8等。



在 lan 选项卡页面 DHCP 服务器基本设置栏勾选“忽略此接口”。如果用作软路由的话,就不能做此选择。



至此,旁路由网络接口 lan 的相关参数已经设定。


4、设定网络防火墙

旁路由的网络防火墙也需要做一些设定,才能提供网关服务。


打开管理界面的“网络”栏下的“防火墙”页面,并选中“自定义规则”选项卡;

添加自定义规则iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE(此版本 OpenWrt 系统自定义规则中已经有被注释掉的相应内容,只要删除句首的注释符#即可);



添加完毕,在该页面“重启防火墙”。

至此,网络防火墙已经设定。实际上,旁路由的 OpenWrt 系统已经能提供网关服务,可以试着用一下了。


五、旁路由试用及后续课题

VMware 虚拟机旁路由安装完毕、已经可以使用了。但正如前面所述,“网络中由旁路由提供网关服务的设备,需要设置固定 IP 地址、网关,无法利用路由器的 DHCP 服务进行 IP 地址动态分配等”,要使用旁路由,网络设备还要做一些设置。下面就来试用一下旁路由,并探讨一下怎么实现我们的初衷:出国上网、去广告等课题。


1、电脑怎么用旁路由上网

电脑要用旁路由上网,需要重新设置电脑网络连接的网关,这个网关就是前面设定的旁路由的 IP 地址,这里是192.168.3.188;如果网络的 DNS 设置和路由器网关一致,也需要更改为与旁路由的网关一致,所以 DNS 设置成通用 DNS 114.114.114.114、8.8.8.8等更合适、不再需要来回更改。


每个操作系统网络连接网关设置都有差异,这里以 Windows 10 为例:(在桌面右下角网络链接标志处右键菜单)打开网络和共享中心 → 更改适配器设置 → (在目标适配器处右键菜单)属性 → Internet 协议版本 4 (TCP/IPv4) → 属性;



在“ Internet 协议版本 4 (TCP/IPv4) 属性”页面设定网关等属性:IP 地址根据路由器的网关设定,默认网关即旁路由 IP 地址,DNS 设置为通用 DNS;设置完毕后点击“确定”以保存设置。



这样,电脑就可以通过旁路由上网了,当然有些网页仍然是无法打开的,因为还没安装需要的一些插件、或者插件还没有设置,尚不具备一些特殊功能。


2、手机怎么用旁路由上网

手机用旁路由上网跟电脑用旁路由上网设置基本一致,需要更改手机网络(当然是 wifi)连接的网关。这里仅说明一下如何进入安卓手机网关更改界面,苹果或者其他系统应该类似。


打开“设置”程序,进入“WLAN”设置;



长按已经连接的 WLAN名称 ,出现下拉菜单;



在下拉菜单选中“修改网络”,即可进行跟电脑类似的设置;设置完毕保存。



这样,手机也可以通过旁路由上网了。


3、后续课题探讨

用旁路由上网,看上去跟用路由器上网无异,用路由器能上的网站用旁路由也能上、用路由器不能上的还是不能上。其实,这跟买了一台功能强大的电脑是一样的,想做文档当然可以,想编程也来吧;只是,电脑的无穷功能需要有相应的软件来支撑。同样,我们是为了出国上网、去广告等功能配置旁路由的,相应的功能实现除了软路由系统 OpenWrt,也需要很多软件、插件来支撑;但到目前为止,这些软件、插件还没有安装或者还没有设置,这些功能还没能实现。


例如,为了出国上网,我们需要安装 Passwall 或者其他插件,并对插件进行很繁杂的设置。


我们预想的一些特殊功能的实现,就是我们探索旁路由的主要后续课题。让我们在后续课题见吧。


Enjoy Yourself !


更新

1、4.30, 2022

OpenWrt 21.02 版,用作 VMware 虚拟机旁路由系统,不用再增加防火墙自定义规则iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE(4.30, 2022)

————————————————

版权声明:本文为CSDN博主「大风无痕」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_41217917/article/details/124382169


【前言】

虚拟机下的软路由、NAS玩了几个月了,当初选择虚拟系统真是纠结得很,觉得哪个都好哪个都有问题。试来试去,发现已经把ESXi、PVE、unRaid这三大虚拟系统(unRaid有点冤)都折腾了几遍了。

这里罗列记录一下,也许也可以帮你少纠结一点。

我会粗略描述一些操作步骤,旨在体现操作复杂度等,可能无法当做完整教程。有需要了解详细步骤的同学可以参看其它大神的文章。

【概述】

ESXi,是VMWare vSphere Hypervisor套件之下重要组件。前身是ESX,依赖Linux源码,后来抛弃Linux源码做成了ESXi。整个产品商用气息浓重,界面清晰易用,但硬件兼容性较差(主要面向服务器),没什么扩展性(毕竟不是linux)。

PVE,全称Proxmox Virtual Environment,是基于Debian的Linux系统,虚拟机内核为KVM。硬件兼容性优秀。界面功能不强,很多操作要靠命令行,但扩展能力几乎是无限的。

unRaid,其实是个NAS系统,是基于Slackware的Linux系统,虚拟机内核也是KVM。磁盘阵列管理非常有特色,灵活性很高。同时还有很不错的插件、Docker和虚拟机支持。

【系统安装】

ESXi,官网获取iso镜像,做成启动盘来安装。

iso引导界面。整个安装过程界面都很简陋。

有磁盘选择和密码设定等简单环节。

安装成功后重启进入系统,会看到管理地址的提示。

此时可以按f2进入这个系统设定菜单。主要是用来解决网络设定等问题。

PVE,同样是官网获取iso镜像,做成启动盘来安装。

iso引导界面

有磁盘、密码、网络等设定过程。

同样,安装重启后即可看到管理地址。也可以此时登陆控制台进行高级操作。

unRaid,比较特别,需要准备一个U盘,制作启动U盘。可以从官网的下载制作工具(exe)来制作。也可以直接下载系统的zip包,如果要用开(po)心(jie)版,也只能下载zip包。

如果是zip包,需要解压到U盘,修改卷标为UNRAID,执行make_bootable.bat。

插上U盘,设置好引导,启动后直接进入系统。可以看到后台管理地址,也可以登陆控制台。

【系统资源占用】

以下测试数据来自于我笔记本的Win10下的VMWare虚拟机,仅供参考。

ESXi 7.0b,安装iso大小351M,系统占用130G硬盘,待机内存1.1G,待机CPU约1-6%,系统启动时间61秒。
你没看错,系统占用130G磁盘!如果你是128G的ssd,可用空间直接就没有了!其实罪魁祸首是ESXi 7.0版本安装系统会默认分配120G的虚拟闪存(安装系统启动前,可以用shift+o,加上autoPartitionOSDataSize=...来改变默认大小,单位MB)。另外,ESXi 6.7安装之后默认占用磁盘空间约10G。

PVE 6.2-4,安装iso大小862M,系统占用6G以上硬盘,待机内存900M,待机CPU约1%,系统启动时间20秒。
安装系统时,磁盘空间会动态分配,除了交换分区等,主要两个分区是:系统分区和LVM分区,后者提供给虚拟机磁盘使用。不知道具体什么分配算法,实测得到:
16G硬盘安装PVE,交换分区1.9G、系统3.6G(1.8G已用)、LVM 6G。
128G硬盘安装PVE,交换分区4G、系统31G(1.8G已用)、LVM 74G。

unRaid 6.8.3,zip包213M,系统必须放入U盘(所需空间不足300M),占用23G硬盘空间,待机内存不足200M,待机CPU约1-3%,系统启动时间59秒。
23G硬盘空间中,启动Docker会默认创建20G的镜像文件。不用Docker可以手动删除镜像,也可以自定义镜像大小,还可以采用文件夹的方式而不是固定大小的镜像。

【创建/编辑虚拟机】

ESXi,创建/编辑虚拟机,比较简单易懂

创建按钮,你应该一眼就能找到了。

创建(1/2)前面的指引步骤,降低了新手理解难度。

创建(2/2)后面也有详细参数的设定。

编辑虚拟机跟创建时的详细参数差不多,每一项都比较好理解,多数可以进一步展开。

PVE,创建/编辑虚拟机,功能也比较全

创建按钮,你能想到藏在右上角吗?

创建也是多步骤指引,但是设计细节还是略不友好(步骤太多、有几个步骤不能默认)。

编辑虚拟机变成了截然不同的界面

unRaid,需要先设定并启用阵列后才能使用虚拟机。(阵列相关后面再讲)

虚拟机放在靠后的菜单里面了(毕竟主要是做NAS的)

创建的系统选择倒是挺直观的

创建/编辑界面完全一样,可设定参数比较有局限

创建/编辑可以切换为xml形式,看起来比较高级,但每次用界面编辑都会导致xml修改丢失。。。

【硬盘直通】

三个虚拟系统的虚拟硬盘性能都不怎么样。具体虚拟磁盘的性能问题可以见我另一篇分享(zhuanlan.zhihu.com/p/27)。如果真的需要高性能磁盘,最好还是做硬盘直通。

ESXi,需要命令行操作找到硬盘并挂载(RDM),然后在界面添加此磁盘。

首先要先开启SSH(最好在完成操作后再关上)

SSH下找到硬盘并执行命令挂载为vmdk文件

虚拟机中添加刚才的vmdk磁盘(ESXi 6.7以上理论上可以直接添加裸盘,但有额外要求)

PVE,只需要命令行操作

SSH下找到硬盘并直接添加给虚拟机

unRaid,先用命令行找到磁盘名,然后界面添加

类似pve,用SSH查到硬盘名

添加Manual类型硬盘,并指定前面找到的硬盘全路径

【PCI硬件直通】

网卡、声卡、sata控制器等都可以用PCI直通的方式供虚拟机使用(显卡相关后面详述),性能会好过模拟设备。使用硬件直通,需要CPU有Vt-d功能,并在bios中开启,且要求不可以使用动态内存。

还有一种叫SR-IOV直通的,能力更强一些,但要求较高,我还没成功过,就不聊了。

ESXi,直接界面操作

在硬件列表中切换需要直通的设备为活动状态。7.0以后,直通切换无需重启系统。

添加新PCI设备、选择需要的设备。

PVE,先修改系统配置打开直通功能,然后就可以直接界面操作了

引导配置加上一段,执行update-grub更新

模块配置确保包含这些模块,然后重启

此后,就可以随时添加任意一个PCI设备了

unRaid,6.9.2之后可以在系统工具中屏蔽要直通的设备,然后在虚拟机配置中勾选要直通的设备即可。(6.9.1以及之前需要安装VFIO-PCI Config插件)

在Tools/System Devices中选择要直通的硬件,打勾、保存、重启。(有一些情况会失败,甚至无法开机,好在你可以拔掉U盘在另一台电脑上修复一下U盘上的配置文件)

在虚拟机配置中会出现新的可直通设备,勾选即可直通。

【显卡直通】

显卡本来也是PCI硬件之一,但是会有诸多原因导致它的直通不会那么容易。

ESXi,基本操作还是PCI硬件直通的操作,但可能遇到了以下诸多的限制:

  • 核显直通后在Win10下驱动错误,代码43(据说其它系统可以直通,但不能显示)

  • 想直通独显,需要在bios屏蔽核显,否则可能无法启动或蓝屏(有的主板没这个限制)

  • NVIDIA显卡直通需要配置hypervisor.cpuid.v0 = FALSE,否则驱动错误,代码43

  • ESXi7.0以后切换显卡直通不需要重启,但是已经直通显卡再重启会导致直通失败,手动切换两次可恢复。这个BUG导致直通显卡的虚拟机是无法开机自动启动的。

PVE,除一般PCI硬件直通的步骤外还需要一些配置,具体操作因为pve版本不同、硬件不同等差别很大。几乎没有限制,技术够牛(改bios、改源码……),基本能直通成功。这里只按照我遇到的简单情况说明下(PVE 6.4-4、Q87主板、NVIDIA显卡)。

在/etc/modprobe.d/pve-blacklist.conf添加这些驱动黑名单,随后重启。

虚拟机的硬件配置中,机器(machine)设置为q35。

添加PCI设备,需要勾选“高级”,随后勾选主GPU、PCI-Express

unRaid,系统帮忙解决了很多直通问题,仅在虚拟机中设置即可,连硬件的屏蔽都省了。

直接把默认的VNC虚拟显卡改成想要直通的显卡即可。也可以添加多个显卡。声卡一样。

【虚拟光驱】

虚拟光驱最大的作用是加载iso光盘镜像,用于安装系统。少数人还需要把真的光驱给虚拟机用,用来读取/刻录光盘。

ESXi,支持主机设备和ISO镜像,主机设备还能选具体哪一个设备

PVE,也支持主机设备和ISO,但是主机设备下面没有具体设备选择

unRaid,直接被简化成了安装ISO,不支持主机设备

【自动开机、关机】

有时候虚拟系统主机会需要重启或是意外断电等情况,此时我们需要某些虚拟机会在系统启动后按顺序自动启动。

ESXi,一次性整体设置自动启动的开关、顺序、延迟时间等。

PVE,需要在每一个虚拟机里面设置自动启动的开关和顺序。

unRaid,每个虚拟机可以开关自动启动,启动顺序就是但是不能调整顺序和间隔时间。

【网络管理】

ESXi,有众多的网络配置功能,完全可以自己组建各式各样的复杂虚拟网络拓扑结构。不过家用的话,基本用不上,甚至你可能都不需要碰到这个界面。

PVE,网络管理简单一些,功能也没那么强,但家用足够了。

unRaid,几乎只有网卡设置,不过一般用途倒是够了。只是每次修改网络配置必须先停掉阵列(所有虚拟机、Docker都要关闭)。

【稳定性】

单说长时间运行的话,三者没发现什么区别,都很稳定。但如果你跟我一样喜欢“瞎折腾”,那就很容易出事了。

所以ESXi是最稳的,界面清晰、扩展性不强,所以也不太会出故障。PVE、unRaid折腾多了都很危险。尤其是unRaid,似乎虚拟机部分还没那么成熟,花样越多坑越多,而且很多设定(比如网络、直通)必须通过重启或关闭磁盘阵列(所有Docker、虚拟机都要关闭)来生效。

【CPU性能】

ESXI使用自己的VMware内核,CPU优化相当好,损耗趋近于0%。

PVE与unRaid接近(都是KVM),损耗大约是4-10%的样子。

详细的对比我就不展示了,受影响因素太多,我也没搞清楚,容易误导大家。总的来说三者差距不会很大,如果你的CPU性能本身有一定过剩,就不用特别纠结这点点损耗了。

【授权】

ESXi,安装即可试用60天。官网可以免费注册,会有功能限制,但个人足够用了。
最便宜的1年期授权大概是1700人民币以上。
网上可以搜注册码。

PVE,算是免费吧。不注册会每次登陆有个提示框,且不能更新官方稳定源。
最便宜的1年期授权是85欧元。
可以通过修改代码屏蔽提示,还可以添加免费更新源来更新。

unRaid,针对U盘注册,不注册几乎等于不能用。可以免费注册30天试用版。
6块硬盘的永久授权是59美元,允许一年换一块U盘(毕竟是U盘杀手)。
网上有开(po)心(jie)版。

【Docker】

如果你没玩过Docker,强烈建议你入坑~ 比虚拟机更轻便、灵活。很多好用的Linux软件都会有Docker的版本,很好地解决了兼容性等问题。

ESXi,不支持Docker,估计未来也不会支持,毕竟不是Linux。你只能先装个linux虚拟系统,再用docker。

PVE,本身不直接支持Docker,但是可以自己安装相关软件。

unRaid,可以运行Docker,还有方便的界面支持。但是虚拟缓存有点麻烦(内存不足时才用),算是瑕疵。

【温度显示】

如果不是用过这几个虚拟系统,我还真想象不到温度显示也会是一个需要考虑的问题。

ESXi,需要主板支持IPMI,基本只有服务器才行了。否则,就完全看不到温度。

PVE,需要安装软件和手改界面代码。不同机器情况还不一样,要解决得有点编程基础。

unRaid,默认只显示硬盘温度。需要安装温度显示插件来显示CPU、主板温度。

【特别的磁盘阵列】

这是unRaid独有的,也是它最初的主要卖点。它不同于真正的raid阵列,是一种灵活的文件级磁盘空间组织方式。

使用中体会到的几个优点:

  • 硬盘数量可以随时增加(减少也能,但会麻烦点)。

  • 每一块盘上面都是独立的文件系统(阵列只剩一块盘,也能读出部分数据)。

  • 结合共享目录做设定,可以指定不同目录的不同阵列分配方案。

但这个文件系统的性能不是太好,连续满负荷读写会突然性能下降,即使有ssd缓存也不行。不知道是BUG还是某些机制决定了这样的特性。

【总结特点】

ESXi,注重企业支持,界面简单易用,自身功能较强,对硬件要求较高,扩展性较低。
适合初学者、不想太折腾的、有服务器主板的(例如Gen8这种家用服务器)。迷茫的时候,优选ESXi吧。

PVE,兼容性最好,扩展性好,界面友善度欠佳,需要一定Linux基础。
适合低端机型、懂Linux的、爱折腾的。PVE玩得溜了之后,看其它的系统都像是弟弟。(可惜我玩不溜)

unRaid,Docker、磁盘阵列、显卡直通、虚拟U盘等都是亮点。必须U盘引导有点麻烦(廉价U盘7x24工作,心还是很慌)。特色功能多,出新快,因此问题也多。
适合直接做NAS、玩PT,尤其适合做家庭影视库、HTPC,玩一拖二也是个不错的选择。比较有可玩性,又不会难度特别高。


ESXi虚拟机备份是确保虚拟机数据安全的重要措施,在本文中,我们将向您介绍一下VMware ESXi虚拟机的基本知识以及2个简单有效的ESXi虚拟机备份是确保虚拟机数据安全的重要措施,在本文中,我们将向您介绍一下VMware ESXi虚拟机的基本知识以及2个简单有效的备份方法!备份方法!

虚拟机备份概述

VMware ESXi是VMware vSphere企业虚拟化套件的核心,在4.1版之前一直称为ESX,它是一个直接安装在物理服务器上的裸机管理程序,提供对底层资源的直接访问和控制,允许您使用单个物理主机创建和运行多个虚拟机。

esxi虚拟机备份
 

与其他数据类型一样,ESXi虚拟机备份也是一项重要的保护措施,可以确保及时恢复重要数据并保持业务连续性,但备份VMware ESXi在概念和方法上与备份普通文件有所不同。接下来在本文中,我们将向大家简单介绍一下基础知识,并提供2个免费有效的VMware ESXi备份解决方案给大家,一起来看看吧!

适用于VMware ESXi的备份选项

对于ESXi虚拟机备份来说,有哪些不同的备份类型呢?通常来说,有2种:

① 基于映像的备份:包含操作系统、配置文件和磁盘上的全部数据。

② 基于文件的备份:通过在来宾计算机上安装代理将VM备份为物理计算机。

基于文件的备份不包括虚拟化环境,因此完全备份VMware ESXi虚拟机的优先考虑方法仍然是基于映像的备份,因为它允许您恢复整个虚拟机,当您要保护多个虚拟机时,这是特别方便的。

无代理自动备份VMware ESXi虚拟机的方法!

借助一些内置的功能来备份虚拟机操作比较麻烦,并且还只能一次备份一个虚拟机,这对于需要管理大量虚拟机的企业来说是很不方便的。那么有没有办法可以集中性地自动备份多台虚拟机呢?在傲梅企业备份旗舰版中可以轻松做到。

  • 自动备份:根据每日/每周/每月计划自动备份,以自动运行备份任务,无需人工干预。

  • 集中备份:在中央控制台中批量备份虚拟机,而无需在每个虚拟机上安装代理。

  • 备份策略:创建完整备份,或执行增量备份以仅捕获更改的数据。

  • 热备份:在虚拟机运行时也能轻松执行备份任务,包括操作系统、配置、应用程序、个人数据和系统状态。

  • 兼容性强:支持Windows PC与Server操作系统,支持备份Hyper-V或VMware虚拟机。

快点击下方按钮进入下载中心下载安装傲梅企业备份旗舰版,然后跟着我们的演示教程一起看看怎么轻松备份虚拟机吧!

立即下载软件

VMware ESXi & Hyper-V

步骤1. 绑定设备:打开傲梅企业备份旗舰版,登录您的账号,在主界面中将您的vCenter或ESXi主机添加为源设备。

vCenter或ESXi主机添加为源设备
 

步骤2. 创建备份任务:点击“备份任务”>“新建任务”

新建任务
 

步骤3. 根据您的需求设置备份类型、任务名、设备、备份目标、备份计划、版本清理等。

【CSDN 编者按】IDE 经过 30 年的发展,种类越来越繁多。放眼国际,主流的 IDE 有 Intellij IDEA、Eclipse、PyCharm、Visual Studio Code 等等;近几年国产 IDE 也相继崛起,如 deepin-IDE、CodeArts IDE 等。

面对不断涌现的 IDE,有软件开发者 Julio Merino 指出,30 年前我们所拥有的 IDE 虽然没有图形界面,但是却带来了许多令人印象非常深刻的功能,如今 随着时光的流逝,很多功能失去了,而且如今的 IDE 并没有太大的进步,唯一的区别可能只是添加了 AI 辅助代码功能。

此观点一出,也引发了巨大的讨论。接下来,我们将走入 Julio Merino 这篇文章,深入探讨我们过去拥有的文本编辑器以及与当今主流编辑器的最新比较,也旨在推动 IDE 更好的未来。

原文地址:https://blogsystem5.substack.com/p/the-ides-we-had-30-years-ago-and

本文为 CSDN 翻译,未经允许禁止转载。 

编译 | 苏宓
出品 | CSDN(ID:CSDNnews)

以下为译文:

我是在 20 世纪 80 年代末 90 年代初学习编程长大的。那时,我并没有完全理解我在做什么,以及为什么我使用的工具在当时硬件存在限制的条件下,表现得令人印象深刻。随着年龄的增长,现在通过使用 DOSBox 重新体验那些程序并将它们与我们当前的状态进行比较真的很有趣。

这一次,我想看看在 Windows 主导个人电脑行业之前那个时代我们所拥有的纯文本 IDE。我想这样做是因为那些 IDE 几乎毫不逊色于今天的 IDE。然而,感觉好像我们经历了一个黑暗时代,在那段时间内我们失去了大部分功能,而时代似乎是个轮回,这些功能现在才重新浮出水面。

接下来,我们将领略一次怀旧之旅,同时对“臃肿的 IDE”发表一点看法。但更重要的是,继续了解以前存在的东西,才能更好地评估未来功能的推出。

图片

第一款编辑器和 TUI 界面

在 20 世纪 90 年代,几乎每个运行的 DOS 程序都有一个全屏的文本用户界面(TUI),它具有基于文本的窗口、下拉阴影、颜色和鼠标支持。以下是一个示例:

图片

MS-DOS 编辑器(也称为 EDIT.COM)展示了其中一个设置对话框。请注意菜单栏、带有列表选择器和按钮的丰富对话框,以及记录了导航快捷方式的状态栏。

每个程序都是独立的,因为它们的界面是独特的。然而,它们在外观上如此相似(80x25 个字符没有太多的差异),以及它们的工作方式如此相似,以至于这些差异实际上并不妨碍可用性和可发现性。一旦你学会了 Alt 键打开菜单,Tab 键在输入字段和按钮之间切换,你几乎可以轻松地浏览任何程序。

但是我们来谈谈编辑器。MS-DOS 从第 5 版(1991年)开始附带了一个 TUI 文本编辑器,如上图所示。这个编辑器“能用”,但对于编码来说确实很不方便:你需要退出编辑器来编译和运行你的代码,当你重新运行编辑器时,你需要导航回到之前的位置。

在“我家”中,我们使用了一个叫做 SideKick Plus(1984年)的东西,它不是一个真正的代码编辑器:它更像是一个带有内置记事本的个人信息管理(PIM)系统。然而,它的酷炫之处在于它是一个常驻程序(TSR),这意味着它在后台加载,并且你可以随时通过按下 Ctrl+Alt 键来调出它。

图片

按下Ctrl+Alt键后,SideKick Plus的主屏幕出现。请注意DOS仍然在后台运行。

将这个 TSR 功能视为一种基本的多任务处理方式,适用于没有多任务处理的操作系统。这非常有效,因为在高效的内部开发循环中,快速切换代码编辑和构建是至关重要的。

然而,到这个时候,真正的 IDE 已经存在了几年。Turbo Pascal 1.0(1983年)展示了一种集成体验的开始,尽管它还没有其标志性的 TUI 界面。QuickBASIC 2.0(1986年)展示了更多“传统”的TUI界面(与EDIT.COM相同,因为它们是同一个编辑器),而 MS-DOS 5 附带了 QBasic,这是QuickBASIC 的简化版本,它不允许编译为本机代码,但外观相同。

图片

Borland 公司开发的 Turbo 系列

在我看来,IDE 的巅峰之作是后来的 Borland Turbo 系列,其中包括 Turbo C++(1990年)、Turbo Assembler 和 Turbo Pascal。这些 IDE 是特定于语言的,但它们拥有全屏的 TUI 界面,并且功能非常强大。

让我们来看看当时拥有的功能。语法高亮:

图片

Borland Turbo C++ 显示一个用于演示语法高亮的“Hello World”程序。

编译器集成和诊断:

图片

Borland Turbo C++编译一个程序后显示一个警告,因为我没有从main()函数返回值。

集成的项目和构建系统管理:

图片

Borland Turbo C++显示其项目管理和多窗口功能。在图片中,你可以看到两个C++源文件,其中一个依赖于另一个,并且项目窗口列出了所有需要一起编译的文件。

带有断点、堆栈跟踪等功能的调试器:

图片

Borland Turbo C++ 显示一个包含多个函数、断点和当前调用堆栈的调试会话。

甚至还有完整的参考手册:

图片

Borland Turbo C++显示其集成的帮助系统,背景中是“Hello World”程序,而帮助中是printf函数的说明。

请记住:这些都是在 20 世纪 90 年代早期,距今已经过去了 30 多年。

我是 Turbo C++ 的忠实用户,通过它我学到了很多东西。我记得使用它们的 conio.h 库来实现自己的 TUI,并使用它们内置的 graphics.h 库来尝试实现 GUI。请注意:这是在没有互联网的情况下完成的。对于很多人来说,没有“查找事物如何工作”的选项,也不能在 Stack Overflow 上找到答案:IDE 必须是即时可发现的(而且它确实是这样的),并且是自包含的,为你提供完整的开发体验。

图片

那时候的 Linux 怎么样?

那么回顾一下 20 世纪 90 年代初的 Linux 情景。

在 Linux 中,几乎每个程序都是基于文本的,但这些程序并没有提供全屏的 TUI(文本用户界面)。这不符合“Unix的方式”。我记得当时看到 X11 配置工具(XF86Setup)或 OpenBSD 安装程序时,对它们的简单性感到震惊:连我这个几乎没有什么“真实”编程经验的年轻少年都已经写出了好看的程序。

无论如何,这并没有阻止我追求不使用 Windows 的目标。我继续学习 Linux 的知识,并很快经历了每本书和在线社区都在推荐的“最佳”编辑器:Vim 和 Emacs。但我无法理解它们为什么受到如此高的欢迎。使用它们就像回到了过去。它们确实是全屏程序,但看起来相当晦涩。Vim 确实支持语法高亮,但远远称不上是一个 IDE。Emacs 可以配置与一些代码辅助功能等集成,但也远远称不上是类似“开箱即用”的 Turbo 系列 IDE。

看看今天的默认 Emacs 配置,它自那时以来几乎没有改变。它确实有窗口,但它们没有装饰。它没有颜色(现在依然几乎没有);过去不支持鼠标。虽然它确实有一个菜单栏,但这只是一个噱头?如果按照说明按下 M-` 键,你会面对一个真正奇怪的界面来导航菜单,这让人怀疑为什么他们甚至要浪费一整行屏幕空间来显示一个毫无作用的菜单栏。

图片

现在试着把这些交给一个没有编程经验的人,让他们来创建、编译和调试一个程序。他们在浏览编辑器时会遇到麻烦,也找不到任何能够进行项目管理或编译器集成的功能。

相比之下,在撰写这篇文章时,我在 DOSBox 中启动了 Turbo C++,只需要几分钟就能够创建一个“Hello World”的项目并且在环境中进行导航,而且一切都是直观的。作为一个 IDE,它提供了全面的集成。

图片

当代 TUI IDE

无论如何。让我们忘掉过去,看看 TUI 领域的今天。我不想看 GUI,因为......Visual Basic 曾是图形编程的巅峰之作,而我们现在也没有了,这也是后话了。

与 Borland Turbo C++ 环境最接近的现代版本是 RHIDE(https://directory.fsf.org/wiki/RHIDE)。如下图所示,它看起来非常相似——如果你以为这是 Turbo C++,那就大错特错了。遗憾的是,它只能在 DOS 环境下运行,而且现在似乎已基本废弃,其最新版本发布于 7 年前。

图片

RHIDE IDE 显示的 "hello world "程序与之前的一样,编译后既无错误也无警告。

然后就有了 Free Pascal。这是最接近旧版本的体验,但采用了现代代码库,可在 Unix 系统上本地运行,并可利用任何大小的终端。

图片

Free Pascal IDE 包含一个简单的“hello world”程序,以及用于内置 ASCII 表格和计算器的重叠窗口

最后是 QB64。它与 Microsoft QuickBasic 非常相似,但......别被它骗了:尽管它看起来像一个 TUI,但它实际上是一个模拟 TUI 的 GUI 应用程序。你不能在终端运行 QB64。

图片

QB64 IDE 看起来像文本,但实际上是图形程序。

Free Pascal 和 QB64 都在维护和相对活跃的开发中,它们的最新版本发布于 2021 年......但它们大多被忽视了,因为它们使用的是现在大多数人都不感兴趣的晦涩语言。

图片

“真正的”现代控制台 IDE

那么对于现代编程语言而言,我们还剩下什么选择呢?

目前最先进的选择似乎是 Neovim(https://neovim.io/)、Doom Emacs(https://github.com/doomemacs/doomemacs),甚至是 Helix(https://helix-editor.com/)。这些编辑器非常强大,并且通过各种插件提供了类似于 IDE 的体验。

不过,如果你问我,我觉得这些编辑器都没有像之前的 Borland 产品那样提供相同的体验:它们的界面很复杂,并且由于支持多种语言,对于几乎所有语言都能工作得不错,但是对于特定语言来说并不出色。可以说是“万能但不精”。

无论如何,根据我在 microsoft/terminal#16440(https://github.com/microsoft/terminal/discussions/16440)讨论中观察到的情况来看,首选的“简单”TUI(文本用户界面)编辑器似乎是 GNU Nano......但其实首先它不是 IDE;其次对我来说,它看起来像 WordStar。Nano 的外观让我想起了我在 CP/M 时代使用文字处理器的第一次经历。看看这个:

图片

GNU Nano 编辑器的默认设置,打开一个空文件。

所以,尽管现在我们有很多功能强大的控制台编辑器,但它们并没有提供与 30 年前完全相同的可用体验。事实上,感觉在这 30 年间,我们在很多方面出现了倒退,直到现在才达到了一些曾经拥有的功能水平。

当图形化操作系统开始流行起来时,TUI(文本用户界面)自然而然地变得不那么受欢迎,而它们最近才重新流行起来确实有些有趣。至于为什么会有这种趋势,我认为我们应该归功于 LSP(Language Server Protocol)的发明对这个领域的最新进展。

多年来,TUI 编辑器一直“搁置”不前,因为为它们构建 IDE 功能需要很大的努力,而且它们的小型维护人员团队无法承担实现这些功能的成本。LSP 为现有的语言特定集成提供了接入方式,并重新激发了对古老而可靠的 Vim 和 Emacs 的兴趣。希望即将发布的 BSP(Build Server Protocol)能够更进一步,使这些 TUI 编辑器更像 IDE。

图片

为什么要使用 TUI IDE(基于文本用户界面)?

有人会问:“谁在乎呢?现在每台台式机和笔记本电脑都运行图形操作系统了!”

这个问题问得好。

一般来说,你可能不需要 TUI IDE。如果 VSCode 是你的首选,那么它的远程处理能力是一流的,而且 VSCode 拥有一个相当不错的图形界面,而不是一个完整的集成开发环境。但是,VSCode 也有一些不足之处。

首先,TUI IDE 非常适合在远程计算机上工作,甚至比 VSCode 更好。你可以通过 SSH 轻松进入任何机器并启动 IDE。将其与 tmux(终端复用器类自由软件,功能类似 GNU Screen)相结合,就能获得“完整”的多任务处理。当然,你也可以使用远程桌面客户端来代替 SSH,但我总觉得远程桌面客户端很笨拙,因为会出现延迟,而且与本地桌面快捷方式的整合也不恰当。

其次,VSCode 的远程扩展不是开源的,这并不是什么大问题......只是它们无法在 FreeBSD 等操作系统上运行,而且也无法修复。因此,我无法使用 VSCode 远程登录我的主开发服务器。

第三个问题是......减少资源消耗。

图片

无处不臃肿的 IDE

最后,我还想吐槽一下“IDE 的臃肿”问题。Borland 公司在 1990 年发布的 Turbo C++ 编译器,配备了所有应有的功能(UI、C++ 工具链、集成手册...),安装后大小不到 9 MB,在 640KB 的 RAM 内运行。

相比之下,Helix 文本编辑器在磁盘占用的空间也只有 16 MB,但 Doom Emacs 占用大约 500 MB,并消耗 RAM 的许多空间。然而,请注意,过往这些工具都不包含语言工具链或帮助系统,而现代工具链在磁盘空间都是以 GB 为单位。

要获得“真正的”IDE,我们必须转向使用 IntelliJ、VSCode 这类的图形程序。不过,VSCode 占用磁盘空间约为 350 MB(令人惊讶地比 Doom Emacs 少),但它可能会吃掉你的电脑(占用内存):毕竟它是基于 Electron 开发的。我注意到通过放弃 VSCode 并转向 Doom Emacs,可以显著节省笔记本电脑的电池寿命。

因此,我想要留下的问题是:在 30 年内,IDE 进步了多少?现代 IDE 拥有一些更好的重构工具、更好的功能并支持更多的语言,但从根本上来说...它们并没有太大变化。

对比 30 年前和 30 年后的 IDE,唯一主要区别可能是 AI 辅助编码,但这是一项主要由远程服务提供的功能,甚至不是由安装的代码提供的!


Windows Server 2012/2016/2019/2022服务器默认仅支持一个用户远程,如果第二个人远程上去之后会直接把前面一个登录用户踢掉,很多办公场景需要两个人同时远程,本文介绍更改系统设置的方式实现。

 操作步骤

1. 按"Windows+R"在运行的输入框里面输入"gpedit.msc"命令、然后点击确定



2. 在“计算机组策略”中依次展开 计算机配置-->管理模板--->windows组件--->然后在右边的菜单中选择双击打开"远程桌面服务";



3. 在远程桌面服务界面中;双击打开“远程桌面会话主机”



4. 在“远程桌面会话主机”界面中双击打开“连接”



5. 在“连接”界面中双击打开“将远程桌面服务用户限制到单独的远程桌面服务会话”



6. 在“将远程桌面服务用户限制到单独的远程桌面服务会话”界面中选择“已禁用”然后点击确定



7. 然后返回连接界面,在“连接”界面中双击打开“限制连接的数量”



8. 在“限制连接的数量”界面中;选择“已启用”--->然后在选项里面“允许的RD最大连接数”里面选择你能接受的最大的同时远程的用户数;我这里选择的是2;也就是能支持同时2个远程桌面管理;然后点击确定即可



9. 这是我服务器上同时登陆2个用户后看到的连接情况


每个用户使用完后退出时建议"注销"退出!!!