【Linux】【Services】【Disks】zfs
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的更多相关文章
- 【linux之挂载,Raid,LVM】
一.挂载,卸载 挂载:将新的文件系统关联至当前根文件系统卸载:将某文件系统与当前根文件系统的关联关系移除 cat /etc/mtab 存储着已经挂载的文件系统 (跟 mount 一样) mount:显 ...
- 【Linux&Unix--open/close/write/read系统调用】
个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 系列博文: Linux&Unix学习第一弹 -- 文件描写叙述符与权限 Linux&Unix学习 ...
- 【linux之设备,分区,文件系统】
一.设备 IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推), y代表分区的号码(由1开始,..3以此类推) ...
- 【linux之进程管理,系统监控】
一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...
- 【Linux磁盘优化管理--RAID和LVM】
在现阶段的企业环境中,为了数据的安全性及完整性必须要有一个合理的存储方案.面对着每秒可能产生超过几TB的数据,考虑到磁盘能不能实现 热冗余,及扩容,缩容.Linux给出了RAID(磁盘阵列)以及LVM ...
- 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)
原文:http://blog.csdn.net/wenqian1991/article/details/46700177 通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关 ...
- 【linux之链接,函数,随机数】
一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...
- 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群
额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...
- 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆
深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...
- 【Linux下安装使用virtualenv与virtualenvwrapper】
virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的 ...
随机推荐
- logstash写入kakfa数据丢失的问题
metricbeat采集系统指标,发送到logstash,再写入kafka,发现kafka中的数据不完整,只有某一个指标, 查找原因发现是logstash配置编码问题,如下: input { beat ...
- [ARC117E]Zero-Sum Ranges 2
令$sum_{i}=\sum_{j=1}^{i}a_{j}$,即要求其满足: 1.$sum_{0}=sum_{2n}=0$且$\forall 1\le i\le 2n,|sum_{i}-sum_{i- ...
- Spring MVC应用
Spring MVC简介 1.1 经典三层结构 在JavaEE开发中,几乎全部都是基于B/S架构的开发.那么在B/S架构中,系统标准的三层架构包括:表现层.业务层.持久层.三层架构在我们的实际开发中使 ...
- electron另一种运行方式
编写helloword 全局安装软件 npm install -g electron 快速编写html html:5 完整代码和流程: 1.index.html <!DOCTYPE htm ...
- jmeter链接数据库,信息全部填写正确,运行之后没有结果
之前遇到一个很苦恼的问题,jmeter链接数据库,数据库填写的资料全部都没有问题,在其他电脑jmeter上都可以正常链接,但是在我的电脑上运行却总是不出结果, 用mysql链接数据库也一切正常,一直找 ...
- 面试官:Java 线程如何启动的?
摘要:Java 的线程创建和启动非常简单,但如果问一个线程是怎么启动起来的往往并不清楚,甚至不知道为什么启动时是调用start(),而不是调用run()方法呢? 本文分享自华为云社区<Threa ...
- Codeforces 643F - Bears and Juice(思维题)
Codeforces 题目传送门 & 洛谷题目传送门 首先直接暴力枚举显然是不现实的,我们不妨换个角度来处理这个问题,考虑这 \(R_i\) 个瓶子中每一瓶被哪些熊在哪一天喝过. 我们考虑对这 ...
- Codeforces 582D - Number of Binominal Coefficients(Kummer 定理+数位 dp)
Codeforces 题目传送门 & 洛谷题目传送门 一道数论与数位 dp 结合的神题 %%% 首先在做这道题之前你需要知道一个定理:对于质数 \(p\) 及 \(n,k\),最大的满足 \( ...
- python15正则表达式
------------恢复内容开始------------ python实现实现实现实现 import re #将表达式编译,返回一个对象, pattern = re.compile(r" ...
- Oracle-with c as (select ......) 实现多次调用子查询结果
with c as (select a.trandt,sum(a.tranam) tranam from tran a group by a.trandt ) #将子查询抽取出来,以后可以直接重 ...