Uncategorized

Making the case that SnapRAID is usually the best option for home servers

SnapRAID: The Unsung Hero of Home Server Storage

As someone who’s passionate about home servers, I’ve spent countless hours researching and experimenting with different storage options. And while RAID setups are all the rage, I’ve come to realize that SnapRAID is often the best choice for home users. In this post, I’ll explain what SnapRAID is, its benefits, and how to make it work seamlessly with your home server.

What is SnapRAID?

SnapRAID is a backup program designed for disk arrays, storing parity information for data recovery in the event of up to six disk failures. It lets you define data disks and parity disks, similar to traditional RAID, but the parity data is not updated in real-time – it’s triggered by the user. This might sound like a limitation, but trust me, it’s a game-changer for home servers.

Benefits of SnapRAID

So, what makes SnapRAID so great? For starters:

  • No special formatting of the data drives is required. You can browse them like typical mount points, making it easy to manage your files.
  • The only requirement is that your parity disks are as large or larger than your data disks. Other than that, you can mix and match sizes, types, and more.
  • You can start using SnapRAID at any time, stop at any time, add or remove drives without issue. It’s incredibly flexible.
  • If the number of failed disks exceeds the parity count, data loss is confined to the affected disks. The data on other disks remains accessible, giving you peace of mind.
  • Only the drive being used needs to spin, which means you can keep your drives spun down nearly all the time. This reduces wear and tear, making your drives last longer.

How to Make SnapRAID Act Like Traditional RAID

SnapRAID is just a backup tool, so it doesn’t combine drives into a single large file system. To get around this, I use rclone mount to create a file system from all my data drives. This allows me to decide how to fill the drives and makes it easy to manage my files.

Limitations and Ways to Address Them

Of course, SnapRAID isn’t perfect. There are some limitations to consider:

  • The parity is only updated when triggered by the user, which means data loss can occur if a drive fails before the parity is updated. To mitigate this, I update my parity once a week.
  • Rclone mount’s cache option can be a bit tricky. To get around this, I use two mounts: one for all my data drives with a VFS cache, and another that mounts the first mount along with a “cache” folder on my SSD.
  • Data drives can spin up frequently if data outside the cache is accessed. To address this, I wrote a system service that monitors data drive access and “touches” the contents of the same folder in the mount, pushing everything to the cache.

My Full Setup

So, what does my setup look like? Here’s a breakdown:

  • I use rclone mount with full VFS caching to mount all my data drives.
  • I use a second rclone mount with no caching to mount the first rclone instance and a “cache” folder on my SSD, prioritizing the SSD.
  • I have a custom system service that “touches” all contents of a folder in the first mount if activity is detected on any data drive.
  • Once a week, I run a script that changes to vfs-write-back to 1s, moves the files in the “cache” folder to the first mount, and then runs a parity update using a helper script.

It might sound a bit convoluted, but trust me, it’s been rock-solid for months. I have two 20TB data drives, one 20TB parity drive, and a 1TB cache drive, and my server averages 7-12 watts with the HDDs spun down 95% of the time.

If you’re in the market for a reliable and flexible storage solution for your home server, I highly recommend giving SnapRAID a try. It might not be the most well-known option, but it’s definitely worth considering.

SnapRAID: Nieznany Bohater Przechowywania Danych Na Serwerze Domowym

Jako osoba zainteresowana serwerami domowymi, spędziłem niezliczoną ilość godzin na badaniach i eksperymentach z różnymi opcjami przechowywania danych. I chociaż konfiguracje RAID są bardzo popularne, zdałem sobie sprawę, że SnapRAID jest często najlepszym wyborem dla użytkowników domowych. W tym poście wyjaśnię, co to jest SnapRAID, jego zalety i jak go wykorzystać w sposób niezawodny z Twoim serwerem domowym.

Co to jest SnapRAID?

SnapRAID to program backupu zaprojektowany dla macierzy dysków, przechowujący informacje o parzystości do odzyskiwania danych w przypadku awarii do sześciu dysków. Pozwala on zdefiniować dyski danych i dyski parzystości, podobnie jak w tradycyjnym RAID, ale dane parzystości nie są aktualizowane w czasie rzeczywistym – są wyzwalane przez użytkownika. Może to brzmieć jak ograniczenie, ale ufaj mi, jest to przełomowy moment dla serwerów domowych.

Zalety SnapRAID

Co sprawia, że SnapRAID jest tak dobry? Po pierwsze:

  • Brak specjalnego formatowania dysków danych. Można je przeglądać jak typowe punkty montowania, co ułatwia zarządzanie plikami.
  • Jedynym wymogiem jest to, aby dyski parzystości były tak duże lub większe niż dyski danych. Poza tym można mieszać i dopasowywać rozmiary, typy itp.
  • Można zacząć korzystać z SnapRAID w dowolnym momencie, zatrzymać w dowolnym momencie, dodać lub usunąć dyski bez problemu. Jest to niezwykle elastyczne.
  • Jeszcze jeden przykład, jeśli liczba uszkodzonych dysków przekracza liczbę dysków parzystości, utrata danych jest ograniczona do uszkodzonych dysków. Dane na innych dyskach pozostają dostępne, dając Ci spokój.
  • Tylko dysk, który jest używany, musi się kręcić, co oznacza, że możesz trzymać dyski wyłączone prawie cały czas. To redukuje zużycie i sprawia, że Twoje dyski działają dłużej.

Jak Zrobić SnapRAID Tak Jak Tradycyjny RAID

SnapRAID jest tylko narzędziem backupu, więc nie łączy dysków w jeden duży system plików. Aby to obejść, używam rclone mount, aby utworzyć system plików ze wszystkich moich dysków danych. To pozwala mi zdecydować, jak wypełnić dyski i ułatwia zarządzanie plikami.

Ograniczenia i Sposoby Ich Pokonywania

Oczywiście, SnapRAID nie jest idealny. Są pewne ograniczenia, które trzeba wziąć pod uwagę:

  • Parzystość jest aktualizowana tylko wtedy, gdy jest wyzwana przez użytkownika, co oznacza, że utrata danych może wystąpić, jeśli dysk ulegnie awarii przed zaktualizowaniem parzystości. Aby to złagodzić, aktualizuję moją parzystość raz w tygodniu.
  • Opcja cache w rclone mount może być trochę kłopotliwa. Aby to obejść, używam dwóch montowań: jednego dla wszystkich moich dysków danych z cache VFS i drugiego, który montuje pierwsze montowanie wraz z folderem “cache” na moim dysku SSD.
  • Dyski danych mogą często się kręcić, jeśli dostęp do danych poza cache jest wykonywany. Aby to rozwiązać, napisałem usługę systemową, która monitoruje dostęp do dysków danych i “dotyka” zawartości tego samego folderu w montowaniu, przesuwając wszystko do cache.

Cała Moja Konfiguracja

Więc, jak wygląda moja konfiguracja? Oto szczegóły:

  • Używam rclone mount z pełnym cache VFS, aby zamontować wszystkie moje dyski danych.
  • Używam drugiego rclone mount bez cache, aby zamontować pierwsze montowanie wraz z folderem “cache” na moim dysku SSD, priorytetem jest dysk SSD.
  • Mam usługę systemową, która “dotyka” wszystkich zawartości folderu w pierwszym montowaniu, jeśli aktywność jest wykryta na jakimkolwiek dysku danych.
  • Raz w tygodniu uruchamiam skrypt, który zmienia vfs-write-back na 1s, przenosi pliki w folderze “cache” do pierwszego montowania, a następnie uruchamia aktualizację parzystości za pomocą skryptu pomocniczego.

Może to brzmieć trochę skomplikowanie, ale ufaj mi, jest to niezawodne od miesięcy. Mam dwa dyski danych 20TB, jeden dysk parzystości 20TB i dysk cache 1TB, a mój serwer średnio zużywa 7-12 watów, przy czym dyski HDD są wyłączone 95% czasu.

Jeśli szukasz niezawodnego i elastycznego rozwiązania do przechowywania danych na serwerze domowym, gorąco polecam wypróbowanie SnapRAID. Może to nie być najbardziej znane rozwiązanie, ale jest na pewno warte rozważenia.

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Appliance - Powered by TurnKey Linux