[Sheepdog] The system is still booting
Wido den Hollander
wido at pcextreme.nl
Fri Apr 9 15:16:54 CEST 2010
Hi,
Well, re-running fixed it, but i ran a mkfs before.
But i'm up and running again, will get back to testing right now.
--
Met vriendelijke groet,
Wido den Hollander
Hoofd Systeembeheer / CSO
Telefoon Support Nederland: 0900 9633 (45 cpm)
Telefoon Support België: 0900 70312 (45 cpm)
Telefoon Direct: (+31) (0)20 50 60 104
Fax: +31 (0)20 50 60 111
E-mail: support at pcextreme.nl
Website: http://www.pcextreme.nl
Kennisbank: http://support.pcextreme.nl/
Netwerkstatus: http://nmc.pcextreme.nl
On Fri, 2010-04-09 at 13:00 +0000, MORITA Kazutaka wrote:
> Hi,
>
> Thanks for trying.
>
> On 2010/04/09 21:21, Wido den Hollander wrote:
> > root at osd1:~# /usr/local/bin/qemu-img create -f sheepdog vm002 50G
> > Formatting 'vm002', fmt=sheepdog size=53687091200
> > do_sd_create 1143: The system is still booting, vm002
> > qemu-img: Error while formatting
> > root at osd1:~#
> >
> > Now that seems odd, but when checking my cluster i got:
> >
> > root at osd1:~# shepherd info -t cluster
> > startup
> >
> > Ctime Epoch Nodes
>
> Did you run `shepherd mkfs`?
> Sheepdog doesn't accept any operations until mkfs is invoked.
>
> > root at osd1:~# shepherd info -t sheep
> > Id Size Used Use%
> >
> > Total 0.0 MB 0.0 MB -2147483648%, total virtual VDI Size 0.0 MB
> > root at osd1:~#
> >
> > As you can see the sizes of the nodes is not detected correctly..
> >
>
> I think you can get the right information after running `shepherd mkfs`.
> The following patch fix showing wrong message when shepherd cannot any
> information from cluster nodes.
>
> diff --git a/shepherd/shepherd.c b/shepherd/shepherd.c
> index 471c0e1..fb554b0 100644
> --- a/shepherd/shepherd.c
> +++ b/shepherd/shepherd.c
> @@ -926,6 +926,7 @@ int info(enum info_type type, enum format_type format, char *name,
> int i, ret = -1;
> uint64_t total_size = 0, total_avail = 0, total_vdi_size = 0;
> char total_str[8], avail_str[8], vdi_size_str[8];
> + int success;
>
> if (real_time) {
> setupterm(NULL, 1, (int *)0);
> @@ -983,6 +984,7 @@ rerun:
> case INFO_SHEEP:
> printf("Id\tSize\tUsed\tUse%%\n");
>
> + success = 0;
> for (i = 0; i < nr_nodes; i++) {
> char name[128];
> int fd;
> @@ -1010,9 +1012,11 @@ rerun:
> size_to_str(rsp->store_size, store_str, sizeof(store_str));
> size_to_str(rsp->store_size - rsp->store_free, free_str,
> sizeof(free_str));
> - if (!ret && rsp->result == SD_RES_SUCCESS)
> + if (!ret && rsp->result == SD_RES_SUCCESS) {
> printf("%2d\t%s\t%s\t%3d%%\n", i, store_str, free_str,
> (int)(((double)(rsp->store_size - rsp->store_free) / rsp->store_size) * 100));
> + success++;
> + }
>
> total_size += rsp->store_size;
> total_avail += rsp->store_free;
> @@ -1020,6 +1024,12 @@ rerun:
>
> printf("\n");
>
> + if (success == 0) {
> + fprintf(stderr, "cannot get information from any nodes\n");
> + ret = -1;
> + break;
> + }
> +
> parse_vdi(cal_total_vdi_size, &total_vdi_size);
>
> size_to_str(total_size, total_str, sizeof(total_str));
>
More information about the sheepdog
mailing list