(1)编译、拷贝PVFS2内核模块
[root@node16 pvfs-2.8.2]# make kmod (编译内核模块,完成后会在src/kernel/linux-2.6/发现pvfs2.ko文件)
[root@node15 pvfs-2.8.2]# make kmod_install (拷贝内核模块)
注解:在这个过程中会执行
install -d //lib/modules/2.6.18-164.el5/kernel/fs/pvfs2 //在内核模块/lib/modules下创建文件夹
install -m 755 src/kernel/linux-2.6/pvfs2.ko //lib/modules/2.6.18-164.el5/kernel/fs/pvfs2 //将pvfs2.ko拷贝到上面创建的文件夹内,实质上还需内核加载,见(2)
//在安装目录下建sbin目录,并将pvfs2-client、pvfs2-client-core拷入
install -d /root/program/pvfs2-install//sbin
install -m 755 src/apps/kernel/linux/pvfs2-client src/apps/kernel/linux/pvfs2-client-core /root/program/pvfs2-install//sbin
//===============================================
(2) 加载PVFS2模块到内核中
方法(1): 如果你在步骤(1)中已经把PVFS2.ko拷入到了/lib/modules/2.6.18-164.el5/kernel/fs/pvfs2下面就可以用modprobe命令
方法(2) :
[root@node14 pvfs-2.8.2]# insmod src/kernel/linux-2.6/pvfs2.ko
//查看内核模块是否正确安装
[root@node14 pvfs-2.8.2]# lsmod|grep pvfs2
pvfs2 114276 0
//顺便了解一下如何删除内核模块(删除时请确保unmounted并关闭了pvfs-client)
[root@node14 pvfs-2.8.2]# rmmod pvfs2
//===============================================
(3) 启动pvfs2-client端
在(1)中提到,make kmod_install命令在安装目录下建sbin目录,并将pvfs2-client、pvfs2-client-core拷入。实质上,pvfs2-client是PVFS2的client application。
[root@node14 pvfs-2.8.2]# pwd
/root/soft/pvfs-2.8.2
[root@node14 pvfs-2.8.2]# cd src/apps/kernel/linux/
[root@node14 linux]# ./pvfs2-client -f -p ./pvfs2-client-core
pvfs2-client starting
Spawning new child process
About to exec: ./pvfs2-client-core, with args: pvfs2-client-core --child -a 5 -n 5 --logtype file -L /tmp/pvfs2-client.log
Waiting on child with pid 637
说明:
-f 不是必要参数,其主要是让PVFS2的client application端在前台运行。
-p 指出pvfs2-client-core的路径
-a 不是必要参数,设置client端的attribute cache的timeout(ms),默认为0.
可通过./pvfs2-client -h来查看其它参数。
//===============================================
(4)挂载PVFS2文件系统 (由于(3)中pvfs2-client是在前台启动,故重启一个ssh连接)
到目前为止,系统的PVFS2-server和pvfs2-client已经启动了。挂载方法如下:
[root@node14 ~]# mount -t pvfs2 tcp://node15:3334/pvfs2-fs /mnt/pvfs2
[root@node14 ~]# mount |grep pvfs2
tcp://node15:3334/pvfs2-fs on /mnt/pvfs2 type pvfs2 (rw)
//=============================================
(5)现在PVFS2已经挂载好了,可以使用一切VFS的命令借口了
[root@node14 ~]# mkdir /mnt/pvfs2/test
[root@node14 ~]# ll /mnt/pvfs2/
total 8
drwxrwxrwx 1 root root 4096 Mar 15 17:12 lost+found
drwxr-xr-x 1 root root 4096 Mar 20 10:49 test
//=============================================
(6)卸载/去除PVFS客户端
[root@node14 ~]# umount /mnt/pvfs2
[root@node14 ~]# killall pvfs2-client
[root@node14 ~]# rmmod pvfs2 (执行上述命令几秒钟后执行该命令)
小结:
通过在client端安装PVFS2内核和客户端之后,能够使得挂载到VFS下面使用,使得client端如同使用本地文件系统一样借助Linux的VFS文件操作(如ls、mkdir、cp、rm等),而无需PVFS2专门的命令(如pvfs2-cp、pvfs2-ls等)。