[Gluster-users] Problems with folders not being created on newly added disks

Liam Slusser lslusser at gmail.com
Wed Sep 9 12:04:37 UTC 2009


You should really upgrade to gluster 2.0.6, there has been many bug  
fixes.

ls



On Sep 9, 2009, at 4:36 AM, Roland Rabben <roland at jotta.no> wrote:

> Hi
> I am using GlusterFS 2.02 on Ubuntu 9.04 64 bit. I have 4 data-nodes  
> and 3
> clients. Se my vol files at the end of this email.
>
> After adding more disks to my data-nodes for more capacity and  
> reconfiguring
> GlusterFS to include those drives I am experiencing problems.
>
> I am getting "No such file or directory" if I try to copy a new file  
> into an
> existing directory.
> However, if I copy a new file into a new directory everyting works  
> fine.
>
> It seems that if I create the folderstructure from the old data- 
> nodes on the
> new disks, everything works fine.
>
> So my questions are?
>
> 1. Am I doing somthing wrong in the upgrade process?
> 2. Do I need to manually create the existing folders on the new hard  
> drives?
> 3. Self heal does not fix this. Shouldn't it?
> 4. Is there a tool that will create the folderstructure on the new  
> disks for
> me?
>
>
> Client vol file example:
> =================
> # DN-000
> volume dn-000-01
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-000
>        option remote-subvolume brick-01
> end-volume
>
> volume dn-000-02
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-000
>        option remote-subvolume brick-02
> end-volume
>
> volume dn-000-03
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-000
>        option remote-subvolume brick-03
> end-volume
>
> volume dn-000-04
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-000
>        option remote-subvolume brick-04
> end-volume
>
>
> volume dn-000-ns
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-000
>        option remote-subvolume brick-ns
> end-volume
>
> # DN-001
> volume dn-001-01
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-001
>        option remote-subvolume brick-01
> end-volume
>
> volume dn-001-02
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-001
>        option remote-subvolume brick-02
> end-volume
>
> volume dn-001-03
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-001
>        option remote-subvolume brick-03
> end-volume
>
> volume dn-001-04
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-001
>        option remote-subvolume brick-04
> end-volume
>
> volume dn-001-ns
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-001
>        option remote-subvolume brick-ns
> end-volume
>
> # DN-002
> volume dn-002-01
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-002
>        option remote-subvolume brick-01
> end-volume
>
> volume dn-002-02
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-002
>        option remote-subvolume brick-02
> end-volume
>
> volume dn-002-03
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-002
>        option remote-subvolume brick-03
> end-volume
>
> volume dn-002-04
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-002
>        option remote-subvolume brick-04
> end-volume
>
> # DN-003
> volume dn-003-01
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-003
>        option remote-subvolume brick-01
> end-volume
>
> volume dn-003-02
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-003
>        option remote-subvolume brick-02
> end-volume
>
> volume dn-003-03
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-003
>        option remote-subvolume brick-03
> end-volume
>
> volume dn-003-04
>        type protocol/client
>        option transport-type tcp
>        option remote-host dn-003
>        option remote-subvolume brick-04
> end-volume
>
> # Replicate data between the servers
> # Use pairs, but swtich the order to distribute read load
> volume repl-000-001-01
>        type cluster/replicate
>        subvolumes dn-000-01 dn-001-01
> end-volume
>
> volume repl-000-001-02
>        type cluster/replicate
>        subvolumes dn-001-02 dn-000-02
> end-volume
>
> volume repl-000-001-03
>        type cluster/replicate
>        subvolumes dn-000-03 dn-001-03
> end-volume
>
> volume repl-000-001-04
>        type cluster/replicate
>        subvolumes dn-001-04 dn-000-04
> end-volume
>
>
> volume repl-002-003-01
>        type cluster/replicate
>        subvolumes dn-002-01 dn-003-01
> end-volume
>
> volume repl-002-003-02
>        type cluster/replicate
>        subvolumes dn-003-02 dn-002-02
> end-volume
>
> volume repl-002-003-03
>        type cluster/replicate
>        subvolumes dn-002-03 dn-003-03
> end-volume
>
> volume repl-002-003-04
>        type cluster/replicate
>        subvolumes dn-003-04 dn-002-04
> end-volume
>
>
> # Also replicate the namespace
> volume repl-ns
>        type cluster/replicate
>        subvolumes dn-000-ns dn-001-ns
> end-volume
>
> # Distribute the data using the "adaptive least usage" scheduler
> # We have a 5GB treshold for disk-usage first, then we look at write- 
> usage,
> and finanly read-usage
> volume dfs
>        type cluster/unify
>        option namespace repl-ns
>        option scheduler alu
>        option scheduler.limits.min-free-disk 5%
>        option scheduler.alu.order disk-usage:write-usage:read-usage
>        option scheduler.alu.disk-usage.entry-threshold 5GB
>        option scheduler.alu.disk-usage.exit-threshold 1GB
>        option scheduler.alu.write-usage.entry-threshold 25
>        option scheduler.alu.write-usage.exit-threshold 5
>        option scheduler.alu.read-usage.entry-threshold 25
>        option scheduler.alu.read-usage.exit-threshold 5
>        subvolumes repl-000-001-01 repl-000-001-02 repl-000-001-03
> repl-000-001-04 repl-002-003-01 repl-002-003-02 repl-002-003-03
> repl-002-003-04
>
> end-volume
>
> # Enable write-behind to decrease write latency
> volume wb
>        type performance/write-behind
>        option flush-behind off
>        option cache-size 128MB
>        subvolumes dfs
> end-volume
>
> volume cache
>        type performance/io-cache
>        option cache-size 1024MB
>        subvolumes wb
> end-volume
>
>
>
>
>
> Server vol file example:
> ==================
> # The posix volumes
> volume posix-01
>    type storage/posix
>    option directory /mnt/data01
> end-volume
>
> volume posix-02
>    type storage/posix
>    option directory /mnt/data02
> end-volume
>
> volume posix-03
>        type storage/posix
>        option directory /mnt/data03
> end-volume
>
> volume posix-04
>        type storage/posix
>        option directory /mnt/data04
> end-volume
>
>
> volume posix-ns
>    type storage/posix
>    option directory /var/lib/glusterfs/ns
> end-volume
>
> # Add locking capabilities
> volume locks-01
>    type features/locks
>    subvolumes posix-01
> end-volume
>
> volume locks-02
>    type features/locks
>    subvolumes posix-02
> end-volume
>
> volume locks-03
>        type features/locks
>        subvolumes posix-03
> end-volume
>
> volume locks-04
>        type features/locks
>        subvolumes posix-04
> end-volume
>
>
> volume locks-ns
>    type features/locks
>    subvolumes posix-ns
> end-volume
>
> # Finally add threads to the briks
> volume brick-01
>    type performance/io-threads
>    option thread-count 8
>    subvolumes locks-01
> end-volume
>
> volume brick-02
>    type performance/io-threads
>    option thread-count 8
>    subvolumes locks-02
> end-volume
>
> volume brick-03
>        type performance/io-threads
>        option thread-count 8
>        subvolumes locks-03
> end-volume
>
> volume brick-04
>        type performance/io-threads
>        option thread-count 8
>        subvolumes locks-04
> end-volume
>
>
> volume brick-ns
>    type performance/io-threads
>    option thread-count 8
>    subvolumes locks-ns
> end-volume
>
> # Mount the posix drives as a network drive
> volume server
>    type protocol/server
>    option transport-type tcp
>    subvolumes brick-01 brick-02 brick-03 brick-04 brick-ns
>    option auth.addr.brick-01.allow 10.0.*
>    option auth.addr.brick-02.allow 10.0.*
>    option auth.addr.brick-03.allow 10.0.*
>    option auth.addr.brick-04.allow 10.0.*
>    option auth.addr.brick-ns.allow 10.0.*
> end-volume
>
>
>
> Regards
>
> Roland Rabben
> Founder & CEO Jotta AS
> Cell: +47 90 85 85 39
> Phone: +47 21 04 29 00
> Email: roland at jotta.no
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users



More information about the Gluster-users mailing list