Записи с меткой FreeBSD

Amazon Simple Storage Service (AWS S3), как внешнее хранилище

0

Теория и практика хранения данных говорит о том, что сетевое хранилище конечно хорошо, но и его может быть недостаточно. Воры, пожары, скачки напряжения, выжигающие все винчестеры в RAID массиве — это лишь краткий перечень возможностей для безвозвратной потери данных, которые лежат у вас дома.

С другой стороны, хранение всех данных только в облаке, тоже плохо.

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

Проблема в том, что большинство подобных сервисов имеют самодельные клиенты, работающие под Windows и, если повезло, под Mac OS X. Если же ваш сервер работает под Linux или любым другим вариантом Unix, то круг доступных сервисов значительно сужается.

(далее…)

Как работать со снэпшотами ZFS (путь джедая)

0

Вчера я написал, что ZFS лучше UFS для файлового хранилища, т.к. позволяет делать снэпшоты файловой системы и восстанавливать их в случае непредвиденных обстоятельств. Например, случайного удаления файлов, как  было со мной.

Хочу показать как работать со снимками состояния файловой системы во FreeBSD. Демонстрация будет для джедаев, владеющих командной строкой.

Список пулов и снэпшотов

Первым делом смотрим, что нам скажет команда «zfs list», она выводит список zfs-пулов (z-pool) и снэпшотов:

filenode:~# zfs list
NAME            USED  AVAIL  REFER  MOUNTPOINT
storage        3.96G  5.82G  3.96G  /mnt/storage

Здесь NAME — это имя пула или снэпшота, USED — объём занятого места, AVAIL — объём доступного места, MOUNTPOINT — точка монтирования файловой системы. (далее…)

ZFS лучше чем UFS, для файлового хранилища

9

По результатам битвы за восстановление случайно удалённых фотографий, был проведён поиск файловой системы, с возможностью отката к предыдущим состояниям.

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

Нам же, для домашнего хранилища, более интересна возможность делать снимки состояния файловой системы (снэпшоты) и потом откатываться на предыдущие состояния.

Т.е. в после случайного удаления нужных файлов в ZFS достаточно восстановить состояние файловой системы до удаления. И всё.

Особенно приятно, что приличная реализация ZFS существует не только для Solaris, но и для FreeBSD. Для Linux же полного счастья с ZFS, на сколько я понимаю, наступить не может. По лицензионным ограничениям невозможно сделать ZFS частью ядра. Хорошо, что я выбрал FreeBSD в качестве операционной системы своего хранилища.

К сожалению, даже разработчики ZFS не волшебники. И если вы хотите сделать надёжное хранилище из двух дисков, то единственный путь — зеркалирование, как и в RAID-1.

Занимательная дисковая арифметика

6

Вот вы купили два терабайтных винчестера и хотите построить из них дисковый массив RAID 1. Сколько места вы ожидаете получить в итоге?

Теория RAID 1 говорит, что в итоге вы получите объём массива, равный одному терабайту. Однако реальность несколько отличается от этой теории.

Первым делом, не забывайте, что терабайтные винчестеры традиционно не терабайтные, а триллионбайтные. Таким образом, изготовители винчестеров бесплатно «увеличивают» маркетинговый объём. Поэтому мы уже имеем всего 931Gb вместо 1Tb.

Дальше интереснее. При постройке из двух терабайтных винчестеров программного RAID1 на FreeBSD получаем  902Gb свободного пространства. Т.е. 30Gb сразу съелось на служебную информацию.

Ну и уж вообще забавно получается после заполнения половины диска:

Filesystem           Size  Used  Avail Capacity  Mounted on
/dev/mirror/Storage1 902G  442G  388G    53%    /mnt/storage

Т.е. указано, что общий размер диска — 902Gb, занято — 442Gb, свободно — 388Gb. Ничего не настораживает?

442+388=830, а не 902. Куда, спрашивается ещ` 72Gb делось?

Таким образом вместо терабайта получили 830Gb. Из них 69Gb повисло на совести Western Digital — изготовителя дисков, а еще 100Gb съел программный RAID1.

Мне тут интересны три вопроса:

  1. С железным RAID1 такая же беда?
  2. Реализация программного RAID 1 на других операционных системах столь же прожорлива?
  3. 830GB — это окончательный объём или потом ещё пропадёт?

Не забывайте бекапить бекапы!

3

Вчера случайно выяснил с какой дикой скоростью FreeBSD удаляет файлы с UFS. Разбирал фотографии прямо на сервере и, как герой многих сисадминских анекдотов, напустил rm -rf Photos""...

Как показал осмотр разрушений, за те несколько секунд, что я осознавал, что я сделал и жал на отмену, сервер успел снести половину из почти сотни гигабайт фотографий. И если утерю фотографий с моего дня рождения восьмилетней давности ещё как-то можно пережить, то за потерю фотографий наших девочек, только что приехавших из роддома, жена бы меня точно убила.

Поиск по интернету способов восстановления удалённых файлов на UFS показал наличие нескольких специализированных программ. Но говорилось, что они восстанавливают всего около 40% удалённых файлов, что неприемлимо мало. Второй проблемой оказалось, что все найденные программы работали почему-то под Windows.

Спасла же меня найденная ещё одна копия фотографий на моём компьютере, забытая при переносе на NAS.

Мораль сей сказки проста: не забывайте бекапить бекапы! Держите несколько копий, синхронизируйте их регулярно rsync'ом, unison'ом или ещё чем-нибудь. Наличие ещё одной копии в каком-нибудь онлайновом хранилище не блажь, а суровая необходимость.

Нужно будет поисследовать журналируемые файловые системы с возможностью отката во времени...

Вверх