[Gluster-devel] Bad file descriptor

Basavanagowda Kanur gowda at zresearch.com
Fri Jan 2 05:12:38 UTC 2009


Yaomin,
  Can you send us the log files?

--
gowda

On Fri, Jan 2, 2009 at 8:47 AM, yaomin @ gmail <yangyaomin at gmail.com> wrote:

>  Hey, Guys
>
>     When I use IOZone to test my gluster configuration, an error happens
> if the file's size is smaller or equal to 1KB.
>
>
> Thanks,
> Alfred Yang.
>
>
>
>
>   Below is the message:
>
> /opt/iozone/bin/iozone -f /mnt/new/test1 -s 1k -i 0 -i 1
>         Iozone: Performance Test of File I/O
>                 Version $Revision: 3.315 $
>                 Compiled for 32 bit mode.
>                 Build: linux
>
>         Contributors:William Norcott, Don Capps, Isom Crawford, Kirby
> Collins
>                      Al Slater, Scott Rhine, Mike Wisner, Ken Goss
>                      Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
>                      Randy Dunlap, Mark Montague, Dan Million, Gavin
> Brebner,
>                      Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy,
>                      Erik Habbinga, Kris Strecker, Walter Wong, Joshua
> Root.
>
>         Run began: Fri Jan  2 11:00:14 2009
>
>         File size set to 1 KB
>         Command line used: /opt/iozone/bin/iozone -f /mnt/new/test1 -s 1k
> -i 0 -i 1
>         Output is in Kbytes/sec
>         Time Resolution = 0.000001 seconds.
>         Processor cache size set to 1024 Kbytes.
>         Processor cache line size set to 32 bytes.
>         File stride size set to 17 * record size.
>                                                             random
> random    bkwd   record   stride
>               KB  reclen   write rewrite    read    reread    read
> write    read  rewrite     read   fwrite frewrite   fread  freread
>                1       4       0       0
> Error reading block 0 f6e00000
> read: Bad file descriptor
>
>
>
>
>  Here is the gluster configurations.(on client)
>
> volume client-ns
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.2        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume name_space          # name of the remote volume
> end-volume
>
> volume client11
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.2        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick1          # name of the remote volume
> end-volume
>
> volume client12
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.2        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick2          # name of the remote volume
> end-volume
>
>
> volume client21
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.4        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick1          # name of the remote volume
> end-volume
>
> volume client22
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.4        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick2          # name of the remote volume
> end-volume
>
> volume client31
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.5        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick1          # name of the remote volume
> end-volume
>
> volume client32
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.5        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick2          # name of the remote volume
> end-volume
>
> volume client41
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.7        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick1          # name of the remote volume
> end-volume
>
> volume client42
>   type protocol/client
>   option transport-type tcp/client       # for TCP/IP transport
>   option remote-host 192.168.13.7        # IP address of the remote brick
> # option remote-port 6996                # default server port is 6996
> # option transport-timeout 30            # seconds to wait for a response
>                                          # from server for each request
>   option remote-subvolume brick2          # name of the remote volume
> end-volume
>
> volume afr1
>   type cluster/afr
>   subvolumes client11 client21
>   option debug off         # turns on detailed debug messages
>                               # in log by default is debugging off
>   option self-heal on    # turn off self healing default is on
> end-volume
>
> volume afr2
>   type cluster/afr
>   subvolumes client31 client41
>   option debug off         # turns on detailed debug messages
>                               # in log by default is debugging off
>   option self-heal on    # turn off self healing default is on
> end-volume
>
> volume afr3
>   type cluster/afr
>   subvolumes client12 client22
>   option debug off         # turns on detailed debug messages
>                               # in log by default is debugging off
>   option self-heal on    # turn off self healing default is on
> end-volume
>
> volume afr4
>   type cluster/afr
>   subvolumes client32 client42
>   option debug off         # turns on detailed debug messages
>                               # in log by default is debugging off
>   option self-heal on    # turn off self healing default is on
> end-volume
>
> volume stripe1
>    type cluster/stripe
>    option block-size 1MB                 #default size is 128KB
>    subvolumes afr1 afr2
> end-volume
>
> volume stripe2
>    type cluster/stripe
>    option block-size 1MB                 #default size is 128KB
>    subvolumes afr3 afr4
> end-volume
>
>
> volume bricks
>   type cluster/unify
>   subvolumes stripe1 stripe2
>   option namespace client-ns
>   option scheduler alu
> #  option alu.limits.min-free-disk  5%    # Don't create files one a volume
> with less than 5% free diskspace
> #  option alu.limits.max-open-files 10000  # Don't create files on a volume
> with more than 10000 files open
>
>   # When deciding where to place a file, first look at the disk-usage, then
> at read-usage, write-usage, open files, and finally the
> disk-speed-usage.
>   option alu.order
> disk-usage:read-usage:write-usage:open-files-usage:disk-speed-usage
>   option alu.disk-usage.entry-threshold 2GB   # Kick in if the discrepancy
> in disk-usage between volumes is more than 2GB
>   option alu.disk-usage.exit-threshold  60MB   # Don't stop writing to the
> least-used volume until the discrepancy is 1988MB
>   option alu.open-files-usage.entry-threshold 1024   # Kick in if the
> discrepancy in open files is 1024
>   option alu.open-files-usage.exit-threshold 32   # Don't stop until 992
> files have been written the least-used volume
>   option alu.read-usage.entry-threshold 20%   # Kick in when the read-usage
> discrepancy is 20%
>   option alu.read-usage.exit-threshold 4%   # Don't stop until the
> discrepancy has been reduced to 16% (20% - 4%)
>   option alu.write-usage.entry-threshold 20%   # Kick in when the
> write-usage discrepancy is 20%
>   option alu.write-usage.exit-threshold 4%   # Don't stop until the
> discrepancy has been reduced to 16%
> #  option alu.disk-speed-usage.entry-threshold # NEVER SET IT. SPEED IS
> CONSTANT!!!
> #  option alu.disk-speed-usage.exit-threshold  # NEVER SET IT. SPEED IS
> CONSTANT!!!
>   option alu.stat-refresh.interval 10sec   # Refresh the statistics used
> for decision-making every 10 seconds
>   option alu.stat-refresh.num-file-create 10   # Refresh the statistics
> used for decision-making after creating 10 files
> end-volume
>
> ### Add io-threads feature
> volume iot
>   type performance/io-threads
>   subvolumes bricks #stripe #afr #bricks
> end-volume
>
> ### Add readahead feature
> volume readahead
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot
> end-volume
>
> ### Add IO-Cache feature
> volume iocache
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead
> end-volume
>
> ### Add writeback feature
> volume writeback
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache
> end-volume
>
>
> ### Add io-threads feature
> volume iot_stripe1
>   type performance/io-threads
>   subvolumes stripe1
> end-volume
>
> ### Add readahead feature
> volume readahead_stripe1
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_stripe1
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_stripe1
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_stripe1
> end-volume
> ### Add writeback feature
> volume writeback_stripe1
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_stripe1
> end-volume
>
>
> ### Add io-threads feature
> volume iot_stripe2
>   type performance/io-threads
>   subvolumes stripe2
> end-volume
>
> ### Add readahead feature
> volume readahead_stripe2
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_stripe2
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_stripe2
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_stripe2
> end-volume
>
> ### Add writeback feature
> volume writeback_stripe2
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_stripe2
> end-volume
>
>
> ### Add io-threads feature
> volume iot_afr1
>   type performance/io-threads
>   subvolumes afr1
> end-volume
>
> ### Add readahead feature
> volume readahead_afr1
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_afr1
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_afr1
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_afr1
> end-volume
>
> ### Add writeback feature
> volume writeback_afr1
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_afr1
> end-volume
>
>
>
> ### Add io-threads feature
> volume iot_afr2
>   type performance/io-threads
>   subvolumes afr2
> end-volume
>
> ### Add readahead feature
> volume readahead_afr2
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_afr2
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_afr2
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_afr2
> end-volume
>
> ### Add writeback feature
> volume writeback_afr2
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_afr2
> end-volume
>
>
>
> ### Add io-threads feature
> volume iot_afr3
>   type performance/io-threads
>   subvolumes afr3
> end-volume
> ### Add readahead feature
> volume readahead_afr3
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_afr3
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_afr3
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_afr3
> end-volume
>
> ### Add writeback feature
> volume writeback_afr3
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_afr3
> end-volume
>
>
>
> ### Add io-threads feature
> volume iot_afr4
>   type performance/io-threads
>   subvolumes afr4
> end-volume
>
> ### Add readahead feature
> volume readahead_afr4
>   type performance/read-ahead
>  option page-size 1MB      # unit in bytes
>   option page-count 2       # cache per file  = (page-count x page-size)
>   subvolumes iot_afr4
> end-volume
>
> ### Add IO-Cache feature
> volume iocache_afr4
>   type performance/io-cache
>   option page-size 256KB
>   option page-count 2
>   subvolumes readahead_afr4
> end-volume
>
> ### Add writeback feature
> volume writeback_afr4
>   type performance/write-behind
>   option aggregate-size 1MB  #option flush-behind off
>   subvolumes iocache_afr4
> end-volume
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
>


-- 
hard work often pays off after time, but laziness always pays off now
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20090102/50114d3a/attachment-0003.html>


More information about the Gluster-devel mailing list