[Gluster-users] Can't mount

Pranith Kumar Karampuri pkarampu at redhat.com
Sat Nov 22 17:18:53 UTC 2014


On 11/22/2014 10:39 PM, Mārtiņš Jakubovičs wrote:
> Hmm, I have same output:
>
> [root at 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 at gluster1 ~]# gluster volume start test
>>>>>> volume start: test: success
>>>>>> [root at 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 at 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 at 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 at gluster.org
>>>>>> http://supercolony.gluster.org/mailman/listinfo/gluster-users
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Gluster-users mailing list
>>> Gluster-users at gluster.org
>>> http://supercolony.gluster.org/mailman/listinfo/gluster-users
>>
>



More information about the Gluster-users mailing list