Объединение HDD дисков

Итак объединение нескольких жестких дисков (файловых систем) в одну.

Многие скажут, а что собственно обсуждать, ведь есть RAID и LVM.

И будут правы, действительно на сервере можно поднять RAID или LVM, но как показала практика, большинство домашних серверов собирается не на отказоустойчивость , а на объем, и раид соответственно стоит нулевой , а с LVM многие даже не сталкивались, так же нужно помнить, что в случаи падения RAID 0 теряются данные, а с LVM уйдет много времени для восстановления.

Поэтому необходимо решение исходя из следующих задач и особенностей:

  • быстрое добавление\удаление жестких дисков
  • при падении одного диска сохраняются данные на остальных
  • скорость работы
  • простота настройки

Рассмотрим MHDDFS

MHDDFS - это драйвер (надстройка), работающий через модуль FUSE, который позволяет прозрачно объединять несколько накопителей (файловых систем) в одну точку монтирования. Накопители могут быть как реальными (hdd), так и виртуальными (loop-девайсы) или даже сетевыми точками монтирования (NFS итп). Файловая система работает не только на чтение, но и на запись, при этом не размазывает файлы по разным файловым системам, а находит, где файл сейчас разместить было бы оптимальнее.

Но и тут не все так просто, поговаривают что FUSE грузит бедный сервер и ощущается падение скорости, поэтому я решил проверить так ли это. Итак манипуляции я проводил на следущем сервере:
		atom 330dc
		3 gb sodim ddr2
		3 hdd wd green 2tb
Мои скромные замеры показали, что процессор загружается на 1%, а скорость скачки\закачки через ftp\samba упала всего 1 мб\сек, что не существенно при локальной сети в гигабит. Теперь думаю вы уже приняли решение ставить или нет, так что перейдем к самой установки, для этого открываем консоль и устнавливает пакет:
apt-get install mhddfs
Создадим общий каталог для монтирования:
mkdir /mnt/all
Теперь смонтируем диски (файловые системы), в /mnt/all общий каталог:
mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/all -o allow_other

Ключ -o allow_other позволяет видеть новую файловую систему всем пользователям, а не только тому кто ее создал.

Размонтировать:

fusermount -u /mnt/all

Вот и все, теперь можно открыть доступ в ftp\samba к точки монтирования /mnt/all и увидеть все три диска, при этом не нужно форматировать диски, все файлы на месте, так же если вдруг во время работы сломается какой либо диск, данные пропадут только на нем.

Если хотите, что бы все грузилось автоматически, нужно отредактировать fstab:
nano /etc/fstab

В самый низ добавляем строчку: (нужно проверить!)

mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/all fuse defaults,allow_other 0 0
mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/all fuse default_permissions,allow_other 0 0

Пути и название соответственно подставляйте свои.

Стоит заметить, что MHDDFS не позволяет одному файлу находиться частично на одном, частично — на другом разделе. Также отмечу, что после размонтирования слойки ко всем файлам будет доступ через исходные точки монтирования. Часть файлов окажется на одном разделе, часть — на другом.

P.S. Совсем забыл упомянуть про то, что происходит, когда в этот раздел вы записываете данные. mhddfs сначала смотрит, есть ли место под получаемые файлы на первом смонтированном диске, если нет, то смотрит, второй, если и там нет, то смотрит дальше и т.д.

mhddfs не разбивает диски по частям, так что если вдруг вы захотите прекратить использовать виртуальный раздел, можете спокойно его отмонтировать - все данные останутся целыми, на тех разделах куда были записаны.

一步一步地会到目的

I do not smoke or drink



Search for Extra-Terrestrial Intelligence at Home
Search for Extra-Terrestrial Intelligence at Home

User signature graphic BOINC Stars

Power by BOINC


International Space Station
Прямая трансляция переговоров космонавтов МКС с ЦУП.
Только голос | Голос и Видео
Говорят они не всегда, только по необходимости, так что не удивляйтесь, если на канале будет тишина.

Ubuntu 14.04 (Trusty Tahr) Daily Build

>>> Старые релизы Ubuntu <<<

Оглавление

Cisco Systems

Связь через консольный кабель
Сброс пароля на Catalyst 2950
Создание VLAN на Catalyst 2950
Создание и управление стеками коммутаторов

FreeBSD 8.2 - Сервер с "нуля"

Установка
Начальная настройка
Сборка ядра (c Kernel NAT)
Named
OpenVPN

Ubuntu Server

Настраиваем WEB-сервер
Apache2 + PHP5 + MySQL + phpMyAdmin
Пример для виртуальных хостов

VSFTPd + SSL Не закончено!
Установка TFTP сервера (tftpd)
Установка Midnight Commander
Установка Deluge с Web-интерфейсом
Бэкапим MySQL базы
MySQL шпаргалки
Резервное копирование - м1
Простой шлюз на Ubuntu Server
Сетевое радио на Icecast2
Объединение HDD дисков
Управление автозагрузкой
Настройка сети вручную
Защита от брутфорса
ssh, ftp, http: fail2ban

OpenVPN Installation Ubuntu

Ubuntu Desktop

Настройка Ubuntu Desktop 10.10
Раскукоживаем Менеждер обновлений
Раскладка - флажки вместо текста
QutIM - клиент ICQ, Jabber, MAgent, IRC
Температура железа на панеле

Горячие клавиши в Ubuntu Unity

Драйвера NVIDIA в Ubuntu
Радио лоток в области уведомлений
SSHFS - Монтируем удаленную FS
Резервное копирование Ubuntu Desk
Загрузочная флешка Ubuntu Server
Загрузочная USB из под Windows
Как найти нужный PPA-репозиторий
Видеонаблюдение под Ubuntu 10.04 для "чайников"
Видеонаблюдение легально!

Linux

Полезные команды Linux
Конфиг железа в Ubuntu
Мониторинг хостов в сети
Разное на одном листе
inotify - это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе.

Полезное под Windows

FTPS - защищённое соединение
PuTTY - Как сохранить настройки
VirtualBox - Клонирование виртуальных машин.

Скриптовые языки

AWK - Язык обработки структурированных текстов

Чит-листы или Шпаргалки

pdf css_cheat-sheet ver.1
pdf css_cheat-sheet ver.2
pdf php_cheat-sheet ver.1
pdf php_cheat-sheet ver.2
pdf javascript_cheat-sheet ver.1
pdf mysql_cheat-sheet ver.1
pdf html_cheat-sheet ver.1
pdf regular_expressions ver.1
pdf regular_expressions ver.2
pdf mod_rewrite_cheat-sheet ver.1
pdf mod_rewrite_cheat-sheet ver.2
pdf sql_server_cheat-sheet ver.1
pdf microformats_cheat-sheet ver.1
pdf seo_cheat-sheet ver.0.4
pdf wordpress_designer ver.1

Последовательное соединение проводников
Последовательное соединение проводников

Параллельное соединение проводников
Параллельное соединение проводников


Gedit style schemes

xml darktango.xml
xml emacs-darkslategrey.xml

HTML заметки

Разные валидные фичи
10 преступлений с HTML тегами
Заметки по установке
MaxSite CMS версия 0.42

Горизонтальное CSS Меню
.htacces паролим сайт
Противоугонный пакет

Коллекция jQuery plagins

Quovolver [?]
Custom Animation Banner [?]
Style my tooltips [?]


ipv6.nic.ru

QR Coder.ru
Генератор QR-кодов


2:5020/1209.12@FidoNet

Logo WebMoney
WMIDwmid 358066815673
pursewmzZ452007172362
wmrR568219491953
wmeE770110075404

Logo Yandex.Money
 Yndex purse4100178599238



Мои телефоны:
  1. Билайн AMPS/DAMPS - модели ERICSSON DH318,
    ERICSSON DH618
  2. Билайн GSM - Siemens C25 корпус "Хамелион" (тариф "Серебрянный")
  3. Мегафон GSM - SAMSUNG SGH-T400
  4. Мегафон GSM / AIS GSM Thailand - Qtek s100
  5. Мегафон GSM - SAMSUNG SGH-i900 WiTu 8Gb
  6. Мегафон GSM - HTC Wildfire S
  7. Мегафон GSM - HTC One S
  8. Мегафон GSM / Теле2 GSM - ASUS Zenfone 2 ZE550ML
  9. Мегафон GSM - Xiaomi Redmi Note 4 4Gb 64Gb
  10. Мегафон GSM - Xiaomi Redmi Note 8 6Gb 64Gb