Об'єднання декількох розділів в один в linux без втрати інформації

Необхідно об'єднати кілька існуючих розділів в один із збереженням інформації.

Рішень існує як мінімум два.

aufs2 - файлова система, яка реалізує каскадно-об'єднане монтування для файлових систем Linux. Крім успадкованого від UnionFS функціоналу тут реалізовані RW-гілки і балансування записи, що ідеально підходить для вирішення поставленого завдання.
Слід зауважити, що aufs2 не включена в mainline-ядро. Але вона є:
  • в Debian Lenny (в Testing і Sid вже, на жаль, немає);
  • в Ubuntu (так як LiveCD Ubuntu побудований із застосуванням цієї ФС);
  • в Zen-kernel і Liquorix.
Також можна самостійно пропатчити і зібрати ядро, використовуючи standalone-версію aufs2. Для дебіановцев рекомендую, якщо немає бажання возитися з компіляцією ядра, скористатися готовими пакетами Liquorix, підключивши репозиторій так, як вказано на сторінці проекту.
Якщо з ядром розібралися, то необхідно подбати про userspace-утиліти. У Debian'е є готові пакети (незважаючи на відсутність підтримки з боку ядра), тому їх можна поставити однією командою:

sudo aptitude install aufs-tools

Якщо готових пакетів в дистрибутиві немає, їх можна взяти з офіційного сайту aufs.

Тепер до справи. Припустимо, є два змонтованих розділу:
  • старий з купою торрентів: / media / torrents;
  • і новий на тільки-що купленому вінчестері: / media / new_storage.

Для того, щоб ці два розділи були видимі як один, необхідно виконати наступну команду:

sudo mount -t aufs none / media / storage -o br: / media / torrents = rw: / media / new_storage = rw, create = mfs, sum

тут:
  • br: ветка1 = rw: ветка2 = rw: ... - список т. н. гілок, т. е. змонтованих розділів, які будуть об'єднані в один;
  • create = mfs - головний параметр, який вказує на те, що для запису буде вибиратися та гілка, яка має більше вільного місця. Без вказівки цього параметра «слойка» з розділів не працюватиме так, як задумано;
  • sum - вказує, що в утиліти типу df або pydf буде виводитися сумарний розмір розділів і вільного місця на них для об'єднаного розділу.

В / etc / fstab такий запис повинна мати вигляд:

none / media / storage aufs br: / media / torrents = rw: / media / new_storage = rw, create = mfs, sum 0 0


На відміну від aufs, mhddfs - ФС простору користувача, що працює через fuse. У Debian'е є готовий пакет, який встановлюється командою:

sudo aptitude install mhddfs

Монтування проводиться командою:

sudo mhddfs / media / torrents, / media / new_storage / media / storage -o default_permissions, allow_other

В / etc / fstab відповідний запис має вигляд:

mhddfs # / media / torrents, / media / new_storage / media / storage fuse default_permissions, allow_other 0 0

Варто зауважити, що ні aufs2, ні mhddfs не дозволяють одному файлу знаходиться частково на одному, частково - на іншому розділі. Також зазначу, що після від'єднання слойки до всіх файлів буде доступ через вихідні точки монтування. Частина файлів виявиться на одному розділі, частина - на іншому.

Якщо необхідно швидке і просте рішення, то більшості користувачів буде досить mhddfs. Але варто пам'ятати, що aufs2 працює на рівні ядра, тому продуктивність в цьому випадку вище. До того ж, mhddfs в значно більшому ступені навантажує процесор, а швидкість запису / зчитування трохи нижче, ніж в aufs2.

За матеріалами Habrahabr.ru

  • Установка Adobe Flash Player 64-bit
  • Створення, розмітка, форматування дисків і розділів в Linux
  • Установка PostgreSQL на Ubuntu
  • Веб-сервер lighttpd на Ubuntu
  • Обмеження доступу користувачеві вище каталогу в Linux