F5F Stay Refreshed Software Operating Systems Assistance with NVMe RAID configuration for Linux installation

Assistance with NVMe RAID configuration for Linux installation

Assistance with NVMe RAID configuration for Linux installation

S
Sentio_Cege
Member
246
01-13-2016, 04:57 PM
#1
I recently made the switch entirely from Windows to Linux. At the time of switching, I was using a single 512GB NVMe drive as my boot device, and everything seemed normal. However, I encountered problems when trying to write data to both NTFS SSDs and HDDs. One HDD simply wouldn’t appear. After some investigation, I discovered that NVMe disables the final two SATA ports on the motherboard. So I removed all my SSDs and swapped them in with NVMe drives, along with replacing the old boot drive with a new one. Now I have three 1TB NVMe drives, and moved the three 8TB HDDs into the SATA ports so everything is recognized.

I attempted to set up RAID5 in BIOS as usual, but it turned out Linux wouldn’t recognize NVMe drives if the SATA mode was set to RAID. Therefore, I opted for software RAID instead. After some research, I found that mdadm is highly recommended for stability and became my go-to solution.

I’ve reviewed numerous guides and tutorials for mdadm, but nothing fully explained what I needed. I came across several low-quality YouTube videos in multiple languages with slow instructions, making it hard to find a clear, reliable resource.

So far, the most useful guidance came from Wendell at Level1Techs, who provided a “guide” but skipped the basics, assuming it was for advanced users. Since my installation worked out of the box with just one NVMe drive, I didn’t need to do any manual partitioning—everything was handled through the GUI with just a few clicks.

Currently, I’m stuck on the first partition setup. Should I create it in the terminal? Is there an option via “Disks” to handle this? Which NVMe is it for? Should I use EFI as the partition name? How do I mark it for EFI formatting? These questions are overwhelming.

I’d really appreciate any advice or commands that could help with these steps. I’m eager to move forward and create a simpler manual for someone new to this process.
S
Sentio_Cege
01-13-2016, 04:57 PM #1

I recently made the switch entirely from Windows to Linux. At the time of switching, I was using a single 512GB NVMe drive as my boot device, and everything seemed normal. However, I encountered problems when trying to write data to both NTFS SSDs and HDDs. One HDD simply wouldn’t appear. After some investigation, I discovered that NVMe disables the final two SATA ports on the motherboard. So I removed all my SSDs and swapped them in with NVMe drives, along with replacing the old boot drive with a new one. Now I have three 1TB NVMe drives, and moved the three 8TB HDDs into the SATA ports so everything is recognized.

I attempted to set up RAID5 in BIOS as usual, but it turned out Linux wouldn’t recognize NVMe drives if the SATA mode was set to RAID. Therefore, I opted for software RAID instead. After some research, I found that mdadm is highly recommended for stability and became my go-to solution.

I’ve reviewed numerous guides and tutorials for mdadm, but nothing fully explained what I needed. I came across several low-quality YouTube videos in multiple languages with slow instructions, making it hard to find a clear, reliable resource.

So far, the most useful guidance came from Wendell at Level1Techs, who provided a “guide” but skipped the basics, assuming it was for advanced users. Since my installation worked out of the box with just one NVMe drive, I didn’t need to do any manual partitioning—everything was handled through the GUI with just a few clicks.

Currently, I’m stuck on the first partition setup. Should I create it in the terminal? Is there an option via “Disks” to handle this? Which NVMe is it for? Should I use EFI as the partition name? How do I mark it for EFI formatting? These questions are overwhelming.

I’d really appreciate any advice or commands that could help with these steps. I’m eager to move forward and create a simpler manual for someone new to this process.

R
roohane5
Junior Member
17
01-22-2016, 05:54 PM
#2
preparing the drive with GDIsk: gdisk /dev/nvme0n1 o deletes all data // creates new partition 1st partition 512M //512 for efi EF00 // efi =-=-=-=-= Alternative cgdisk option ef02 =-=-==- First partition must be GPT for UEFI cgdisk /dev/nvme0n1 use format: mkfs.vfat -F32 /dev/<partition> You should increase the size of your boot partition a bit. After several kernel updates you might run out of space, so check cleaning methods. Other tools like fdisk are available depending on your distribution.
R
roohane5
01-22-2016, 05:54 PM #2

preparing the drive with GDIsk: gdisk /dev/nvme0n1 o deletes all data // creates new partition 1st partition 512M //512 for efi EF00 // efi =-=-=-=-= Alternative cgdisk option ef02 =-=-==- First partition must be GPT for UEFI cgdisk /dev/nvme0n1 use format: mkfs.vfat -F32 /dev/<partition> You should increase the size of your boot partition a bit. After several kernel updates you might run out of space, so check cleaning methods. Other tools like fdisk are available depending on your distribution.

C
Crispii
Junior Member
38
01-22-2016, 07:01 PM
#3
You entered the size as 512M and the system listed your NVMe devices correctly. When you used sudo gdisk /dev/nvme0n1, it didn’t show any partitions—just three non-partitioned NVMe drives named nvme0n1, nvme1n1, and nvme2n1. After creating the first partition, it prompted for the starting sector, which confused you. The default value mentioned was 2048, but you weren’t sure what units it referred to. The +/- KMGTP instruction likely indicated a unit conversion, probably kilobytes or megabytes. For your reference, when you create an EFI partition of 512MB, the first sector would typically start at 2048 sectors depending on the format. You’re wondering whether the system automatically adjusts the starting point based on previous allocations, and if so, how it handles overlapping or incremental sizes. Understanding these details is tricky, especially with limited guidance and late-night troubleshooting.
C
Crispii
01-22-2016, 07:01 PM #3

You entered the size as 512M and the system listed your NVMe devices correctly. When you used sudo gdisk /dev/nvme0n1, it didn’t show any partitions—just three non-partitioned NVMe drives named nvme0n1, nvme1n1, and nvme2n1. After creating the first partition, it prompted for the starting sector, which confused you. The default value mentioned was 2048, but you weren’t sure what units it referred to. The +/- KMGTP instruction likely indicated a unit conversion, probably kilobytes or megabytes. For your reference, when you create an EFI partition of 512MB, the first sector would typically start at 2048 sectors depending on the format. You’re wondering whether the system automatically adjusts the starting point based on previous allocations, and if so, how it handles overlapping or incremental sizes. Understanding these details is tricky, especially with limited guidance and late-night troubleshooting.

B
BHLxNJx
Posting Freak
881
01-25-2016, 01:13 PM
#4
The sector refers to how much data is stored in each part of a track on a disk. 2048 bytes is the typical size used historically for DVDs and CD-ROMs, which became standard before ISOs adopted it for efficiency. Remember: the old norm was 512 bytes. Some systems like servers or clusters use different sizes, which is why those options exist. The commands I provided for gdisk are valid. These notes help me when performing arch installations because I no longer want to re-read man pages. See how lsblk functions—here’s my current setup with an NVMe partition. Be aware, my device in this configuration is nvme1n1 simply because I used the 0x1N for another task. nvme1n1 259:0 0 465.8G / disk ├─nvme1n1p1 259:3 0 500M / part [SWAP] └─nvme1n1p3 259:5 0 417.3G / Now, all that matters is that this advice isn’t coming across as dismissive. If it feels overwhelming, installing Endeavour OS might be a better fit. It’s Arch with a calamari installer that handles most setup steps automatically. It covers the essentials, adds a few handy utilities, and everything can be removed if needed. https://endeavouros.com/ If you’re aiming for a full Arch installation and learning, I support that. But if you just need a functional Arch system quickly, this path is much smoother.
B
BHLxNJx
01-25-2016, 01:13 PM #4

The sector refers to how much data is stored in each part of a track on a disk. 2048 bytes is the typical size used historically for DVDs and CD-ROMs, which became standard before ISOs adopted it for efficiency. Remember: the old norm was 512 bytes. Some systems like servers or clusters use different sizes, which is why those options exist. The commands I provided for gdisk are valid. These notes help me when performing arch installations because I no longer want to re-read man pages. See how lsblk functions—here’s my current setup with an NVMe partition. Be aware, my device in this configuration is nvme1n1 simply because I used the 0x1N for another task. nvme1n1 259:0 0 465.8G / disk ├─nvme1n1p1 259:3 0 500M / part [SWAP] └─nvme1n1p3 259:5 0 417.3G / Now, all that matters is that this advice isn’t coming across as dismissive. If it feels overwhelming, installing Endeavour OS might be a better fit. It’s Arch with a calamari installer that handles most setup steps automatically. It covers the essentials, adds a few handy utilities, and everything can be removed if needed. https://endeavouros.com/ If you’re aiming for a full Arch installation and learning, I support that. But if you just need a functional Arch system quickly, this path is much smoother.

B
BaUKBenjamin
Junior Member
38
02-12-2016, 12:36 PM
#5
The Arch wiki proved to be an excellent reference for details. Previously, I worked as a distributor for Pop_OS during my time in the computer department, so I thought starting there would be logical—it's straightforward, essentially Ubuntu without issues, and includes Nvidia drivers. Eventually, I discovered a YouTube tutorial that closely matched my goals. It demonstrated a RAID1 configuration; I adjusted the commands accordingly and switched to RAID5 when instructed. For the drive allocation, I followed the example and repeated the process for three drives, achieving smooth operation. The setup uses btrfs, which surprised me, but it functions exceptionally well—extremely fast, supports snapshots for recovery, and maintains backups on each drive so a failed drive can be replaced without losing data. It even lets me continue working seamlessly. I don’t fully understand btrfs or the underlying mechanics, but now I have a fully functional NVMe RAID5 that runs Pop_OS 20.04 flawlessly. While I’d have preferred sticking with mdadm and Ext4 for learning purposes, this btrfs-based approach is proving to be highly effective. I’m still exploring further—I plan to build another old computer using available parts and keep experimenting until I grasp the system better.
B
BaUKBenjamin
02-12-2016, 12:36 PM #5

The Arch wiki proved to be an excellent reference for details. Previously, I worked as a distributor for Pop_OS during my time in the computer department, so I thought starting there would be logical—it's straightforward, essentially Ubuntu without issues, and includes Nvidia drivers. Eventually, I discovered a YouTube tutorial that closely matched my goals. It demonstrated a RAID1 configuration; I adjusted the commands accordingly and switched to RAID5 when instructed. For the drive allocation, I followed the example and repeated the process for three drives, achieving smooth operation. The setup uses btrfs, which surprised me, but it functions exceptionally well—extremely fast, supports snapshots for recovery, and maintains backups on each drive so a failed drive can be replaced without losing data. It even lets me continue working seamlessly. I don’t fully understand btrfs or the underlying mechanics, but now I have a fully functional NVMe RAID5 that runs Pop_OS 20.04 flawlessly. While I’d have preferred sticking with mdadm and Ext4 for learning purposes, this btrfs-based approach is proving to be highly effective. I’m still exploring further—I plan to build another old computer using available parts and keep experimenting until I grasp the system better.

Z
zNiceSh0t_
Junior Member
17
02-12-2016, 12:52 PM
#6
I struggled to fall asleep thinking I wasn't solving it, so I cleaned my drives again and kept going. Eventually, I succeeded with mdadm in EXT4, and everything is working well. I ran a benchmark and achieved 3.2GBps on RAID, compared to 2.8 on BTRFS—great improvement using EXT4. It’s definitely worth the effort to keep trying to understand mdadm. Thanks for your guidance! I had to revisit your advice around 42 times to fully grasp what you suggested, but now it’s running perfectly.
Z
zNiceSh0t_
02-12-2016, 12:52 PM #6

I struggled to fall asleep thinking I wasn't solving it, so I cleaned my drives again and kept going. Eventually, I succeeded with mdadm in EXT4, and everything is working well. I ran a benchmark and achieved 3.2GBps on RAID, compared to 2.8 on BTRFS—great improvement using EXT4. It’s definitely worth the effort to keep trying to understand mdadm. Thanks for your guidance! I had to revisit your advice around 42 times to fully grasp what you suggested, but now it’s running perfectly.

D
DreamDragon
Member
201
02-13-2016, 09:35 AM
#7
This discussion had some hidden elements. The subject was intriguing. (Anonymous - wendel spent a bit of time responding to your message on the L1tech platform. Would you like to let him know about your achievement too? Sorry for seeming overly eager))
D
DreamDragon
02-13-2016, 09:35 AM #7

This discussion had some hidden elements. The subject was intriguing. (Anonymous - wendel spent a bit of time responding to your message on the L1tech platform. Would you like to let him know about your achievement too? Sorry for seeming overly eager))

H
hamoooood
Member
194
02-13-2016, 12:18 PM
#8
I observed this approach, which helped me understand everything clearly. I just completed a complete beginner’s manual on the topic, making sure I could repeat the steps. I also recorded a video of the whole process that I need to refine now. I plan to create a separate thread for the guide so it stays organized and doesn’t mix in posts about trial-and-error attempts.
H
hamoooood
02-13-2016, 12:18 PM #8

I observed this approach, which helped me understand everything clearly. I just completed a complete beginner’s manual on the topic, making sure I could repeat the steps. I also recorded a video of the whole process that I need to refine now. I plan to create a separate thread for the guide so it stays organized and doesn’t mix in posts about trial-and-error attempts.