Hi Chris,

I believe that your configuration file is correct. A pvfs2-server config file can have two <Filesystem> sections, and the only things that need to be different between the two are the "ID" and the "Name". Everything else can be completely identical (there is no need to change the RootHandle or Ranges, though doing so as you have in your example won't hurt anything).

This will result in two subdirectories in your storage space (/pvfs2-storage-multi), one for each file system. Both will be serviced on the same port; you just select which to mount via:

mount -t pvfs2 tcp://wongburger:3334/fs1 /dir1
or
mount -t pvfs2 tcp://wongburger:3334/fs2 /dir2

Unfortunately, although you did everything right, it looks like there is a bug in PVFS. I tried on my laptop with the attached configuration and my server crashed as well. Mine generated some log messages which are also attached. I don't think anyone has tried this type of configuration in a while.

Until this is resolved, you always have the option of simply running two sets of servers on the same nodes, with completely separate config files. If you go that route, then you have to change not only the ID and Name, but also the port, storage space, and log file to keep them from conflicting.

-Phil



On 10/20/2010 02:38 PM, Chris Poultney wrote:
I'd like to set up two shares to be managed by the same PVFS server. I've read in the docs that I can have multiple filesystem entries in pvfs2-fs.conf, but I haven't been able to successfully do this. Does someone have an example config file with multiple filesystem entries that they can share?

More details:

I've successfully set up a single share based on the quick start guide. It's a four-node network: one metadata server, four i/o nodes. Nodes are identical, each 6x dual-core xeon, LAN connection, running ubuntu lucid. To generate the two-filesystem config file, I ran pvfs2-genconfig twice, then pasted the filesystem section from the second file into the first, making sure the Name and ID fields were unique. This was based on 3.9 in the PVFS2 FAQ, "Can I mount more than one PVFS file system on the same client?"

Using the two-filesystem config file, pvfs2-server -f works, but then pvfs2-server (with or without -d) ends immediately with a segfault. Nothing is written to the console or logfiles. I tried a different version of pvfs2-fs.conf with non-overlapping MetaHandleRange and DataHandleRange values for the two filesystems, but as I'm not exactly clear on what these do I'm not sure if that's the right approach. I've attached the conf file for a single-server test of two filesystems, with separate Range value.

Thanks,
-crispy


_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

<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 /tmp/pvfs2-test-space
        LogFile /tmp/pvfs2-server.log
</Defaults>

<Aliases>
        Alias localhost tcp://localhost:3334
</Aliases>

<Filesystem>
        Name fs1
        ID 306212176
        RootHandle 1048576
        FileStuffing yes
        <MetaHandleRanges>
                Range localhost 3-4611686018427387904
        </MetaHandleRanges>
        <DataHandleRanges>
                Range localhost 4611686018427387905-9223372036854775806
        </DataHandleRanges>
        <StorageHints>
                TroveSyncMeta yes
                TroveSyncData no
                TroveMethod alt-aio
        </StorageHints>
</Filesystem>

<Filesystem>
        Name fs2
        ID 306212177
        RootHandle 1048576
        FileStuffing yes
        <MetaHandleRanges>
                Range localhost 3-4611686018427387904
        </MetaHandleRanges>
        <DataHandleRanges>
                Range localhost 4611686018427387905-9223372036854775806
        </DataHandleRanges>
        <StorageHints>
                TroveSyncMeta yes
                TroveSyncData no
                TroveMethod alt-aio
        </StorageHints>
</Filesystem>
[D 10/21/2010 11:06:59] PVFS2 Server version 2.8.1pre1-2010-10-07-204134 starting.
[E 10/21/2010 11:07:00] ../pvfs2/src/io/trove/trove-dbpf/dbpf-mgmt.c line 1531: dbpf_collection_iterate_op_svc: Unknown error: -1073742095
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server(dbpf_collection_iterate+0x602) [0x80a37ae]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server(trove_collection_iterate+0x4c) [0x808c902]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server(trove_migrate+0xb5) [0x808d1b2]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server() [0x805997c]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server() [0x80588e8]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server(main+0x47a) [0x805829e]
[E 10/21/2010 11:07:00] 	[bt] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x8a4bd6]
[E 10/21/2010 11:07:00] 	[bt] ./pvfs2-server() [0x8057cc1]
[E 10/21/2010 11:07:00] trove_collection_iterate failed: ret=-1073742095 method=1 pos=2147483646 name=0xbfb8e05c coll=306212176 count=1 op=1
[E 10/21/2010 11:07:00] trove_migrate failed: ret=-1073742095
[E 10/21/2010 11:07:00] Error: Could not initialize server interfaces; aborting.
[E 10/21/2010 11:07:00] Error: Could not initialize server; aborting.
_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to