(1) 在两台机器上分别配置/etc/hosts
192.168.0.138 server
192.168.0.136 node01
(2) 配置无密码登录
(3) 机器角色分配
server作为metadata server
server和node01同时作为I/O server
server和node01同时作为client
2. 安装pvfs-2.8.2 (root用户在server和node01上分别编译安装)
(0)预备
创建
/opt/software/pvfs-2.8.2目录,作为安装目录
root根目录目录(放置pvfs-2.8.2.tar.gz)
(1) 解压
[root@server ~]# tar -xvf pvfs-2.8.2.tar.gz
(2) 编译安装
[root@server pvfs-2.8.2]# ./configure –prefix=/opt/software/pvfs-2.8.2
-with-kernel=/usr/src/kernels/2.6.32-431.5.1.el6.x86_64/
-with-mpi=/opt/software/mpich2-intel/
-enable-segv-backtrace

[root@server pvfs-2.8.2]# make
[root@server pvfs-2.8.2]# make install

3. 服务器端配置

(1)server作metadata server,server和node01作I/O节点
(2) 在 server 上生成配置文件

[root@server ~]# /opt/software/pvfs-2.8.2/bin/pvfs2-genconfig /etc/pvfs2-fs.conf
配置如下:
PS:node01也应该这样做
但是-with-kernel=/usr/src/kernels/2.6.32-220.el6.x86_64/ (根据自身系统而定)

(3)把配置文件从server上拷贝到node01上,放在相同的路径下
[root@server ~]# scp /etc/pvfs2-fs.conf node01:/etc/
(4)在server和node01上分别设置服务,并开机启动
[root@server ~]# cp ~/pvfs-2.8.2/examples/pvfs2-server.rc /etc/rc.d/init.d/pvfs2-server
[root@server ~]# chmod a+x /etc/rc.d/init.d/pvfs2-server
[root@server ~]# chkconfig pvfs2-server on
在node01上的执行同上,也可以在server上对node01执行操作,如下:
[root@server ~]# scp ~/pvfs-2.8.2/examples/pvfs2-server.rc node01:/etc/rc.d/init.d/pvfs2-server
[root@server ~]# ssh node01 /bin/chmod a+x /etc/rc.d/init.d/pvfs2-server
[root@server ~]# ssh node01 /sbin/chkconfig pvfs2-server on
(5)创建存储空间(分别在两个IO Server上)
[root@server ~]#/opt/software/pvfs-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf -f
[root@server ~]# ll / 会发现多了/pvfs2-storage-space
同样在node01上执行
[root@node01 ~]#/opt/software/pvfs-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf -f
[root@node01 ~]# ll / 会发现多了/pvfs2-storage-space
(6) 手动启动metadata server和I/O server(即就是在server和node01上执行)
[root@server ~]# /opt/software/pvfs-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf
[S 07/22 11:01] PVFS2 Server on node server version 2.8.2 starting...
可以用netstat -nplt查看该服务已经启动了,占用3334端口
netstat -nplt | grep pvfs
tcp 0 0 0.0.0.0:3334 0.0.0.0:* LISTEN 15697/pvfs2-server
同样在node01上执行
[root@node01 ~]# /opt/software/pvfs-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf
[S 07/22 11:03] PVFS2 Server on node node01 version 2.8.2 starting...

4. 客户端配置
server作client为例(任何其他机器都可以作client),创建挂载点,并设置开机挂在文件pvfs2tab
[root@server ~]# mkdir /mnt/pvfs2
[root@server ~]# touch /etc/pvfs2tab
[root@server ~]# chmod a+r /etc/pvfs2tab
[root@erver ~]# vi /etc/pvfs2tab
[root@server ~]# cat /etc/pvfs2tab
tcp://node01:3334/pvfs2-fs /mnt/pvfs2 pvfs2 defaults,noauto 0 0 #noauto on mount -a
说明:
(1)本例子中存储节点有两个server和node01,当client端挂在server时,因为server是平等身份的,所以,随便挂在哪一个都可以,本例子中挂在了tcp://node01:3334/pvfs2-fs
(2)当有多个client时,不同的Client尽量不挂在同一个server,这样做可以分散input/output负载
(3)设置完成后,重启client,就会自动mount了,然后就可以测试了。(这一项不能体现在df -h 中)

5. 测试(在client端测试借助pvfs2-ping, pvfs-cp, pvfs-ls命令来测试)
[root@server ~]# /opt/software/pvfs-2.8.2/bin/pvfs2-ping -m /mnt/pvfs2/
如果正常通过,则如下图所示:
如报错,请检查/etc/pvfs2tab 是否写正确!
PS:请注意关闭防火墙和selinux!
运行该命令最后一行显示The PVFS2 filesystem at /mnt/pvfs2/ appears to be correctly configured.
则配置正确!

[root@node01 ~]# pvfs2-ls /mnt/pvfs2/
lost+found
第一次ls,无任何东西

测试传输速率,图如下:

[root@node01 ~]# du -h mcsim-5.4.0.tar.gz
1.8M mcsim-5.4.0.tar.gz
[root@node01 ~]# pvfs2-cp -t mcsim-5.4.0.tar.gz /mnt/pvfs2/
Wrote 1840057 bytes in 0.160624 seconds. 10.924985 MB/seconds
再次ls时便有东西了,如下:
[root@node01 ~]# pvfs2-ls -alh /mnt/pvfs2/
drwxrwxrwx 1 root root 4.0K 2014-08-14 03:04 .
drwxrwxrwx 1 root root 4.0K 2014-08-14 03:04 .. (faked)
drwxrwxrwx 1 root root 4.0K 2014-07-30 03:25 lost+found
-rwxr-xr-x 1 root root 1.8M 2014-08-14 03:04 mcsim-5.4.0.tar.gz
[root@node01 ~]# pvfs2-cp -t /mnt/pvfs2/mcsim-5.4.0.tar.gz /tmp/
Wrote 1840057 bytes in 0.122302 seconds. 14.348206 MB/seconds
//把放进去的东西再拷出来,放在/tmp下面
[root@node01 ~]# diff mcsim-5.4.0.tar.gz /tmp/mcsim-5.4.0.tar.gz //把拷出来的文件和原来的文件比较,发现一模一样

6.总结
(1)client把I/O servers(不管I/O server有多少个节点)之一挂在到本地/mnt/pvfs2目录后,就可以像访问本地目录一样对其进行读/写/操作了
(2)唯一不同的是,不是用linux自带的读写命令(如ls, cp),而要用到pvfs2的命令(pvfs2-ls, pvfs2-cp),故在client上也应该把这些命令文件放置好
(3)为了在client上执行命令时,不用绝对路径或者相对路径,可以把pvfs2命令的目录加入到环境变量文件中
(4)通过client给/mnt/pvfs2写入一些文件后,分别在server和node01两个节点上通过linux自带的ll查看本地存储目录/pvfs2-storage-space/

[root@server ~]# du -h /pvfs2-storage-space/67b2fe6e/bstreams/
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000056
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000029
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000051
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000022
644K /pvfs2-storage-space/67b2fe6e/bstreams/00000062
。。。。。。。。。。。。。。。。。。。。。。。
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000025
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000021
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000032
900K /pvfs2-storage-space/67b2fe6e/bstreams/

[root@node01 ~]# du -h /pvfs2-storage-space/67b2fe6e/bstreams/
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000051
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000043
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000044
588K /pvfs2-storage-space/67b2fe6e/bstreams/00000000
4.0K /pvfs2-storage-space/67b2fe6e/bstreams/00000035
。。。。。。。。。。。。。。。。。。。。
844K /pvfs2-storage-space/67b2fe6e/bstreams/

[root@server ~]# du -h install.log.syslog
24K install.log.syslog
[root@server ~]# pvfs2-cp -t install.log.syslog /mnt/pvfs2/
Wrote 16830 bytes in 0.001536 seconds. 10.450171 MB/seconds
[root@server ~]# du -h /pvfs2-storage-space/67b2fe6e/
24K /pvfs2-storage-space/67b2fe6e/bstreams/00000061

结果显示:
(a) 当写入的文件非常小(例如8KB),查看后,发现该文件并没有切分,而是整个只放在一个data server上。
(b)当写入的文件有点大(例如4.2MB),查看后,发现该文件被一分为二,在每个data server节点上有一个块。
[root@server ~]# pvfs2-ls -lah /mnt/pvfs2/
drwxrwxrwx 1 root root 4.0K 2014-08-13 15:26 .
drwxrwxrwx 1 root root 4.0K 2014-08-13 15:26 .. (faked)
-rw-r--r-- 1 root root 4.0K 2014-08-13 15:26 dhcpderror
drwxrwxrwx 1 root root 4.0K 2014-07-29 15:25 lost+found
-rw-r--r-- 1 root root 16.4K 2014-08-13 15:19 install.log.syslog
-rwxr-xr-x 1 root root 1.8M 2014-08-13 15:04 mcsim-5.4.0.tar.gz
[root@server ~]# du -h install.log.syslog
24K install.log.syslog
[root@server ~]# pvfs2-cp -t /mnt/pvfs2/install.log.syslog /tmp/
Wrote 16830 bytes in 0.064458 seconds. 0.249004 MB/seconds
[root@server ~]# diff install.log.syslog /tmp/install.log.syslog
[root@server ~]#
所以尽管大小有时候不一致,但是内容都是一致的!
同理多个clent都是如此添加的!

大文件传输速率:
[root@node01 ~]# du -h /backup/software/CentOS-6.2-x86_64-bin-DVD1.iso
4.2G /backup/software/CentOS-6.2-x86_64-bin-DVD1.iso
拷入:
[root@node01 ~]# pvfs2-cp -t /backup/software/CentOS-6.2-x86_64-bin-DVD1.iso /mnt/pvfs2/
Wrote 4423129088 bytes in 305.072574 seconds. 13.826955 MB/seconds
拷出:[root@node01 ~]# pvfs2-cp -t /mnt/pvfs2/CentOS-6.2-x86_64-bin-DVD1.iso /data/
Wrote 4423129088 bytes in 278.116163 seconds. 15.167132 MB/seconds

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code