从 Hyper-V 迁移到 Proxmox VE 之后…

从 Windows2019 Hyper-V 迁移到 Proxmox VE 我不是将虚拟机通过转换磁盘格式的迁移,因为比较有用的东西所占用的磁盘空间并不多,1TB的容量足够存放。在没有迁移之前,我已经用另一台主机(MSI + E3-1230 V2)安装了Proxmox VE大概了解了2天左右,但如果只是这样大概的了解,始终还是不能解决需要面对的问题,但如果模拟迁移(纯粹的浪费时间),还不如直接迁移!

因此,这次的迁移是使用此主机(MSI + E3-1230 V2)作为中转存储资料备份,迁移的前、后都通过Rsync同步这些资料。

由于我也不懂怎么玩Docker,所以部署NextCloud与OnlyOffice这些都是手动一步一步的配置环境,好在Proxmox VE有LXC容器,真的方便好用不少!之前在Hyper-V虚拟机上的Debian所配置的环境,迁移过程耗时都在配置这些环境上了。(应该可以搞个脚本一键部署这些环境省不少时间,问题是我暂时不会搞)

2021年11月4日 20:00

才完善迁移到Proxmox VE后恢复到之前的所有环境。

对比两个不同平台感受:

Windows server2019 Hyper-V

VS

Proxmox VE

就使用下来的这几天我个人的主观感受

实话说:没有体验出明显的差别!

这也太令人失望的结果了!区别还是有一点点的:

  • PVE平台上整体的内存占用还真是比Windows server2019 Hyper-V平台低了不少!
  • PVE平台上VM里的OpenWrt使用网卡直通比Hyper-V上好点,但我没有测试条件,只是简单的对比 Ping OpenWrt 的延时,这样对比是不是很Low?
  • PVE平台上LXC容器运行Debian部署NextCloud的性能绝对比Hyper-V上的性能更好毋庸置疑的!
  • PVE平台上虚拟Windows我觉得与在Hyper-V上区别并不大!(是不是很意外,B85 + E3 1231V3拔掉显卡运行的哟!)如果插上显卡,是不是PVE优势与可玩性就有了?
  • PVE平台上匹配我那个山寨UPS,那可是差点让我拿锤子把UPS砸了的程度!
  • PVE平台 比 Windows 平台绝对的可玩性更高 → 前提是喜欢折腾!(PVE太多需要使用命令行操作,有时令人焦头烂额。而在Windows平台Hyper-V图形化操作简直舒服太多)

再多的使用对比体验,时间将会慢慢的为我们揭晓!

为什么那么折腾,然鹅体验却仅此而已,还那么费时费力的迁移到PVE平台?

因为Proxmox VE是开源的,可以自由免费的使用!而又不比Windows平台差甚至更好,这就够了。

下面是这几天迁移的收尾工作记录

从 Hyper-V 迁移到 Proxmox VE 收尾工作

2021-10-30 22:10

大头的工作已经基本完成了,剩下的细节工作,还是需要花不少的时间完善的。

  • 山寨UPS电源如何匹配PVE系统,遇到停电的情况,PVE主机正常关闭后UPS才断电。
  • 配置SSL证书同步到主机群。
  • 配置主备份HDD磁盘,完善Lsyncd实时同步,完善HDD磁盘自动保存3天内的快照。
  • 最后再考虑安排VM运行Windows,还有各种新一轮的PVE环境上的各种折腾!

山寨UPS电源如何匹配PVE系统

山克UPS只因你太便宜,159元,且有配套软件控制电脑关机。给我一个不买的理由?正好需要考虑一个UPS电源,好让我服务器上的小姐姐安居乐业。

配套的软件 ViewPower Network Edition

  • 在Windows系统上运行得还可以,只是安装配置的时候有点点坑。
  • 也有在Linux系统上的配套软件,但没有折腾过。

下载Linux系统的配套软件

  • 软件包名称:installViewPowerHTML_Linux_text_x86_64.tar.gz

先看看有没有安装教程!

我去!没有教程,压缩包里只有一个文件:

  • installViewPowerHTML_Linux_text_x64.bin

上传安装包到PVE上

这里有个简单的上传方法,就是直接在PVE的Web UI管理页面

  • 依次点击 local → CT模板 → 上传
  • 浏览选择installViewPowerHTML_Linux_text_x86_64.tar.gz

我们上传的文件在此:

root@fzpve:~# ls /var/lib/vz/template/cache/
debian-11-standard_11.0-1_amd64.tar.gz  installViewPowerHTML_Linux_text_x86_64.tar.gz

安装ViewPower

首先解压缩

# 解压
tar -xvf /var/lib/vz/template/cache/installViewPowerHTML_Linux_text_x86_64.tar.gz

root@fzpve:~# tar -xvf /var/lib/vz/template/cache/installViewPowerHTML_Linux_text_x86_64.tar.gz
# 解压到root目录下了
installViewPowerHTML_Linux_text_x64.bin

然后安装

./installViewPowerHTML_Linux_text_x64.bin
# 下面是安装的过程,一路回车完成
root@fzpve:~# ./installViewPowerHTML_Linux_text_x64.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
Preparing CONSOLE Mode Installation...
......
Respond to each prompt to proceed to the next step in the installation.  If you
want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.
PRESS <ENTER> TO CONTINUE: 
========================================================================
Choose Install Folder
---------------------
Where would you like to install?
  Default Install Folder: /root/ViewPower
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : 
========================================================================
Choose Link Location
--------------------
Where would you like to create links?
  ->1- Default: /root
    2- In your home folder
    3- Choose another location...
    4- Don't create links
ENTER THE NUMBER OF AN OPTION ABOVE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : 
========================================================================
Pre-Installation Summary
------------------------
Please Review the Following Before Continuing:
Product Name:
    ViewPower
Install Folder:
    /root/ViewPower
Link Folder:
    /root
Disk Space Information (for Installation Target): 
    Required:  187,736,834 bytes
    Available: 15,076,519,936 bytes
PRESS <ENTER> TO CONTINUE:
========================================================================
Installing...
-------------
===============================================================================
Installation Complete
---------------------
Congratulations. ViewPower has been successfully installed to:
   /root/ViewPower
PRESS <ENTER> TO EXIT THE INSTALLER:

安装完成,我还没有接UPS的USB线到PVE主机,不知有没有影响,现在去接上吧!

测试访问 http://192.168.33.3:15178/ViewPower

可以正常打开页面咯!

还需要一个步骤,安装runAutoStart.sh

/root/ViewPower/runAutoStart.sh

root@fzpve:~# /root/ViewPower/runAutoStart.sh
/root/ViewPower/runAutoStart.sh: line 39: sudo: command not found
/root/ViewPower/runAutoStart.sh: line 40: sudo: command not found

需要安装sudo

apt install sudo
# 然后再执行
root@fzpve:~# /root/ViewPower/runAutoStart.sh

完成,重启一下PVE主机。

配置与测试ViewPower

不行哟,如果用网页打开PVE管理页面的命令行,还能正常访问

http://192.168.33.3:15178/ViewPower

但如果关掉PVE管理页命令行,直接无法访问。即使正常进入ViewPower网页配置好,测试断电是否正常关机,TMD又害我人为非法断电了一次,又多一次伤害了PVE!

而且,貌似打开ssh会有一行报错提示

netstat: command not found

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Oct 31 00:06:06 2021
-bash: netstat: command not found
root@fzpve:~# apt install net-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  net-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 250 kB of archives.
After this operation, 1,015 kB of additional disk space will be used.
Get:1 https://mirrors.tuna.tsinghua.edu.cn/debian bullseye/main amd64 net-tools amd64 1.60+git20181103.0eebece-1 [250 kB]
Fetched 250 kB in 0s (602 kB/s)
Selecting previously unselected package net-tools.
(Reading database ... 42680 files and directories currently installed.)
Preparing to unpack .../net-tools_1.60+git20181103.0eebece-1_amd64.deb ...
Unpacking net-tools (1.60+git20181103.0eebece-1) ...
Setting up net-tools (1.60+git20181103.0eebece-1) ...
Processing triggers for man-db (2.9.4-2) ...
[1]+  Done                    /root/ViewPower/StartMain

好啦!好像不报错啦,但是,一次一次的令人无从配置,且没有希望的那种。

这死垃圾不兼容PVE,不搞了!!!

卸载!!!

时间都浪费在测试,一个晚上其实没多久的,发现这ViewPower垃圾软件非常耗资源,千万不要安装在PVE上!

直通USB给Windows使用UPS

2021-10-31

ViewPower自带的SSH远程关机无法登录服务器执行命令:

ssh_dispatch_run_fatal: Connection from 192.168.33.186 port 50121: DH GEX group out of range [preauth]

实在没法解决上面的报错,时间哗啦啦的浪费。

不得不使用ViewPower的关机前执行档案

C:\stop_pve.bat

但是在编写这个执行档案的批处理文件上,走了许多的弯路,浪费了太多的时间去测试!!谁叫我啥都不懂呢,最后还是在雷迪斯UPS官方网上找到了相关的教程

https://www.yuque.com/ladis/gfg4p3/vdscue

必需要安装配合PuTTy才能ssh连接服务器!批处理命令如下:

% 必须cd到putty的安装目录 %
cd C:\Program Files\PuTTY
% 使用 -i 调用私钥文件。pve-putty-key.ppk使用PuTTygen生成。%
plink -C -no-antispoof -i pve-putty-key.ppk -ssh root@192.168.33.3 "shutdown -h now"

但是必须远程登录Windows系统,这批处理才能起在关机前执行。如果登录系统,然后又注销退出的话,就无法正常执行该批处理命令。这些问题都TMD太折腾人咯,后来终于发现问题了!!

使用计划任务,在用户没有登录的情况下,依旧运行ViewPower程序,解决问题。但是还有一个问题,当我们的设备都在1分钟左右就正常的关闭后,UPS在2分钟后甚至4分钟后都依旧不关闭!

把批处理命令改为如下:解决了UPS不能自动关闭的问题!

% 必须cd到putty的安装目录 %
cd C:\Program Files\PuTTY
% 使用 -i 调用私钥文件。pve-putty-key.ppk使用PuTTygen生成。%
plink -C -no-antispoof -i pve-putty-key.ppk -ssh root@192.168.33.3 "shutdown -h +1"

关于这个山寨的UPS,我不已经不想太详细把折腾过程记录下来,貌似没有意义,有条件不要选择这个品牌的就不会存在这么多的问题。

上面的批处理命令,使用root账户,绝对是不推荐的,风险太高!

今天晚上的首要目标有:

2021-11-2 18:25

解决远程控制PVE关机的安全性问题

已在 2021-11-2 20:56 完美解决了此问题!

  • 在PVE上创建普通用户
  • 授权普通用户关机的权限

这样可以解决Windows系统的各种无法预测的风险导致PVE的密钥或密码泄露风险。

# 创建用户
adduser sgtfz

# 编辑权限
visudo

# 仅允许普通用户组sgtfz,免密执行shutdown命令
%sgtfz ALL= NOPASSWD: /usr/sbin/shutdown

# 测试成功免密关机 `sudo /usr/sbin/shutdown -h +1`

# 重新使用PuTTygen生成密钥对,然后在sgtfz用户下新建.ssh免密目录及文件
# 创建目录.ssh
mkdir ~/.ssh
# 创建authorized_keys
vi ~/.ssh/authorized_keys
# 把公钥贴上,保存即可。
ssh-rsa AAAAB3NzaC**********************************************************************/hmaGsHlYQ== rsa-key-20211102

编辑Windows调用的关机命令批处理:

% 必须cd到putty的安装目录 %
cd C:\Program Files\PuTTY
% 使用 -i 调用私钥文件。pve-putty-key.ppk使用PuTTygen生成。%
plink -C -no-antispoof -i putty-key-pve-sgtfz.ppk -ssh sgtfz@192.168.33.3 "sudo /usr/sbin/shutdown -h +1"

TND编辑批处理命令的时候,忘了sudo /usr/sbin/shutdown,还是保留原来的shutdown -h +1
害我又让PVE非法断电了一次,累计测试这家伙都非法断电5次了!!!

终于成功了! 2021-11-2 20:56

至此UPS匹配终于完美完成了!这是很重要的一个环节,因为再好的配置,也经不起突然的停电!所以UPS还是必需得折腾好了,才有下面更多的美好的事情。

接下来?还有很多没有完善的!!!

但我觉得都已经不是问题了,可以慢慢的一步一步的去搞,没有时间就有了时间再搞。这几天已经连续严重熬夜,已经把自己彻底的摧残了!

有空再整理以下过程记录

  • PVE使用fdisk为一块磁盘分两个区:块级存储LVM-thin,目录存储dir
  • 安装与配置OnlyOffice(手动挡)

还有一件事情没有完成的:

  • 命令行实现自动创建指定磁盘快照,并保留3天内的快照。

发表评论