Revision 76bb661b
b/doc/design-2.1.rst | ||
---|---|---|
110 | 110 |
The code to export the list of VNC password files from the hypervisors to |
111 | 111 |
RedistributeConfig will be shared between the KVM and xen-hvm hypervisors. |
112 | 112 |
|
113 |
Disk/Net parameters |
|
114 |
~~~~~~~~~~~~~~~~~~~ |
|
115 |
|
|
116 |
Current State and shortcomings |
|
117 |
++++++++++++++++++++++++++++++ |
|
118 |
|
|
119 |
Currently disks and network interfaces have a few tweakable options and all the |
|
120 |
rest is left to a default we chose. We're finding that we need more and more to |
|
121 |
tweak some of these parameters, for example to disable barriers for DRBD |
|
122 |
devices, or allow striping for the LVM volumes. |
|
123 |
|
|
124 |
Moreover for many of these parameters it will be nice to have cluster-wide |
|
125 |
defaults, and then be able to change them per disk/interface. |
|
126 |
|
|
127 |
Proposed changes |
|
128 |
++++++++++++++++ |
|
129 |
|
|
130 |
We will add new cluster level diskparams and netparams, which will contain all |
|
131 |
the tweakable parameters. All values which have a sensible cluster-wide default |
|
132 |
will go into this new structure while parameters which have unique values will not. |
|
133 |
|
|
134 |
Example of network parameters: |
|
135 |
- mode: bridge/route |
|
136 |
- link: for mode "bridge" the bridge to connect to, for mode route it can |
|
137 |
contain the routing table, or the destination interface |
|
138 |
|
|
139 |
Example of disk parameters: |
|
140 |
- stripe: lvm stripes |
|
141 |
- stripe_size: lvm stripe size |
|
142 |
- meta_flushes: drbd, enable/disable metadata "barriers" |
|
143 |
- data_flushes: drbd, enable/disable data "barriers" |
|
144 |
|
|
145 |
Some parameters are bound to be disk-type specific (drbd, vs lvm, vs files) or |
|
146 |
hypervisor specific (nic models for example), but for now they will all live in |
|
147 |
the same structure. Each component is supposed to validate only the parameters |
|
148 |
it knows about, and ganeti itself will make sure that no "globally unknown" |
|
149 |
parameters are added, and that no parameters have overridden meanings for |
|
150 |
different components. |
|
151 |
|
|
152 |
The parameters will be kept, as for the BEPARAMS into a "default" category, |
|
153 |
which will allow us to expand on by creating instance "classes" in the future. |
|
154 |
Instance classes is not a feature we plan implementing in 2.1, though. |
|
155 |
|
|
156 |
|
|
113 | 157 |
External interface changes |
114 | 158 |
-------------------------- |
115 | 159 |
|
Also available in: Unified diff