Поговорим о хранении данных. Разговор третий. Немного теории.
Wednesday, 13 July 2016 21:05![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Про облачные хранилища поговорили, теперь давай обсудим локальные хранилища данных.
Напомню критерии, по которым мы будем их оценивать:
Как было уже сказано, есть целый ряд ситуаций, в которых использование облачного хранилища будет не лучшим выбором.
А может быть тебе просто не хочется лишний раз делиться с Интернетом своими данными, ведь всё что попадает в Интернет, как известно, остаётся там навсегда.
Тогда твой выбор – локальные хранилища данных, в нашем случае мы будем рассматривать только сетевые хранилища или NAS (Network Attached Storage).
Домашние NAS, как было сказано в первом посте, бывают уже готовые и самосборные.
Готовые решения хороши тем, что они готовы к работе сразу после включения (и установки дисков).
Настроил с помощью мастера-помощника основные параметры и пользуйся.
Кроме того, многие готовые NAS имеют возможность удалённого доступа к данным через Интернет, что приближает их по удобству использования к облачным хранилищам.
А ещё на них есть гарантия от одного до трёх лет, включённая в стоимость.
Однако, у готовых решений есть и минусы.
Ты точно не знаешь, как организовано хранение внутри этой коробочки и в случае отказа можешь столкнуться с проблемой доступа к твоим данным (они будут целы, но их доступность в этом случае станет нулевой).
Готовые решения дороже самосборных, особенно если в основе самосборного решения лежит твой старый компьютер (мощности ему вполне хватит, так как программное обеспечение домашних NAS не очень требовательно к ресурсам).
В любом случае (в отличие от облачных хранилищ) тебе стоит немного глубже разобраться в том, как настраивать своё личное хранилище, чтобы потом не было мучительно больно и обидно за потерянные данные или за потраченные деньги :)
Впрочем, если ты боишься запутаться – можешь смело пропустить пока дальнейший текст. Если будет нужно – вернёшься к нему позже.
Для начала нам надо подумать, как обеспечить как можно более высокую доступность данных.
Будет очень обидно, если из-за отказа одного накопителя мы будем вынуждены долго и мучительно заниматься восстановлением информации.
Поэтому в любом централизованном хранилище используется технология, позволяющая избежать проблем, связанных с отказом накопителя.
Называется эта технология RAID (Redundant Array of Independent Disks).
Существует несколько типов RAID, но далеко не все из них используются.
И уж точно не все из них применимы дома.

Так как мы будем рассматривать локальные хранилища с двумя, четырьмя и пятью дисками, то про последнюю строчку можно сразу забыть.
Она интересна только для тех решений, в которых 8 и более дисков, а это уже совсем не SOHO решения.
RAID 0 нам тоже неинтересен, так как он ни от чего не защищает, более того, если объединить несколько дисков в один том RAID 0, то потеря любого из них означает потерю всех данных.
Такой «хоккей» нам явно не нужен.
Так что нам остаются лишь 1, 10 и 5 типы RAID.
Главными плюсами RAID 1 и 10 являются:
Минус у них один, но он весьма серьёзный – только половина общей ёмкости дисков будет доступна для хранения твоих данных.
У RAID 5 всё ровно наоборот.
Потерять можно не более одного диска (потеря второго приводит к потере всех данных). Восстанавливаться этот диск будет долго (иногда несколько дней) и при этом будет сильно нагружать процессор хранилища. Ещё бы, ведь ему надо высчитать каждый потерянный блок.
И даже при обычной работе RAID 5 сильнее грузит процессор хранилища, так как каждый раз, когда мы записываем хоть один новый блок данных, хранилищу надо высчитать контрольную сумму записанной информации.
Зато из 4-х дисков хранилища мы можем использовать с пользой ёмкость целых трёх, что гораздо экономней, чем при зеркалировании.
Минимальное количество дисков в RAID 5 – три.
Теперь давай поговорим о конфиденциальности данных.
Так как подавляющее большинство домашних NAS основаны на FreeBSD или Linux, то доступ к данным будет регулироваться с помощью правил, свойственным именно этим операционным системам.
В файловой системе этих ОС каждому файлу или папке соответствует определённая комбинация параметров, определяющая кому и что можно делать с соответствующим объектом.
Вот так это обычно выглядит:

Думаю, что с именем файла, его размером, датой и временем создания ничего не надо объяснять? Эти параметры видели все.
С владельцем тоже всё просто – кто создал (или стал владельцем), тот и указан. Владелец входит в какую-нибудь из групп и эта группа тоже указана в свойствах файла или папки.
А вот первый столбец нам будет весьма интересен, ведь именно в нём скрываются биты, определяющие уровень доступа.
Самый первый символ показывает, чем является объект: файлом (тогда там «-») или папкой (тогда там «d»).
Дальше следуют девять бит, которые и показывают кто и что может делать с файлом.
Первая тройка указывает какие права на файл или папку имеет его владелец, вторая – права группы, в которую входит владелец файла, а третья – права на файл или папку для всех остальных.
Вот так они расшифровываются:

То есть с файлом «mydata00.lst» его владелец может делать всё что хочет, другие пользователи группы «gnomes» могут его открыть для чтения, а прочие пользователи вообще ничего с этим файлом сделать не могут.
Понимание того как выдать (или не выдать) права доступа к конкретной папке или файлу понадобятся тебе уже на момент первичной настройки NAS.
Можно, конечно, разрешить всем и всё, но тогда говорить о конфиденциальности хранимых данных не стоит (хотя многих это вполне устраивает).
Но довольно теории.
Хотя, если хочешь, ты можешь самостоятельно посмотреть, что такое «GUID», «SUID», «sticky bit» и «umask», так как с ними ты вполне можешь встретиться, когда будешь настраивать свой собственный NAS.
В следующем посте мы поговорим о том, какие модели готовых NAS сейчас можно найти на рынке и чем они отличаются.
Напомню критерии, по которым мы будем их оценивать:
- Экономические критерии
- Стоимость покупки
- Стоимость владения
- Технические критерии
- Обеспечение доступности данных
- Сохранение целостности данных
- Обеспечение конфиденциальности данных
Как было уже сказано, есть целый ряд ситуаций, в которых использование облачного хранилища будет не лучшим выбором.
А может быть тебе просто не хочется лишний раз делиться с Интернетом своими данными, ведь всё что попадает в Интернет, как известно, остаётся там навсегда.
Тогда твой выбор – локальные хранилища данных, в нашем случае мы будем рассматривать только сетевые хранилища или NAS (Network Attached Storage).
Домашние NAS, как было сказано в первом посте, бывают уже готовые и самосборные.
Готовые решения хороши тем, что они готовы к работе сразу после включения (и установки дисков).
Настроил с помощью мастера-помощника основные параметры и пользуйся.
Кроме того, многие готовые NAS имеют возможность удалённого доступа к данным через Интернет, что приближает их по удобству использования к облачным хранилищам.
А ещё на них есть гарантия от одного до трёх лет, включённая в стоимость.
Однако, у готовых решений есть и минусы.
Ты точно не знаешь, как организовано хранение внутри этой коробочки и в случае отказа можешь столкнуться с проблемой доступа к твоим данным (они будут целы, но их доступность в этом случае станет нулевой).
Готовые решения дороже самосборных, особенно если в основе самосборного решения лежит твой старый компьютер (мощности ему вполне хватит, так как программное обеспечение домашних NAS не очень требовательно к ресурсам).
В любом случае (в отличие от облачных хранилищ) тебе стоит немного глубже разобраться в том, как настраивать своё личное хранилище, чтобы потом не было мучительно больно и обидно за потерянные данные или за потраченные деньги :)
Впрочем, если ты боишься запутаться – можешь смело пропустить пока дальнейший текст. Если будет нужно – вернёшься к нему позже.
Для начала нам надо подумать, как обеспечить как можно более высокую доступность данных.
Будет очень обидно, если из-за отказа одного накопителя мы будем вынуждены долго и мучительно заниматься восстановлением информации.
Поэтому в любом централизованном хранилище используется технология, позволяющая избежать проблем, связанных с отказом накопителя.
Называется эта технология RAID (Redundant Array of Independent Disks).
Существует несколько типов RAID, но далеко не все из них используются.
И уж точно не все из них применимы дома.

Так как мы будем рассматривать локальные хранилища с двумя, четырьмя и пятью дисками, то про последнюю строчку можно сразу забыть.
Она интересна только для тех решений, в которых 8 и более дисков, а это уже совсем не SOHO решения.
RAID 0 нам тоже неинтересен, так как он ни от чего не защищает, более того, если объединить несколько дисков в один том RAID 0, то потеря любого из них означает потерю всех данных.
Такой «хоккей» нам явно не нужен.
Так что нам остаются лишь 1, 10 и 5 типы RAID.
Главными плюсами RAID 1 и 10 являются:
- Быстрое восстановление после сбоя – надо просто скопировать данные с одного диска на другой.
- Высокая отказоустойчивость – в случае 4-х дисков можно потерять до двух накопителей без потери данных.
- Более высокая скорость записи данных и меньшая загрузка процессора хранилища.
- Можно использовать если есть всего два диска.
Минус у них один, но он весьма серьёзный – только половина общей ёмкости дисков будет доступна для хранения твоих данных.
У RAID 5 всё ровно наоборот.
Потерять можно не более одного диска (потеря второго приводит к потере всех данных). Восстанавливаться этот диск будет долго (иногда несколько дней) и при этом будет сильно нагружать процессор хранилища. Ещё бы, ведь ему надо высчитать каждый потерянный блок.
И даже при обычной работе RAID 5 сильнее грузит процессор хранилища, так как каждый раз, когда мы записываем хоть один новый блок данных, хранилищу надо высчитать контрольную сумму записанной информации.
Зато из 4-х дисков хранилища мы можем использовать с пользой ёмкость целых трёх, что гораздо экономней, чем при зеркалировании.
Минимальное количество дисков в RAID 5 – три.
Теперь давай поговорим о конфиденциальности данных.
Так как подавляющее большинство домашних NAS основаны на FreeBSD или Linux, то доступ к данным будет регулироваться с помощью правил, свойственным именно этим операционным системам.
В файловой системе этих ОС каждому файлу или папке соответствует определённая комбинация параметров, определяющая кому и что можно делать с соответствующим объектом.
Вот так это обычно выглядит:

Думаю, что с именем файла, его размером, датой и временем создания ничего не надо объяснять? Эти параметры видели все.
С владельцем тоже всё просто – кто создал (или стал владельцем), тот и указан. Владелец входит в какую-нибудь из групп и эта группа тоже указана в свойствах файла или папки.
А вот первый столбец нам будет весьма интересен, ведь именно в нём скрываются биты, определяющие уровень доступа.
Самый первый символ показывает, чем является объект: файлом (тогда там «-») или папкой (тогда там «d»).
Дальше следуют девять бит, которые и показывают кто и что может делать с файлом.
Первая тройка указывает какие права на файл или папку имеет его владелец, вторая – права группы, в которую входит владелец файла, а третья – права на файл или папку для всех остальных.
Вот так они расшифровываются:

То есть с файлом «mydata00.lst» его владелец может делать всё что хочет, другие пользователи группы «gnomes» могут его открыть для чтения, а прочие пользователи вообще ничего с этим файлом сделать не могут.
Понимание того как выдать (или не выдать) права доступа к конкретной папке или файлу понадобятся тебе уже на момент первичной настройки NAS.
Можно, конечно, разрешить всем и всё, но тогда говорить о конфиденциальности хранимых данных не стоит (хотя многих это вполне устраивает).
Но довольно теории.
Хотя, если хочешь, ты можешь самостоятельно посмотреть, что такое «GUID», «SUID», «sticky bit» и «umask», так как с ними ты вполне можешь встретиться, когда будешь настраивать свой собственный NAS.
В следующем посте мы поговорим о том, какие модели готовых NAS сейчас можно найти на рынке и чем они отличаются.