Making the Case for SnapRAID: A Reliable Option for Home Servers
I’ve been experimenting with different RAID options for my home server, and I have to say, SnapRAID has caught my attention. As someone who’s not affiliated with any company, I just want to share my honest experience with this backup program. So, let’s dive in and explore what SnapRAID is all about and why I think it’s a viable option for home users.
What is SnapRAID?
SnapRAID is a backup program designed for disk arrays, which stores parity information for data recovery in case of up to six disk failures. It allows you to define data disks and parity disks, similar to traditional RAID, but with a twist – the parity data is not updated in real-time, but rather triggered by the user. This means you have more control over when the parity information is updated, which can be beneficial for home servers.
Benefits of SnapRAID
So, what are the benefits of using SnapRAID? For me, the biggest advantages are:
- No special formatting of the data drives is required, which means you can browse them like typical mount points.
- The only requirement is that your parity disks are as large or larger than your data disks, giving you the flexibility to mix and match different disk sizes and types.
- You can start using SnapRAID at any time, stop at any time, and add, remove, or migrate drives without any issues.
- If the number of failed disks exceeds the parity count, data loss is confined to the affected disks, and data on other disks remains accessible.
- Only the drive being used needs to spin, which means you can keep your drives spun down most of the time, reducing wear and tear.
Making SnapRAID Act Like Traditional RAID
Now, you might be wondering how SnapRAID can be used to create a single large file system, similar to traditional RAID. The answer lies in combining SnapRAID with rclone mount. This allows you to create a file system that spans all your data drives, giving you the flexibility to decide how to fill the drives.
Limitations and Ways to Address Them
Of course, no solution is perfect, and SnapRAID has its limitations. For example, 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. However, this can be addressed by scheduling regular parity updates, such as once a week.
- Rclone mount’s cache option can also cause issues, such as spinning up drives when creating new folders. To get around this, I use two mounts: one that mounts all data drives with a VFS cache, and another that mounts the file system of the first mount along with a “cache” folder on an 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 full setup look like? Here’s a breakdown:
- I use rclone mount with full VFS caching to mount all data drives.
- I use a second rclone mount with no caching to mount the first rclone instance and a “cache” folder on an 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 looking for a reliable and flexible solution for your home server, I highly recommend giving SnapRAID a try. It might not be the most conventional option, but it’s definitely worth considering.
Optymalny wybór dla serwerów domowych: SnapRAID
Ekperymentowałem z różnymi opcjami RAID dla mojego serwera domowego i muszę powiedzieć, że SnapRAID zwrócił moją uwagę. Jako osoba niezwiązana z żadną firmą, chcę podzielić się swoją uczciwą opinią na temat tego programu backupu. Zatem, zanurzmy się w tym, czym jest SnapRAID i dlaczego uważam, że jest to rozsądny wybór dla użytkowników domowych.
Czym jest SnapRAID?
SnapRAID to program backupu zaprojektowany dla tablic dysków, który przechowuje informacje o parzystości do odzyskiwania danych w przypadku awarii do sześciu dysków. Pozwala na definiowanie dysków z danymi i dysków z parzystością, podobnie jak w tradycyjnym RAID, ale z pewnym ograniczeniem – informacje o parzystości nie są aktualizowane w czasie rzeczywistym, ale są wyzwalane przez użytkownika. Oznacza to, że masz więcej kontroli nad tym, kiedy informacje o parzystości są aktualizowane, co może być korzystne dla serwerów domowych.
Zalety SnapRAID
Jakie są zalety korzystania z SnapRAID? Dla mnie największe korzyści to:
- Brak specjalnego formatowania dysków z danymi, co oznacza, że możesz przeglądać je jak zwykłe punkty montowania.
- Jedynym wymogiem jest to, że dyski z parzystością są tak duże lub większe jak dyski z danymi, co daje Ci elastyczność w mieszaniu i dopasowywaniu różnych rozmiarów i rodzajów dysków.
- Możesz zacząć korzystać z SnapRAID w dowolnym momencie, zatrzymać w dowolnym momencie, dodać, usunąć lub przenieść dyski bez żadnych problemów.
- Jeśli liczba uszkodzonych dysków przekracza liczbę dysków z parzystością, utrata danych jest ograniczona do poszczególnych dysków, a dane na innych dyskach pozostają dostępne.
- Tylko dysk, który jest używany, musi się kręcić, co oznacza, że możesz trzymać dyski wyłączone przez większość czasu, redukując zużycie.
Czy SnapRAID może działać jak tradycyjny RAID?
Teraz możesz się zastanawiać, jak SnapRAID może być użyty do utworzenia jednego, dużego systemu plików, podobnie jak w tradycyjnym RAID. Odpowiedź leży w połączeniu SnapRAID z rclone mount. Pozwala to na utworzenie systemu plików, który obejmuje wszystkie dyski z danymi, dając Ci elastyczność w decydowaniu, jak wypełnić dyski.
Ograniczenia i sposoby ich rozwiązywania
Oczywiście, żadne rozwiązanie nie jest idealne, i SnapRAID ma swoje ograniczenia. Na przykład, informacje o parzystości są aktualizowane tylko wtedy, gdy są wyzwalane przez użytkownika, co oznacza, że utrata danych może wystąpić, jeśli dysk ulegnie awarii przed zaktualizowaniem informacji o parzystości. Można to jednak rozwiązać, planując regularne aktualizacje informacji o parzystości, na przykład raz w tygodniu.
- Opcja cache w rclone mount może również powodować problemy, takie jak uruchamianie dysków przy tworzeniu nowych folderów. Aby rozwiązać ten problem, używam dwóch montowań: jednego, które montuje wszystkie dyski z danymi z cache VFS, i drugiego, które montuje system plików pierwszego montowania wraz z folderem “cache” na dysku SSD.
- Dyski z danymi mogą często się kręcić, jeśli dostęp do danych spoza cache. Aby rozwiązać ten problem, napisałem usługę systemową, która monitoruje dostęp do dysków z danymi i “dotyka” zawartości tego samego folderu w montowaniu, pushując wszystko do cache.
Moją pełną konfigurację
Więc, jaka jest moja pełna konfiguracja? Oto podsumowanie:
- Używam rclone mount z pełnym cache VFS, aby zamontować wszystkie dyski z danymi.
- Używam drugiego rclone mount bez cache, aby zamontować pierwsze montowanie wraz z folderem “cache” na dysku SSD, priorytetem jest dysk SSD.
- Mam usługę systemową, która “dotyka” wszystkich zawartości folderu w pierwszym montowaniu, jeśli jest wykryta aktywność na którymkolwiek z dysków z danymi.
- 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ę informacji o parzystości za pomocą skryptu pomocniczego.
Może to brzmieć trochę skomplikowanie, ale ufam, że jest to stabilne przez kilka miesięcy. Mam dwa dyski z danymi po 20 TB, jeden dysk z parzystością 20 TB i dysk cache 1 TB, a mój serwer średnio zużywa 7-12 watów z dyskami wyłączonymi przez 95% czasu.
Jeśli szukasz niezawodnego i elastycznego rozwiązania dla swojego serwera domowego, gorąco polecam wypróbowanie SnapRAID. Może to nie być najbardziej konwencjonalna opcja, ale na pewno jest warta rozważenia.