-
Notifications
You must be signed in to change notification settings - Fork 31
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
Update info re mixed raid levels Web-UI compatibility #468 #515
Merged
phillxnet
merged 10 commits into
rockstor:master
from
phillxnet:468-Update-info-re-mixed-raid-levels-Web-UI-compatibility
Dec 5, 2024
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b57bb7e
Update info re mixed raid levels Web-UI compatibility #468
phillxnet 4626569
review - formatting re '/' #468
phillxnet 6affb87
review - comma readability #468
phillxnet c26c8b3
review - comma readability #468
phillxnet eb31343
review - clarification re pool import #468
phillxnet 847ea8d
review - comma readability & hyphen use #468
phillxnet 71a9ac6
review - be more specific at cost of repeating 'Rockstor' #468
phillxnet 7dc3666
review - 'currently' as in flux re btrfs status #468
phillxnet ea0ca24
review - 'currently' as in flux re btrfs status #468
phillxnet 6f77503
review - use hyphen #468
phillxnet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -6,11 +6,12 @@ Installing the Stable Kernel Backport | |||||
.. warning:: | ||||||
|
||||||
This How-to is intended for advanced users only. | ||||||
It's contents are likely irrelevant unless you require capabilities beyond our default openSUSE base. | ||||||
Its contents are likely irrelevant, unless you require capabilities beyond our default openSUSE base. | ||||||
We include these instructions with the proviso that they will significantly modify your system from our upstream base. | ||||||
As such you will be running a far less tested system, and consequently may face more system stability/reliability risks. | ||||||
N.B. Pools created with this newer kernel have the newer free space tree i.e. (space_cache=v2). | ||||||
Future imports require kernels which are equally new/capable (at least ideally). | ||||||
N.B. Pools created with this newer kernel have the newer free space tree (i.e., space_cache=v2). | ||||||
As do Pools created using "Built on openSUSE" Leap 15.6 and newer instances. | ||||||
Future pool imports require kernels which are equally new/capable (at least ideally). | ||||||
|
||||||
If you are reporting issues on our `Community Forum <https://forum.rockstor.com/>`_ | ||||||
or in any of our `GitHub <https://github.com/rockstor>`_ repositories, | ||||||
|
@@ -19,16 +20,16 @@ please indicate if you have applied these changes. | |||||
Install all updates before following these instructions. | ||||||
And test your system again after a reboot to ensure that this procedure is still necessary. | ||||||
|
||||||
As of writing, the Leap version used in our v4 "Built on openSUSE" comes with many openSUSE/SuSE organised patches. | ||||||
As of writing, the Leap version used in our "Built on openSUSE" comes with many openSUSE/SuSE organised patches. | ||||||
Almost all of these patches are backports from newer kernels, | ||||||
applied to a designated 'base' kernel version. | ||||||
As such the running kernel is newer than its 'base' version indicates. | ||||||
|
||||||
Rockstor V4 "Built on openSUSE" no longer installs newer kernels than its upstream OS, | ||||||
as it once did when based on CentOS 7 (Rockstor v3). | ||||||
Rockstor "Built on openSUSE" does not install newer kernels than its upstream OS, | ||||||
as it once did when based on CentOS 7 (Rockstor v3 and earlier). | ||||||
That is primarily because it is no longer necessary, | ||||||
our new upstream actively maintains btrfs and employs some of the key btrfs contributors. | ||||||
As a result all relevant btrfs backports are already in our upstream default kernel. | ||||||
As a result many relevant btrfs backports are already in our upstream default kernel. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
But in some situations it may be desirable to enable a newer base kernel version. | ||||||
|
||||||
.. _why_newer_kernel: | ||||||
|
@@ -46,20 +47,29 @@ There are two main reasons: | |||||
Btrfs raid 5/6 read-only | ||||||
------------------------ | ||||||
|
||||||
OpenSUSE's Leap 15.3/15.4 default kernels restrict the parity raid levels of 5 & 6 to read-only. | ||||||
This decision was taken as the parity raid levels are far younger than the non parity levels of 0, 1, and 10. | ||||||
Rockstor's Web-UI supports btrfs raid 0, 1, 10, 5, and 6. | ||||||
See the following links for how other newer raid levels such as :ref:`raid1c3_raid1c4` and :ref:`mixed_raid_levels` are treated. | ||||||
OpenSUSE's Leap 15.3/15.4/15.5 default kernels restrict the parity raid levels of 5 & 6 to read-only. | ||||||
This decision was taken as the parity raid profiles are far younger than the non parity profiles of 0, 1, and 10. | ||||||
|
||||||
When creating a parity raid pool (volume in btrfs parlance) we see the following message in the system journal: | ||||||
From openSUSE Leap 15.6 this is no longer the case as a far newer kernel base was chosen. | ||||||
As such our "Built on openSUSE" Leap 15.6 variant and newer have read-write parity btrfs raid out-of-the-box. | ||||||
|
||||||
See :ref:`redundancyprofiles` for supported btrfs profiles per Rockstor version. | ||||||
|
||||||
Pre "Built on openSUSE" Leap 15.6, | ||||||
when creating a parity raid pool (volume in btrfs parlance), the following message appears in the system journal: | ||||||
|
||||||
.. code-block:: console | ||||||
|
||||||
kernel: btrfs: RAID56 is supported read-only, load module with allow_unsupported=1 | ||||||
|
||||||
Rather than just *allowing unsupported* it is proposed that instead we take advantage of a newer kernel. | ||||||
Rather than just *allowing unsupported* it was proposed that instead one took advantage of a newer kernel. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
In this case the upstream-of-openSUSE latest stable kernel version back-ported to openSUSE. | ||||||
And in turn Rockstor. | ||||||
|
||||||
.. warning:: | ||||||
|
||||||
As of Leap 15.6, there are far fewer btrfs reasons to use the Stable_kernel_Backport approach. | ||||||
Consider instead installing a later version of Rockstor, | ||||||
or following the appropriate in-place "Distribution update from 15.* to 15.*` howto. | ||||||
|
||||||
.. _newer_kernel_repos: | ||||||
|
||||||
|
@@ -118,48 +128,3 @@ In which case omit the "--no-recommends" option to also install these firmware | |||||
.. note:: | ||||||
|
||||||
A system reboot will be required for the above changes to take effect. | ||||||
|
||||||
.. _raid1c3_raid1c4: | ||||||
|
||||||
Btrfs raid1c3 raid1c4 | ||||||
--------------------- | ||||||
|
||||||
These raid levels are currently the newest available in btrfs. | ||||||
As they are based on the far more mature btrfs raid1 they may be considered more mature than the parity raid levels. | ||||||
They simply 'amplify' the number of copies stored across the same number of independent devices. | ||||||
|
||||||
- **raid1c3** - 3 copies across 3 independent drives. | ||||||
- **raid1c4** - 4 copies across 4 independent drives. | ||||||
|
||||||
The :ref:`stable_kernel_backport` above procedure also enables the use of these even newer btrfs raid levels. | ||||||
At least in the underlying operating system. | ||||||
|
||||||
.. note:: | ||||||
|
||||||
Rockstor 'allows' these raid levels but is currently un-aware of them. | ||||||
As such if any Pool modifications are enacted via the Web-UI, | ||||||
e.g :ref:`poolbalance` or :ref:`poolresize` the Rockstor defaults will be reasserted. | ||||||
See :ref:`dlbalance_re_raid` to reassert a custom raid profile. | ||||||
|
||||||
.. _mixed_raid_levels: | ||||||
|
||||||
Btrfs mixed raid levels | ||||||
----------------------- | ||||||
|
||||||
Btrfs, somewhat uniquely, can have one raid level for data and another for metadata. | ||||||
One approach to alleviate the currently know issues, design wise, in the btrfs parity raid levels, | ||||||
is to use: | ||||||
|
||||||
- **data** - btrfs raid5 or preferred raid6 | ||||||
- **metadata** - btrfs raid1c3 or preferred raid1c4 | ||||||
|
||||||
Note that with the preferred options above btrfs can have a 2 disk failure capability per pool. | ||||||
This is of particular interest to those running pools consisting of many devices. | ||||||
|
||||||
.. note:: | ||||||
|
||||||
As per the :ref:`raid1c3_raid1c4` note, Rockstor is unaware of some non standard data/metadata mixes. | ||||||
And likewise the Web-UI Pool operations of :ref:`poolbalance` or :ref:`poolresize` | ||||||
will undo any custom pool data/metadata mixed raid setup and revert to Rockstor defaults. | ||||||
See :ref:`dlbalance_re_raid` to re-assert a custom mixed raid arrangement. | ||||||
All other operations however should function as normal. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.