Remote Ceph Install

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

 



Hi,
I work for Harris Corporation, and we are investigating Ceph as a potential solution to a storage problem that one of our government customers is currently having.  I've already created a two-node cluster on a couple of VMs with another VM acting as an administrative client.  The cluster was created using some installation instructions supplied to us via Inktank, and through the use of the ceph-deploy script.  Aside from a couple of quirky discrepancies between the installation instructions and my environment, everything went well.  My issue has cropped up on the second cluster I'm trying to create, which is using a VM and a non-VM server for the nodes in the cluster.  Eventually, both nodes in this cluster will be non-VMs, but we're still waiting on the hardware for the second node, so I'm using a VM in the meantime just to get this second cluster up and going.  Of course, the administrative client node is still a VM.

The problem that I'm having with this second cluster concerns the non-VM server (elsceph01 for the sake of the commands mentioned from here on out).  In particular, the issue crops up with the ceph-deploy install elsceph01 command I'm executing on my client VM (cephclient01) to install Ceph on the non-VM server. The installation doesn't appear to be working as the command does not return the OK message that it should when it completes successfully.  I've tried using the verbose option on the command to see if that sheds any light on the subject, but alas, it does not:


root@cephclient01:~/my-admin-sandbox# ceph-deploy -v install elsceph01
DEBUG:ceph_deploy.install:Installing stable version argonaut on cluster ceph hosts elsceph01
DEBUG:ceph_deploy.install:Detecting platform for host elsceph01 ...
DEBUG:ceph_deploy.install:Installing for Ubuntu 12.04 on host elsceph01 ...
root@cephclient01:~/my-admin-sandbox#


Would you happen to have a breakdown of the commands being executed by the ceph-deploy script behind the scenes so I can maybe execute them one-by-one to see where the error is?  I have confirmed that it looks like the installation of the software has succeeded as I did a which ceph command on elsceph01, and it reported back /usr/bin/ceph.  Also, /etc/ceph/ceph.conf is there, and it matches the file created by the ceph-deploy new ... command on the client.  Does the install command do a mkcephfs behind the scenes?  The reason I ask is that when I do the ceph-deploy mon command from the client, which is the next command listed in the instructions to do, I get this output:


root@cephclient01:~/my-admin-sandbox# ceph-deploy mon
creating /var/lib/ceph/tmp/ceph-ELSCEPH01.mon.keyring
2012-11-15 11:35:38.954261 7f7a6c274780 -1 asok(0x260b000) AdminSocketConfigObs::init: failed: AdminSocket::bind_and_listen: failed to bind the UNIX domain socket to '/var/run/ceph/ceph-mon.ELSCEPH01.asok': (2) No such file or directory
Traceback (most recent call last):
  File "/usr/local/bin/ceph-deploy", line 9, in <module>
    load_entry_point('ceph-deploy==0.0.1', 'console_scripts', 'ceph-deploy')()
  File "/root/ceph-deploy/ceph_deploy/cli.py", line 80, in main
added entity mon. auth auth(auid = 18446744073709551615 key=AQBWDj5QAP6LHhAAskVBnUkYHJ7eYREmKo5qKA== with 0 caps)
    return args.func(args)
mon/MonMap.h: In function 'void MonMap::add(const string&, const entity_addr_t&)' thread 7f7a6c274780 time 2012-11-15 11:35:38.955024
mon/MonMap.h: 97: FAILED assert(addr_name.count(addr) == 0)
ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
2: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
3: (main()+0x12bb) [0x45ffab]
4: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
5: ceph-mon() [0x462a19]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
2012-11-15 11:35:38.955924 7f7a6c274780 -1 mon/MonMap.h: In function 'void MonMap::add(const string&, const entity_addr_t&)' thread 7f7a6c274780 time 2012-11-15 11:35:38.955024
mon/MonMap.h: 97: FAILED assert(addr_name.count(addr) == 0)

ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
2: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
3: (main()+0x12bb) [0x45ffab]
4: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
5: ceph-mon() [0x462a19]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

    -1> 2012-11-15 11:35:38.954261 7f7a6c274780 -1 asok(0x260b000) AdminSocketConfigObs::init: failed: AdminSocket::bind_and_listen: failed to bind the UNIX domain socket to '/var/run/ceph/ceph-mon.ELSCEPH01.asok': (2) No such file or directory
     0> 2012-11-15 11:35:38.955924 7f7a6c274780 -1 mon/MonMap.h: In function 'void MonMap::add(const string&, const entity_addr_t&)' thread 7f7a6c274780 time 2012-11-15 11:35:38.955024
mon/MonMap.h: 97: FAILED assert(addr_name.count(addr) == 0)

ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
2: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
3: (main()+0x12bb) [0x45ffab]
4: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
5: ceph-mon() [0x462a19]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

terminate called after throwing an instance of 'ceph::FailedAssertion'
*** Caught signal (Aborted) **
in thread 7f7a6c274780
ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: ceph-mon() [0x52569a]
2: (()+0xfcb0) [0x7f7a6b910cb0]
3: (gsignal()+0x35) [0x7f7a6a6ec425]
4: (abort()+0x17b) [0x7f7a6a6efb8b]
5: (__gnu_cxx::__verbose_terminate_handler()+0x11d) [0x7f7a6b03e69d]
6: (()+0xb5846) [0x7f7a6b03c846]
7: (()+0xb5873) [0x7f7a6b03c873]
8: (()+0xb596e) [0x7f7a6b03c96e]
9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1de) [0x5deb9e]
10: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
11: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
12: (main()+0x12bb) [0x45ffab]
13: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
14: ceph-mon() [0x462a19]
2012-11-15 11:35:38.957723 7f7a6c274780 -1 *** Caught signal (Aborted) **
in thread 7f7a6c274780

ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: ceph-mon() [0x52569a]
2: (()+0xfcb0) [0x7f7a6b910cb0]
3: (gsignal()+0x35) [0x7f7a6a6ec425]
4: (abort()+0x17b) [0x7f7a6a6efb8b]
5: (__gnu_cxx::__verbose_terminate_handler()+0x11d) [0x7f7a6b03e69d]
6: (()+0xb5846) [0x7f7a6b03c846]
7: (()+0xb5873) [0x7f7a6b03c873]
8: (()+0xb596e) [0x7f7a6b03c96e]
9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1de) [0x5deb9e]
10: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
11: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
12: (main()+0x12bb) [0x45ffab]
13: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
14: ceph-mon() [0x462a19]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

     0> 2012-11-15 11:35:38.957723 7f7a6c274780 -1 *** Caught signal (Aborted) **
in thread 7f7a6c274780

ceph version 0.48.2argonaut (commit:3e02b2fad88c2a95d9c0c86878f10d1beb780bfe)
1: ceph-mon() [0x52569a]
2: (()+0xfcb0) [0x7f7a6b910cb0]
3: (gsignal()+0x35) [0x7f7a6a6ec425]
4: (abort()+0x17b) [0x7f7a6a6efb8b]
5: (__gnu_cxx::__verbose_terminate_handler()+0x11d) [0x7f7a6b03e69d]
6: (()+0xb5846) [0x7f7a6b03c846]
7: (()+0xb5873) [0x7f7a6b03c873]
8: (()+0xb596e) [0x7f7a6b03c96e]
9: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1de) [0x5deb9e]
10: (MonMap::build_from_host_list(std::string, std::string)+0x738) [0x5988b8]
11: (MonMap::build_initial(CephContext*, std::ostream&)+0x113) [0x59bd53]
12: (main()+0x12bb) [0x45ffab]
13: (__libc_start_main()+0xed) [0x7f7a6a6d776d]
14: ceph-mon() [0x462a19]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

  File "/root/ceph-deploy/ceph_deploy/mon.py", line 125, in mon
    get_monitor_secret=get_monitor_secret,
  File "/root/ceph-deploy/virtualenv/local/lib/python2.7/site-packages/pushy-0.5.1-py2.7.egg/pushy/protocol/proxy.py", line 255, in <lambda>
    (conn.operator(type_, self, args, kwargs))
  File "/root/ceph-deploy/virtualenv/local/lib/python2.7/site-packages/pushy-0.5.1-py2.7.egg/pushy/protocol/connection.py", line 66, in operator
    return self.send_request(type_, (object, args, kwargs))
  File "/root/ceph-deploy/virtualenv/local/lib/python2.7/site-packages/pushy-0.5.1-py2.7.egg/pushy/protocol/baseconnection.py", line 323, in send_request
    return self.__handle(m)
  File "/root/ceph-deploy/virtualenv/local/lib/python2.7/site-packages/pushy-0.5.1-py2.7.egg/pushy/protocol/baseconnection.py", line 639, in __handle
    raise e
pushy.protocol.proxy.ExceptionProxy: Command '['ceph-mon', '--cluster', 'ceph', '--mkfs', '-i', 'ELSCEPH01', '--keyring', '/var/lib/ceph/tmp/ceph-ELSCEPH01.mon.keyring']' returned non-zero exit status -6


Which seems to indicate that the creation of the admin socket on the elsceph01 server didn't work.  I've verified that the /var/run/ceph/ceph-mon.ELSCEPH01.asok file does not exist on the elsceph01 server.  Any help on this issue would be greatly appreciated.

On a side note, I think the ceph-deploy command's verbose setting might be a little more helpful if it is a little more clear on the commands that are being executed for the installation of the software on the remote server, and their results.  Also, it might be a good idea to alter the exit status of the ceph-deploy command when an error occurs to a number that can be looked up in a map which indicates what went wrong.  This way even the non-verbose use of the command could still be helpful in figuring out what went wrong if something did go wrong.  Right now, ceph-deploy returns 0 for my failed installation.  It'd be really cool if it returned something like 14, which could be traced back to something like, mkcephfs failed on the remote server.  It's just a thought.

Thanks,

Todd

Todd Blackwell 
HARRIS Corporation 
Work: 321-984-6911 
Cell: 954-817-3662 
eblack04@xxxxxxxxxx 




--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux