Revision 5d40c988
b/doc/design-resource-model.rst | ||
---|---|---|
688 | 688 |
Disk parameters |
689 | 689 |
~~~~~~~~~~~~~~~ |
690 | 690 |
|
691 |
The propose model for new disk parameters is a simple free-form one |
|
692 |
based on dictionaries, indexed per disk level (template or logical disk) |
|
693 |
and type (which depends on the level). At JSON level, since the object |
|
694 |
key has to be a string, we can encode the keys via a separator |
|
695 |
(e.g. slash), or by having two dict levels. |
|
691 |
The proposed model for the new disk parameters is a simple free-form one |
|
692 |
based on dictionaries, indexed per disk template and parameter name. |
|
693 |
Only the disk template parameters are visible to the user, and those are |
|
694 |
internally translated to logical disk level parameters. |
|
695 |
|
|
696 |
This is a simplification, because each parameter is applied to a whole |
|
697 |
nested structure and there is no way of fine-tuning each level's |
|
698 |
parameters, but it is good enough for the current parameter set. This |
|
699 |
model could need to be expanded, e.g., if support for three-nodes stacked |
|
700 |
DRBD setups is added to Ganeti. |
|
701 |
|
|
702 |
At JSON level, since the object key has to be a string, the keys can be |
|
703 |
encoded via a separator (e.g. slash), or by having two dict levels. |
|
696 | 704 |
|
697 | 705 |
+--------+-------------+-------------------------+---------------------+------+ |
698 | 706 |
|Disk |Name |Description |Current status |Type | |
699 | 707 |
|template| | | | | |
700 | 708 |
+========+=============+=========================+=====================+======+ |
701 |
|dt/plain|stripes |How many stripes to use |Configured at |int |
|
|
709 |
|plain |stripes |How many stripes to use |Configured at |int |
|
|
702 | 710 |
| | |for newly created (plain)|./configure time, not| | |
703 | 711 |
| | |logical voumes |overridable at | | |
704 | 712 |
| | | |runtime | | |
705 | 713 |
+--------+-------------+-------------------------+---------------------+------+ |
706 |
|dt/drdb |stripes |How many stripes to use |Same as for lvm |int |
|
|
714 |
|drbd |stripes |How many stripes to use |Same as for plain |int |
|
|
707 | 715 |
| | |for data volumes | | | |
708 | 716 |
+--------+-------------+-------------------------+---------------------+------+ |
709 |
|dt/drbd |metavg |Default volume group for |Same as the main |string|
|
|
717 |
|drbd |metavg |Default volume group for |Same as the main |string|
|
|
710 | 718 |
| | |the metadata LVs |volume group, | | |
711 | 719 |
| | | |overridable via | | |
712 | 720 |
| | | |'metavg' key | | |
713 |
| | | | | | |
|
714 | 721 |
+--------+-------------+-------------------------+---------------------+------+ |
715 |
|dt/drbd |metastripes |How many stripes to use |Same as for lvm |int |
|
|
722 |
|drbd |metastripes |How many stripes to use |Same as for lvm |int |
|
|
716 | 723 |
| | |for meta volumes |'stripes', suboptimal| | |
717 | 724 |
| | | |as the meta LVs are | | |
718 | 725 |
| | | |small | | |
719 | 726 |
+--------+-------------+-------------------------+---------------------+------+ |
720 |
|ld/drbd8|disk_barriers|What kind of barriers to |Either all enabled or|string|
|
|
727 |
|drbd |disk_barriers|What kind of barriers to |Either all enabled or|string|
|
|
721 | 728 |
| | |*disable* for disks; |all disabled, per | | |
722 | 729 |
| | |either "n" or a string |./configure time | | |
723 | 730 |
| | |containing a subset of |option | | |
724 | 731 |
| | |"bfd" | | | |
725 | 732 |
+--------+-------------+-------------------------+---------------------+------+ |
726 |
|ld/drbd8|meta_barriers|Whether barriers are |Handled together with|bool |
|
|
733 |
|drbd |meta_barriers|Whether barriers are |Handled together with|bool |
|
|
727 | 734 |
| | |enabled or not for the |disk_barriers | | |
728 | 735 |
| | |meta volume | | | |
729 |
| | | | | | |
|
730 | 736 |
+--------+-------------+-------------------------+---------------------+------+ |
731 |
|ld/drbd8|resync_rate |The (static) resync rate |Hardcoded in |int |
|
|
737 |
|drbd |resync_rate |The (static) resync rate |Hardcoded in |int |
|
|
732 | 738 |
| | |for drbd, when using the |constants.py, not | | |
733 | 739 |
| | |static syncer, in MiB/s |changeable via Ganeti| | |
734 |
| | | | | | |
|
735 |
| | | | | | |
|
736 |
| | | | | | |
|
737 | 740 |
+--------+-------------+-------------------------+---------------------+------+ |
738 |
|ld/drbd8|disk_custom |Free-form string that |Not supported |string|
|
|
741 |
|drbd |disk_custom |Free-form string that |Not supported |string|
|
|
739 | 742 |
| | |will be appended to the | | | |
740 | 743 |
| | |drbdsetup disk command | | | |
741 | 744 |
| | |line, for custom options | | | |
742 | 745 |
| | |not supported by Ganeti | | | |
743 | 746 |
| | |itself | | | |
744 | 747 |
+--------+-------------+-------------------------+---------------------+------+ |
745 |
|ld/drbd8|net_custom |Free-form string for | | |
|
|
748 |
|drbd |net_custom |Free-form string for |Not supported |string|
|
|
746 | 749 |
| | |custom net setup options | | | |
747 |
| | | | | | |
|
748 |
| | | | | | |
|
749 |
| | | | | | |
|
750 |
| | | | | | |
|
751 | 750 |
+--------+-------------+-------------------------+---------------------+------+ |
752 | 751 |
|
753 |
Note that the DRBD8 parameters will change once we support DRBD 8.4, |
|
754 |
which has changed syntax significantly; new syncer modes will be added |
|
755 |
for that release. |
|
752 |
Note that the DRBD parameters might change once Ganeti supports DRBD 8.4, in |
|
753 |
which the :command:`drbdsetup` syntax has changed significantly. |
|
754 |
Moreover, new parameters for the dynamic synchronization algorithm will |
|
755 |
be added for DRBD versions >= 8.3.9. |
|
756 | 756 |
|
757 | 757 |
All the above parameters are at cluster and node group level; as in |
758 | 758 |
other parts of the code, the intention is that all nodes in a node group |
759 |
should be equal. |
|
759 |
should be equal. It will later be decided to which node group give |
|
760 |
precedence in case of instances split over node groups. |
|
761 |
|
|
762 |
.. admonition:: FIXME |
|
763 |
|
|
764 |
Add details about when each parameter change takes effect (device |
|
765 |
creation vs. activation) |
|
760 | 766 |
|
761 | 767 |
Node parameters |
762 | 768 |
~~~~~~~~~~~~~~~ |
Also available in: Unified diff