10.10.2009 - 15:20 опубликовано vm.Xeon
Однажды, бороздя просторы Интернета, я ради интереса ввел в поисковике «Time Capsule своими руками». В итоге набрел на небольшую заметку на Хабре, где для данных целей использовалась некоторая сборка Debian Linux и использовался инициатор iSCSI. Но Linux надо было доводить до ума напильником, а заметка была не слишком содержательна. В итоге, я вспомнил, что когда-то мне встречался некоторый бесплатный дистрибутив на основе FreeBSD, предназначенный для работы с различными видами систем хранения (NAS-сервера).
FreeNAS
Данная система была создана Olivier Cochard-Labbé и его командой для «превращения» обычного ПК в NAS-сервер. Систему, по заверениям разработчиков, можно поставить на ПК даже с такими характеристиками:
- CPU: Pentium processor or equivalent.
- RAM: 96 MB, 128 MB для процесса обновления.
- HDD: Загружаемый жесткий диск, cd-rom, флешка или карта памяти. 64MB will be OK
- Клавиатура и монитор (только для процесса установки).
А значит, даже старый/ненужный компьютер/ноутбук/нетбук можно сделать Тайм капсулой. Если же у вас нет компьютера, который мог бы стать тайм капсулой, то его можно собрать, благо, системные требования низки, и сборка такой тайм капсулы обойдется не дороже оригинала от Apple (а возможно, даже дешевле).
Подготовка
Итак, первое, что нам нужно — это уверенность в том, что такая тайм капсула нам действительно нужна. Во-вторых, данному устройству необходимо место, причем достаточно «удобное» и проветриваемое. И, в-третьих, нужно подобрать хорошие комплектующие. Я думаю, что данный вариант будет подходящим (все цены указаны на момент написания статьи):
| Комплектующее | Стоимость (руб) |
| Intel 945GC Chipset Motherboard (GigaByte GA-GC230D) | от 2154 до 2646 |
| Intel Atom N230 1.6 Ghz | 870 |
| 1Gb DDR2-533 RAM | от 1500 до 3000 |
| CD-ROM | Можно одолжить у знакомых, если найдете |
| Жесткий диск | Зависит от того, сколько информации вам нужно архивировать. |
| Флешка под системный раздел | от 500 до 2000 |
| Роутер (наличие необходимо для того, чтобы пользоваться нашей капсулой) | от 1500 до 4000 |
| В сумме | Около 11 тыс. рублей |
Материнские платы на основе Intel 945GC Chipset обычно поставляются со встроенной графической картой (в нашем случае на основе Intel GMA 950). Ее мощность для нас не важна, т.к. наша капсула будет работать без монитора. Точнее, экран нам понадобится только в начале, а потом все манипуляции будем проводить через web-интерфейс.
Хотелось бы заметить, что, к сожалению, FreeNAS не поддерживает SATA-интерфейс. Поэтому нужно выбрать материнскую плату, которая SATA-диски путем эмуляции «превращает» в IDE-диски.
Поскольку система занимает совсем мало места на жестком диске, то лучше всего установить ее на флешку или карту памяти в 1-4Гб, в зависимости от того, какого размера у нас будет SWAP-раздел. Конечно же, использование флешки более предпочтительно, по сравнению с жестким диском. Ведь у нее, в отличие от жесткого диска, нет движущихся частей, поэтому скорость чтения/записи у флешки больше.
Если вы планируете использовать капсулу в ночные часы, то лучше обзавестись хорошо проветриваемым корпусом с тихой системой охлаждения и корпусом типа Midi-tower. Хотя можно попробовать «впихнуть» все наше содержимое и в micro-ITX корпус. Дело ваше.
Теперь надо подготовиться к установке. Все программы, которые встречаются в данной статье, можно скачать с apploads.in, либо с сайта разработчиков. Вот, что нам понадобится:
- Собственно, сам дистрибутив. На сайте разработчиков всегда можно найти самую свежую версию (FreeNAS installation disc image);
- Сам iSCSI-инициатор (globalSAN installer);
- Прямые руки и здравый ум, без них никуда
Список маленький. Суммарный размер составляет около 80Мб. Так что тем, у кого есть ограничения по трафику, бояться нечего.
Ключ, на старт!
Ну что ж? Начнем! Для начала грузимся с CD-диска. Перед нами появится окно приветствия FreeNAS:

Ничего не нажимаем. Как только таймер аннулируется, система запустится с LiveCD. Если загрузка не произошла, пробуем запуститься в Safe Mode. После запуска мы видим консольное окно, нажимаем «9»:


Перед нами появится окно установщика. Выбираем пункт «3», т.к. для того, чтобы воспользоваться всеми возможностями этой системы, лучше устанавливать систему полностью. Далее перед нами появляется окно, где мы выбираем дисковод с диском дистрибутива.

Естественно, выбираем тот, где находится наш диск
Далее нам предложат диск, на который мы хотим установить нашу систему. Выбираем флешку/карту памяти, которую мы подготовили для этого. Подчеркиваю, что после форматирования данные с этого устройства будут полностью удалены.

Далее мы выбираем размер раздела с системой.

Я выбрал 1Гб, но можно выбрать и меньше. Главное, не менее 128Мбайт. Если вы планируете устанавливать дополнительные пакеты (от FreeBSD), то лучше не делать этот раздел слишком маленьким. Затем нас спросят, хотим ли мы добавить swap-раздел. Swap-раздел стоит добавлять, если у нас будет достаточно большая нагрузка на системную память и нам ее просто будет не хватать.
Если у вашей капсулы 1Гб памяти и более, то можно не создавать swap-разделов. Если у вас память капсулы менее 1Гб, то лучше перестраховаться и создать swap-раздел. Если не знаете, как поступить, нажмите «Yes».

После этого появится окно с выбором размера для swap-раздела (если вы нажали «Yes»). Размер для swap-раздела вычисляется по формуле n*2, где n — размер оперативной памяти капсулы. Все. Далее пойдет окно, информирующее о процессе установки системы. В конце установки мы увидим такое окно:


Нам сообщат о том, как активировать использование DATA- и SWAP-разделов. Если мы устанавливали систему на флешку, то, скорее всего, нам не нужно будет активировать DATA-раздел. Это зависит от того, сколько у нас на флешке заняла система и swap-раздел.
Вот, собственно, и все. Выходим из установщика, нажимая «Exit». Осталось только настроить ip-адрес нашей капсулы. Но в данный момент мы работаем с LiveCD, поэтому необходимо загрузиться с флешки, куда мы только что установили нашу систему, чтобы все изменения и настройки сохранились. Нажимаем «7», что вызовет перезагрузку системы.
Настройка IP-адреса
Загружаемся с флешки. Ничего нового мы не увидим. Разве что таймер теперь вместо 5 секунд отсчитывает 10. Перед нами появится консольное окно FreeNAS (теперь уже без пункта установки). Нажимаем «2».

Далее нас спросят, хотим ли мы использовать DHCP в нашей сети.

Если у вас в сети есть роутер с активированной функцией «DHCP-сервер», то нажимаем «Yes». Если у вас роутер без активированной функции «DHCP-сервера», то настраивать сеть придется самим.

Вот пример настройки сети. В графе «New LAN Ipv4 adress» вписываем адрес, который свободен в нашей сети. Я ввел 192.168.1.100. Далее вводим маску подсети (должна определиться автоматически). Если у нас IP конструкции 192.168.x.x, то маска подсети будет 255.255.255.0 . Далее вводим адрес сетевого шлюза (в нашем случае — это роутер). Обычно это такой IP — 192.168.1.1

Затем вводим адрес основного DNS-сервера. В большинстве случаев роутер выступает в качестве DNS-сервера. Поэтому я вбил 192.168.1.1. Если наша сетевая карта поддерживает IPv6, то настраиваем и IPv6.

Но это был пример. А мне пришлось согласиться с настройками DHCP: получил мой FreeNAS такой IP: 10.37.129.3. Вот и все! Далее наша капсула отправляется в подготовленное для нее место и подключается к сети (если она еще не была подключена). Все дальнейшие манипуляции проводим через web-интерфейс.

Комментарии
Хороший и полезный туториал. Особенно поддержка RAID в самодельной Time Capsule понравилась.
если роутера нет ...через локалку можно подсоеденить ?
Что ты имеешь в виду?
Подсоединить через провод напрямую? Это возможно. Конечно, удобнее использовать 2 Ethernet-разъема, чтобы одновременно в инете сидеть и бэкапиться. Но мона и к одному....
Но в все равно ты оказываешься в такой ситуации, что лучше бы было использовать USB (т.е. ты "привязан" проводами к одному месту). Ведь с USB ты можешь и в инете сидеть.
Но плюс состоит в том, что при наличии Wi-Fi роутера, ты не будешь привязан проводами к одному месту, а можешь двигаться в территории действия Wi-Fi. Да и в этом случае у FreeNAS появляется больше преимуществ.
Несомненно, хорошее решение и статья позитивная.
Стоить добавить, что максимум информации по FreeNAS содержится на ресурсе http://freenaswiki.ru
Однако, если идеализировать задачу построения домашнего FreeNAS, то все-таки предпочтение стоит отдать Linux-решению, поскольку, во-первых, ветка FreeNAS заканчивает свое развитие на текущей версии 0.7. Во-вторых, ситуация с драйверами под новое железо в BSD-системах удручающая. Кстати, сам Volker Theile (разработчик FreeNAS) заявляет, что дальнейшее развитие его детища предполагается именно на базе Linux-системы (точнее, Debian. Но, думаю, метит товарищ в Убунту
).
А еще Вы забыли упомянуть, что на FreeNAS можно запустить медиа-сервер на базе библиотеки mt-daapd. Вашему iTunes это понравиться
Насчет медиа-сервера. В конце статьи я написал, что у дистрибутива есть еще множество примечательных функций, помимо нашего iSCSI. Так что эта статья рассматривала только одну возможность - iSCSI. В других функциях разобраться несложно.
По поводу Linux - если он будет нормально дружить с настоящим SATA/SCSI, то я только за! Мой выбор FreeNAS в качестве дистрибутива объясняется тем, что конечно, каждому пользователю хочется настроить свой сервер/капсулу через достаточно простой и понятный интерфейс (в нашем случае - это web). Так что половина успеха этой статьи - это наличие web-интерфейса у нашего NAS. Ведь в большинстве подобных статей используются Linux'ы и их еще надо править терминалом и напильником, после чего мы не имеем возможности настроить наш NAS удаленно (иногда только через SSH). А в нашем случае после установки мы можем настраивать наш NAS до умопомрачения благодаря web-интерфейсу
Прочитал описание установки и не согласен с автором: установка swap на флеш-накопитель не лучшее решение. Количество циклов записи у флешек ограничено и таким способом ее можно быстро испортить.
Для установки на флешки используются *.img-образы. Они "весят" меньше, чем iso-образы и устанавливаются гораздо быстрее. Установка FreeNAS на флешку описана на freenaswiki.ru
img-файлы берутся там же, где и ISO-образы FreeNAS.
Мммм. что-то у вас ответ несвязный...
Swap на флешке и установка с флешки...
Конечно, установка с флешки идет быстрее. Я и не спорю. Но ведь нашей целью было установить систему, а не выбирать способ для более быстрой установки.
Насчет swap на флешке: насчет ограниченных циклов чтения/записи не знал. Спасибо
Я не предлагал "ставить с флешки". Это Вы уже за меня додумали
Я пишу о том, что нет никакого смысла ставить full систему с компакт -диска на флешку. Разработчики все уже за нас сделали: на другом компьютере, за десяток секунд заливаете на USB-key или Compact Flash готовый дисковый образ, ставите в FreeNAS сервер и грузитесь. Быстро, удобно и флешка в целости.
Инструкция по такой установке есть для Windows и Linux, но думаю, что линуксовую можно использовать и под Mac OS. Я полагаю, gzip и dd есть и в OS X.
Пожалуй, единственный недостаток у такого способа: неудобно ставить дополнительный софт. Если мало функциональности самого FreeNAS, и хочется поставить MySQL, антивирус, SVN и т. п. - то лучше выбрать вариант "full" и ставить систему на жесткий диск.
2009-11-06 версия FreeNAS обновилась и теперь настроить работу с Time Machine стало еще проще.
Since FreeNAS 0.7 it is easy to configure TimeMachine to use a AFP share (like Apple's Time Capsule)... Here is a short howto
First step: Configure FreeNAS
-> Enable AFP
-> Configure the share
Automatic disk discovery - Enable automatic disk dicovery
Automatic disk discovery mode - Time Machine
Second Step: Configure OSX Time Machine
-> Select System Preferences -> Time Machine
-> Select Backup Disk
-> and Authenticate
Thats it!
Я вам скажу, что AFP не является достаточно надежным решением для Time Capsule.
Дело в том, что для Time Machine диском управлять надо физически (т.е. оперировать понятием "диск", а не понятием файл.)
В том, способе, который я описал, использовался SAN (именно SAN, т.е. оперирование диском). А вы предлагаете AFP, что оперирует понятием "файл".
Да и после форматирования Time Capsule получит все вкусности HFS+, а именно, журналирование и проч. Без чего бэкап не будет надёжен.
Да и активация AFP-Time Machine-Backup не нова. В сети есть много руководств по осуществению таких способов бэкапа на основе Linux'ов и с использованием AFP. Тем более, AFP есть и в более ранней версии дистрибутива (0.69.2). Так что бэкап по AFP можно делать и в ней.
П.С. к слову о FreeNAS 0.7.4919. Теперь в ней для iSCSI нельзя использовать целый диск. А можно использовать только файл на диске. Что не есть хорошо для тех пользователей, у кого один диск и они хотят обновить систему без потери бэкапов, что невозможно в данной ситуации.
И еще: у меня 0.7 капризничала по поводу iSCSI. Ну я церемониться не стал и снес ее и поставил 0.69.2.4700
Так что буду еще обкатывать в виртуалке 0.7 и, возможно, напишу обновленный туториал по настройке Time Capsule на основе FreeNAS 0.7 и припишу туды способ с AFP.
Отличная тема ! Вот есть вопрос , а можно ли зделать это с учетом wifi AR5005 , чтоб freenas был подключен к маршрутизатору через wifi , а не через Lan ?
Как там обстоят дела с драйверами для WLAN ?
Благодарю за внимание
Спасибо , очень интересно, а настраивали ли вы медиа сервер для тунца ? Есть ли так какие-нибудь подводные камни ? Я попытался настроить исходя из интуитивности интерфейса, но добиться проигрывания музыки через тунца не получилось
Я тоже мучался... Ничего не получилось... Основной проблемой было то, КАК закинуть музыку на сервер. Этот шаг не удался, т.к. как я ни шаманил, система не давала ничего записать на NAS-хранилище. (т.е. через CIFS ничего закинуть не получилось).
С добавкой музыки нет проблем. Музыку добавлена в хранилище через самбу, а в медиасервере только прописать путь. У меня тунец не видит шары. Клиент FireflyClient-v0.9b-20081231 видит и воспроизводит из под маковской оси, в линуксе ритмбокс тоже видит и воспроизводит. Тунец не хочет, ни под виндой семеркой , ни на хакинтоше.
Насчет проблем с драйверами под железо - это больше в головах тех, кто говорит эту ерунду.
Ну или автора FreeNAS, если он до сих пор не поддерживает SATA в родном режиме.
Родительская система - FreeBSD, хотя и поддерживает меньше железа, чем Linux, с сколько-либо распространенными контролерами дисков проблем не имеет.
В случае с реализация на FreeBSD функционала Time capsule заморочки могут быть по экзотическим беспроводным сетевым картам например.
Более того - на сегодня FreeBSD имеет версию 8.1, а последний FreeNAS до сих пор базируется на старой версии FreeBSD 7.
И это - файловый сервис!!! А ведь между 7 и 8.1 существенная разница именно по поддержке файловых сервисов - технология ZFS перешла в стадию стабильной и рекомендованной.