从NAS4FREE迁移到PVE
前段时间搭建了基于nas4free的家中nas,但是使用了一段时间后,发现还是有不少缺陷,所以转为Promox VE使用
在nas4free上我遇到了如下问题:
1.Iscsi读取速度极慢,写入(无缓存)的情况下能跑满千兆网,但是读取只有百兆网的水准,完全不可用
2.Virtualbox安装win10_64在运行一段时间后会卡死,无法通过phpvirtualbox关闭,只能手动杀进程。(题外话,当时试图在上面安装时总是无法安装,后来是在个人的电脑上用virtualbox安装后将硬盘迁移过去的)
3.想要配置一些其他东西会比较麻烦,例如配置aria2c、bhypve等等
基于以上理由,准备搭建一个虚拟化平台,然后将硬盘直通给nas使用,首先我选择的是大名鼎鼎的esxi
安装、使用都很顺利,但是在使用的时候遇到了一个麻烦
esxi设置巨型帧会导致网络卡死,尝试了几次后,觉得可能是我的网卡问题(网卡是能够被esxi正确识别的),于是转为尝试Proxmox VE
PVE安装还是十分方便,而且基于debian系统,许多东西都可以只用使用linux的源进行安装
其实本来也考虑用unraid,但是硬盘上已经存放了不少数据,所以再使用unraid不太妥当——再说也要钱,所以还是采用了PVE
安装完成后,使用PVE创建虚拟机,然后通过
pm set <id> --sata1 <disk_id>
设置磁盘映射(注意这并非硬盘直通)
之后再直通usb,则可以成功启动之前的nas4free了
但是通过这样的方式会有一定的性能影响,我原本的磁盘读写速度约在80~90M左右,但是映射后只有60M左右
网上查询了一下后,发现可以通过PCI 直通的方式将整个SATA控制器给虚拟机用,但是这样的话会造成宿主机无法启动(但我将PVE安装在u盘上的,所以倒没有任何影响)
不过这功能要求CPU支持VT-D,但是很可惜我的cpu G1620不支持,所以只能等到之后换上一颗服务器的cpu才能做尝试
具体的方法可以详见:
之后就是PVE设置巨型帧的问题,采用了论坛上别人的方法
How to enable jumbo frames on proxmox interfaces
我的配置如下:
auto lo
iface lo inet loopback
iface enp4s0f1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.3.121
netmask 255.255.255.0
gateway 192.168.3.1
bridge_ports enp4s0f1
bridge_stp off
bridge_fd 0
pre-up ip link set dev enp4s0f1 mtu 9000
iface enp3s0 inet manual
iface enp4s0f0 inet manual
不过在设置巨型帧之前出现了一个小插曲,因为之前的nas4free是设置了巨型帧,而PVE刚装好后的MTU是1500,所以导致怎么都连不上nas4free,还以为是网络配置有误….
之后nas4free启动nfs,PVE再挂载这个NFS,将其作为数据盘,并在其上安装win10
但是nas4free的nfs配置似乎有误,直接用PVE挂载不成功,需要在NFS的配置中增加一行:
V4: / -sec=sys
如此,便完成了整个NAS的迁移工作,虽然win10跑起来稍微慢了点,而且由于sata控制器没有直通的原因导致nas运行速度不行,但至少解决了最开始的三个问题
ISCSI速度达到读写60M,目前而言已经够了
win10再也不用担心晚上挂着百度云第二天却发现半夜死掉了
可以随意折腾linux,PVE自带的LXC简直就是神器
整体而言,PVE还是一个对新手相当友好的系统,其实最开始如果直接使用PVE配合NAS4FREE的话可能会更好,但现在NAS中已经存放了不少的数据,所以只能这样迁移使用
最开始安装好PVE时其实也考虑过直接在PVE中使用zfs import导入ZFS存储池进行使用,但是怕出问题,所以还是老老实实的使用NAS4FREE吧,这段时间折腾完成后,恐怕整个服务器都不会再去动它了,希望硬盘可以坚持足够久的时间吧。
我的pve其实除了做kvm host以外还跑了几个python脚本,比如aliyun ddns和水木轮胎自动读帖子提取关键字等等
当然,这俩如果跑在lxc里边其实更好,算是让host更干净;不过只是脚本而已,而且各自用的各自的python虚拟环境
不过个人还是喜欢进行隔离,万一一不小心把host给搞挂了就尴尬了