1. 简介:

据说zfs有去除重复数据的功能,无良人士继续要求吧samba共享盘使用的centos7上自带的xfs改成zfs,并且开启去重功能。samba配置见

http://www.cnblogs.com/demonzk/p/6518675.html

2. 环境:

OS:RHEL 7.3

kernel:

zfs:http://download.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm

一些有用的文档:

官方网站:http://zfsonlinux.org/

RHEL & CentOS:https://github.com/zfsonlinux/zfs/wiki/RHEL-%26-CentOS

http://docs.huihoo.com/solaris/11.1/simplified-chinese/html/E36658/gayne.html#scrolltoc

3. 下载与安装:

由于zfs并不在安装盘或者epel中携带,需要去zfs的网站上下载yum源并且安装,并且配置好epel源。

yum源:yum localinstall --nogpgcheck http://download.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm

yum安装:yum install -y zfs

Dependencies Resolved

===============================================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================================
Installing:
zfs x86_64 0.6.5.9-1.el7_3.centos zfs 336 k
Installing for dependencies:
cpp x86_64 4.8.5-11.el7 ftp 5.9 M
dkms noarch 2.3-1.20161202gitde1dca9.el7 epel 78 k
gcc x86_64 4.8.5-11.el7 ftp 16 M
glibc-devel x86_64 2.17-157.el7 ftp 1.1 M
glibc-headers x86_64 2.17-157.el7 ftp 668 k
kernel-devel x86_64 3.10.0-514.el7 ftp 13 M
kernel-headers x86_64 3.10.0-514.el7 ftp 4.8 M
libmpc x86_64 1.0.1-3.el7 ftp 51 k
libnvpair1 x86_64 0.6.5.9-1.el7_3.centos zfs 38 k
libuutil1 x86_64 0.6.5.9-1.el7_3.centos zfs 43 k
libzfs2 x86_64 0.6.5.9-1.el7_3.centos zfs 125 k
libzpool2 x86_64 0.6.5.9-1.el7_3.centos zfs 425 k
mpfr x86_64 3.1.1-4.el7 ftp 203 k
perl x86_64 4:5.16.3-291.el7 ftp 8.0 M
perl-Carp noarch 1.26-244.el7 ftp 19 k
perl-Encode x86_64 2.51-7.el7 ftp 1.5 M
perl-Exporter noarch 5.68-3.el7 ftp 28 k
perl-File-Path noarch 2.09-2.el7 ftp 27 k
perl-File-Temp noarch 0.23.01-3.el7 ftp 56 k
perl-Filter x86_64 1.49-3.el7 ftp 76 k
perl-Getopt-Long noarch 2.40-2.el7 ftp 56 k
perl-HTTP-Tiny noarch 0.033-3.el7 ftp 38 k
perl-PathTools x86_64 3.40-5.el7 ftp 83 k
perl-Pod-Escapes noarch 1:1.04-291.el7 ftp 51 k
perl-Pod-Perldoc noarch 3.20-4.el7 ftp 87 k
perl-Pod-Simple noarch 1:3.28-4.el7 ftp 216 k
perl-Pod-Usage noarch 1.63-3.el7 ftp 27 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 ftp 36 k
perl-Socket x86_64 2.010-4.el7 ftp 49 k
perl-Storable x86_64 2.45-3.el7 ftp 77 k
perl-Text-ParseWords noarch 3.29-4.el7 ftp 14 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 ftp 45 k
perl-Time-Local noarch 1.2300-2.el7 ftp 24 k
perl-constant noarch 1.27-2.el7 ftp 19 k
perl-libs x86_64 4:5.16.3-291.el7 ftp 688 k
perl-macros x86_64 4:5.16.3-291.el7 ftp 43 k
perl-parent noarch 1:0.225-244.el7 ftp 12 k
perl-podlators noarch 2.5.1-3.el7 ftp 112 k
perl-threads x86_64 1.87-4.el7 ftp 49 k
perl-threads-shared x86_64 1.43-6.el7 ftp 39 k
spl x86_64 0.6.5.9-1.el7_3.centos zfs 29 k
spl-dkms noarch 0.6.5.9-1.el7_3.centos zfs 444 k
zfs-dkms noarch 0.6.5.9-1.el7_3.centos zfs 1.9 M Transaction Summary
===============================================================================================================================================================================================
Install 1 Package (+43 Dependent packages)

  

注意:一定要出现内核编译的提示才说明zfs的模块被正确编译进了内核,否则一定检查内核,我在第一次安装的时候由于是别人用过的机器,内核在装docker的时候被修改过,导致无法正确吧zfs编译进内核

Building for 3.10.0-514.el7.x86_64
Building initial module for 3.10.0-514.el7.x86_64
Done. spl:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ splat.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/
Adding any weak-modules depmod... DKMS: install completed.
Installing : spl-0.6.5.9-1.el7_3.centos.x86_64 42/44
Installing : zfs-dkms-0.6.5.9-1.el7_3.centos.noarch 43/44
Loading new zfs-0.6.5.9 DKMS files...
Building for 3.10.0-514.el7.x86_64
Building initial module for 3.10.0-514.el7.x86_64
Done. zavl:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ znvpair.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ zunicode.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ zcommon.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ zfs.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/ zpios.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.10.0-514.el7.x86_64/extra/
Adding any weak-modules depmod...

  

4. 配置

#加载模块
modprobe zfs
#创建资源池,资源池可以直接当做文件系统使用
zpool create -f zfspool sdb sdc
#打开数据去除重复功能
zfs set dedup=on zfspool
#打开压缩功能
zfs set compression=on zfspool
#最后记得修改文件夹的权限
chown :fred /zfspool
chmod g+w /zfspool

  

【Linux】【Services】【Disks】zfs的更多相关文章

  1. 【linux之挂载,Raid,LVM】

    一.挂载,卸载 挂载:将新的文件系统关联至当前根文件系统卸载:将某文件系统与当前根文件系统的关联关系移除 cat /etc/mtab 存储着已经挂载的文件系统 (跟 mount 一样) mount:显 ...

  2. 【Linux&Unix--open/close/write/read系统调用】

    个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 系列博文:      Linux&Unix学习第一弹 -- 文件描写叙述符与权限  Linux&Unix学习 ...

  3. 【linux之设备,分区,文件系统】

    一.设备 IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推), y代表分区的号码(由1开始,..3以此类推) ...

  4. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

  5. 【Linux磁盘优化管理--RAID和LVM】

    在现阶段的企业环境中,为了数据的安全性及完整性必须要有一个合理的存储方案.面对着每秒可能产生超过几TB的数据,考虑到磁盘能不能实现 热冗余,及扩容,缩容.Linux给出了RAID(磁盘阵列)以及LVM ...

  6. 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)

    原文:http://blog.csdn.net/wenqian1991/article/details/46700177 通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关 ...

  7. 【linux之链接,函数,随机数】

    一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...

  8. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

  9. 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆

    深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...

  10. 【Linux下安装使用virtualenv与virtualenvwrapper】

    virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的 ...

随机推荐

  1. PAT甲级1074 Reversing Linked List (25分)

    [程序思路] 先根据地址按顺序读入节点,入栈,当栈里的元素个数等于k时全部出栈,并按出栈顺序保存,最后若栈不为空,则全部出栈并按出栈的稀饭顺序保存,最后输出各节点 注意:输入的节点中有可能存在无用节点 ...

  2. VIM处理工具与正则表达式

    *本文中/data目录为训练目录 1.在vim中设置TAB缩进为四个字符 打开vim 输入:set tabstop=4 2.复制/etc/rc.d/init.d/functions文件至/tmp/,替 ...

  3. Mac卸载go

    1.删除go目录 一般目录是 /usr/local/go sudo rm -rf /usr/local/go 2.清除环境变量配置 3. mac安装go后自动创建的问题也需要删除 sudo rm -r ...

  4. 开发中常见的@NotNull,@NotBlank,@NotEmpty注解的区别

    开发中常看见@NotNull,@NotBlank,@NotEmpty三个注解,但却没有深入了解过,下面介绍一下他们的应用场景和区别 @NotNull:主要用在基本数据类型上(Int,Integer,D ...

  5. java 模版式的 word

    ... package com.kingzheng.projects.word; import java.io.BufferedWriter; import java.io.File; import ...

  6. 一个Java发送邮件的案例

    经常有些要发送邮件的需求,但是去网上拷代码老是拷不到能直接运行的,还经常要去以前的项目里面拷,今天直接发出来算了,免得每次都要去别的项目拷. (只支持发送简单的文本文件,发附件的稍微复杂一丢丢,这里就 ...

  7. DirectX12 3D 游戏开发与实战第八章内容(下)

    DirectX12 3D 游戏开发与实战第八章内容(下) 8.9.材质的实现 下面是材质结构体的部分代码: // 简单的结构体来表示我们所演示的材料 struct Material { // 材质唯一 ...

  8. 【GS模型】使用R包sommer进行基因组选择的GBLUP和RRBLUP分析?

    目录 简介 GS示例代码 简介 R包sommer内置了C++,运算速度还是比较快的,功能也很丰富,可求解各种复杂模型.语法相比于lme4包也要好懂一些. 建议查看文档:vignette("v ...

  9. 【R】调整ggplot图例大小

    图例太多时,会挤压正图,显得正图展示区域很小,这时有必要缩小图例. ################# # 减小ggplot图例 ################# library(ggplot2) ...

  10. dlang ref的作用

    ref 作用 1 import std.stdio, std.string; 2 3 void main() 4 { 5 string[] color=["red","b ...