教程:在Linode平台上用TrueNAS搭建大规模存储系统

网络附加存储(Network-attached storage,NAS)可以让多个设备通过网络访问共享的存储。虽然Linode未提供原生的共享存储解决方案,但用户可以在Linode上部署TrueNAS,借此创建共享存储系统,实现多源并发访问。


延伸阅读,点击链接了解Akamai Cloud Computing


本文我们将介绍两个关键话题:

  1. 什么情况适合使用TrueNAS作为文件存储(分析利弊)
  2. 在Linode上扩展TrueNAS(存储池)

什么情况适合使用TrueNAS作为文件存储?

任何基础设施都需要选择正确的文件存储解决方案。本节将概括介绍如何在Linode上使用TrueNAS作为文件存储,重点将介绍其优缺点,从而帮助大家确定它是否适合你自己的共享存储需求。

1.概述

TrueNAS是一个开源的网络附加存储(NAS)系统,在Linode上部署后可提供强大的数据存储和共享功能。它使用ZFS提供数据完整性、快照和多种共享协议等功能。

一个Linode实例最多支持8个存储设备,在为操作系统和交换分区(Swap)分配完磁盘后,通常有6个可用来存储数据。对于这6个数据磁盘,TrueNAS可配置为镜像、RAID-Z1或RAID-Z2。这些设置可在存储容量(30TB至50TB)、冗余、性能和重建速度之间实现不同的平衡。

下表概述了这三种配置

配置 镜像 Raid-Z1 Raid-Z2
最大容量 30TB 50TB 40TB
磁盘用法 6个磁盘组成3个镜像对 5个磁盘存储数据,1个磁盘存储校验信息 4个磁盘存储数据,2个磁盘存储校验信息
可承受的磁盘故障 每个镜像对可损坏1个磁盘,3个镜像对最多可同时各自损坏1个磁盘 1个磁盘 2个磁盘
性能 读取一流,写入尚可 读取尚可,写入中等 读取尚可,写入较慢
重建速度 中等

最大存储容量和复制方面的考虑因素

2.优势

数据弹性:利用ZFS(镜像、Raid-Z1、Raid-Z2)在硬件故障和数据损坏的情况下保障数据完整性和可恢复性。

快照:实现意外删除或更改的时点恢复。可安排定期运行,以提供一致的数据保护。

复制:允许以短时间间隔(5-15分钟)将数据复制到另一个TrueNAS备份实例。

多种存储选项: 支持多种文件共享(NFS、SMB、AFP)和块(iSCSI)。

3.劣势

缺乏集群解决方案:尽管TrueNAS可配置主实例和备份实例,但缺乏自动故障切换功能。如果主服务器发生故障,客户在手动故障切换时可能会遇到因为数据不可用而导致的停机。

可扩展性:数据可扩展性最多为单个节点。就Linode而言,Raid-Z1的最大可用存储容量为50TB。

Linode上的TrueNAS提供了强大的文件存储功能和数据保护功能,适合需要可靠的中型存储解决方案的企业。但是对于关键任务或快速增长的环境,不应忽视该解决方案在自动故障切换和单节点可扩展性方面的局限。在决定TrueNAS是否是你在Linode上适合的文件存储方案时,请评估自己对性能、可扩展性和管理复杂性的具体需求。

在Linode上扩展TrueNAS(存储池)

本节将介绍如何在Linode上扩展单个TrueNAS实例的数据存储。我们将逐步建立初始存储池,并探讨扩展方法。与RAID-Z1或RAID-Z2相比,我们将使用镜像配置,以获得更好的读取性能和更快的恢复速度。

1.初始设置──2 x 100GB

从Linode Manager创建2个100GB的卷。此后,TrueNAS控制台将获得这2个磁盘。

Linode Manager──创建2个卷

TrueNas──显示出2个可用磁盘

转到Storage -> Pools,选择2个设备,配置一个可用存储池。TrueNAS会自动执行磁盘格式化操作,并获得一个可用空间94.46GB的存储池。会有少量存储空间用于存储ZFS元数据。

TrueNAS建议默认使用镜像配置

94.46GB可用存储空间

随后我们创建一个50GB配额的数据集,并将其挂载到客户端。然后客户端将创建一个文件,并使用1GB。

已使用了1GB的dataset1

2.存储池缩放──增加磁盘大小

接着介绍如何从现有的Linode卷磁盘缩放存储池。

单击省略号图标展开Resize选项,对data1和data2执行调整大小操作。每次调整磁盘大小一次,以尽量减少可能的中断。

Linode Manager──将两个磁盘的大小都增大到200GB

调整两个卷的大小后,重启动TrueNAS服务器。重启后点击齿轮图标,选择Expand Pool选项。确认后,存储池便会被顺利扩展。

TrueNAS──选择Expand Pool选项

TrueNAS──扩展后的存储池

3.存储池缩放──添加Vdev

接着介绍如何通过添加更多Linode卷磁盘和设置新VDev来扩展存储池。

额外配置两个容量为200GB的数据磁盘:data3和data4。TrueNas会自动检测到新配置的磁盘。

Linode Manager──新增的2个卷

TrueNas──检测到新磁盘

转到Storage -> Pools,然后从齿轮菜单中选择Add Vdevs。

TrueNas──Add Vdevs

选择新配置的那两个磁盘,以"镜像"配置作为数据vdev进行分组。这将为现有存储池提供额外的可用存储,使可用存储总量从190GB增加到381GB。

TrueNas──添加vdev

TrueNas──存储池横向扩展

4.相关操作:扩展NFS驱动器dataset1

本节将介绍如何扩展已加载到客户端设备上的实际NFS驱动器(dataset1)。

单击dataset1旁的省略号图标并选择Edit Options。将Quota for this dataset字段从最初的50GB更新为100GB。

TrueNas──Dataset1的Edit Options

TrueNas──将配额更新为100GB

保存后,NFS将被扩展。挂载了NFS的客户端将看到扩展后的卷。

TrueNas──Dataset1已扩展至100GB

客户端──最初可以看到50GB的NFS

客户端──扩展后可以看到100GB的NFS

总结

Linode上的TrueNAS在单个实例上提供了强大的数据保护和灵活的扩展选项。在决定它是否是适合你的存储解决方案时,需要考虑你对性能、可扩展性和冗余的具体需求。通过妥善的实施,TrueNAS可以有效满足你在Linode环境中的各种存储需求。

希望本文能为你带来一定的帮助。欢迎关注Akamai稀土掘金机构号,阅读更多使用技巧和操作指南。同时也欢迎注册Linode,获得免费试用额度,亲自操作,在Linode平台上搭建基于TrueNAS的个人专用共享存储。

如果你喜欢我们的文章,欢迎关注我们↓↓↓

了解更多

相关推荐
zhongtianhulian4 分钟前
中天智能装备有限公司的托盘式立库有哪些安全保护措施?
安全·云计算
java1234_小锋7 分钟前
Zookeeper的典型应用场景?
分布式·zookeeper·云原生
facaixxx20241 小时前
阿里云备案有必要选择备案管家服务吗?自己ICP备案可以吗?
阿里云·云计算
终身学习基地1 小时前
第二篇:go包管理
开发语言·后端·golang
图南随笔1 小时前
Spring Boot(二十一):RedisTemplate的String和Hash类型操作
java·spring boot·redis·后端·缓存
吃饭了呀呀呀1 小时前
🐳 《Android》 安卓开发教程 - 三级地区联动
android·java·后端
shengjk12 小时前
SparkSQL Join的源码分析
后端
Linux编程用C2 小时前
Rust编程学习(一): 变量与数据类型
开发语言·后端·rust
uhakadotcom2 小时前
一文读懂DSP(需求方平台):程序化广告投放的核心基础与实战案例
后端·面试·github