Revision 902d661c

b/docs/admin-guide.rst
548 548

  
549 549
Overview
550 550
--------
551
Archipelago offers Copy-On-Write volumes based on pithos images
551 552

  
552 553
Architecture
553 554
------------
555
[place image here]
554 556

  
555 557
Prereqs
556 558
-------
559
The administrator must initialize the storage backend where archipelago volume
560
blocks will reside.
561

  
562

  
563
In case of a files backend, the administrator must create two directories. One
564
for the archipelago data blocks and one for the archipelago map blocks. These
565
should probably be over shared storage to enable sharing archipelago volumes
566
between multiple nodes. He or she, must also be able to supply a directory where
567
the pithos data and map blocks reside.
568

  
569
In case of a RADOS backend, the administrator must create two rados pools, one
570
for data blocks, and one for the map blocks. These pools, must be the same pools
571
used in pithos, in order to enable volume creation based on pithos images.
572

  
557 573

  
558 574
Installation
559 575
------------
576
Archipelago consists of
577

  
578
* ``libxseg0``: libxseg used to communicate over shared memory segments
579
* ``archipelago-kernel-dkms``: contains archipelago kernel modules to provide
580
  block devices to be used as vm disks
581
* ``archipelago``: user space tools and peers for the archipelago management and
582
  volume composition
583
* ``archipelago-ganeti``: ganeti ext storage scripts, that enable ganeti to
584
  provision VMs over archipelago
585

  
586
Performing
587

  
588
.. code-block:: console
589

  
590
  $ apt-get install archipelago-ganeti 
591

  
592
should fetch all the required packages and get you up 'n going with archipelago
593

  
594
Bare in mind, that custom librados is required, which is provided in the apt
595
repo of grnet.
596

  
597

  
598
Librados is a dependency of archipelago, even if you do not intend to use
599
archipelago over RADOS
560 600

  
561 601
Configuration
562 602
-------------
603
Archipelago should work out of the box with a RADOS backend, but basic
604
configuration can be done in ``/etc/default/archipelago`` .
605

  
606
If you wish to change the storage backend to files, set
607

  
608
.. code-block:: console
609

  
610
   STORAGE="files"
611

  
612
and provide the appropriate settings for files storage backend in the conf file.
613

  
614
These are:
615

  
616
* ``FILED_IMAGES``: directory for archipelago data blocks.
617
* ``FILED_MAPS``: directory for archipelago map blocks.
618
* ``PITHOS``: directory of pithos data blocks.
619
* ``PITHOSMAPS``: directory of pithos map blocks.
620

  
621
The settings for RADOS storage backend are:
622

  
623
* ``RADOS_POOL_MAPS``: The pool where archipelago and pithos map blocks reside.
624
  (Defaults to "maps")
625
* ``RADOS_POOL_BLOCKS``: The pool where archipelago and pithos data blocks
626
  reside. (Defaults to "blocks")
627

  
628
Examples can be found in the conf file.
629

  
630
Be aware that archipelago infrastructure doesn't provide default values for this
631
settings. If they are not set in the conf file, archipelago will not be able to
632
function.
633

  
634
Archipelago also provides ``VERBOSITY`` config options to control the output
635
generated by the userspace peers.
636

  
637
The available options are:
638

  
639
* ``VERBOSITY_BLOCKERB``
640
* ``VERBOSITY_BLOCKERM``
641
* ``VERBOSITY_MAPPER``
642
* ``VERBOSITY_VLMC``
643

  
644
and the available values are:
645

  
646
* 0 : Error only logging.
647
* 1 : Warning logging.
648
* 2 : Info logging.
649
* 3 : Debug logging. WARNING: This options produces tons of output, but the
650
  logrotate daemon should take care of it.
563 651

  
564 652
Working with Archipelago
565 653
------------------------
566 654

  
655
``archipelago`` provides basic functionality for archipelago.
656
Currently it supports the following commands:
657

  
658
* ``start``
659
* ``stop``
660
* ``restart``
661
* ``status``
662

  
663
``start``, ``stop``, ``restart`` can be combined with the ``-u / --user`` option
664
to affect only the userspace peers supporting archipelago.
665

  
666

  
667

  
567 668
Archipelago advanced operations
568 669
-------------------------------
569

  
670
The ``vlmc`` tool provides a way to interact with archipelago volumes
671

  
672
* ``vlmc map <volumename>``: maps the volume to a xsegbd device.
673
* ``vlmc unmap </dev/xsegbd[1-..]``: unmaps the specified device from the
674
  system.
675
* ``vlmc create <volumename> --snap <snapname> --size <size>``: creates a new
676
  volume named <volumename> from snapshot name <snapname> with size <size>.
677
    The ``--snap`` and ``--size`` are optional, but at least one of them is
678
    mandatory. e.g:
679

  
680
    ``vlmc create <volumename> --snap <snapname>`` creates a volume named
681
    volumename from snapshot snapname. The size of the volume is the same as
682
    the size of the snapshot.
683

  
684
    ``vlmc create <volumename> --size <size>`` creates an empty volume of size
685
    <size> named <volumename>.
686
* ``vlmc remove <volumename>``: removes the volume and all the related
687
  archipelago blocks from storage.
688
* ``vlmc list``: provides a list of archipelago volumes. Currently only works
689
  with RADOS storage backend.
570 690

  
571 691

  
572 692
The "kamaki" API client

Also available in: Unified diff