linux存储小记

linux存储小记

TrueNAS

TrueNAS 是一个流行的开源存储平台,主要有以下版本:

TrueNAS基本信息

版本特点
TrueNAS CORE• 基于 FreeBSD 系统
• 以稳定性和成熟度著称
• 基础 NAS 操作性能更好
• 使用 IOCage 进行容器管理
• 功能完整,持续获得维护更新
• 适合注重稳定性和数据完整性的用户
TrueNAS SCALE• 基于 Linux 系统
• 提供原生 Docker 容器支持
• 更好的硬件兼容性
• 专为可扩展性设计
• 包含点击式应用程序库
• 更适合需要容器化和现代特性的用户

主要功能:

功能类别描述
核心功能• 支持 ZFS(OpenZFS)文件系统
• 数据保护和完整性功能
• 内置安全特性,包括最新的受限管理员功能
• 基于 Web 的管理界面
• 快照和复制功能

2024年最新发展:

类别更新内容
安全性增强• 实施受限管理员功能
• Electric Eel 版本中改进的安全特性
系统更新• TrueNAS CORE 持续接收维护更新
• SCALE 定期获得功能更新和改进
• OpenZFS 改进和更新

如何选择 CORE 和 SCALE:

版本适用场景
选择 CORE• 重视稳定性和可靠性
• 需要基本的 NAS 功能
• 追求最大程度的数据完整性
• 偏好传统的 FreeBSD 环境
选择 SCALE• 需要 Docker 容器支持
• 需要更好的硬件兼容性
• 需要现代应用程序部署
• 重视可扩展性功能
• 偏好 Linux 环境

注意事项:

类别说明
性能考虑• CORE 在基础文件操作上通常性能更好
• SCALE 在运行容器化应用时更有优势
使用建议• 新手用户且主要用于文件存储,建议使用 CORE
• 需要运行多个应用和容器,建议使用 SCALE
• 数据重要性高的环境建议使用更稳定的 CORE 版本

ZFS

ZFS(Z文件系统)是一个先进的文件系统。

  1. 核心特性:

类别特点
数据完整性• 使用校验和验证所有数据和元数据
• 自动检测和修复数据损坏
• 防止静默数据损坏
存储池管理• 动态存储池管理
• 灵活的存储空间分配
• 支持动态扩展存储容量
快照和克隆• 即时快照功能
• 增量备份支持
• 高效的数据复制
  1. 高级功能:

类别特点
数据压缩• 实时数据压缩
• 多种压缩算法选择
• 节省存储空间同时可能提升性能
数据重复删除• 自动检测重复数据
• 节省存储空间
• 适用于虚拟机环境
RAID-Z• 提供类似RAID 5/6的保护
• 更好的数据保护
• 避免"写入空洞"问题
  1. 最佳实践:

类别建议
系统配置• 建议使用 ECC 内存
• 合理配置 ARC(自适应替换缓存)
• 定期进行数据清理(scrub)
存储池设计• 根据需求选择合适的 RAID 级别
• 考虑未来扩展需求
• 合理规划存储池大小
维护建议• 定期监控存储池状态
• 保持足够的可用空间(建议20%以上)
• 定期备份重要数据
使用场景• NAS 存储系统
• 虚拟化环境
• 大规模数据存储
• 需要高数据完整性的环境

4.性能优化:

类别内容
缓存管理• L2ARC(二级自适应替换缓存)
• ZIL(ZFS意图日志)
• 合理配置缓存大小
调优参数• recordsize(记录大小)
• atime(访问时间)
• compression(压缩级别)

L2ARC(二级自适应替换缓存)

特性描述
定义L2ARC是ZFS的二级缓存层,用于扩展ARC(自适应替换缓存)的容量
工作原理• 将内存中的ARC数据存储到快速存储设备(如SSD)中
• 作为主内存ARC缓存的扩展
• 通过将热数据保存在更快的存储介质上来提高读取性能
使用场景• 频繁读取的大型数据集
• 内存容量受限的系统
• 需要提升读取性能的环境

ZIL(ZFS意图日志)

特性描述
定义ZIL是ZFS的意图日志系统,用于确保写入操作的一致性和可靠性
工作原理• 在写入文件时同步记录日志
• 在系统崩溃时用于恢复未完成的写入操作
• 可以使用单独的快速设备(SLOG)来提升性能
使用场景• 需要同步写入保证的应用
• 数据库等关键业务系统
• 需要高可靠性的存储环境

两者的关系和区别

方面L2ARCZIL
主要功能提升读取性能保证写入可靠性
缓存类型读缓存写缓存(日志)
持久性重启后需要重建持久保存
性能影响提升读取速度提升写入可靠性和性能 [1]

优化建议

组件建议
L2ARC• 使用高性能SSD作为缓存设备
• 根据实际读取模式调整大小
• 注意内存映射表的开销
ZIL/SLOG• 使用持久性好的企业级SSD
• 考虑使用独立的SLOG设备
• 根据写入负载选择合适容量

注意事项

  1. L2ARC注意事项:

    • 需要消耗一定的内存来维护映射表
    • 重启后需要重新预热
    • 不是所有场景都需要L2ARC
  2. ZIL注意事项:

    • SLOG设备故障可能影响写入性能
    • 需要考虑写入模式是否需要同步
    • 设备性能直接影响同步写入速度

5.注意事项:

类别内容
资源要求• 内存使用较大
• 建议使用 ECC 内存
• CPU 负载可能较高(特别是启用压缩和去重时)
限制• 不支持在线缩减存储池
• 某些功能可能增加系统负载
• 学习曲线相对较陡

ECC内存概述

类别描述
定义ECC(Error Checking and Correcting)是一种错误检查和纠正技术,能够检测并纠正常见的内存数据损坏情况
工作原理• 包含附加内存位和内存控制器
• 使用控制器监控附加芯片中的校验位
• 能够实时检测和纠正内存错误

错误产生原因

原因说明
电磁干扰• 来自电脑内部的电磁干扰
• 可能导致DRAM单元状态改变
• 受海拔高度影响(海拔越高,干扰越大)
影响范围• 可能出现隐性错误
• 单个错误可能影响整个系统
• 在需要精确运算的系统中影响更大

应用场景

场景说明
适用环境• 服务器环境
• 需要长时间运行的系统
• 数据完整性要求高的场合
特殊应用• 企业级服务器
• 科学计算
• 金融交易系统

优缺点分析

类别描述
优点• 提高系统可靠性
• 减少系统崩溃风险
• 保护数据完整性
• 适合长期运行环境
缺点• 成本较高
• 性能略低于非ECC内存
• 需要主板和CPU支持

使用建议

场景建议
企业服务器• 强烈建议使用ECC内存
• 可以提供更好的数据保护
• 降低系统崩溃风险
个人用户• 根据具体需求选择
• 普通家用可以选择非ECC内存
• 专业工作站建议使用ECC内存

BSD(Berkeley Software Distribution)操作系统

  1. 主要 BSD 变体:

变体特点
FreeBSD• 注重性能和稳定性
• 广泛用于服务器环境
• 拥有最大的用户群体
• 优秀的包管理系统(ports)
OpenBSD• 以安全性著称
• 默认安装最安全
• 代码审计严格
• 适合防火墙和安全设备
NetBSD• 强调可移植性
• 支持多种硬件平台
• 适合嵌入式系统
• 代码质量高
DragonFlyBSD• 专注于多处理器支持
• 创新的文件系统(HAMMER)
• 优化的内存管理
• 适合高性能计算
  1. BSD 系统特点:

类别特点
基础系统• 完整的基础系统
• 内核和用户空间紧密集成
• 统一的开发模型
• 文档完善
许可证• BSD 许可证更宽松
• 允许商业使用
• 代码可以闭源
• 更灵活的使用方式
安全特性• 内置安全功能
• 严格的代码审查
• 快速的安全更新
• 完善的审计系统
  1. 与 Linux 的主要区别:

类别特点
系统架构• BSD 是完整的操作系统
• 内核和基础系统统一开发
• 更一致的系统体验
• 更好的版本控制
开发模式• 集中式开发
• 严格的代码审查
• 更保守的更新策略
• 更注重稳定性
  1. 适用场景:

类别应用
服务器环境• Web 服务器
• 文件服务器
• 防火墙
• 路由器
特殊应用• 嵌入式系统
• 网络设备
• 安全设备
• 存储系统
  1. 技术优势:

类别特点
文件系统• ZFS 支持(FreeBSD)
• UFS2 文件系统
• 软件 RAID 支持
• 快照功能
网络功能• 强大的网络栈
• 防火墙功能
• 虚拟化支持
• 容器技术
  1. 注意事项:

类别建议
使用建议• 建议先熟悉文档
• 了解系统特性
• 选择合适的变体
• 定期更新系统
硬件支持• 相比 Linux 硬件支持较少
• 需要检查硬件兼容性
• 驱动更新可能较慢
• 建议使用兼容硬件

JBOD(Just a Bunch Of Disks,简单磁盘组)存储技术

  1. 基本概念

    类别内容
    定义• JBOD 是最简单的磁盘管理方式
    • 将多个物理磁盘组合在一起
    • 每个磁盘独立工作
    • 可以单独访问每个磁盘
    工作原理• 不进行数据条带化
    • 不提供数据冗余
    • 磁盘空间简单叠加
    • 直接访问物理设备
  2. 主要优势:

类别内容
简单性• 配置简单直接
• 无需复杂设置
• 易于管理
• 灵活性高
成本效益• 硬件要求低
• 充分利用磁盘容量
• 无需特殊控制器
• 维护成本低
灵活性• 可使用不同容量磁盘
• 易于添加新磁盘
• 独立管理每个磁盘
• 支持热插拔
  1. 局限性:

类别内容
可靠性• 无数据冗余保护
• 单盘故障导致数据丢失
• 无自动恢复机制
• 需要独立备份策略
性能• 无性能优化
• 不支持负载均衡
• 访问速度受限于单盘
• 无并行读写优势
  1. 适用场景:

类别内容
最适合• 大容量存储需求
• 非关键数据存储
• 备份存储系统
• 成本敏感环境
不建议用于• 关键业务数据
• 高可用性要求
• 高性能需求
• 实时业务系统
  1. 与 RAID 对比:

类别内容
主要区别• JBOD 无数据保护
• RAID 提供数据冗余
• JBOD 配置更简单
• RAID 性能更好
选择建议• 根据数据重要性
• 考虑性能需求
• 评估预算限制
• 权衡维护成本
  1. 实施建议:

类别内容
规划• 评估存储需求
• 选择合适硬件
• 考虑未来扩展
• 制定备份策略
管理• 定期检查磁盘状态
• 保持适当备份
• 监控磁盘健康
• 及时更换故障磁盘

MinIO 对象存储系统

  1. 核心特性:

类别特性
基本功能• S3 兼容的对象存储
• 高性能分布式架构
• 支持多种部署模式
• 内置纠删码保护
性能优势• 高吞吐量设计
• 低延迟访问
• 支持并行操作
• 优化的IO性能
  1. 部署模式:

单节点部署:

version: '3.7'
services:minio:image: minio/minio:latestports:- "9000:9000"- "9001:9001"volumes:- minio_storage:/dataenvironment:MINIO_ROOT_USER: minioadminMINIO_ROOT_PASSWORD: minioadmincommand: server /data --console-address ":9001"

分布式部署:

  • 支持多节点部署
  • 自动数据复制
  • 负载均衡
  • 高可用性保证
  1. 主要应用场景:

应用场景功能特性
AI和机器学习• 模型存储
• 训练数据管理
• 快速数据检索
• 高吞吐量支持
数据湖构建• 统一数据存储
• 多引擎支持
• 元数据管理
• 数据分析集成
  1. 系统要求:

配置类型要求说明
硬件推荐• 本地连接存储
• NVMe或SSD优先
• 足够的内存容量
• 高速网络连接 [2]
软件依赖• 支持主流操作系统
• 容器化部署支持
• Kubernetes集成
• 云平台兼容
  1. 最佳实践:

配置类型具体措施
安全配置• 启用TLS加密
• 实施访问控制
• 定期备份数据
• 监控系统状态
性能优化• 使用本地存储
• 合理配置纠删码
• 优化网络设置
• 调整系统参数
  1. Kubernetes部署示例:

apiVersion: apps/v1
kind: Deployment
metadata:name: minio
spec:selector:matchLabels:app: miniotemplate:metadata:labels:app: miniospec:containers:- name: minioimage: minio/minio:latestargs:- server- /storageenv:- name: MINIO_ROOT_USERvalue: "admin"- name: MINIO_ROOT_PASSWORDvalue: "password"ports:- containerPort: 9000volumeMounts:- name: storagemountPath: "/storage"
  1. 管理工具:

MinIO Client (mc):

# 配置访问别名
mc alias set myminio http://localhost:9000 minioadmin minioadmin
# 创建桶
mc mb myminio/mybucket
# 上传文件
mc cp myfile.txt myminio/mybucket/
  1. 监控和维护:

运维类型具体工作
关键指标• 系统性能监控
• 存储容量跟踪
• 访问日志分析
• 错误率监控
维护任务• 定期健康检查
• 系统更新
• 容量规划
• 性能优化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465558.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装acondana3, Conda command not found

Linux 服务器安装acondana3后 输入conda找不到 写入路径也没找到 vim ~/.bashrc 加入 PATH"root/anaconda3/bin:$PATH" 更新文件: source ~/.bashrc 还是找不到conda 命令 解决办法 source ~/anaconda3/etc/profile.d/conda.sh conda activate Your_e…

第07章 运算符的使用

一、算数运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 ()、减(-)、乘(*)、除(/)和取模(%&a…

6堆(超级重点)

堆(Heap)的核心概述 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个 JVM,但是进程包含多个线程,他们是共享同一堆空间的。 6.1.1. 堆内存细分 Java 7 及之前堆内存逻辑上分为三部分:新生区养老…

Google Guava 发布订阅模式/生产消费者模式 使用详情

目录 Guava 介绍 应用场景举例 1. 引入 Maven 依赖 2. 自定义 Event 事件类 3. 定义 EventListener 事件订阅者 4. 定义 EventBus 事件总线 5. 定义 Controller 进行测试 Guava 介绍 Guava 是一组来自 Google 的核心 Java 库,里面包括新的集合 类型&#xff08…

全面解析:网络协议及其应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 # 全面解析:网络协议及其应用 文章目录 网络协议概述定义发展历程主要优势 主要网络协议应用层协议传输层协议网络层…

如何使用SSH密钥和公钥加密技术保护您的cPanel服务器

在服务器管理过程中,cPanel和WHM是我们常用的管理工具。然而,有时我们仍然需要直接登录到服务器的Shell环境,以便执行脚本或修改配置文件。使用SSH是最安全的远程登录方式。SSH是一种安全协议,它能够加密你向服务器发送的命令以及…

【前端】JSX 中的 Fragments 详解

在 React 和 JSX 中,Fragments 是一个非常有用的概念,用于在不引入额外 DOM 节点的情况下返回多个元素。Fragments 可以帮助你保持 DOM 结构的整洁,避免不必要的嵌套层级。本文将详细介绍 Fragments 的概念、用法以及其在实际开发中的应用场景…

mac单独打开QT帮助文档助手

mac单独打开QT帮助文档助手 1.概述 windows和mac查看QT帮助文档的路径不同,下面给出两个系统的查找路径。 Windows 下: C:\Qt\Qt5.9.9\5.9.9\mingw49_32\bin\assistant.exeMac 下: /Users/apple/Qt5.9.9/5.9.9/clang_64/bin/Assistant2.使…

SSLHandshakeException错误解决方案

1、错误提示 调用Http工具报如下异常信息: cn.hutool.core.io.IORuntimeException: SSLHandshakeException: Received fatal alert: handshake_failure2、查询问题 一开始我以为是代码bug,网络bug甚至是配置环境未生效,找了一大圈&#xf…

海量数据迁移:Elasticsearch到OpenSearch的无缝迁移策略与实践

文章目录 一.迁移背景二.迁移分析三.方案制定3.1 使用工具迁移3.2 脚本迁移 四.方案建议 一.迁移背景 目前有两个es集群,版本为5.2.2和7.16.0,总数据量为700T。迁移过程需要不停服务迁移&#…

【IEEE出版】第六届国际科技创新学术交流大会暨信息技术与计算机应用学术会议(ITCA 2024,12月06-08)

第六届国际科技创新学术交流大会暨信息技术与计算机应用学术会议(ITCA 2024) 2024 6th International Conference on Information Technology and Computer Application 会议官网:itca2024.iaecst.org 会议时间:2024年12月06-08日 截稿时…

Charles抓包_Android

1.下载地址 2.破解方法 3.安卓调试办法 查看官方文档,Android N之后抓包要声明App可用User目录下的CA证书 3.1.在Proxy下进行以下设置(路径Proxy->Proxy Settings) 3.1.1.不抓包Windows,即不勾选此项,免得打输出不…

研究大语言模型在心理保健智能顾问的有效性和挑战

概述 心理保健是现代社会一个日益严重的问题。例如,在日本,自杀是 10-39 岁人群的首要死因。此外,根据世界卫生组织(WHO)的数据,自杀是全球年轻人的首要死因。在此背景下,通过短信应用程序提供…

海外媒体发稿:国外媒体通稿PR发布-提升品牌影响力的绝佳选择

大舍传媒 在当今全球化的商业环境中,海外媒体发稿已经成为企业拓展国际市场、提升品牌知名度的重要手段。特别是在沙特这样的中东地区,通过在当地知名的汽车垂直媒体上发布新闻通稿PR,能够为您的品牌带来前所未有的曝光和机遇。 今天&#…

ctfshow(162)--文件上传漏洞--远程文件包含

Web162 进入界面: 思路 先传个文件测试一下过滤: 过滤了特别多符号,注意过滤了点. 我们的思路还是要先上传.user.ini文件: //修改前 GIF89a auto_prepend_fileshell.png//由于过滤了点,所以修改为 GIF89a auto_prepend_file…

学习threejs,导入COLLADA(.DAE)格式的模型

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.ColladaLoader DAE模…

HTB:PermX[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many TCP ports are listening on PermX? 使用nmap对靶机TCP端口进行开放扫描 2.What is the default domain name used by the web server on the box? 使用curl访问靶机80端口 3.On what subdomain of permx.htb is there an o…

Imperva 数据库与安全解决方案

Imperva是网络安全解决方案的专业提供商,能够在云端和本地对业务关键数据和应用程序提供保护。公司成立于 2002 年,拥有稳定的发展和成功历史并于 2014 年实现产值1.64亿美元,公司的3700多位客户及300个合作伙伴分布于全球各地的90多个国家。…

python验证码滑块图像识别

文章目录 1、案例图片1、需求说明2、代码实现总结 1、案例图片 1、需求说明 python 3.10,写一个滑块验证码的自动化程序。需要一个opencv的函数,能准确的计算,在这同一张图片上,滑块形状和缺口形状的坐标位置及两个形状之间在X轴上的距离。请…

「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表

List 和 Grid 是鸿蒙开发中的核心组件,用于展示动态数据。List 适合展示垂直或水平排列的数据列表,而 Grid 则适用于展示商品或图片的网格布局。本篇将展示如何封装组件,并通过按钮实现布局切换,提升界面的灵活性和用户体验。 关键…