Re: Can't mount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 11/22/2014 10:39 PM, Mārtiņš Jakubovičs wrote:
Hmm, I have same output:

[root@gclient ~]# ./a.out
conversion of 1.0 gave ret: 0, value: 1.000000

And If I try to mount in servers, I got same problem ...
From Ubuntu machine I can't mount too, can't say is this client problem or server's ...
The issue is happening from gluster alright, just don't understand why :-(

here is the way to debug it in gdb:

22:43:59 :) ⚡ gdb /usr/local/sbin/glusterfs
GNU gdb (GDB) Fedora 7.6.50.20130731-19.fc20
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
..
Reading symbols from /usr/local/sbin/glusterfsd...done.
(gdb) b _gf_string2double
Function "_gf_string2double" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (_gf_string2double) pending.
(gdb) r --volfile-server=test1 --volfile-id=/test /mnt
Starting program: /usr/local/sbin/glusterfs --volfile-server=test1 --volfile-id=/test /mnt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, _gf_string2double (str=0x7ffff04f6f58 "1.0", n=0x639b60) at common-utils.c:940
940            double value     = 0.0;
Missing separate debuginfos, use: debuginfo-install glibc-2.18-12.fc20.x86_64 openssl-libs-1.0.1e-37.fc20.1.x86_64 zlib-1.2.8-3.fc20.x86_64
(gdb) n <<--- press 'n' and then enter
941            char   *tail     = NULL;
(gdb) <<--- just enter here, it repeats the previous 'n' command here as well.
942            int    old_errno = 0;
(gdb)
944            if (str == NULL || n == NULL) {
(gdb)
950            old_errno = errno;
(gdb)
951            errno = 0;
(gdb)
952            value = strtod (str, &tail);
(gdb)
953            if (str == tail)
(gdb)
956            if (errno == ERANGE || errno == EINVAL)
(gdb)
959            if (errno == 0)
(gdb)
960                    errno = old_errno;
(gdb) p value
$1 = 1
(gdb) n
962            if (tail[0] != '\0')
(gdb)
965            *n = value;
(gdb)
967            return 0;
(gdb)

I am extremely sorry to ask you to do this, but I don't know how else I can gather information :-(

Pranith

On 2014.11.22. 19:03, Pranith Kumar Karampuri wrote:

On 11/22/2014 09:36 PM, Mārtiņš Jakubovičs wrote:
And yes, as you mentioned, warning appears, but as this is test lab, I ignored it ...

On 2014.11.22. 18:04, Mārtiņš Jakubovičs wrote:
Hello,

Thanks for so fast response! Answers below.

On 2014.11.22. 17:55, Pranith Kumar Karampuri wrote:

On 11/22/2014 09:22 PM, Mārtiņš Jakubovičs wrote:
Hello all!

I am new in gluster world, and want to test this "beast" technology.
I created 4 CentOS 7 demo machines with two 50 gb disks in each machine for bricks. I installed gluster by this simple "howto": http://www.server-world.info/en/note?os=CentOS_7&p=glusterfs

All goes well, I created volume with "replica 2" options, and use all 8 bricks. Volume create successfully and I started it:

[root@gluster1 ~]# gluster volume start test
volume start: test: success
[root@gluster1 ~]# gluster volume info

Volume Name: test
Type: Distributed-Replicate
Volume ID: 226592b1-089f-4727-a009-19838078b7e7
Status: Started
Number of Bricks: 4 x 2 = 8
Transport-type: tcp
Bricks:
Brick1: gluster1:/brick1/test
Brick2: gluster1:/brick2/test
Brick3: gluster2:/brick1/test
Brick4: gluster2:/brick2/test
Brick5: gluster3:/brick1/test
Brick6: gluster3:/brick2/test
Brick7: gluster4:/brick1/test
Brick8: gluster4:/brick2/test
Could you let us know which version of gluster are you using? gluster should have thrown a warning when two bricks are chosen from same machine for replica pairs.

I am running gluster 3.6.1
[root@gluster1 ~]# glusterfsd --version
glusterfs 3.6.1 built on Nov  7 2014 15:16:38


But, when I try to mount volume in CentOS 7 machine I got error:

[root@gclient ~]# mount -t glusterfs gluster1:/test /mnt
WARNING: getfattr not found, certain checks will be skipped..

Error in log file:
[xlator.c:425:xlator_init] 0-fuse: Initialization of volume 'fuse' failed, review your volfile again
Could you please send the complete log.

Complete record when I try to mount from /var/log/glusterfs/mnt.log:

[2014-11-22 16:03:51.728816] I [MSGID: 100030] [glusterfsd.c:2018:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.6.1 (args: /usr/sbin/glusterfs --volfile-server=gluster1 --volfile-id=/test /mnt) [2014-11-22 16:03:51.729565] I [options.c:1163:xlator_option_init_double] 0-fuse: option attribute-timeout convertion failed value 1.0
attribute-timeout seems to be the problem as per the log above.

I tried testing this and things seem to be fine. May be I should know the behavior of the program on your system.

Could you compile the following c program and tell me the output:

==========================================
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

static int
_gf_string2double (const char *str, double *n)
{
        double value     = 0.0;
        char   *tail     = NULL;
        int    old_errno = 0;

        if (str == NULL || n == NULL) {
                errno = EINVAL;
                return -1;
        }

        old_errno = errno;
        errno = 0;
        value = strtod (str, &tail);
        if (str == tail)
                errno = EINVAL;

        if (errno == ERANGE || errno == EINVAL)
                return -1;

        if (errno == 0)
                errno = old_errno;

        if (tail[0] != '\0')
                return -1;

        *n = value;

        return 0;
}

int
main (int argc, char **argv)
{
        double value = 0.0;
        int ret = 0;

        ret = _gf_string2double ("1.0", &value);
        if (ret < 0)
printf ("conversion of 1.0 failed with %s", strerror(errno));
        else
printf ("conversion of 1.0 gave ret: %d, value: %lf", ret, value);
}
==========================================

Save this into 'file.c'
# gcc file.c
# ./a.out

It should print the following output:
conversion of 1.0 gave ret: 0, value: 1.000000.

Could you let me know what is the output on your machine?

Pranith
[2014-11-22 16:03:51.729593] E [xlator.c:425:xlator_init] 0-fuse: Initialization of volume 'fuse' failed, review your volfile again


Pranith

Would be grateful for any help!

Best regards,
Martins

_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-users



_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-users



_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-users





[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux