Finish LVM support and implement RAID support in KDE Partition Manager and Calamares
KDE Partition Manager is a utility program that helps the management of disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, backup, restore partitions and resize without losing data. The program consists of a backend library, called kpmcore, and a user application that uses that library.
Calamares is a distribution-independent system installer, with an advanced partitioning feature for both manual and automated partitioning operations. It is designed to be customizable by distribution maintainers without need for cumbersome patching, thanks to third party branding and external modules support. It uses the kpmcore library to automate partitioning procedures.
One pending feature request for Calamares remains for LVM support. LVM support is currently finished in kpmcore and KDE Partition Manager, but there is some work to do in Calamares before proceeding to the other goals of this project. Furthermore, it is currently needed to implement RAID support in kpmcore, KDE Partition Manager and Calamares, which will offer a way to spread data across several disks, such that a single disk failure will not lose that data.
- Finish LVM VG support in Calamares.
- Implement RAID support in kpmcore.
- Implement RAID support GUI in KDE Partition Manager.
- Implement RAID support GUI in Calamares.
Finish LVM support in Calamares
This first goal involves finishing LVM support in Calamares. Calamares currently supports LVM Physical Volumes and LVM Logical Volumes. It is needed to implement the support to the process of creation, removal and resizing of LVM Volume Groups. These groups are used to gather existing storage devices and allocate logical units from the combined space as needed. These operations will need some new GUI elements in Calamares, such as some dialog boxes, menu entries and buttons.
Implement RAID support in kpmcore, KDE Partition Manager and Calamares
After finishing the first goal, I will start to implement RAID support in kpmcore and KDE Partition Manager. It is a data storage virtualization technology that combines multiple disk drive components into one or more logical units for the purposes of redundancy and performance improvement.
There are multiple levels (or types) of RAID, where each one define how the data is distributed across the drivers. Every level is determined by a number, such as 0, 1, 5, 6 and 10. Each level provides a different balance among these goals: reliability, availability, performance and capacity. RAID levels greater than 0 provide protection against unrecoverable sector read errors and failures of whole physical drives.
This goal involves implementing RAID support to kpmcore as a new type of file system and work in the creation of some new GUI elements in KDE Partition Manager and Calamares, offering full support to the manipulation of RAID arrays in these applications.
Community Bonding Period
During Community Bonding period, I've been in communication with my mentors (Adriaan de Groot and Andrius Stikonas), planning some goals and learn more about the codebase of KDE Partition Manager and Calamares. I'm getting more familiar with partitioning module in Calamares and LVM routines in KDE Partition Manager. In addition, I'm studying how LVM VG creation dialog works in KDE Partition Manager and how I can port it to Calamares and started solving some bugs and implementing some features related to LVM in kpmcore and partitionmanager. Also I'll take advantage of this first GSoC period to study more about mdadm tool, that will help me in the process of manipulation of RAID devices.
Coding Period - First weeks (May 14th to May 28th)
To be done.
Branches where I'm working
Email: [email protected]