TrueNAS和NextCloud搭建公司内部文件服务器

概述

为什么是TrueNAS和NextCloud

Nextcloud 是一个开源的私有云平台,提供类似于 Dropbox 或 Google Drive 的功能,支持文件同步、共享与协作。

  1. 文件同步与共享:
  • 支持跨平台的文件同步(Windows、Linux、macOS、移动设备)。
  • 用户可以在内部网络中或远程安全地访问和共享文件。
  1. 协作功能:
  • 提供在线文档编辑(如 Collabora 或 OnlyOffice 集成)。
  • 支持日历、联系人管理、任务管理等功能。
  1. 数据隐私与安全:
  • 所有数据存储在内部服务器中,不依赖第三方云服务,保证数据隐私。
  • 支持端到端加密(E2EE),提高数据安全性。
  1. 扩展性与插件支持:
  • 提供丰富的插件生态系统(如邮件、聊天、视频通话等)。
  • 可以根据需求扩展功能,满足企业或个人不同的使用场景。
  1. 用户管理与权限控制:
  • 支持 LDAP/Active Directory 集成,方便企业用户管理。
  • 提供细粒度的权限设置,确保不同用户或组访问不同的资源。

TrueNAS + Nextcloud 结合的优势:

  1. 集中存储与分布访问:
  • TrueNAS 提供高效的数据存储与保护,Nextcloud 提供灵活的访问与协作功能。
  • 用户可以通过 Nextcloud 访问 TrueNAS 上的数据,实现集中存储与分布式访问。
  1. 私有云环境:
  • 搭建完全自主可控的私有云平台,保障数据安全性与合规性。
  • 避免使用公共云带来的数据泄露或隐私风险。
  1. 成本效益高:
  • 使用开源软件和现有硬件资源,可以降低成本。
  • 不需要订阅昂贵的云服务。
  1. 定制化与灵活部署:
  • 根据业务需求定制功能,添加插件或扩展。
  • 支持本地部署和远程访问,适合不同规模的组织。
  1. 高可靠性:
  • TrueNAS 的 ZFS 文件系统提供数据保护,Nextcloud 提供数据访问和同步的前端。
  • 即使出现硬件故障,也能通过快照和备份恢复数据。

相关配置

服务器型号DELL R540
服务器配置4核;32线程;运存32G;磁盘36T
磁盘阵列类型raid5
虚拟机系统Centos

制作磁盘阵列 -

前言:lz在这里使用的是3块12T硬盘制作Raid5,单块价格在1850左右(Dell供应商价格,京东应该2K以上)至少使用3块大小相同的硬盘,如果想使用超过3块的硬盘,则必须是3的倍数并且规格是相同的,如果是6块必须全是4T或者8T相同规格,在这里提一下防止购买的时候踩坑。由于TrueNAS系统和其他的系统不一样,它需要将安装它的系统磁盘和数据盘分开,意思就是需要在做磁盘阵列的时候分出50G左右的大小用来安装TrueNAS,剩下的作为存储盘,不然安装完TrueNAS后会找不到数据盘。或者准备4块盘直接将TrueNAS安装在单独的一块硬盘上,lz这里使用的是前者

  • 准备好需要安装的硬盘
    在这里插入图片描述

  • 安装硬盘
    在这里插入图片描述

  • 开启服务器,设置系统为BIOS启动,目的是这个模式下才可以去重新制作磁盘阵列
    电脑开机,出现如下界面是按照提示按F2进入System Setup,不同的电脑主板进入此界面的按键不一样,可以在网上自行查找
    在这里插入图片描述
    进入System BIOS界面后显示如下,进入到Boot Settings中设置开机启动顺序
    在这里插入图片描述
    设置Boot Mode为BIOS
    在这里插入图片描述
    设置完成后保存退出,重启电脑

  • 正式配置磁盘整列
    上一步操作完成后重启电脑,然后出现如下提示后快速按Ctrl+R(出现如下画面后一直按),进入磁盘阵列

在这里插入图片描述
然后就可以进入到磁盘阵列的图形中,如下图是lz已经配置好的界面,将3磁盘做成一个100G的和一个21TB的。注意,100G的容量作用是用来安装TrueNAS系统,或许你会觉得100G太小了,实际上确实是没必要,理论上50G就够了,千万不要觉得磁盘大就分很多给它,TrueNAS系统本身只有1G左右的大小,运行的过程中数据不会产生在TrueNAS中
在这里插入图片描述
删除原磁盘阵列后出现如下图所示,显示三个初始状态的磁盘
在这里插入图片描述
由于lz已经装好了,所以需要将之前的阵列删除,使用键盘↑,↓键将光标移动至Disk Group上,F2出现如下选项,Delete Disk Group删除已经做好的磁盘阵列

按F2,选择Create New VD来创建新的阵列组
在这里插入图片描述
进入到此界面后选中Raid0回车,选择磁盘阵列类型,我们选择Raid5
在这里插入图片描述
然后选择三块磁盘,光标停在磁盘上面后按空格选
在这里插入图片描述
为TrueNAS系统设置大小,设置为100G(50G也是够的),单位别忘了设置

在这里插入图片描述
为系统命名为TrueNAS-system,方便后面安装的时候区别开在这里插入图片描述
右移到右侧的OK,然后确认这一块就配置好了
在这里插入图片描述
退出后看到如下界面,显示已经配置好了一个100G名称为TrueNas-system的系统
在这里插入图片描述
重复上述操作配置第二个系统,F2进入后直接配置名称即可
在这里插入图片描述
保存退出显示如下界面
在这里插入图片描述
装好之后初始化一下磁盘,保证磁盘正常,F2然后Init 。。。再选择Fast Init,两个系统都需要这样操作
在这里插入图片描述

按Esc键退出,会出现下图弹框,按回车
在这里插入图片描述
Ctrl+Alt+del重启电脑
在这里插入图片描述
重启电脑按F11进入Boot Manager,将电脑设置成UEFI,具体步骤如上设置电脑为BIOS相同

在这里插入图片描述
至此,阵列已经完全做好了

这里是安装过程中遇到的无法读取磁盘的问题解决方式,大家如果遇到了可以借鉴一下

在有提示按键时按F11(下图为F11已经选择后的情况),选择Boot Manager()
在这里插入图片描述
此时系统报错,没有出现提示进入制作阵列的界面,如下图
在这里插入图片描述
遇到这种情况可能是服务器iRad卡有问题,无法识别到硬盘,可以通过拆卸IRad卡和纽扣电池进行放电操作(断电操作),拆完后静止十分钟
在这里插入图片描述


制作TrueNAS系统盘,安装TrueNAS系统及配置 - **前言:lz使用的制作系统引导的软件是balenaEtcher,iso版本为centos7-everything版,大小为9.5G** **balenaEtcher下载地址:** [balenaEtcher](https://www.balena.io/etcher) **CentOS7-Everything下载地址(后面用的上):** [Everything ISO](http://mirrors.aliyun.com/centos/) **下载TrueNAS系统链接(需要登录才可以下载):** [TrueNAS](https://www.truenas.com/download-truenas-core/) **系统盘不能小于16G** ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7c119d9782223a72f128e38eea6d82cc.png)

具体安装方式就不说了,没什么好说的

进入制作步骤
打开软件,点击Flash from file,选择下载的TrueNAS的iso镜像文件, 第二个select target 选择制作引导的U盘,选择对应U盘,最后Flash!即可

在这里插入图片描述

注意:这里值的一说的是,U盘使用balenaEtcher制作完成系统盘之后无法在我的电脑里面检测出来,但是安装系统的时候是可以正常使用,是因为软件对U盘的格式进行了修改,可以在计算机管理中重新格式化磁盘即可
在这里插入图片描述
回车后等待U盘制作完成


安装TrueNAS系统 - **前言:继前面配置完磁盘阵列配置系统UEFI启动后,还需要设置当前系统的启动顺序为U盘启动**

将制作好的引导盘插好在服务器上,开机进入Boot Manager =》 One-shot UEFI Boot Menu 选择之前配置好的系统为优先启动
在这里插入图片描述
选择制作好的U盘为第一启动项
在这里插入图片描述
正常启动之后发现能够进入到TrueNAS系统,直接回车
在这里插入图片描述
进入到安装界面选择 Install/Upgrade回车
在这里插入图片描述
进入到选择磁盘界面,我们选择100G大小的磁盘,另外空格为选中磁块磁盘,前面会带星号,然后弹窗确认,选择yes
在这里插入图片描述
进入到TrueNAS的密码配置界面,输入完成选择ok
在这里插入图片描述
**选择Boot via UEFI **
在这里插入图片描述
创建交换区 create swap回车
在这里插入图片描述
等待系统初始化完成,然后回车
在这里插入图片描述
进入到初始TrueNAS 12.0-u7 Console Setup界面,选择Reboot System,按数字键3回车
在这里插入图片描述
拔掉U盘,设置服务器启动方式为BIOS启动,重启电脑等待TrueNA初始化完成后开启
在这里插入图片描述
此图实在生成加密信息,如果想要暴力破解需要四、五十年的时间
在这里插入图片描述
初始化完成自动分配了IP地址,使用浏览器访问
在这里插入图片描述
访问结果,可以直接查看,重启完成后系统会自动分配IP(重启之前记得插网线),即可通过ip地址访问TrueNAS的配置界面,密码是前面password框中设置的,账号为root
在这里插入图片描述
lz第一次安装的时候遇到了访问ip无法访问的问题,可以通过Configure Network Interfaces 来配置DNS/IPV4/DHCP等相关信息,不能访问的小伙伴可以自行尝试,操作后最后重启

-------------安装完成,下面是配置部分----------------

  • 配置TrueNAS

使用密码登录后显示如下界面
在这里插入图片描述
配置语言为中文和时区为上海Asia/Shanghai

右上角 Settings =》 Preferences =》 System =》 General =》 Language =》 Simplified Chinese =》 SAVE
右上角 Settings =》 Preferences =》 System =》 General =》 时区 =》 Asia/Shanghai =》 SAVE
在这里插入图片描述
创建池
选中左边的 存储 =》 池 =》 添加
在这里插入图片描述
添加池名称:data-pool
选中左侧的可用磁盘da1 点击中间的 → 箭头 会到 右侧的“数据VDev”中 勾选创建上面的强制,最后创建
在这里插入图片描述
创建完成后如下图
在这里插入图片描述在data-pool池最后的三点上点击添加数据集,添加名字,创建
在这里插入图片描述
池和数据集创建完成


TrueNAS中安装虚拟机CentOS-Everything - **前言:在Truenas中安装一个centos7.6的版本,至于centos7.6的iso文件开头时已经给出了国内镜像源下载地址**

左侧虚拟机 =》 添加
在这里插入图片描述

设置操作系统
在这里插入图片描述
处理器和内存
在这里插入图片描述
磁盘
注意:磁盘大小需要设置为池的80%,请自行计算,如果超过80%会报我最后的错,谨慎设置。不能像lz截图中那样设置,会报错!!!
在这里插入图片描述

网络接口
在这里插入图片描述
安装介质,点击上传安装镜像文件下面的加号选择上传的路径,点击选择文件上传centosEverything版本,等待iso文件上传完成
在这里插入图片描述

确认选项
在这里插入图片描述

异常处理
正常情况下是不会报错的,但是可能由于lz操作不当导致报错,报错截图如下

错误1
在这里插入图片描述
由于当时考虑的是如何解决问题没有拷贝错误日志
错误原因:里面报错内容里面包含有vm size 太大一些字样,因此此报错的意思是本次创建的VM占池的80%,所以想要解决的话比较简单,重新添加一个虚拟机,在磁盘设置页设置磁盘大小时设置为池的80%大小

错误2
报错日志

错误: Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 138, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1213, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/service.py", line 484, in create
    rv = await self.middleware._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1213, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 975, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/vm.py", line 1283, in do_create
    verrors.check()
  File "/usr/local/lib/python3.9/site-packages/middlewared/service_exception.py", line 62, in check
    raise self
middlewared.service_exception.ValidationErrors: [EEXIST] vm_create.name: This name already exists.

此报错的意思很明显就是vm的名称已存在,实际上很奇怪你可能是第一次创建这个vm,怎么可能会重复呢?这是你只需要将当前网页复制到另一个窗口然后打开虚拟机项你就会发现确实已经存在此vm 名称的虚拟机,但是无法启动

--------------------上面两个错可以说是连锁反应导致的,只要磁盘设置超过80%,就会出现错误1,导致虚拟机提交失败,然再次提交虚拟机的时候就会报错误2--------------------

重新配置后直接启动虚拟机
在这里插入图片描述
至此TrueNAS安装配置完成,下面是如何在虚拟机里面安装docker和nextcloud


初始化CentOS7,安装Docker、NextCloud - **前言:接着上面的步骤,我们打算在已经安装好的centos7虚拟机中安装docker,然后拉取nextcloud,就可以使用了,十分方便简单**

点击VNC按钮,进入vnc界面,开始安装centos7
在这里插入图片描述
等待centos7初始化完成进入到安装界面,先选择语言,继续
在这里插入图片描述
摘要信息配置,配置完成后的图如下
在这里插入图片描述
挑重点说一下

  • 1.软件选择中需要勾选左侧GNOME桌面,右边出现的对应选项不用管
  • 2.安装位置最好自定义分区,因为使用docker方式安装默认存储路径是/var/lib/docker,如果不把自定义分区将大部分存储空间放置/var下的话后期不管是移动/home空间到/var下或者修改docker存储路径,都是一件比较麻烦的事情
  • 自定义分区时,选择/swap的大小一般是内存的2倍,其他随意配置,具体配置如下图
  • 网络和主机名记得配置一下,默认的主机名不好听

在这里插入图片描述
进入到安装界面,点击设置ROOT用户密码
在这里插入图片描述

设置密码
在这里插入图片描述
等待安装完成,然后点击reboot,重启虚拟机后点击虚拟机的VNC进入后发现会重复进入安装centos界面,造成这个问题的原因是虚拟机设置的是UEFI启动,另外虚拟机的“设备”中也有设备启动顺序,目前lz试着修改虚拟机启动项和设备中iso的启动顺序都不好使,最简单的方法就是找到虚拟机,点开后面箭头>
在这里插入图片描述
点击设备选项然后进入
在这里插入图片描述

找到CDROM项点,开最后的三点查看详情,查看是否为当前系统的iso镜像文件,如果是的话删除重启虚拟机
在这里插入图片描述
截图的iso不是CentOS7-Everything版本是因为我正式安装的系统已经删除了,这个是临时创建用来截图的
在这里插入图片描述
删除CDROM设备后重启镜像进入到CentOS的初始化界面,登录记得要使用root账号来登录,否则会报很多没有权限的错误
在这里插入图片描述
进入到系统中的一些基本初始化就不说了,这些还是很简单的,有什么不清楚的可以在我下面留言,至此CentOS虚拟机安装完成

  • 接下来是安装在CentOS中安装Docker,由于lz之前写过CentOS-Everything版本的安装步骤,这里就不再写了,把安装链接放在下面,供大家参考

Centos7.6安装最新版Docker

  • 最后在启动完docker之后,使用命令安装nextcloud
docker run -d --name nextcloud -p 80:80 -v /root/nextcloud:/data rootlogin/nextcloud

nextcloud安装完成
在这里插入图片描述


结束 -

帖子内容较长,制作不易,随手点赞,转载请注明出处,绝对原创。
另外帖子中用到的资源如果大家无法上网的可以给我评论留下需要的资源和邮箱,发给大家。

### Firefly NAS 安装配置与使用教程 #### 一、硬件准备 为了成功安装并配置Firefly NAS,需准备好如下设备: - 支持的操作平台,如Firefly RK3399开发板。 - HDMI线缆用于连接显示设备;注意部分显示器可能仅支持作为输出源而不适合作为目标系统的监视器[^1]。 - USB鼠标键盘组合以便操作界面。 - 稳定的网络环境以及网线。 #### 二、操作系统部署 对于希望构建NAS服务的应用场景而言,在选定的硬件平台上预先装载适合版本Linux发行版至关重要。以Ubuntu为例: 通过官方渠道获取适用于ARM架构的目标镜像文件,并按照常规流程完成烧录工作至存储介质(e.g., TF卡)。启动过程中应能自动加载所选OS映像而无需额外干预措施。 ```bash sudo dd if=/path/to/ubuntu.img of=/dev/sdX bs=4M status=progress && sync ``` > 注:上述命令中的`/path/to/ubuntu.img`代表下载好的系统盘镜像路径,`/dev/sdX`则指代实际插入电脑用来当作引导装置的SD卡或其他可移动磁盘位置,请依据实际情况调整参数设置。 #### 三、软件栈搭建 一旦基础环境就绪,则可以着手于必要的服务器组件安装了。考虑到个人偏好差异较大,这里推荐采用Docker容器化方案来简化管理过程的同时也提高了灵活性。 先更新包列表并安装docker-ce: ```bash apt-get update && apt-get install -y docker.io systemctl enable --now docker ``` 接着拉取特定标签下的nas工具集比如TrueNAS Scale社区版或者Nextcloud私有云套件等预构建实例: ```bash docker pull truenas/scale:latest # 或者 docker pull nextcloud:fpm-alpine ``` #### 四、WebUI访问初始化设定 大多数现代型态的家庭级或小型企业适用级别的NAS解决方案都提供了图形化的前端页面来进行直观便捷式的交互体验优化设计考量因素之一就是易于初次接触此类产品的用户群体快速上手掌握核心功能特性要点所在之处。 打开浏览器输入对应IP地址即可跳转到登陆界面对话框内,默认情况下管理员账号密码均为'admin'/ 'admin',首次登录后建议立即修改默认凭证信息确保安全防护等级处于合理范围内。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一米阳光zw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值