铁威马
花生壳

#楼主# 2019-4-11 11:31

跳转到指定楼层
本帖最后由 wolfgangsk07 于 2019-4-12 17:04 编辑

一步一步实现Proxmox (pve)环境的家庭服务器(WIN,DSM,软路由)

       导语:ESXI由于其操作的简便,得到了极大的普及。但是其性能及兼容性远不及KVM,但KVM的操作实在是太复杂了,一般的老司机都驾驭不了。所以如今的局面是,esxi在新手中应用广泛,但大型商业用途基本都是KVM架构。PVE的出现给我们带来了人性化web界面的KVM虚拟机,用于家庭服务器,特别是CPU较弱的家庭服务器简直是提升巨大。我本人用过一段时间的J3455,其在esxi下网络性能低下,即使直通网卡,内网ping都在1-10ms波动,虚拟网卡更是如此,就连宿主系统的网卡都一样。虚拟硬盘性能也弱的很,新版的esxi6.7u1解决了以前sata性能弱爆的bug,但是依旧是弱的不行。原因不明,懒得深究。换了PVE后性能得到了质的飞跃。所以本文尝试了一下5.3版本的PVE,记录如下。

一、proxmox的安装
首先去proxmox的官网下载最新的5.3-2的镜像,这一版增加了对PCI直通的web支持,并且强化了web上的储存管理。总的来说,安装过程是无脑化下一步的,但是有一些坑需要注意。

1.     对AMT的兼容性修改以及启动直通功能
由于本人现在使用的DQ77MK(KB)是支持AMT的,所以估计大多数用这块板的人都会不插显示器直接启动安装。但是这里会碰到一个问题,PVE启动一半时AMT显示黑屏,无法继续操作。这个原因个人推测是由于PVE加载了显卡驱动,没有检测到监视器,所以PVE关闭了显示输出导致AMT无法获取显示。

解决办法:
关闭显卡驱动。在下图准备安装时,确保光标选中了第一项,按键盘上的E,进入自定义启动项模式。
1.png
在出现的grub菜单中,对linux那一行进行编辑,末尾加上i915.modeset=0,修改后的如图所示。然后按ctrl+x或者F10启动当前编辑后的菜单。注意,这里修改的grub启动参数只是临时的。
2.png
然后就是默认无脑下一步,直到安装结束提示重启。重启后引导硬盘上的PVE系统,这里再次出现引导菜单,如下图,依旧选择第一项,按E,编辑grub菜单,加入i915.modeset=0,ctrl+x启动,如下下图。
3.png

4.png


然后进入PVE,界面会停留在shell模式,安装完毕。
5.png

2.     将启动参数固定到grub并添加直通开关。
关闭显卡驱动,启用直通都是在grub参数这里设置。之前每次启动都需要临时编辑grub,这里演示如何把启动参数固定。用putty或者winscp编辑/etc/default/grub文件,需要加上的参数有两个:i915.modeset=0以及intel_iommu=on,后者是开启vt-d的参数,如下图。
6.png
保存后进入ssh,在shell中输入update-grub,将grub菜单更新,重启生效。到此安装完毕。

二、磁盘空间的调整。
本文的示例是32G的硬盘。对于特别是从esxi过来的人,对PVE下的空间模式一头雾水,你找不到虚拟机的硬盘文件在哪里,因为PVE的主要逻辑卷使用了更高级的LVM-THIN模式,反正我是不会。默认分区如下图,local他对应的逻辑卷是pve/root用于存储ISO等,默认不用于虚拟机磁盘(可以修改存储内容,见后文),他是传统的目录结构,你的虚拟机数据都存储于/var/lib/vz,便于管理和理解。Local-lvm对应的逻辑卷是pve/data,默认用于存储虚拟机的磁盘,是LVM-Thin结构,是没有目录结构的,但便于大规模的服务器集合。
7.png
这里我将LVM-Thin对应的data这个逻辑卷删除,并将空余空间分配给local
1.先移除local-lvm对应的逻辑卷pve/data
移除指令
# lvremove pve/data
执行上面这个指令会再次跟你确认。
2.对local对应的逻辑卷pve/root进行在线扩容
# lvextend -l +100%FREE -r pve/root

实际执行后用df -h查看现有空间,截图如下:


TIM截图20190412103325.png

3.Web中依次展开数据中心-存储,把local-lvm删除即可。

4.还是在数据中心-存储,编辑local,内容下拉菜单中把所有的内容都选上,以便这个空间可以储存磁盘映像。
TIM截图20190412103535.png

存储的修改就到此为止。
三、安装系统
1.     安装win
如果不追求极致性能,那没什么难度,常规建立虚拟机,上传ISO,启动安装,磁盘和网卡都选择传统模式,如sata模式以及常见的虚拟网卡如E1000和Vmxnet3等。需要注意的是,没有安装驱动的windows不支持半虚拟化(virtio)的硬盘及网卡,这两个性能极好,但virtio的磁盘需要在安装阶段就给系统打上驱动,记录一下简单步骤。
a.将虚拟机的硬盘设置成virtio,添加2个CD-ROM,一个用于系统盘引导,一个用于装virtio驱动,virtio的驱动在网上可以下载https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html,是ISO镜像。
b.系统安装时看不见virtio硬盘,点加载驱动,选择CD中的viostor目录下对应系统的驱动即可看见磁盘顺利安装。系统安装结束后可以在windows里安装剩余的驱动。
c.除了硬盘和网卡驱动外,还可以考虑安装Balloon驱动,这个我稍微介绍一下。都知道有直通设备的虚拟机是需要完全预分配内存的,这在很大程度上造成了内存的浪费。Balloon驱动就是为了解决这个问题。安装Balloon驱动后在虚拟机的配置界面内存中启用,如图。
13.png
Balloon进程在虚拟系统中会动态占用大量的闲置内存,所以在win中经常可见到这个进程占用了好几个G的内存。这部分被占用的内存会被PVE主机回收,用于其他虚拟机或宿主系统。这样就解决了预分配内存和内存浪费的矛盾。有点象个大小不断变化的气球,所以叫Balloon。

2.DSM 6.2.2基于loader1.03b
在PVE下安装DSM于esxi没有太多区别,但也有几个坑。首先常规新建一个虚拟机。
a.上传img格式的loader。
PVE不支持上传磁盘镜像,只支持上传iso镜像。所以这一步要命令行完成。把IMG文件通过winscp上传至某个地方,比如/mnt/data/。在shell下执行命令:qm importdisk 100/mnt/data/synoboot.img,这里100是你的虚拟机编号。执行完毕后系统就会将转换好格式的磁盘镜像放到虚拟机的目录下,如/var/lib/vz/images/100/vm-100-disk-0.raw。然后在web配置界面将新出现的磁盘添加为sata并引导。
b.网卡的选择。
如果用直通网卡,请确保网卡可以用于DSM。如果用虚拟网卡,要知道PVE默认的E1000(不是E1000e)不支持新的DSM,virtio也不支持,vmxnet3当然也不支持。 14.png
但是其实PVE是有E1000e的,需要用参数调用,这里放上操作步骤:https://xpenology.com/forum/topic/7387-tutorial-dsm-6x-on-proxmox/page/7/?tab=comments#comment-108450&tdsourcetag=s_pctim_aiomsg
当然,我自己用的是网卡直通的方式。如果你是的大神,也可以给loader集成virtio驱动,反正我是不会。SR-IOV由于需要专门驱动,不确定DSM是否支持,这个还在折腾计划中。
       剩下的DSM的安装就不多说了,新装或者移植都没问题。

四、CPU的优化
PVE下的CPU分配和esxi不太一样,默认给每个虚拟机都预留了保留份额。这会导致你开了几个虚拟机后,每个虚拟机都无权完全使用cpu。建议将CPU高级设置里的CPU单位设置为最低值8,以确保CPU份额最大的可灵活分配,如下图:

TIM截图20190412170338.png
到此结束,本教程只对关键的不同点进行讲解。凡是常规思路的东西,我默认你拥有杰出的摸索能力。比如你想PCI直通,请自己去web界面寻找。如果连PCI直通都不知道是什么,那建议从ESXI开始使用。






补充内容 (2019-4-26 12:54):
主贴不能编辑了,修正一下,文中添加loader的命令漏掉了一个参数,由"qm importdisk 100/mnt/data/synoboot.img"修改为"qm importdisk 100/mnt/data/synoboot.img local"
8.png
9.png
10.png
11.png
12.png
楼主热帖
那是云论坛 - 国内最开放NAS交流平台
http://www.nasyun.com
分享淘帖
回复

使用道具

0

精华

271

帖子

1547

积分

发烧玩家

Rank: 2

云币
1
贡献
15
活跃
1336
精华
0
雨下得大 发表于 2019-4-11 11:44
好麻烦,还是直接实体吧

点评

如果只需要DSM,那的确应该实体  发表于 2019-4-11 12:30
回复 支持 反对

使用道具 举报

0

精华

262

帖子

1440

积分

发烧玩家

Rank: 2

云币
0
贡献
79
活跃
914
精华
0
zhouhui920 发表于 2019-4-11 12:19
同意楼上的,不过还是支持下楼主一下发两贴,厉害了

点评

发了两个?刚才网站一直404,估计错误了  发表于 2019-4-11 12:27
回复 支持 反对

使用道具 举报

0

精华

46

帖子

644

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
621
精华
0
sleeptoroll 发表于 2019-4-11 14:27
写的真好,希望楼主完成更新!

点评

基本完成了,你还希望看到啥?我懂的话就补  详情 回复 发表于 2019-4-11 18:03
回复 支持 反对

使用道具 举报

0

精华

21

帖子

290

积分

入门用户

Rank: 1

云币
0
贡献
11
活跃
224
精华
0
wolfgangsk07 发表于 2019-4-11 18:03
sleeptoroll 发表于 2019-4-11 14:27
写的真好,希望楼主完成更新!

基本完成了,你还希望看到啥?我懂的话就补
回复 支持 反对

使用道具 举报

0

精华

94

帖子

1785

积分

发烧玩家

Rank: 2

云币
0
贡献
169
活跃
893
精华
0
jeinfor 发表于 2019-4-14 20:46
ESXI  PVE都尝试过,还是感觉ESXI顺手,PVE感觉界面比较乱,ESXI简洁
对于ESXI来说目前主流配置家用都够,我i3  16G内存,完全够用
回复 支持 反对

使用道具 举报

0

精华

81

帖子

542

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
501
精华
0
lmzhong 发表于 2019-4-18 16:24
img2kvm用得很好
1.04b装918+,用e1000就可以了啊,不需要e1000e

点评

但是我的CPU是E3 1260L,太旧了,之前试过一次,918起不来  详情 回复 发表于 2019-4-19 10:03
回复 支持 反对

使用道具 举报

0

精华

21

帖子

290

积分

入门用户

Rank: 1

云币
0
贡献
11
活跃
224
精华
0
wolfgangsk07 发表于 2019-4-19 10:03
lmzhong 发表于 2019-4-18 16:24
img2kvm用得很好
1.04b装918+,用e1000就可以了啊,不需要e1000e

但是我的CPU是E3 1260L,太旧了,之前试过一次,918起不来
回复 支持 反对

使用道具 举报

0

精华

50

帖子

452

积分

入门用户

Rank: 1

云币
0
贡献
18
活跃
337
精华
0
wwj135 发表于 2019-5-19 04:27
没有基础还是用ESXI,J1900装1.04b,918就是找不到,但ESXI都不能弄什么就可以 了。唉,搞不定。
回复 支持 反对

使用道具 举报

0

精华

130

帖子

1514

积分

发烧玩家

Rank: 2

云币
0
贡献
116
活跃
869
精华
0
engiennrlzk 发表于 2019-5-19 08:58
感谢楼主分享详细教程
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

wolfgangsk07

入门用户

  • 主题

    4

  • 帖子

    21

  • 关注者

    9

那是云自营淘宝
快速回复 返回列表 搜索 官方QQ群
懒人地图 百度地图 谷歌地图手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备12025514号-3