从NAS4FREE迁移到PVE(续)

2019年12月22日 0 作者 筱枫

前阵子迁移到PVE后,用起来感觉非常不错,但总感觉性能不太够,一是低端赛扬双核实在是不够看,二是磁盘速度上不去,思来想去,于是前阵子在淘宝上入手了一块E3 1260L(笑)

顺利安装,启用iommu,然后开始通过pci直通将主板上的sata控制器直接交给NAS,之后兴奋的跑了一下速度——给我泼了一盆凉水

速度跟之前相比没有任何变化,读写依旧是60M


于是开始排查问题,通过diskinfo -t /dev/adaX 进行测速,速度都很不错,尽管是5400转的硬盘,但速度也有个100M,四块硬盘都测试过,确定硬盘没有问题

那么,问题出在哪里?想着可能是网卡的问题,于是用iperf测速,速度在100M左右 ,虽然没有跑满千兆网125M,但相差也不大

最后,在PVE上查看了一下NAS的硬件配置,发现网卡配置成了E1000

想了想还是换成virtio(半虚拟化)

之后再在nas4free中的 系统 > 高级 > loader.conf 增加如下三行启用virtio支持

virtio_load="YES"
virtio_pci_load="YES"
if_vtnet_load="YES"

最后重启系统开机,再进行测速,恢复到了之前裸机安装NAS4FREE的速度!

写入在zfs arc的支持下可以达到100M,读取也有80M,完美!


但在实际使用时还是会遇上一些问题,由于PVE是安装在U盘上的,所以在重负载的情况下进行虚拟内存交换的时候会导致宿主机卡死,造成上面所有的虚拟机卡住——,所以,采用一个谷歌到的最简单的办法,直接减少虚拟内存的使用

永久生效:
echo "vm.swappiness = 0">> /etc/sysctl.conf     (尽量不使用交换分区,注意不是禁用)

刷新SWAP
可以执行命令刷新一次SWAP(将SWAP里的数据转储回内存,并清空SWAP里的数据)
swapoff -a ; swapon -a

sysctl -p  (执行这个使其生效,不用重启)

总结,虚拟机还是有不少坑要踩的,但是也很好用,毕竟一台当作多台来用,折腾就折腾点吧——