My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
Christophe Dupont

7 likes

·

7.1K reads

6 comments

Leo “BLÅHAJ” Xue
Leo “BLÅHAJ” Xue
Feb 25, 2024

Thanks for sharing, I'm also interested in creating a personal file server, for which I have a few questions

  1. Since I currently have unraid installed, the reason I chose unraid was to be able to quickly add and remove hard disks and to be able to pull the hard disks out of the host machine and swap them out to another machine to read the data on them. I'd like to ask if the two software programs in your article can be used in conjunction with each other, and if multiple hard disks are used to form a pool, is it possible to pull out a single hard disk and still read and write the data on the remaining hard disks?
  2. What is the hardware configuration of your host machine? And what system are you using to install these two software and data sharing? The hardware configuration of my current unraid host is 4 core Celeron + 4gb of RAM, is this enough to configure mergerfs and snapraid as a file server? Do these two programs have high hardware requirements?
  3. In terms of your current usage, is the data security and capacity utilization of this solution high? I have 7 hard disks of different capacities, how should I configure them? (2 x 18t, 1 x 16t, 2 x 8t, 2 x 6t). These drives are mounted on many machines, 4 on unraid and windows and macOS configured for the remaining ones. If I were to set up a file server like yours, how could my existing data be transferred? What file system do you use in your OS and in these two programs?

All in all, thank you for discussing with me, I have tens of tons of data that are very scattered and need to be managed, and I just came across your blog on the internet, and the content in it has been very beneficial and inspiring, and I was wondering if you have just recently started blogging and then where do you live and work? I am very happy to see the birth of your new baby and hope you and your family are well, I have subscribed to your blog. I am a high school student and would like to pursue your profession, best wishes and thank you!

3
·
·2 replies
Christophe Dupont
Christophe Dupont
Author
·Feb 25, 2024

Hi Leo ! Thanks for your comment ! Let me try to answer your questions :

  1. Disclamer here : I generaly don't recommand swapping drives out of a NAS to access the content. The role of a NAS, is to have your content accessible throught the network, or a VPN if you are not at home. From experience, removing disks and moving them on regular basis, make them fail at a point of time. This been said, MergerFS is working very well when you disconnect a disk. Even if you disconnect all but one ! The only problem is that, in my tutorial, I prefer the files to be spread on the disks depending of their capacity. But you can choose other policies, for example, if you want all the subfolders of a root folder to be in the same disk. I invite you to check the policies here : github.com/trapexit/mergerfs?tab=readme-ov-.. SnapRAID on the other hand, is used only to generate parity data. If you remove one disk and you run snapraid sync or my script while disconnected, it will consider the files on the disconnected disk like deleted. This is why it is important to set a good DEL_THRESHOLD in my script so you don't sync in the case of a missing disk. So technicaly, the answer of your question is YES. Even if I don't really recommand this kind of usage.

  2. My machine is made of spare parts, with a cheap Ryzen 3 1200 (4 Cores), 8G of ram. It should be enough, but it depends of how much you store. MergerFS has some function to regulate memory usage and caching. SnapRAID has also some information about memory on their doc here snapraid.it/faq#mem But anyway, with my 8G of ram, everything works perfectly fine with 10T of data, and a lots of heavy docker container running.

  3. Security VS Capacity is most important quesiton of any RAID (or unraid) system. You usualy sacrifice disks for parity. The more you sacrifice, the more tolerant to failure you will be. You can in your configuration, put the parity data on one of your 18Tb disk, The rest will be available for storing your files (62TB for your files then). This makes your system tolerant to 1 disk failure. You can also choose to dedicate your 2x18Tb for parity ( 44Tb left for your files), in this case you will be able to recover your data, even with 2 disk failure at the same time. Maybe I don't understand correctly but you tell me that your drives are mounted on many machines. That implies different files systems no ? How are you currently working ? My server is with Ubuntu 22.04 LTS. All my drives are in ext4 filesystem. To transfer files from the NAS to my other computers, I use Samba.. It works quite well even if the transfer rates are not the craziest ! I also have "Resilio Sync" installed on it. It allows me to synchronise quickly files between my different computers, with offline access when I am not at home. And it is really fast. But their must be other solutions probably !

I hope I could answer some of your questions. It was a pleasure ! For your last questions. Let't say that blogging and making youtube videos, is something I would like to be able to do more, but it is hard for me to find the time to do all this. I am a French, living in Barcelona. I am a freelance tech lead, with a classical 9-5 job for a customer. But on the side of all this I try to create my own apps. My current project is Flowmodoro : flowmodoro.thenomadcode.tech The dream would be to have my own business to be able to travel the world all year long and work from anywhere. I work in development since more than 15 years, I have been CTO, created my own companies, all sorts of things.

Don't hesitate to follow me on twitter twitter.com/the_nomad_code and youtube (even if it is quite empty for now !) youtube.com/@thenomadcode

Wish you the best for your studies !

2
·
Leo “BLÅHAJ” Xue
Leo “BLÅHAJ” Xue
Feb 26, 2024

Thank you for your patience, I have to attend class in the morning and I can only wait until school is over now to reply to you!

  1. Your suggestion is really worth thinking about. You mentioned that as a rule of thumb, dismantling and moving disks periodically can cause them to fail. This is indeed something I have not considered, and on reflection I have realized that this is detrimental to the security of my current data storage. I am going to do as you say and keep the nas disk as a separate carrier on one machine and not remove it again. In fact, after reviewing my usage requirements again, I realized that what I actually need is a disk array with a little bit of nas functionality attached to it. My goal is to be able to access files in the same place on 2 computers and an ipad at home, I don't actually have a scenario where I need to use it away from home yet, and the network environment where I'm currently located doesn't allow me to expose the nas port (no public ip). I have one more question after reading your answer: after using snapraid and mergerfs to build several hard disks into a large pool, what should I do if I need to add hard disks to this pool or if one of the hard disks in the pool goes bad?

  2. my machine is a separate finished nas. i've looked at other people's experiences with it, and i think i still need to add another strip of ram to 8gb. i was actually considering freenas/truenas at first, but the zfs file system seems to be exceptionally demanding on ram? My data is basically long term storage oriented, with a relatively low amount of changes/writes, and only reads from time to time, which is just close enough to the snapraid usage profile. I just came across this article which describes the working conditions which are very suitable for my actual needs.

  3. Because my data are basically cold data, I think it is acceptable to take a 18t hard disk for disaster recovery. Regarding your question "Maybe I misunderstood, but you told me that your hard disk is installed on multiple machines. That means different file systems, doesn't it? How do you currently work?" This is probably a mistake in my description, because English is not my native language, and my writing "Chinese" is quite different from English, there are some situations that I can't express very well. To summarize, a. In unraid, there are 3 hard disks with xfs filesystem, which are placed in nas for a long time and not removed. 1 hard disk has ntfs filesystem, which can be removed via UD plugin github.com/dlandon/unassigned.devices/raw/m.. unassigned.devices.plg to be accessed as a removable drive. b. In Windows, I placed 2 hard drives that use the ntfs format. c. In mac I placed 1 hard drive that uses the apfs format to be used as a Time Machine disk. Usually my needs are to read and write to other ntfs disks by installing ntfs read/write software in the mac. Because of my very messy file system and disk management model, I'm thinking of reorganizing my data to make sure my data is secure and easy to manage.

I wonder if this is a site you have built yourself? The design is very modern and minimalist and the browsing performance is good. But from what I can see it seems like it automatically logs out every other day it's not online? I need to re-click to log in, so I'm not sure if that's just me or if it's a common occurrence. If this doesn't happen to others, maybe I'm using a proxy node (VPN) to access?

Lastly, thank you for taking time out of your busy schedule to share and discuss with me! Your answers have been very helpful and I've benefited greatly from them. You mentioned that you are French and I am currently living in mainland China. However, due to government policies and the strict blocking of the internet, it is very difficult for me to access knowledge effectively, and I can't do what I want to do due to the high-pressure in-scroll environment and the 6:30-22:00 study schedule six days a week. Therefore, I plan to go to university in Germany next year to get out of this high-pressure environment! See your current project is a tomato clock software? Seriously the moment I saw the description I fell in love with it because of its ui design. It's like it's called neomorphic design style and I really like it! Looking forward to your finished product.

You mentioned that you want to travel the world all year round and have your own business, and I have the same dream as you! I envision and admire the things you have done and served as CTO! I also have an outside-the-box interest in traveling, having visited very many cities in China on my own when I was 16, and traveled to Singapore and Japan just this past winter break and Lunar New Year. France is a place I've longed to visit, and the first country I visited in my life was France, which left a deep impression on me. I wish you the best of luck in your health and career and success in achieving your goals. You are also welcome to come to China to have some fun. Putting aside the political factors, there are special green mountains and natural scenic spots, as well as many humanistic buildings or museums. Especially the many low-priced and delicious cuisines over here. And you should have heard of Huaqiangbei「华强北」Electronic World in Shenzhen. It's only 100km from where I live, and I got to experience VisionPro there! I've followed you!

1
·
trapexit
trapexit
Feb 3, 2023

Few comments:

1) The default policy for create functions is epmfs not mfs. So you might not get the behavior you expect.

2) defaults,allow_other,use_ino,hard_remove... defaults and hard_remove are both unnecessary (though harmless). You can see the official docs for a suggested default. In a future release use_ino will also be unnecessary.

3) Using the package from your distro is going to give you a reasonably outdated version. You can find packages I built of the latest releases on the github releases page.

2
·
·2 replies
Christophe Dupont
Christophe Dupont
Author
·Feb 4, 2023

Hi trapexit,

This is an honour to have MergerFS' author writing the first comment ever on my blog. 🙏 Thank you for your work on MergerFS, it is really useful to a lot of people.

I updated my article according to your useful commentaries and changed my create policy to pfrd because I want data to be spread across the drives.

Regardless the distro package used, my Ubuntu 22.04LTS gives me the version 2.33.3-1 which is indeed outdated(1 year old). The problem here is practicality (and laziness). Indeed by installing the Github version, I will have an up-to-date version but I will have to pay attention to all future updates and do it manually. Did you consider having your own PPA to distribute the package, so people can enjoy automatic updates with up to date code, at least for ?

1
·
trapexit
trapexit
Feb 4, 2023

Yes, I've considered a PPA but auto updating software like mergerfs that can break a system if I screw up and introduce a bug is not something I really want to take responsibility for. I could keep it a bit out of date I guess to help lessen the likelihood.

2
·