当前位置:   article > 正文

2024年最牛家用NAS+虚拟化方案,极低功耗_2024 nas

2024 nas

谈谈个人搭建NAS服务器有哪些需求

本人买过华为1288v3服务器、绿联DX4600,自己拧螺丝组装过i7-8700T低功耗主机。网络方面,买过汉土的公网ip盒子、打过中国电信的电话要一个动态ip。体验过各种NAS方案均不满意,服务器虽然爽,但是功耗400w一天10元电费也是耗不起。所以经过3天的摸索,找到了一个又爽又省钱的方案。

  1. 低功耗。NAS是长期运行的,24小时不停机,所以整机功耗一定要低,不然电费伤不起。所以30瓦以上的主机和服务器直接pass掉。
  2. 主机机箱无风扇。淘宝上有“软路由”、“工控机”,这种机型不需要散热器,机器体积很小,大小和路由器差不多,易于搬家。而且零件可更换,CPU烧坏了只需要换主机就行,而不是重新买一个几千块的NAS机器。
  3. 完整网盘功能。一般的网盘功能包括:手机app+电脑客户端+web的三端可访问,NFS、Samba、WebDav
  4. 完整docker功能。我买过群晖和绿联DX4600,上面的docker是被阉割过的,无法开启–privileged特权容器,无法将宿主机docker.sock导入容器中,让容器自己创建新的容器。无法使用docker-compose,导致管理容器组困难。有了docker,就拥有了全世界。
  5. 能跑几个虚拟机,重点是windows虚拟机,满足远程办公轻办公。并且可以挂机。这个虚拟机至少4核,不然性能太差。
  6. 对外提供网络服务。有独立公网ip,比如部署自己的云笔记,或者搭建博客网站,这些都需要公网ip。
  7. 永远不组raid。raid表面上提高了多个磁盘间的容错率,但是,如果阵列卡坏了,你的数据依然全部完蛋,还是会存在单点故障问题。软raid就更不行,如果系统坏了,软raid也没了。

物料和成本

  1. 硬件成本:
产品名价格(元)理由
N305开发版P5小主机1299intel目前最强的NAS专用cpu。7nm工艺,功耗15w,8核8线程(小核心设计),单核性能超过i7-8700T,核显性能是是i7-8700T的两倍,具备NPU神经网络计算单元,可用于AI开发
32GB内存,DDR5 4800Hz470去咸鱼买,便宜。N305这个cpu是intel的酷睿12代架构,支持DDR4 3200Hz或者DDR5 4800Hz内存
长江固态Ti600 4TB nvme M.2硬盘1399淘宝店铺:致态旗舰店。支持国货,接口NVME2.0,速度7000MB/S
希捷酷狼8T1599作为虚拟机镜像备份盘。注意是酷狼不是酷鱼!!酷鱼是瓦叠盘不要买!!
绿联3.5寸机械硬盘盒79用于将希捷盘插入到USB3.0中,每天备份虚拟机

总计:4846元

  1. 每年固定投入:
    电费:0.03千瓦时 * 24 小时 *365天 = 262.8 元
    公网ip成本:阿里云个人云服务器套餐,99元/年长期有效 , 公网带宽3Mb(384KB/s)。
    固态硬盘预期寿命5年,价格1399元,平摊到每年是280元
    总计:642元 = 百度网盘SVIP + 有道云笔记会员 + QQ音乐会员 + windows云桌面 +云服务器 +个人影院
    光一个windows云桌面一年就值这个价格了,值了!

设计原理

动静分离原理:
硬raid成本太高了,不仅要买机柜,而且需要多块相同的硬盘,成本太高了。
软raid不安全,系统坏了就全完蛋。
想要长期保存数据最优的方法是机械硬盘做冷备份(备份文件放在盘里就不动了)。
热数据和服务需要速度够快,不然使用起来不爽,所以我们使用固态硬盘。
我们想要window和完整的docker,所以需要部署虚拟机,而不是使用nas系统。
将windows和linux运行在固态上。windows每周备份一次qcow2镜像,linux中的docker容器和网站每天备份,保留最近2次备份。
固态寿命5年以上,机械硬盘10年以上,他俩同时坏的可能性几乎为0,这款nas能陪你到老。

Proxmox VE 8.1系统安装

装机U盘制作

官方下载地址(速度慢):https://enterprise.proxmox.com/iso/proxmox-ve_8.1-1.iso
中科大源下载地址(速度快):https://mirrors.ustc.edu.cn/proxmox/iso/proxmox-ve_8.1-1.iso
rufus烧录工具下载地址:https://github.com/pbatard/rufus/releases/download/v4.4/rufus-4.4.exe
准备一个8GB以上的U盘,打开rufus程序,盘符选择你的U盘,镜像文件选择proxmox-ve_8.1-1.iso,然后点击开始。
大概1分钟后,启动盘制作完成。

pve系统安装

将4TB的长江固态插到主机的nvme槽中,然后你的主机通过网线连接你家的路由器。需要搞清楚你家路由器的网段,以及稍后你的pve系统的ip。我的路由器是192.168.3.1/24,我打算给系统的ip是192.168.3.10
插上U盘,开机狂按F2进入bios,在boot一栏中将#1设置为usb设备,F10保存退出
随后再次开机,主机自动加载U盘中的引导程序,开始安装pve.
安装过程也很傻瓜,不会的可以百度,这里不做赘述,pve都不会装建议别玩nas了。
安装完成后会自动重启,重启后拔掉U盘再重启一次进入系统。
pve安装后,会自动创建一个vmbr0的网桥,所有你创建的虚拟机网卡都会桥接到这个vmbr0上,这样路由器会给你所有的虚拟机分配ip。
所以我的虚拟机ip都是192.168.3.x , 虚拟机之间由于是同一个网段,可以相互ping通。
如果不理解linux网桥知识,可以去百度学习一下,网桥就相当于一个分线盒子,各位在大学时,宿舍墙上如果只有一个网口,寝室很多电脑要用网线联网的时候,买一个分线盒子就能一分多。这个分线盒子就是网桥。

pve 8.1源配置

pve安装后,默认的源都不可用,需要替换成中科大源。执行以下命令:

# 删除系统自带的商用源,我们开始白嫖
rm -f /etc/apt/source.list.d/*.list

# pve免费源
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

# ceph免费源
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list

# LXC容器仓库
sed -i.bak "s#http://download.proxmox.com/images#https://mirrors.ustc.edu.cn/proxmox/images#g" /usr/share/perl5/PVE/APLInfo.pm  
wget -O /var/lib/pve-manager/apl-info/mirrors.ustc.edu.cn https://mirrors.ustc.edu.cn/proxmox/images/aplinfo-pve-7.dat
systemctl restart pvedaemon

# Debian系统仓
sed -i.bak "s#ftp.debian.org/debian#mirrors.ustc.edu.cn/debian#g" /etc/apt/sources.list
sed -i "s#security.debian.org#mirrors.ustc.edu.cn/debian-security#g" /etc/apt/sources.list

# 更新全部仓库的缓存,如果这一步失败了,请检查外部网络是否连通。
apt update

# 更新系统包
apt upgrade -y

# 安装一些必要的软件
apt install -y vim ssh git ceph   # ceph分布式存储
apt install -y gcc make build-essential pve-headers-`uname -r` dkms jq unzip python3-pip mdevctl  # 显卡驱动安装相关

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

lvm逻辑卷大小调整

默认安装后会产生三个逻辑卷
pve/root,100GB,系统盘安装位置,并可以存放iso镜像
pve/data,3.5TB,可以存放系统镜像和lxc容器
pve/swap,90GB,内存缓存分区,不动。
我们需要把系统盘扩容到300GB,否则影响长期运行

# 删除pve/data,扩容root后重建data
lvremove pve/data
lvextend -L +200GB -r pve/root
lvcreate -l +100%FREE -n data pve

# 对pve/data进行分区和挂载
mkfs.ext4 /dev/pve/data
vim /etc/fstab
/dev/pve/data  /mnt/data  ext4  defaults  0 0

# 挂载
systemctl daemon-reload
mount -a
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

开启iommu硬件直通

# 检查一下系统是否支持vt-d功能,n305主机默认是开启的
# 有返回即表示开启。
egrep -o '(vmx|svm)' /proc/cpuinfo

vim /etc/default/grub

# 找到GRUB_CMDLINE_LINUX="" ,修改成如下,然后保存退出
GRUB_CMDLINE_LINUX="intel_iommu=on"

# 更新grub
update-grub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

登录pve,删除local-lvm,新建存储目录

浏览器登录https://ip:8006 ,输入root和密码,语言选中文
点击集群->存储->添加->目录,将系统中刚挂载的/mnt/data添加为磁盘目录,取名volumes,以后虚拟机的硬盘镜像qcow2都存放在这里。
在这里插入图片描述

虚拟机安装

windows安装

win10 iso获取:https://www.microsoft.com/zh-cn/software-download/windows10%20
光有系统镜像还不够,需要额外下载pve的VirtIO磁盘驱动,否则装系统时识别不到硬盘
VirtIO驱动下载:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
创建虚拟机:4核心16GB内存,系统盘300GB,数据盘500GB
如何安装可以参考这篇文章:https://blog.csdn.net/u012374381/article/details/130567910
或者在创建虚拟机的时候,选择额外驱动
在这里插入图片描述
推荐硬件配置如下:
核心2核或4,CPU8G或16G,显卡一定要virtio,不然会占用cpu性能来显示桌面。音频设备可以添加一个intel-hda。
在这里插入图片描述

网络设备模型选择intel,不要默认的virtio,因为windows10无法识别virtio硬件,所有virtio都要安装驱动,太麻烦。
在这里插入图片描述

Debian Linux安装

iso镜像下载:https://mirrors.ustc.edu.cn/debian-cd/current/amd64/iso-dvd/
4核心16GB,系统盘100GB,数据盘2T挂载到 /www目录上,稍后宝塔面板会安装到数据盘

docker和docker compose安装

docker engine:https://docs.docker.com/engine/
docker compose:https://docs.docker.com/compose/install/standalone/

宝塔面板安装

建议不要使用万能安装脚本,这个万能脚本安装的宝塔是全python开发,与系统底层兼容性不好。建议根据自己实际系统选择脚本。
https://www.bt.cn/new/download.html
Debian安装命令

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
  • 1

修改用户名、密码、端口、安全入口。对应编号6、5、8、28
在这里插入图片描述
进入宝塔面板后,安装lnmp,其中php版本8.0以上,mysql版本8.0以上。

Nextcloud安装

不适用docker安装nextcloud,因为容器数据库不靠谱。
下载nextcloud软件包:https://download.nextcloud.com/server/releases/
我选择最新的nextcloud-28.0.1.zip
安装方法网上有很多教程:宝塔安装nextcloud
在这里插入图片描述
安装完推荐应用后,刷新浏览器还是安装推荐应用的界面,此时应该重新访问
域名:端口 的形式
下载手机app和电脑客户端,放到网盘里,愉快!

机械硬盘直通和每日备份

将USB设备直通到linux虚拟机中,挂在到 /www/backup目录中。宝塔面板的备份文件都放在这个目录下,如果之后网站删除,可以一键还原。
在这里插入图片描述
在这里插入图片描述
如上图,挂在点和宝塔备份文件,文件命名是域名_日期_时间

宝塔面板每日备份

手动备份:点击备份下面的链接,然后点击备份站点
在这里插入图片描述
定时备份
在这里插入图片描述
在这里插入图片描述

windows虚拟机每周备份

备份脚本


  • 1

设置定时任务

在主机系统上设置定时任务,不是虚拟机里!
如下,设置每周一早上4点开始备份,机械硬盘写速度100MB/s,所以全量备份预计2小时内完成。

crontab -e
0 4 * * 1 bash /root/win-backup.sh 100 /mnt/backup/volumes

  • 1
  • 2
  • 3

端口映射

目前的服务都在内网中,我们想要将所有应用暴露出去,可以使用端口映射技术
博客:https://blog.csdn.net/qq_43626147/article/details/135463728

服务内外端口公网端口
N305主机pve系统的ssh222222
nas虚拟机2212222
windows10虚拟机远程桌面338913389
宝塔面板xxxx10000
Nextcloudxxxx11000
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/153322
推荐阅读
相关标签
  

闽ICP备14008679号