在Linux上使用原生ZFS文件系统

来源:互联网 发布:win10网络共享中心 编辑:程序博客网 时间:2024/05/18 01:41

转【http://blog.csdn.net/opendba/archive/2010/11/09/5998500.aspx】

到网站:https://github.com/behlendorf/zfs下载ZFS包,我下载的为zfs-0.5.1.tar.gz

由于zfs需要包spl包,还需要下载spl包:https://github.com/behlendorf/spl,我下载spl-0.5.1.tar.gz

root@osdba-laptop:/usr/src# wget http://github.com/downloads/behlendorf/spl/spl-0.5.1.tar.gz

--2010-11-09 20:58:54--  http://github.com/downloads/behlendorf/spl/spl-0.5.1.tar.gz

正在解析主机 github.com... 207.97.227.239

正在连接 github.com|207.97.227.239|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 301 Moved Permanently

位置:https://github.com/downloads/behlendorf/spl/spl-0.5.1.tar.gz [跟随至新的 URL]

--2010-11-09 20:58:55--  https://github.com/downloads/behlendorf/spl/spl-0.5.1.tar.gz

正在连接 github.com|207.97.227.239|:443... 已连接。

错误: 证书通用名 “*.github.com” 与所要求的主机名 “github.com” 不符。

要以不安全的方式连接至 github.com,使用‘--no-check-certificate’。

wget 时报错,说是需要加“--no-check-certificate”:

wget --no-check-certificate http://github.com/downloads/behlendorf/spl/spl-0.5.1.tar.gz

下载到/usr/src 目录下,解压,进入目录,运行./configure,然后make、make install就完成了spl的安装。

按文章《在 Linux 上编译和安装 ZFS 文件系统》测试一下spl是否正常:

root@osdba-laptop:/usr/src/spl-0.5.1# /sbin/modprobe splat

root@osdba-laptop:/usr/src/spl-0.5.1# splat -t kmem:all

------------------------------ Running SPLAT Tests ------------------------------

                kmem:kmem_alloc           Pass 

                kmem:kmem_zalloc          Pass 

                kmem:vmem_alloc           Pass 

                kmem:vmem_zalloc          Pass 

                kmem:slab_small           Pass 

                kmem:slab_large           Pass 

                kmem:slab_align           Pass 

                kmem:slab_reap            Pass 

                kmem:slab_age             Pass 

                kmem:slab_lock            Pass 

                kmem:slab_overcommit      Pass 

                kmem:vmem_size            Pass

OK,没有问题。

然后把ZFS解压到/usr/src/下

这时进行./configure时报如下一个错误:

configure: error: in `/usr/src/zfs-0.5.1':

configure: error:

*** uuid/uuid.h missing, libuuid-devel package required

See `config.log' for more details.

说是需要安装libuuid-devel的包,没有找到libuuid-devel的包,找到一个uuid-dev的包,估计差不多,安装:

root@osdba-laptop:/usr/src/zfs-0.5.1# aptitude install uuid-dev

正在读取软件包列表... 完成

正在分析软件包的依赖关系树      

正在读取状态信息... 完成      

正在读取扩展状态文件     

正在初始化软件包状态... 完成

下列“新”软件包将被安装。

  uuid-dev

0 个软件包被升级,新安装 1 个, 0 个将被删除, 同时 0 个将不升级。

需要获取 76.6kB 的存档。 解包后将要使用 193kB。

正在编辑扩展状态信息... 完成

读取:1 http://cn.archive.ubuntu.com/ubuntu/ lucid/main uuid-dev 2.17.2-0ubuntu1 [76.6kB]

已下载 76.6kB,耗时 0秒 (83.3kB/s)

选中了曾被取消选择的软件包 uuid-dev。

(正在读取数据库 ... 系统当前总共安装有 241612 个文件和目录。)

正在解压缩 uuid-dev (从 .../uuid-dev_2.17.2-0ubuntu1_amd64.deb) ...

正在处理用于 man-db 的触发器...

正在设置 uuid-dev (2.17.2-0ubuntu1) ...

正在读取软件包列表... 完成    

正在分析软件包的依赖关系树      

正在读取状态信息... 完成      

正在读取扩展状态文件     

正在初始化软件包状态... 完成

正在编辑扩展状态信息... 完成 

然后再./configure就通过了,然后,准备使用一下ZFS:

root@osdba-laptop:/usr/src/zfs-0.5.1# zpool status

zpool: error while loading shared libraries: libspl.so.0: cannot open shared object file: No such file or directory

说明找不到libspl.so.o,这个原因估是是没有把/usr/local/lib目前加到库的搜索路径中:

root@osdba-laptop:/usr/local/lib# export LD_LIBRARY_PATH=/usr/local/lib

root@osdba-laptop:/usr/local/lib# zpool status

Unable to open /dev/zfs: 没有那个文件或目录.

Verify the ZFS module stack is loaded by running '/sbin/modprobe zfs'.

root@osdba-laptop:/usr/local/lib#

需要加载zfs内核模块,加载:
root@osdba-laptop:/usr/local/lib# modprobe zfs
root@osdba-laptop:/usr/local/lib# zpool status
no pools available
root@osdba-laptop:/usr/local/lib#
这时执行命令就正常了。
由于笔记本上无空闲的硬盘,所以建6个100M的文件做测试:

root@osdba-laptop:/opt/zfs# dd if=/dev/zero of=c0d2 bs=1024k count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,0.193669 秒,541 MB/秒

root@osdba-laptop:/opt/zfs# dd if=/dev/zero of=c1d0 bs=1024k count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,0.217518 秒,482 MB/秒

root@osdba-laptop:/opt/zfs# dd if=/dev/zero of=c1d1 bs=1024k count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,0.33618 秒,312 MB/秒

root@osdba-laptop:/opt/zfs# dd if=/dev/zero of=c1d2 bs=1024k count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,0.202078 秒,519 MB/秒

root@osdba-laptop:/opt/zfs#

root@osdba-laptop:/opt/zfs# ls -l

总用量 614404

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c0d0

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c0d1

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c0d2

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c1d0

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c1d1

-rw-r--r-- 1 root root 104857600 2010-11-09 21:49 c1d2

root@osdba-laptop:/opt/zfs# zpool create mypool /opt/zfs/c0d0
root@osdba-laptop:/opt/zfs# zpool status
  pool: mypool
 state: ONLINE
 scan: none requested
config:
NAME             STATE     READ WRITE CKSUM
mypool           ONLINE       0     0     0
 /opt/zfs/c0d0  ONLINE       0     0     0
errors: No known data errors
root@osdba-laptop:/opt/zfs#
root@osdba-laptop:/opt/zfs# zpool attach mypool /opt/zfs/c0d0 /opt/zfs/c0d1
root@osdba-laptop:/opt/zfs# zpool status
  pool: mypool
 state: ONLINE
 scan: resilvered 94K in 0h0m with 0 errors on Tue Nov  9 21:52:23 2010
config:
NAME               STATE     READ WRITE CKSUM
mypool             ONLINE       0     0     0
 mirror-0         ONLINE       0     0     0
   /opt/zfs/c0d0  ONLINE       0     0     0
   /opt/zfs/c0d1  ONLINE       0     0     0
errors: No known data errors
oot@osdba-laptop:/opt/zfs# zfs create mypool/zfs01
root@osdba-laptop:/opt/zfs# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
mypool         347K  63.2M    19K  /mypool
mypool/zfs01    19K  63.2M    19K  /mypool/zfs01

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 狗发烧40℃怎么办 泰迪鼻子干燥怎么办 狗狗间歇性抽搐怎么办 鼻子干燥有点痛怎么办 泰迪狗鼻子烂了怎么办 小狗鼻子干脱皮怎么办 鼻子短怎么办除了手术 狗得了狗瘟怎么办 泰迪感染细小怎么办 痔疮术后肛门痒怎么办 肛门脓肿流血了怎么办 检查肛门拉屎了怎么办 怀孕期间肛门湿疹怎么办 头晕检查说没事怎么办 慢性咽喉炎引起的咳嗽怎么办 咽炎引起的咳嗽怎么办? 补牙换药后疼痛怎么办 深度伤口换药疼痛怎么办 孕妇肛门有蛲虫怎么办 孕妇上火拉血怎么办 孕期内检出血怎么办 顺产肛门脱肛了怎么办 怀孕痔疮老脱出怎么办 顺产后浑身酸疼怎么办 爬山后肌肉酸疼怎么办 手上打针胳膊疼怎么办 狗 打针后疼痛怎么办 流产后浑身酸疼怎么办 屋子里潮湿有味怎么办 墙潮湿发霉有味怎么办 当兵体检没有过怎么办 航空面试有纹身怎么办 儿童眼睛外斜视怎么办 大疆imu异常怎么办 新生儿血液回流不好怎么办 灌肠温度高了怎么办 炎症引起的咳嗽怎么办 90岁老人肠梗阻怎么办 84岁老人肠梗阻怎么办 婴儿开塞露后大便肚子疼怎么办 孕早期用开塞露肚子疼怎么办