Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for creating shared LVM setups #1123

Merged

Conversation

vojtechtrefny
Copy link
Member

This feature is requested by GFS2 for the storage role. This adds support for creating shared VGs and activating LVs in shared mode.

japokorn
japokorn previously approved these changes Aug 23, 2023
Copy link
Contributor

@japokorn japokorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
EDIT: After some testing I believe that setting up the shared LVM requires some additional changes in blivet.

@japokorn japokorn dismissed their stale review August 25, 2023 11:56

Further testing the subjest revealed a probable issue.

@japokorn
Copy link
Contributor

When creating the first shared VG (and using sanlock lock manager) vgcreate has to be given non-PV device otherwise VG creation will fail. This functionality does not seem to be handled. (When testing the thing I got the error message described in ref.)

Ref: lvmlockd(8) 'Creating the first sanlock VG'.

This feature is requested by GFS2 for the storage role. This adds
support for creating shared VGs and activating LVs in shared mode.
When creating the first shared VG (and using sanlock lock manager)
vgcreate has to be given non-PV device otherwise VG creation will
fail.
We need to be able to skip pvcreate when creating a shared VG and
that is not possible with LVM DBusD.
@vojtechtrefny
Copy link
Member Author

When creating the first shared VG (and using sanlock lock manager) vgcreate has to be given non-PV device otherwise VG creation will fail. This functionality does not seem to be handled. (When testing the thing I got the error message described in ref.)

Ref: lvmlockd(8) 'Creating the first sanlock VG'.

I added two more commits that should address this -- we don't really need to run pvcreate first, so we can just skip it for all shared VGs. I really hope this doesn't mean that only the first created VG must be created this way. There might be some more caveats so I am moving this to draft, let me know if the fix works.

Copy link
Contributor

@japokorn japokorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tl;dr: LGTM
Since the goal is the support of gfs2 we need not to support sanlock (which requires the non-PV thing).
Instead dlm lock manager is required.
I managed to test shared VG creation using storage role and ha_cluster system role.

I think this PR can be merged.

@vojtechtrefny vojtechtrefny marked this pull request as ready for review September 13, 2023 13:28
@vojtechtrefny vojtechtrefny merged commit 77b9e4c into storaged-project:3.8-devel Sep 13, 2023
11 checks passed
japokorn added a commit to japokorn/storage that referenced this pull request Oct 2, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)

Note: The test is incomplete. The part of it is commented out.
Running the complete test will result in LVM crash and will corrupt the machine.
Until resolved, this PR should not be merged.
japokorn added a commit to japokorn/storage that referenced this pull request Oct 3, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)

Note: The test is incomplete. The part of it is commented out.
Running the complete test will result in LVM crash and will corrupt the machine.
Until resolved, this PR should not be merged.
japokorn added a commit to japokorn/storage that referenced this pull request Oct 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 13, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 18, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Oct 18, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 9, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 15, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 15, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 15, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 28, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
japokorn added a commit to japokorn/storage that referenced this pull request Nov 28, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
richm pushed a commit to linux-system-roles/storage that referenced this pull request Dec 12, 2023
- feature requested by GFS2
- adds support for creating shared VGs
- shared LVM setup needs lvmlockd service with dlm lock manager to be running
- to test this change ha_cluster system role is used to set up degenerated cluster on localhost
- the test will be skipped if run locally due to an issue with underlying services
- requires blivet version with shared LVM setup support (storaged-project/blivet#1123)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants