修改SMB最小协议

  服务器最小协议由FreeNAS上的sysctl控制。 在System-> Tunables 下添加sysctl来使其永久化:Variable = freenas.services.smb.config.server_min_protocol Value = NT1 Type = Sysctl Comment =“您想要的任何内容” 注意:一旦更改此值,应该在服务器 - > SMB的UI中切换“开”/“关”按钮或重新生成smb4.conf文件

  sharing>windows(SMB)shares>添加目录后配置参数勾选Default Permissions并取消Use as home share

各种卷结构的创建要求

  • RAID Z:最少由3块硬盘组成,其中一块硬盘的空间用作奇偶校验,允许一块硬盘损坏,不丢失数据。
  • RAID Z2:最少由3块硬盘组成,其中两块硬盘的空间用作奇偶校验,允许两块硬盘同时损坏,不丢失数据。
  • RAID Z3:最少由5块硬盘组成,其中三块硬盘的空间用作奇偶校验,允许三块硬盘同时损坏,不丢失数据。
  • Mirror 镜像:最少由2块硬盘组成,两块硬盘互作镜像,任何一块硬盘损坏,不丢失数据。
  • Stripe 带条:最少由1块硬盘组成,该形式无冗余,因此任何硬盘损坏,该卷下的所有数据均会丢失,这种类型的卷唯一有点是读写速度最快。
  • Log(ZIL):用于写操作的高速缓存,通常用 SSD 固态硬盘来创建该设备。
  • Cache(L2ARC):用于读操作的高速缓存,通常用 SSD 固态硬盘来创建该设备。
  • Spare:备用设备,此处略过不谈。

数据集创建选项介绍

  1. Dataset Name:数据集名称,为数据集设置一个名称,该项必填,且不可使用中文,建议只使用英文字母;
  2. Compression Level:压缩级别,系统的默认采用 lz4 压缩算法,如果不做修改,新数据集将继承系统的默认值。本教程后面会对压缩方式做单独介绍;
  3. Share type:共享类型,创建数据集的目的是用于文件共享,如果该数据集用作 NFS 共享,则选择 UNIX,如果用作 CIFS 共享,则选择 Windows,如果用于 AFP 共享,则选择 Mac。
  4. Case Sensitivity:大小写敏感,即指定存储到该数据集中的文件名称是否区分大小写,默认为 sensitive 区分大小写,也可以选择 insensitive 不区分大小写或** mixed 混合**(智能识别)。
  5. Enable atime:记录文件访问时间,此选项用来控制是否实时更新文件被访问的时间,默认为 继承上级卷/数据集的设置,也可以设置为 On 启用,或 Off 禁用。设置为禁用可以避免访问文件时产生过多的日志流量,同时也有助于提高系统性能;
  6. Quota for this dataset:空间限额,默认值为 0 即不限制该数据集的存储容量;例如,输入 20GiB 代表该数据集有 20 GB 的可用存储空间。
  7. Quota for this dataset and all children:该数据集和其子数据集的空间限额,默认值为 0 即不限制该数据集的存储容量;例如,输入 20GiB 代表该数据集以及其子数据集共有 20 GB 的可用存储空间。
  8. Reserved space for this dataset:预留空间,在硬件容量允许的情况下,为此数据集预留指定的存储空间。默认值为 0 即不预留存储容量;例如,输入 20GiB 代表在硬盘容量允许的情况下,确保预留20 GB 的存储空间给该数据集。
  9. Reserved space for this dataset and all children:为该数据集和其子数据集预留的空间,默认值为 0 即不预留存储容量;例如,输入 20GiB 代表在硬盘容量允许的情况下,确保预留20 GB 的存储空间给该数据集和其子数据集。
  10. ZFS Deduplication:ZFS 重复数据删除,默认为集成上级卷/数据集设置,也可以设置为 On 启用,Verify 验证,Off 禁用。本教程后面会对 ZFS 重复数据删除做单独介绍;
  11. Record Size:记录大小,即指定扇区大小,默认情况下 ZFS 会根据存入的数据自动调整这个值,但如果存入的文件大小是固定的(例如数据库),则可以在此处指定一个固定的记录大小,从而获得更好的性能。可以通过查阅固态硬盘 4K 对齐方面的教程来对比理解记录大小的概念。

为数据集指定一个名称,再结合上述选项介绍进行调整以满足你的需求,点击 “Add Dataset” 添加数据集按钮,数据集就创建好了。

数据集支持嵌套,即可以在某个数据集中再次创建数据集,没有数量限制,可以根据需要自由创建。也可以在数据集中创建 Zvol 虚拟硬盘,用于 iSCSI 块级共享,本教程点到为止。与 iSCSI 相关的内容将在单独的篇幅中进行介绍。

压缩方式介绍

压缩可以节省更多的存储空间,但强度过大的压缩会对系统性能造成一定的影响,应该为数据集指定哪一种类型的压缩,需要在性能和存储空间之间做权衡。ZFS 提供的压缩算法对客户端和应用程序是透明的,即对数据压缩和解压均在 NAS 服务器端进行,用户存取数据时是察觉不到的。以下是可以选择的压缩算法:

  • lz4:这是自 FreeNAS 9.2.1 开始系统默认选用的压缩算法,它对系统性能影响小,向数据集中存取数据的速度几乎与不采用压缩时一样,推荐选用。
  • gzip:此压缩算法分为 9 个级别,数字越大,压缩效果越好,速度也最慢。fastest (level 1) 压缩率最低,速度最快。 maximum (level 9) 压缩率最高,速度最慢。系统给 Gzip 压缩算法的默认值为 level 6 即压缩率适中,速度也适中。
  • zle:快速但简单的算法,以消除 runs of zeroes。
  • lzjb:压缩能力很好,但相比 lz4 压缩算法,它的性能要差一些。

通常,不推荐禁用压缩,建议采用 lz4,用微乎其微的性能损失,换取更多的存储空间。

重复数据删除技术

Deduplication(重复数据删除)对存入数据集中的相同文件只保留一个副本,从而节约存储空间。 取决于存入数据集中重复数据的总量,重复数据删除技术可以通过减少数据的写入,从而有效节省存储空间。但是,这种技术非常耗费内存,通常 1TB 存储空间需要额外提供 5GB 的内存。相比之下,同样是为达到节省存储空间的目的,使用压缩,性价比要更高。

需要格外注意的是,一旦为数据集启用了重复数据删除功能,已存入的数据无法取消该技术的控制。向启用重复数据删除功能的数据集中存入越多的数据,就需要越多的内存,当内存空间不足以容纳 DDT 表时,系统会将 DDT 表存入硬盘,这样一来,系统性能将会一落千丈(大坑)。重复数据删除技术是性能的噩梦,内存的克星,请务必谨慎启用。

删除数据集

删除数据集的操作非常简单,点选要删除的数据集,在界面下方找到并点击 “Destroy Dataset” 销毁数据集按钮,然后点击弹出提示框中的 “Yes” 确定按钮即可。

freenas 11.2踩过的坑的更多相关文章

  1. 第八篇:web之前端踩的一些坑

    前端踩的一些坑   前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...

  2. CentOS7.2上用KVM安装虚拟机window10踩过的坑

    最近两个星期一直在琢磨kvm安装window10操作系统,并且通过桥接模式与外界通信,经历了九九八十一难,终于搞定.下面就记录以下我们在探索的过程中踩过的坑. 安装KVM 1. 系统要求:需要一台可以 ...

  3. Django 踩过的坑(一)

    平台:win10 工具:cmd python3 刚刚学习Django搭建环境,网站还木有发布,就直接来了个大麻烦. 一切按着<Django 学习笔记(二)>这篇文章来的,在最后cmd运行服 ...

  4. [问题解决]RedHat7更换CentOS7的yum源时踩过的坑

    更换yum源的流程 查看当前yum程序 $ rpm -qa|grep yum 这里推荐将其结果截屏或拷贝出来,以免后面报错修复. 删除原有yum源 $ rpm -aq | grep yum|xargs ...

  5. 那些移动端web踩过的坑

    原文链接:https://geniuspeng.github.io/2017/08/24/mobile-issues/ 扔了N久,还是捡回来了.好好弄一下吧.刚工作的时候挺忙的,后来不那么忙了,但是变 ...

  6. 创建优化的Go镜像文件以及踩过的坑

    在Docker上创建Go镜像文件并不困难,但建立的文件很大,接近1G,使用起来不太方便.Docker镜像的一个主要难题就是如何优化,创建小的镜像.我们可以用多级构建的方法来创建Docker镜像文件,它 ...

  7. 转载:appium踩过的坑

    原文地址:http://blog.csdn.net/wirelessqa/article/details/29188665 自己的操作:由于在window上安装appium时,报各种错误:所以选择在u ...

  8. apicloud地图、即时通讯、人脸识别登录、以及平时踩过得坑

    apicloud技术浅谈 导语 apicloud 的学习也有一段时间了,这是我个人的一些经验,和踩过的坑,希望对大家能有一些帮助. apicloud的知识准备 apicloud 是一个用原生的思想搭建 ...

  9. 项目中踩过的坑之-sessionStorage

    总想写点什么,却不知道从何写起,那就从项目中踩过的坑开始吧,希望能给可能碰到相同问题的小伙伴一点帮助. 项目情景: 有一个id,要求通过当前网页打开一个新页面(不是当前页面),并把id传给打开的新页面 ...

随机推荐

  1. 06、Windows 10 技术预览

    随着 Windows 10 发布的,未来 Windows 平台都是统一开发模型,可以只写一个 Appx 包,就可以同时部署到 Windows/ Windowsw Phone/ Tablet /xbox ...

  2. JS中声明全局变量

    JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量 ...

  3. java的map取值

    第一种方法根据键值的名字取值 import java.util.HashMap; import java.util.Map; /**   * @param args   */  public stat ...

  4. phpstrom直接运行和调试php

    最近想学服务器开发,但是没找到免费的虚拟主机,好在有一大把的php主机, 于是决定学php了,但并不准备学网页制作,只是把php作为服务器逻辑处理语言. 下载xampp,打开phpstrom的设置界面 ...

  5. yield return关键字怎么使用?

    在迭代器块中用于向枚举数对象提供值或发出迭代结束信号.它的形式为下列之一: 复制代码 yield return <expression>;yield break; 备注计算表达式并以枚举数 ...

  6. [gpio]Linux GPIO简单使用方式2-sysfs

    转自:http://blog.csdn.net/cjyusha/article/details/50418862 在Linux嵌入式设备开发中,对GPIO的操作是最常用的,在一般的情况下,一般都有对应 ...

  7. exchange邮箱系统增加验证码机制

    首先背景是exchange的邮箱系统没有后台源代码.因为这个原因,生成验证码的机制放在aspx的runat="sever"后台代码里面. 首先需要找到iis中logon.aspx文 ...

  8. C/C++中printf和C++中cout的输出格式

    一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型, ...

  9. iOS开发小技巧--键盘处理以及解决block造成循环引用的小技巧

  10. jQuery对象与javaScript对象的互换

    1. jQuery对象-->Dom对象 1) 通过 .[0] 的方式:       var $s = $(.class);  (jQuery对象)       var s = $s.[0];   ...