Multiple Server Processes

To increase backend throughput when you have separate local volumes, you may elect to run multiple server processes on each server.

The topic is organized into the following three sections:

Multiple Server Processes, Single File System

You can increase parallel throughput with multiple server processes. This option is efficient only when you run one server process per disc, because running multiple server processes per disc will cause access delays which counteract any throughput advantage.

Below is a sample configuration for multiple server processes with a single file system.

<Defaults>
    UnexpectedRequests 128
     EventLogging none
     EnableTracing no
     LogStamp datetime
     BMIModules bmi_tcp
     FlowModules flowproto_multiqueue
     PerfUpdateInterval 10000
     ServerJobBMITimeoutSecs 120
     ServerJobFlowTimeoutSecs 120
     ClientJobBMITimeoutSecs 120
     ClientJobFlowTimeoutSecs 120
     ClientRetryLimit 5
     ClientRetryDelayMilliSecs 5000
     PrecreateBatchSize 0,1024,1024,1024,32,1024,0
     PrecreateLowThreshold 0,256,256,256,16,256,0
   TroveMaxConcurrentIO 16
</Defaults>

<Aliases>
     Alias ofs001 tcp://ofs001:3334
     Alias ofs002 tcp://ofs001:3335
     Alias ofs003 tcp://ofs001:3336
     Alias ofs004 tcp://ofs001:3337
</Aliases>

<ServerOptions>
     Server ofs001
     DataStorageSpace /ofs001/3334/data
     MetadataStorageSpace /ofs001/3334/meta
     LogFile /var/log/orangefs-server-3334.log
</ServerOptions>
<ServerOptions>
     Server ofs002
     DataStorageSpace /ofs001/3335/data
     MetadataStorageSpace /ofs001/3335/meta
     LogFile /var/log/orangefs-server-3335.log
</ServerOptions>
<ServerOptions>
     Server ofs003
     DataStorageSpace /ofs001/3336/data
     MetadataStorageSpace /ofs001/3336/meta
     LogFile /var/log/orangefs-server-3336.log
</ServerOptions>
<ServerOptions>
     Server ofs004
     DataStorageSpace /ofs001/3337/data
     MetadataStorageSpace /ofs001/3337/meta
     LogFile /var/log/orangefs-server-3337.log
</ServerOptions>

<Filesystem>
     Name orangefs
     ID 696608094
     RootHandle 1048576
     FileStuffing yes
     DistrDirServersInitial 1
     DistrDirServersMax 1
     DistrDirSplitSize 100
     TreeThreshold 16
     <StorageHints>
          TroveSyncMeta yes
          TroveSyncData no
          TroveMethod alt-aio
          DBCacheSizeBytes 2147483648
     </StorageHints>
   <Distribution>
        Name simple_stripe
        Param strip_size
        Value 262144
  </Distribution>
    <MetaHandleRanges>
        Range ofs001 3-144115188075855875
        Range ofs002 144115188075855876-288230376151711748
        Range ofs003 288230376151711749-432345564227567621
        Range ofs004 432345564227567622-576460752303423494
    </MetaHandleRanges>
    <DataHandleRanges>
        Range ofs001 2305843009213693971-2449958197289549843
        Range ofs002 2449958197289549844-2594073385365405716
        Range ofs003 2594073385365405717-2738188573441261589
        Range ofs004 2738188573441261590-2882303761517117462
    </DataHandleRanges>
</Filesystem>

Multiple Servers, Single File System, Some Data-only Servers

Below is an example configuration file for a situation in which seven servers are combined meta and data servers, and the remaining nine servers are data servers only. The <MetaHandleRanges> and <DataHandleRanges> sections in the code below determine which servers serve in which capacity.

<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 0,1024,1024,1024,32,1024,0
      PrecreateLowThreshold 0,256,256,256,16,256,0
      DataStorageSpace     /opt/orangefs/storage/data
      MetadataStorageSpace /opt/orangefs/storage/meta
      LogFile              /opt/orangefs/orangefs-server.log

      <Security>
            TurnOffTimeouts yes
      </Security>
</Defaults>

<Aliases>
      Alias server01 tcp://ofs001:3334
      Alias server02 tcp://ofs002:3334
      Alias server03 tcp://ofs003:3334
      Alias server04 tcp://ofs004:3334

      Alias server05 tcp://ofs005:3334
      Alias server06 tcp://ofs006:3334
      Alias server07 tcp://ofs007:3334
      Alias server08 tcp://ofs008:3334

      Alias server09 tcp://ofs009:3334
      Alias server10 tcp://ofs010:3334
      Alias server11 tcp://ofs011:3334
      Alias server12 tcp://ofs012:3334

      Alias server13 tcp://ofs013:3334
      Alias server14 tcp://ofs014:3334
      Alias server15 tcp://ofs015:3334
      Alias server16 tcp://ofs016:3334
</Aliases>

<Filesystem>
      Name orangefs
      ID 991638827
      RootHandle 1048576
      FileStuffing yes
      DistrDirServersInitial 1
      DistrDirServersMax 1
      DistrDirSplitSize 100
      <MetaHandleRanges>
            Range server01 3-288230376151711745
            Range server02 288230376151711746-576460752303423488
            Range server03 576460752303423489-864691128455135231
            Range server04 864691128455135232-1152921504606846974
            Range server05 1152921504606846975-1441151880758558717
            Range server06 1441151880758558718-1729382256910270460
            Range server07 1729382256910270461-2017612633061982203
      </MetaHandleRanges>
      <DataHandleRanges>
            Range server01 4611686018427387891-4899916394579099633
            Range server02 4899916394579099634-5188146770730811376
            Range server03 5188146770730811377-5476377146882523119
            Range server04 5476377146882523120-5764607523034234862
            Range server05 5764607523034234863-6052837899185946605
            Range server06 6052837899185946606-6341068275337658348
            Range server07 6341068275337658349-6629298651489370091
            Range server08 6629298651489370092-6917529027641081834
            Range server09 6917529027641081835-7205759403792793577
            Range server10 7205759403792793578-7493989779944505320
            Range server11 7493989779944505321-7782220156096217063
            Range server12 7782220156096217064-8070450532247928806
            Range server13 8070450532247928807-8358680908399640549
            Range server14 8358680908399640550-8646911284551352292
            Range server15 8646911284551352293-8935141660703064035
            Range server16 8935141660703064036-9223372036854775778
      </DataHandleRanges>
      <StorageHints>
            TroveSyncMeta yes
            TroveSyncData no
            TroveMethod alt-aio
      </StorageHints>
</Filesystem>

Multiple Server Processes, Single File System, Multiple Machines

Below is an example configuration file for a situation with four server processes per machine with four machines serving a single file system.

<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 0,1024,1024,1024,32,1024,0
      PrecreateLowThreshold 0,256,256,256,16,256,0

      <Security>
            TurnOffTimeouts yes
      </Security>
</Defaults>

<Aliases>
      Alias server01 tcp://ofs001:3334
      Alias server02 tcp://ofs001:3335
      Alias server03 tcp://ofs001:3336
      Alias server04 tcp://ofs001:3337

      Alias server05 tcp://ofs002:3334
      Alias server06 tcp://ofs002:3335
      Alias server07 tcp://ofs002:3336
      Alias server08 tcp://ofs002:3337

      Alias server09 tcp://ofs003:3334
      Alias server10 tcp://ofs003:3335
      Alias server11 tcp://ofs003:3336
      Alias server12 tcp://ofs003:3337

      Alias server13 tcp://ofs004:3334
      Alias server14 tcp://ofs004:3335
      Alias server15 tcp://ofs004:3336
      Alias server16 tcp://ofs004:3337
</Aliases>

<ServerOptions>
      Server server01
      DataStorageSpace     /opt/orangefs/storage/server01/data
      MetadataStorageSpace /opt/orangefs/storage/server01/meta
      LogFile              /opt/orangefs/orangefs-server01.log
</ServerOptions>
<ServerOptions>
      Server server02
      DataStorageSpace     /opt/orangefs/storage/server02/data
      MetadataStorageSpace /opt/orangefs/storage/server02/meta
      LogFile              /opt/orangefs/orangefs-server02.log
</ServerOptions>
<ServerOptions>
      Server server03
      DataStorageSpace     /opt/orangefs/storage/server03/data
      MetadataStorageSpace /opt/orangefs/storage/server03/meta
      LogFile              /opt/orangefs/orangefs-server03.log
</ServerOptions>
<ServerOptions>
      Server server04
      DataStorageSpace     /opt/orangefs/storage/server04/data
      MetadataStorageSpace /opt/orangefs/storage/server04/meta
      LogFile              /opt/orangefs/orangefs-server04.log
</ServerOptions>
<ServerOptions>
      Server server05
      DataStorageSpace     /opt/orangefs/storage/server05/data
      MetadataStorageSpace /opt/orangefs/storage/server05/meta
      LogFile              /opt/orangefs/orangefs-server05.log
</ServerOptions>
<ServerOptions>
      Server server06
      DataStorageSpace     /opt/orangefs/storage/server06/data
      MetadataStorageSpace /opt/orangefs/storage/server06/meta
      LogFile              /opt/orangefs/orangefs-server06.log
</ServerOptions>
<ServerOptions>
      Server server07
      DataStorageSpace     /opt/orangefs/storage/server07/data
      MetadataStorageSpace /opt/orangefs/storage/server07/meta
      LogFile              /opt/orangefs/orangefs-server07.log
</ServerOptions>
<ServerOptions>
      Server server08
      DataStorageSpace     /opt/orangefs/storage/server08/data
      MetadataStorageSpace /opt/orangefs/storage/server08/meta
      LogFile              /opt/orangefs/orangefs-server08.log
</ServerOptions>
<ServerOptions>
      Server server09
      DataStorageSpace     /opt/orangefs/storage/server09/data
      MetadataStorageSpace /opt/orangefs/storage/server09/meta
      LogFile              /opt/orangefs/orangefs-server09.log
</ServerOptions>
<ServerOptions>
      Server server10
      DataStorageSpace     /opt/orangefs/storage/server10/data
      MetadataStorageSpace /opt/orangefs/storage/server10/meta
      LogFile              /opt/orangefs/orangefs-server10.log
</ServerOptions>
<ServerOptions>
      Server server11
      DataStorageSpace     /opt/orangefs/storage/server11/data
      MetadataStorageSpace /opt/orangefs/storage/server11/meta
      LogFile              /opt/orangefs/orangefs-server11.log
</ServerOptions>
<ServerOptions>
      Server server12
      DataStorageSpace     /opt/orangefs/storage/server12/data
      MetadataStorageSpace /opt/orangefs/storage/server12/meta
      LogFile              /opt/orangefs/orangefs-server12.log
</ServerOptions>
<ServerOptions>
      Server server13
      DataStorageSpace     /opt/orangefs/storage/server13/data
      MetadataStorageSpace /opt/orangefs/storage/server13/meta
      LogFile              /opt/orangefs/orangefs-server13.log
</ServerOptions>
<ServerOptions>
      Server server14
      DataStorageSpace     /opt/orangefs/storage/server14/data
      MetadataStorageSpace /opt/orangefs/storage/server14/meta
      LogFile              /opt/orangefs/orangefs-server14.log
</ServerOptions>
<ServerOptions>
      Server server15
      DataStorageSpace     /opt/orangefs/storage/server15/data
      MetadataStorageSpace /opt/orangefs/storage/server15/meta
      LogFile              /opt/orangefs/orangefs-server15.log
</ServerOptions>
<ServerOptions>
      Server server16
      DataStorageSpace     /opt/orangefs/storage/server16/data
      MetadataStorageSpace /opt/orangefs/storage/server16/meta
      LogFile              /opt/orangefs/orangefs-server16.log
</ServerOptions>

<Filesystem>
      Name orangefs
      ID 991638827
      RootHandle 1048576
      FileStuffing yes
      DistrDirServersInitial 1
      DistrDirServersMax 1
      DistrDirSplitSize 100
      <MetaHandleRanges>
            Range server01 3-288230376151711745
            Range server02 288230376151711746-576460752303423488
            Range server03 576460752303423489-864691128455135231
            Range server04 864691128455135232-1152921504606846974
            Range server05 1152921504606846975-1441151880758558717
            Range server06 1441151880758558718-1729382256910270460
            Range server07 1729382256910270461-2017612633061982203
            Range server08 2017612633061982204-2305843009213693946
            Range server09 2305843009213693947-2594073385365405689
            Range server10 2594073385365405690-2882303761517117432
            Range server11 2882303761517117433-3170534137668829175
            Range server12 3170534137668829176-3458764513820540918
            Range server13 3458764513820540919-3746994889972252661
            Range server14 3746994889972252662-4035225266123964404
            Range server15 4035225266123964405-4323455642275676147
            Range server16 4323455642275676148-4611686018427387890
      </MetaHandleRanges>
      <DataHandleRanges>
            Range server01 4611686018427387891-4899916394579099633
            Range server02 4899916394579099634-5188146770730811376
            Range server03 5188146770730811377-5476377146882523119
            Range server04 5476377146882523120-5764607523034234862
            Range server05 5764607523034234863-6052837899185946605
            Range server06 6052837899185946606-6341068275337658348
            Range server07 6341068275337658349-6629298651489370091
            Range server08 6629298651489370092-6917529027641081834
            Range server09 6917529027641081835-7205759403792793577
            Range server10 7205759403792793578-7493989779944505320
            Range server11 7493989779944505321-7782220156096217063
            Range server12 7782220156096217064-8070450532247928806
            Range server13 8070450532247928807-8358680908399640549
            Range server14 8358680908399640550-8646911284551352292
            Range server15 8646911284551352293-8935141660703064035
            Range server16 8935141660703064036-9223372036854775778
      </DataHandleRanges>
      <StorageHints>
            TroveSyncMeta yes
            TroveSyncData no
            TroveMethod alt-aio
      </StorageHints>
</Filesystem>