Hi Patrick,
Since you specified "xrd/cache*" there is no need for a conditional.
However, I am confused about mounting here. You should mount each file
system as /xrd/chacenn where nn is a "number" mount point. So each system
would have a variable number of mount points predefined. That would be my
take but it sounds like you planning on doing something else.
Andy
----- Original Message -----
From: "Patrick McGuigan" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Thursday, November 08, 2007 2:56 AM
Subject: Re: Question about oss.cache directive
> Hi,
>
> A follow question concerning how the config file would be handled by
> systems with one mount.
>
> Consider:
>
> oss.cache public /xrd/cache*
>
> xrootd.fslib /opt/xrootd/lib/libXrdOfs.so
> xrootd.export /xrd
>
>
> On systems with multiple partitions, I would mount:
> /xrd
> /xrd/cache00
> ...
> /xrd/cacheNN
>
> On systems with one partition, I would mount /xrd
>
>
> Will this work, or does the oss.cache directive need to wrapped in a
> conditional statement so that it is only used on multi-partition servers?
>
> Patrick
>
>
>
>
>
> Wilko Kroeger wrote:
>>
>> Hello Patrick
>>
>> Fabrizio answered already most of the question. I just have a few
>> comments.
>>
>> If you have more then one partition that an xrootd server should serve
>> you should use the cache directive.
>> The cache is working by placing a file in a cache directory and creating
>> a link between this file and the proper file name. For example:
>> if the file name is /xrd/test/d1/file1 and your you use the the cache
>> directive
>> ooss.cache /xrd*
>> the file would be put (lets pick cache xrd2) into
>> /xrd2/%xrd%test%d1%file1
>> and a link is created:
>>> ls -l /xrd/test/d1/file1 -> /xrd2/%xrd%test%d1%file1
>>
>> As you can see there are no directories in the cache. The file name in
>> the cache is the proper file name with all '/' replaced by '%'.
>>
>>
>> As xrootd will export /xrd you have to create a /xrd directory. I guess
>> this will not be in the '/' root partition but in one of you data
>> partition (/xrd1 /xrd2) and therefore you will need a link.
>> /xrd -> /xrd1
>>
>> However, in this case, doing an 'ls /xrd' would list all files in /xrd1
>> which could be quite large depending how many files you have. Therefore,
>> you might want to have a link like
>> /xrd -> /xrd1/xrd
>> In this case 'ls /xrd' would not list the files in the /xrd1 cache.
>>
>> Another possibility would be to make the cache directories a little bit
>> more explicit. Mount your two partitions as:
>> /xrd
>> /xrd/cache1
>> and create the directory
>> /xrd/cache0
>> and then use
>> ooss.cache /xrd/cache*
>>
>> I hope these comments helped a little bit.
>>
>> Cheers,
>> Wilko
>>
>>
>>
>> On Wed, 7 Nov 2007, Patrick McGuigan wrote:
>>
>>> Hi,
>>>
>>> I am setting up an xrootd cluster for the first time and I have a
>>> question about the oss.cache directive.
>>>
>>> Some of my data servers have two partitions (and some have one) that I
>>> want to use for storage. Is it true that the oss.cache directive MUST
>>> be used to put two partitions into service? How is load balancing
>>> (based on space) managed on caches versus partitions? Are there any
>>> performance penalties to using the cache directive?
>>>
>>> Finally, when a directory is created within a cache, does the directory
>>> get created on both partitions?
>>>
>>>
>>>
>>> If the partition on a one mount server is /xrd1 and the partitions on
>>> dual-mount server are /xrd1 and /xrd2, would the following snippet from
>>> the config file be appropriate:
>>>
>>>
>>> #
>>> #
>>> olb.path rw /xrd
>>> #
>>> oss.cache public /xrd*
>>> #
>>> xrootd.fslib /opt/xrootd/lib/libXrdOfs.so
>>> xrootd.export /xrd
>>>
>>>
>>>
>>> I am expecting this to create a global namespace rooted at /xrd that is
>>> writable and would use both partitions of dual-mount data server.
>>>
>>>
>>>
>>> Thanks for any information,
>>>
>>> Patrick
>>>
>
|