Oh ya, one more:
- NVMe SSD in M.2 (basically an SSD right on the PCIe bus) works great in Linux, with a couple of gotchas:
- If you want to boot from it or use it in raid you need to tell dracut to include the nvme modules and load them super early in the boot process. Make a /etc/dracut.conf.d/nvme-before-raid.conf with: force_drivers+="nvme-core nvme"
Without that your raid will assemble before nvme is availabe and the nvme will be kicked from your raid every reboot.
- nvme drives are not /dev/sdX, they are /dev/nvme*. That means tools (like scripts I've written, hehe) that expect names to be like sda will not work without modification. Looks like the choice was taken in the kernel to make these their own class of device rather than pretend scsi like most disk interface out there. This has subtle implications for things like smart, raid, sdparm, etc.