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