Hi,
Am Freitag, 25. November 2011, 19:54:42 schrieb Wido den Hollander:
> Hi Guido,
>
> On 11/25/2011 05:53 PM, Guido Winkelmann wrote:
> > Hi,
> >
> > When trying to mount a Ceph filesystem with "mount.ceph 10.3.1.33:6789:/
> > /mnt", the command hangs for several minutes and then fails with the
> > message
> >
> > mount error 5 = Input/output error
>
> Does "ceph -s" work? If so, what is the output?
It works. This is the output:
# ceph -s
2011-11-28 18:51:32.018383 pg v60: 6 pgs: 6 active+clean+degraded; 0 KB
data, 1292 KB used, 1750 GB / 1752 GB avail
2011-11-28 18:51:32.018610 mds e11: 1/1/1 up {0=alpha=up:creating}
2011-11-28 18:51:32.018698 osd e22: 1 osds: 1 up, 1 in
2011-11-28 18:51:32.018767 log 2011-11-28 18:50:16.299822 mon.0
10.3.1.33:6789/0 3 : [INF] mds.? 10.3.1.33:6800/21218 up:boot
2011-11-28 18:51:32.018833 mon e1: 1 mons at {ceph1=10.3.1.33:6789/0}
>
> > Background:
> >
> > I'm trying to set up a small 3-machine Ceph cluster, to be used for
> > network- transparent block- and file storage for Qemu server
> > virtualization. This is the first time I'm doing anything at all with
> > Ceph, so many of the concepts are still new and a bit confusing to me.
> >
> > My plan was to set up each of the three machines equally with one mon,
> > one osd and one mds, and to add more servers, or replace the existing
> > ones with bigger machines, as need arises.
>
> If should be enough to have 3 OSD's and 1 MON and 1 MDS, for basic
> testing that is all you'd need.
Well as long as I have three machines, I might as well go for some more
redundancy... No need to have the whole cluster fail just because the one node
with the mon or mds daemon goes down.
[...]
> > - make&& make install
> > - Copy src/init-ceph to /etc/init.d/
> > - Create /usr/local/etc/ceph/ceph.conf with this content:
> >
> > [global]
> >
> > max open files = 131072
> > log file = /var/log/ceph/$name.log
> > log_to_syslog = true
> > pid file = /var/run/ceph/$name.pid
>
> You want to log to syslog and files simultaneously? That will cause
> double the I/O on that system.
Well, I've switched off the syslog part now.
> > [mon]
> >
> > mon data = /mondata/$name
> >
> > [mon.ceph1]
> >
> > host = ceph1
> > mon addr = 10.3.1.33:6789
> >
> > [mds]
> >
> > keyring = /cephxdata/keyring.$name
>
> Why did you specify a keyring here? You did not enable the cephx
> authentication.
I suppose I just forgot that particular part. It doesn't seem to make any
difference though - I tried removing that line and restart ceph, it did not
change anything.
At first, I tried starting with Cephx, but that let to other errors, so I
disabled it to remove one variable when looking for the problem.
The biggest problem I still have with Cephx is lacking documentation. So far,
the best I have found is some offhand mention in the "Cluster_configuration"
page on the wiki and the man page to ceph-authtool. Maybe I've missed
something, but so far, I haven't anything that really explains how this is
supposed to work.
One thing in particular I don't get yet is why all example config files seem to
give each component a different keyring file. As far as I understood the
design,
each client will have to connect directly to every component (mon/mds/osd)
directly, so how can authentication still work if they each have their own
keyring?
> > [mds.alpha]
> >
> > host = ceph1
> >
> > [osd]
> >
> > osd data = /data/$name
> > osd journal = /data/$name/journal
> > osd journal size = 1000 ; journal size, in megabytes
> >
> > [osd.0]
> >
> > host = ceph1
> > btrfs devs = /dev/sda5 /dev/sdb5
>
> Does that actually work? Never tested with specifying to devices. What
> are you trying to do? Create a striped filesystem?
Well, mostly I was just trying to use the storage space from both harddisks in
this machine. Since the built-in multi-device capability of btrfs is one of
the most advertised features, this looked like the logical solution to me.
It looks like it's working, too. btrfs-show shows me a filesystem with two
devices, and twice the storage space of just one of them. The mounted
filesystem under /data can be used like any other filesystem...
Would you say I should go about this differently?
> > (Slightly adjusted from src/sample.ceph.conf, comments removed for
> > brevity)
> >
> > - Run mkcephfs -c /usr/local/etc/ceph/ceph.conf --mkbtrfs -a -k \
> > /usr/local/etc/ceph/keyring.bin
> > - Run /etc/init.d/ceph start
> >
> > After these steps, I tried to mount the ceph filesystem (on the same
> > machine) with "mount.ceph 10.3.1.33:6789:/ /mnt" and got the
> > aforementioned error.
> Mounting the Ceph filesystem on the same host as where your OSD is
> running is not recommended. Although it should probably work, you could
> run into some trouble.
Really? That's the first I've heard of that, and it seems quite counter-
intuitive, too.
Anyway, I've tried mounting the ceph filesystem from a different host, and the
result is exactly the same.
BTW, when I'm issuing the mount command, I can see these lines in dmesg:
libceph: client4602 fsid c8dd60a6-3dc7-6188-3f84-c58ff04f244a
libceph: mon0 10.3.1.33:6789 session established
> You could take a look at my ceph.conf: http://zooi.widodh.nl/ceph/ceph.conf
>
> That might give you some more clues!
Hm, I'm afraid it doesn't. It's neat to see a working cluster with 10 storage
nodes and IPv6, but it gives me no pointers as to why /my/ installation isn't
working.
Guido
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html