Skip to content

Commit

Permalink
Merge pull request #146 from kbdharun/feat/devlog-lvm
Browse files Browse the repository at this point in the history
feat: add LVM devlog, update roadmap
  • Loading branch information
mirkobrombin authored Nov 22, 2023
2 parents 7811409 + 0781588 commit b407ac5
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 8 deletions.
40 changes: 40 additions & 0 deletions articles/2023-11-22-vanilla-os-orchid-devlog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "Vanilla OS Orchid - Devlog 22 Nov"
description: "We are excited to announce that we have recently completed the transition to LVM thin provisioning in the installer."
published: true
date: 2023-09-22
keywords:
- Vanilla OS
- Vanilla OS Orchid
- Orchid
- Vanilla Installer
- Albius
- LVM
layout: article
comments: true
---

The root partitions combined taking up 40 GB of storage was one of the primary concerns of users of Vanilla OS Kinetic, and a majority of the storage space was left unused. Since last year, we have been discussing efficient alternatives with a smaller storage footprint.

A few weeks ago, we started working on [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)) (Logical Volume Management) thin provisioning support, for both our installer backend [Albius](https://github.com/Vanilla-OS/Albius) and the [Installer](https://github.com/Vanilla-OS/vanilla-installer) frontend.

LVM thin provisioning allows users to create virtual filesystems larger than the available physical storage. This is possible due to LVM thin pools allocating blocks when they are written, rather than when a volume gets created. Thin provisioning is commonly found in places like VPS clusters, where a provider can allocate a very large storage pool (e.g. 500TB) without needing to have that amount of physical storage. This way, they can provide customers with adequate storage limits and only buy more storage when it's actually needed.

We have successfully added LVM thin provisioning support to Vanilla OS with the recent [alpha build #89](https://vanillaos.org/download/orchid/alpha) (thanks to the incredible work of our Software Engineer, [**Mateus Melchiades**](https://github.com/matbme)). This setup allows us to have two virtual root partitions inside a single pool, as only the required space is being used. This opens up opportunities to have smaller installations with extra storage for you to store your data.

## New Partitioning Structure

With the introduction of LVM thin provisioning support, we are changing the default partitioning structure of Vanilla OS. The new manual partitioning requirements are:

- GPT/MBR partitioning table (in Device selection)
- 1 GB (1024 MB) storage for Boot partition in `ext4` format.
- 512 MB storage for EFI (System) partition in `fat32` format.
- 20.5 GB (20992 MB) storage for the Root partition pool unformatted.
- Optionally, create a Swap partition for hibernation support (we use `zram` by default).
- The remaining storage should be used for the var partition in `btrfs` format. This partition is where all of your data is stored.

![Image of the new partitioning structure for LVM thin provisioning support](/uploads/lvm-partitioning-structure.webp)

With these changes and Full Disk Encryption support with LUKS, Orchid is gearing up to be a more efficient and secure release for all users. Try out the [alpha builds](https://vanillaos.org/download/orchid/alpha) today, and let us know if you stumble on any new issues.

_ Vanilla OS Team
Binary file added public/uploads/lvm-partitioning-structure.webp
Binary file not shown.
26 changes: 19 additions & 7 deletions src/views/Roadmap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ export default defineComponent({
},
{
name: 'LVM Thin Provisioning',
status: 'Ongoing',
date: 'No date yet',
status: 'Completed',
date: 'November 20 2023',
description: 'We are working on adding LVM Thin Provisioning support to Installer and Albius.'
},
{
Expand All @@ -61,22 +61,34 @@ export default defineComponent({
date: 'November 19 2023',
description: 'We are working on adding Android support to VSO through to a Waydroid implementation.',
},
{
name: 'Sideload Utility',
status: 'Ongoing',
date: 'No date yet',
description: 'We are working on a sideload utility for VSO to install DEBs and Android APKs with ease.',
},
{
name: 'Recovery mode in Installer',
status: 'Ongoing',
date: 'No date yet',
description: 'We are working on a recovery mode for our Installer with easy access to all recovery tools.',
},
{
name: 'nvidia-image',
status: 'Completed',
date: 'No date yet',
date: '30 April 2023',
description: 'We are working on the official nvidia image of Vanilla OS with proprietary NVIDIA® drivers pre-installed and pre-configured.',
},
{
name: 'desktop-image',
status: 'Ongoing',
date: 'No date yet',
status: 'Completed',
date: '30 April 2023',
description: 'We are working on the official desktop image of Vanilla OS.',
},
{
name: 'core-image',
status: 'Completed',
date: 'No date yet',
date: '30 April 2023',
description: 'We are working on the core image of Vanilla OS. This image will be used as a base for the desktop image and future flavors.',
},
{
Expand Down Expand Up @@ -118,7 +130,7 @@ export default defineComponent({
{
name: 'Vanilla Tools',
status: 'Completed',
date: 'No date yet',
date: '27 August 2023',
description: 'We are working on a set of tools to simplify some tasks.',
},
{
Expand Down
2 changes: 1 addition & 1 deletion src/views/Team.vue
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export default defineComponent({
},
{
name: 'Mateus B. Melchiades',
description: 'Software Engineer and Core Developer',
description: 'Software Engineer, Core Developer and Contributors Leader',
lit: true,
image: '/assets/images/pics/matbme.jpeg',
links: {
Expand Down

0 comments on commit b407ac5

Please sign in to comment.