LVM thin provisioning
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| MAAS |
Undecided
|
Unassigned | ||
| curtin |
Wishlist
|
Unassigned |
Bug Description
It would be great it we could add a flag to be able to thin provision logical volumes via MAAS, when deploying the nodes.
http://
Changed in maas: | |
assignee: | nobody → Björn Tillenius (bjornt) |
Björn Tillenius (bjornt) wrote : | #1 |
Changed in maas: | |
status: | New → Incomplete |
assignee: | Björn Tillenius (bjornt) → nobody |
status: | Incomplete → New |
status: | New → Incomplete |
Ryan Harper (raharper) wrote : | #2 |
Reading through the manpage suggests that it's not just a flag, but
incorporating a new storage type; in particular, this is something
that needs thought:
"Blocks in a standard logical volume are allocated when the LV is created,
but blocks in a thin provisioned logical volume are allocated as they are
written. Because of this, a thin provisioned LV is given a virtual
size, and can then be much larger than physically available storage. The
amount of physical storage provided for thin provisioned LVs can be
increased later as the need arises."
We'll need to account for the idea that the size of a thin LV can exceed the
capacity of physical storage.
"Blocks in a standard LV are allocated (during creation) from the VG, but
blocks in a thin LV are allocated (during use) from a special "thin pool
LV". The thin pool LV contains blocks of physical storage, and blocks
in thin LVs just reference blocks in the thin pool LV"
One needs additional LV pools, the metadata pools need special handling, for
example, best practice indicates:
Specify devices for data and metadata LVs
"The data and metadata LVs in a thin pool are best created on separate
physical devices. To do that, specify the device name(s) at the end of
the lvcreate line. It can be especially helpful to use fast devices
for the metadata LV."
and
"To tolerate device failures, use raid for the pool data LV and pool
metadata LV. This is especially recommended for pool metadata LVs."
Changed in curtin: | |
importance: | Undecided → Wishlist |
status: | New → Triaged |
Changed in maas: | |
status: | Incomplete → New |
status: | New → Incomplete |
Is all you need to flag a LV to a thin pool? If so, that should be quite easy to do, but we need support in curtin for it first.
If you need more complex functionality, like creating LVs on top of the think pool, then we need a feature request in https:/ /discourse. maas.io/ c/features