[an error occurred while processing this directive]

Логическое объединение нескольких файловых систем при помощи mergerfs
FUSE-модуль Mergerfs позволяет логически объединить несколько файловых
систем в одну, например, для объединения разнесённых на разные диски коллекции
видео или музыки в одну иерархию.


В отличие от aufs и overlayfs в mergerfs не создаётся отдельного слоя для
записи и данная ФС не может применяться поверх разделов, доступных в режиме
только для чтения. Но mergerfs даёт возможность прямой записи в
примонтированный раздел в соответствии с заданной политикой, например, запись
может осуществляться в ФС, в которой больше свободного места. Также можно
включить в один сводный раздел ФС, доступную на запись, и ФС только для чтения.
В такой конфигурации операции записи будут производиться в разделе, который
допускает запись.

Среди особенностей mergerfs:  настройка поведения размещения новых файлов,
работа в пространстве пользователей через FUSE,  поддержка расширенных
атрибутов (xattrs) и смены атрибутов chattr, работа с различными ФС, поддержка
POSIX ACL.

Проектом собираются пакеты для Fedora, Debian и Ubuntu.

Устанавливаем mergerfs в Fedora 31:

   wget https://github.com/trapexit/mergerfs/releases/download/2.29.0/mergerfs-2.29.0-1.fc31.x86_64.rpm

   sudo dnf install mergerfs-2.29.0-1.fc31.x86_64.rpm


Допустим, в системе есть два раздела /disk1 и /disk2, на которых имеются  каталоги с видео:

   $ df -hT | grep disk
   /dev/sdb1      ext4      23M  386K 21M 2% /disk1
   /dev/sdc1      ext4      44M  1.1M 40M 3% /disk2

   $ ls -l /disk1/Videos/
   total 1
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file1.mkv

   $ ls -l /disk2/Videos/
   total 2
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file2.mkv
   -rw-rw-r--. 1 curt curt 0 Mar 8 17:21 file3.mkv


Создадим логический раздел /media, который будет включать в себя как  /disk1, так и /disk2:

   $ sudo mergerfs -o defaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=1M /disk1:/disk2 /media

где

    defaults - применение настроек по умолчанию
    allow_other - возможность доступа непривилегированных пользователей, а не только root
    use_ino - манипуляция исходными inode вместо libfuse для того, чтобы связанные файлы имели одинаковые inode.
    category.create=mfs - распределение новых файлов в зависимости от доступного свободного пространства.
    moveonenospc=true - в случае сбоя записи искать раздел с большим свободным местом.
    minfreespace=1M - минимальное свободное место для записи.
    disk1 - первый подключаемый раздел
    disk2 - второй подключаемый раздел
    /media - точка монтирования


После монтирования получим:

   $ df -hT | grep media 
   1:2        fuse.mergerfs  66M      1.4M 60M 3% /media 


Если скопировать в /media/Videos/ большой новый файл, для которого не хватает
места в /disk1, но который вмещается в /disk2, то это файл будет размещён в
разделе /disk2. Разделы /disk1 и /disk2 после монтирования остаются доступны
для любых операций, /media объединяет их лишь логически.

   $ ls -lh file4.mkv
   -rw-rw-r--. 1 curt curt 30M Apr 20 08:45 file4.mkv

   $ cp file4.mkv /media/Videos/


   $ ls -l /disk1/Videos/ 
   total 1
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file1.mkv

   $ ls -l /disk2/Videos/
   total 30003
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file2.mkv
   -rw-rw-r--. 1 curt curt 0 Mar 8 17:21 file3.mkv
   -rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 file4.mkv

   $ ls -l /media/Videos/
   total 30004
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file1.mkv
   -rw-rw-r--. 1 curt curt 0 Mar 8 17:21 file2.mkv
   -rw-r--r--. 1 curt curt 0 Mar 8 17:17 file3.mkv
   -rw-rw-r--. 1 curt curt 30720000 Apr 20 08:47 file4.mkv
 
02.05.2020 , Источник: https://fedoramagazine.org/using-me...
Ключи: mergerfs, unionfs, linux, mount / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Файловые системы

[an error occurred while processing this directive]

[an error occurred while processing this directive]