pvfs2 集群安装配置

最近在搞关于pvfs2的东西,所以记录下:


1:前期说明
   (1)pvfs2需要ssh免密码访问
      关于ssh免密码访问可以参看如下链接: ssh免密码访问
   (2)pvfs2要安装在每台机器相同的位置
2:pvfs2版本选择: pvfs2.8.2  系统环境为:redhat 6.1企业版   
3:pvfs2安装配置启动
     安装过程:
    下载源码包pvfs2-2.8.2.tar.gz 解压 tar -zxvf pvfs2-2.8.2.tar.gz
    切换到源码包目录下 配置:./configure --enable-segv-backtrace  需要加上这条参数,不然编译的时候会报错! 不清楚为什么 当然可以指定安装的路径 --prefix=/xxx ;
    然后 make
             make  install   
           到此安装完毕,基本不会出现什么问题了
    配置过程:
    配置文件只需要在一台机器上生成即可,然后用scp发送到其他机器相同的目录下
   生成配置文件用安装包bin目录下面的pvfs2-genconfig 命令 
   ./pvfs2-genconfig /etc/pvfs2-fs.conf
   然后就会让你选择通信协议,存储目录,日志位置啥的,一般都默认选择直接按回车就好, 只有两个地方需要自己修改
  元数据存放:默认是localhost 这里写上你想存放元数据的机器名(ps:直白点写IP )
  I/Oserver:同上
  这里就配置完毕了,一般也不会有啥问题
 只需要配置一台机器,然后将配置文件用scp发送到其他机器

  配置文件内容如下所示(只配了两台机器):


[root@node2 bin]# cat /etc/pvfs2-fs.conf
<Defaults>
        UnexpectedRequests 50
        EventLogging none
        EnableTracing no
        LogStamp datetime
        BMIModules bmi_tcp
        FlowModules flowproto_multiqueue
        PerfUpdateInterval 1000
        ServerJobBMITimeoutSecs 30
        ServerJobFlowTimeoutSecs 30
        ClientJobBMITimeoutSecs 300
        ClientJobFlowTimeoutSecs 300
        ClientRetryLimit 5
        ClientRetryDelayMilliSecs 2000
        PrecreateBatchSize 512
        PrecreateLowThreshold 256




        StorageSpace /pvfs2-storage-space
        LogFile /tmp/pvfs2-server.log
</Defaults>




<Aliases>
        Alias node1 tcp://node1:3334
        Alias node2 tcp://node2:3334
</Aliases>




<Filesystem>
        Name pvfs2-fs
        ID 1308600785
        RootHandle 1048576
        FileStuffing yes
        <MetaHandleRanges>
                Range node1 3-2305843009213693953
                Range node2 2305843009213693954-4611686018427387904
        </MetaHandleRanges>
        <DataHandleRanges>
                Range node1 4611686018427387905-6917529027641081855
                Range node2 6917529027641081856-9223372036854775806
        </DataHandleRanges>
        <StorageHints>
                TroveSyncMeta yes
                TroveSyncData no
                TroveMethod alt-aio
        </StorageHints>
</Filesystem>





  启动:
  设置开机启动pvfs2-server守护进程 cp ~/pvfs2-2.8.2/examples/pvfs2-server.rc  /etc/rc.d/init.d/pvfs2-server 
                                                                 chmod a+x /etc/rc.d/init.d/pvfs2-server
                                                                 chkconfig pvfs2-server on
   然后根据配置文件启动pvfs
                                  /pvfs2-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf -f   第一次启动需要加上参数f   执行完了,会在根目录发现多了/pvfs2-storage-space
                                 /pvfs2-2.8.2/sbin/pvfs2-server /etc/pvfs2-fs.conf     这样就启动完毕了  可以用netstat -nplt 命令查看是否开启服务,默认端口号是3334
         在每台机器上都这样设置一次。pvfs2服务器就安装完毕了                                                   
4:客户端安装测试
      客户端测试有三种方式(pvfs提供了三种):1 使用pvfs2提供的api   2 与linux内核重新编译(目前只支持内核2.4和2.6的版本) 3 MPI ROMPI 
       我只尝试了前面两种,最后一种没有尝试 下面介绍以下两种

      1 将node1作为客户端(可以是任意一台机器,前提是安装了pvfs),创建挂载点,设置开机挂载文件pvfs2tab

         mkdir /mnt/pvfs2

        touch /etc/pvfs2tab

       chmod a+r /etc/pvfs2tab

       vi /etc/pvfs2tab 

       输入pvfs2tab中的内容为:tcp://node2:3334/pvfs2-fs /mnt/pvfs2/ pvfs2 defaults, noauto 0 0 

      这样客户端就配置好了 重启就可以自动挂载!

      可以测试一下 用pvfs2-ping pvfs2 cp pvfs2-ls 命令测试

        ./pvfs2-ping -m  /mnt/pvfs2

        login as: tangjie

tangjie@node1 ~]$ pvfs2-ping -m /mnt/pvfs2


(1) Parsing tab file...


(2) Initializing system interface...


3) Initializing each file system found in tab file: /etc/pvfs2tab...


   PVFS2 servers: tcp://node2:3334
   Storage name: pvfs2-fs
   Local mount point: /mnt/pvfs2
  /mnt/pvfs2: Ok


(4) Searching for /mnt/pvfs2 in pvfstab...


   PVFS2 servers: tcp://node2:3334
   Storage name: pvfs2-fs
   Local mount point: /mnt/pvfs2


   meta servers:
   tcp://node1:3334
   tcp://node2:3334


   data servers:
   tcp://node1:3334
   tcp://node2:3334


(5) Verifying that all servers are responding...


   meta servers:
   tcp://node1:3334 Ok
   tcp://node2:3334 Ok


   data servers:
   tcp://node1:3334 Ok
    tcp://node2:3334 Ok


(6) Verifying that fsid 1308600785 is acceptable to all servers...


   Ok; all servers understand fs_id 1308600785


(7) Verifying that root handle is owned by one server...


    Root handle: 1048576
     Ok; root handle is owned by exactly one server.


=============================================================


The PVFS2 filesystem at /mnt/pvfs2 appears to be correctly configured.

  2 安装内核模块(这样可以使用linux的命令  如ls cp  等)

    (1)编译安装

       一般系统内核源码路径为 :/usr/local/kernels/

       所以在配置时  切换到pvfs2源码包目录下 ./configure --with-kernel =/内核源码路径  --enable--segv-backtrace   

              make kmod  //编译模块

             make kmod_install   //安装模块

             insmod ./src/kernel/linux-2.6/pvfs2.ko  这时候可以检查下是否加载了模块: lsmod|grep pvfs2  

             ./src/app/kernel/linux/   如果在configure的时候 就从这个路径寻找下面的执行文件,如果在configure时添加了prefix 指定了安装路径,那么就从安装路径下面的sbin文件夹下面找到下面的命令执行

             pvfs2-client -f -p ./pvfs2-client-core   -f  在前台运行 -p 指定 pvfs2-client-core路径

            因为在前台运行,需要重新开ssh 输入如下命令

             mount -t pvfs2 -o noreservation tcp://node2:3334/pvfs2-fs /mnt/pvfs2  挂载文件  -o noreservation 是用于提高文件系统性能的,也可以不使用这条参数

            这样就可以了,可以用ls等命令了  可以使用df 指令查看挂载点和文件系统:

         

           如果客户机重新启动了,那么就失效了,需要从 insmod 这条命令从新开始操作一遍

   

          问题总结:

         1 no route to host 

            防火墙问题 关闭防火墙或者开启端口号

        2 还有就是配置文件的问题,一定要保证配置文件在相同位置,且是同一份,如果配置不同,则需要删除存储目录和日志目录,重新启动server,不然配置时会报错

       

           




                  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值