Thank you all for your answers. After reading about MergerFS, ZFS, SnapRaid etc..., I decided to use mdadm: I thought to setup a RAID-5 initially, and grow it up to a RAID-6 in the future. Now I have some questions about how to manage a RAID system.
(1) When I find a disk failure, I remove it and then I add a new disk to mdadm as a spare disk. Then it starts to reconstruct the array. Is it right? Or have I to add firstly the new disk and then remove the failed drive after the rebuild?
(2) How can I move the array to another machine on which there is already another RAID setup? Is it possible to merge them into an unique RAID?
You want to fail, and then replace the disk. Besides SnapRAID tutorials, I have a bunch of tutorials about mdadm on my site as well (I used it for years before I switched to using either ZFS or SnapRAID + mergerfs).
This shows how to replace all the disks, but the idea is the same.
mdadm replace smaller disks with larger ones - Zack Reed - Design and Coding
To move the array to a new system, you need to scan one of the disks and write out an /etc/mdadm/mdadm.conf file or copy the existing file from your current system to the new host. You will also need to and a line to /etc/fstab for it. Finally, you will want to update initramfs. Here is a tutorial about the initial setup.
Software RAID 5 in Ubuntu/Debian with mdadm - Zack Reed - Design and Coding
Merger the arrays is possible, by doing something more complex like RAID50, but I would avoid doing that, and either migrate your data to the new array, or add the disks from your old array. mdadm is flexible, but it's still not quite as flexible as SnapRAID + mergerFS for just adding/removing disks or changing parity levels. That's why I use it for bulk media.
If you were using SnapRAID, you would just move the disks from the old machine to the new machine, update your /etc/snapraid.conf file to include the new disks and run a sync. Once, it's done, you have have everything protected, and no need to do anything fancy to add the disks. Plus, each disk can be mounted alone and does not require the RAID array to be intact to read the data.