Looks like the WD Red M.2 drives are SATA. The HA Yellow only works with NVME M.2 drives.
I have the nvme m.2
Is it possible that the yellow boots from the new and empty ssd? Because with the ssd installed, it doesn’t work anymore.
Good question. It depends on how the boot order is configured in the CM4. I had to change mine to boot from the NVME drive first.
Thanks for your answer. Do you know how to change the boot order?
I used this guide, as it explains it in detail. It does require a non-windows computer to make the necessary changes. I used another RPi 4 to do so.
Hey guys. I have my yellow PoE for a while now but still waiting on the CM4s to arrive. I will try to get another one, more expensive grr, but I’m wondering if there’s any advantage to have an M.2 or the pi ssd is enough.
Is there a noticeable performance boost with the NVMe? Or is there a particular use case that I’m missing?
I should point out that I have a Sinology NAS available on the network so backups would be done there.
Yes, the NVMe drive will be a little quicker than the eMMC which is found on some models of the CM4. Thus, one use case for booting off of an m.2 NVME drive is to allow you to purchase a CM4 without eMMC storage.
Another use is to allow the storage of much larger files. The eMMC maxes out at 32GB, while you can easily add a 1 to 2TB NVMe drive. I run an InfluxDB time-series database as an Add-on. That database can grow fairly larger over time.
Finally, even though eMMC is believed to much better than a microSD card… I still worry about it failing if one is using it exclusively for Home Assistant. Since it cannot be easily replaced when it wears out, I would choose to not use it exclusively on a HA Yellow. It is fine to install HAOS on the CM4’s eMMC storage, but I would still add a NVMe drive and make it the HAOS “Data Disk” to ensure the high volume of write I/O operations only hit the NVMe drive. The NVMe SSD’s will support a much higher number of write cycles, especially with wear leveling over a 512MB to 2TB drive. The 32GB eMMC just does not have as many flash memory cells to spread the writes over to prevent failures over time.
Hi everyone! I’m using a Home Assistant Yellow with its 16gb eMMC (the only option I could find with 4GB RAM when buying the CM4 Module). Now I’m interested in upgrading the storage.
I came here to find which model was better, I was thinking of finding something “server-grade”, just to have a product that lasts longer. Anyway I don’t do video recording or media sharing, only switches controlling.
I saw a post recommending this model: Kingston NV2 M.2 500GBS NV2S/500G. Any other recommendations? Anything with better “quality” that has been proven to work fine with the Yellow?
Thanks,
Rodrigo
Edit: I’m thinking of buying a 128 or 256 card, I think a 500 one might be too big, also any comments on this?
- The thread above has several references to known working SSDs - use the search.
- FAQ – Home Assistant Yellow
Thanks @FloatingBoater!
Just one question, if I use the “move data disk” will it move the whole installation to the NVMe? Or does it just move a part of it (the “data disk”?) and keep using the eMMC?
Thanks,
R.
The HA OS will stay on the eMMC. While things like the database will be moved to the NVMe drive as part of the Data Disk. This will drastically reduce I/O writes to the eMMC.
Here’s the tech details from my own Yellow move data disk:
As already mentioned, the internal eMMC basically only gets writes when you update HASS.
The jury is still out on using the extra user space to fill /media
with large files as it makes HASS backups big, slow, and unreliable for some (hence the benefit in 2023.06 from mounting files on a separate NAS - your music and video is available, but not part of HASS backups).
After I used the “move data disk” command, all the file system seems to have been moved to the NVMe disk:
I thought that the HA OS would lie somewhere under the “/” root directory, but maybe I’m wrong… Is there a way to verify where the HA OS really lies after “move data disk” is executed?
Hi ogiewon. Thanks for the reply. I ordered an CM4 without eMMC and ordered a M.2 to have a proper yellow setup.
Based on the official Home Assistant documentation, only the Boot/FW and OS are left on the eMMC after moving the data disk.
You’ve got console access, but the use of Docker containers by HASSOS abstracts and rather hides the actual storage devices - e.g. there’s no lsblk
command.
ls /dev/mmc* /dev/nvme*
should show the RPiCM4 eMMC (if you have one), and the added NVME SSD.
mount |grep nvme
will show the “user” data patitions on the SSD which you can compare with my version:
Other than that, the System and Storage pages under Settings try to hide the real workings of Linux mounts and devices.
Docker is a bit new for this greybeard sysadmin , but root /
looks to be really an immutable Docker HASSOS image, with user data mounted underneath.
Thank you for your reply, @FloatingBoater!
I do have some experience on Unix and Linux systems from several years ago, but Docker is a new to me. I obviously erroneously thought I was having a root shell in my terminal window…
Could you please give me some advice on two things:
-
After moving the data disk to NVMe, what is the correct way to verify that the ~9 mounts (kernel and system partitions) still exist on the eMMC disk?
-
If I decide to keep the data disk on the eMMC, is there a way to mount the NVMe disk so that it can be used e.g. for storing backups? What I have tried was to open a terminal window and use a simple mount command, but I received a “permission denied”. This made me somewhat confused since “whoami” still returned “root” in the terminal window. So I think that I may be missing all the necessary commands and arguments that are needed in the Home Assistant environment…
1, That’s what my post tried to give you - ls /dev/mmc* /dev/nvme*
2. Not easily. HASSOS is designed to be more of an appliance so you would need to boot with a generic Linux image to gain access to the tools needed to remove, repartition, and format the unused areas. I’d not recommend this as the space gained is small, the risk of error is high, and storing backups on the same hardware doesn’t give any resilience. The number of writes to the boot OS disk is very small (good for a soldered-on eMMC) and for the user database area very high (good for replaceable NVME SSD).
Thank you again, @FloatingBoater!
Ok, I’ll give up with my plans to use the NVMe as a backup device.
And yes, I did see the /dev/mmcblk* device names, but I had no visibility to the hassos-boot, hassos-kernel0 etc. mounts / partition contents.
After moving the data disk all mounted partitions were on NVMe device (and even before the move the hassos-* mounts where hidden somewhere). Maybe that’s because of the Docker stuff, so I guess I should just quit thinking Home Assistant Yellow as some kind of Unix/Linux system…