修改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. Entity Framework底层操作封装V2版本号(2)

    这个类是真正的数据库操作类.上面的那个类仅仅是调用了这个封装类的方法进行的操作 using System; using System.Collections.Generic; using System ...

  2. ctags高级用法

    1.ctags -R 有个问题,成员变量没有包含在里面.所以自动完成对象的成员时没有提示.解决办法:$ctags -R --fields=+iaS --extra=+q *–fields=[+|-]f ...

  3. wifi免密码登录认证流程

    您查询的关键词是:weixin:,qrgex_zm- 以下是该网页在北京时间 2016年03月27日 02:46:42 的快照: 如果打开速度慢,可以尝试快速版:如果想保存快照,可以添加到搜藏:如果想 ...

  4. jMiniLang设计思路

    前言 项目地址:https://github.com/bajdcc/jMiniLang 演示视频:https://www.bilibili.com/video/av13294962 jMiniLang ...

  5. Mac环境配置好ant后提示Permission denied

    1.ant环境变量配置如下 打开终端,输入vi ~/.bash_profile export ANT_HOME=/Users/administrator/Documents/software/apac ...

  6. Qt 中彩色图像转换为灰度图

    近期在做几个图像处理相关的项目.里面有一个操作就是须要先将彩色图像转换为灰度图像. QImage 有一个convertToFormat方法.最開始一直用这个函数来实现. 可是今天细致看了看,发现这个函 ...

  7. git学习(一):git的版本库在哪儿

    查看版本 git --version # 查看git的版本 设置或者查看用户名和邮箱 git config --global user.name "tuhooo" // 如果后面没 ...

  8. qt中的菜单QMenu QAction

    Qt中要建立菜单,有三个类很重要: QMenuBar(QWidget * parent = 0) QMenu(QWidget * parent = 0) QMenu(const QString &am ...

  9. fmpeg

  10. Linux环境PHP7.0.2安装

    PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂 ...