February 2014

Ubuntu Server в сети MacOS (часть 1)

Ubuntu Server в сети MacOS (часть 1) - Подготовка к установке.


Продолжительный период использования техники Apple и совместимых аксессуаров привело к образованию значительного запаса ненужного оборудования. Например, внешние firewire диски в новом поколении iMac подключать стало сложно, TimeCapsule первых поколений при замене дисков на более емкие значительно замедляют работу сети. При этом бюджетные NAS системы имеют обычно низкую скорость. В общем, возникла возможность и желание собрать NAS или даже минисервер, максимально используя имеющееся железо и с минимальными затратами.
Начем с самого начала. Выбор оборудования и определение затрат на создание NAS сервера, а также медиа-сервера и многое другое

1. Оборудование для NAS сервера (для тех у кого уже есть собранный ПК можно пропустить).


Первое и самое важно - корпус. Именно на него будем смотреть все время. Более того, я как параноик тишины, хочу, что бы корпус еще был тихий. Поэтому задача выбора корпуса стала самой сложной. В данном случае подойдут все модели формфактора MiniITX, но чем больше и дороже корпус, тем он обычно тише и дороже. Ищем золотую середину. В своих поисках остановился на двух моделях (без блоков питания - все цены указаны на начало 2014 года):
  • Бюджетный - Morex 6610 PC Case (70 usd) - есть возможность подключения до 4х дисков 3,5 дюйма, и даже DVD-ROM (что для мультимедиа сервера не маловажно);
  • Стильный - Fractal Design Node 304 (100 usd) - красивый, стильный, добротный, дорогой. Зато вмещает аж 6-ть дисков 3,5 дюйма (но без возможности установки DVD), 14 сантиметровый кулер + 2 дисковых (все с регулировкой скорости вращения с помощью переключателя «низко»-«средне»-«высоко»).
В качестве совсем бюджетной модели подойдет любой корпус и любого форм фактора, с минимальным блоком питания (так как система должна получиться маломощной). Выбор указанных выше моделей основан на миниатюрности и относительной тишине.
Второй этап - выбор блока питания (Опять же тихого и надежного. Мощность в данном случае не так важна). Получилось подобрать два варианта:
  • С 12 мм. вентилятором бюджетный Zalman ZM400-LE 400W. В дальнейшем можно скрутить защитную решетку, что тоже немного уменьшает шум (ориентир 30 usd);
  • Безвентиляторный (безбожно дорогой) Chieftec GPS-500C 80Plus Platinum 500W. Цена в пределах 150 USD.
И самое главное - материнская плата и процессор. В данном направлении широкий выбор. Остановимся на основных моделях форм-фактора MiniITX. Другие критерии:
  • наличие достаточного количества SATA шлейфов питания (желательно аппаратный RAID, хотя и не обязательно. А для дальнейшей совместимости hard RAID даже противопоказан);
  • память формата SO-DIMM (Очень актуально для пользователей, которые провели upgrade своей Apple техники. Многие не знают куда девать освободившиеся планки ;))
  • низкое энергопотребление системы в целом.
Из доступного на начало 2014 года предложения, получилось подобрать такие варианты :
  • все варианты с интегрированным CPU - хороши, но мало встроенных SATA портов (например, ASRock AD2550-ITX или Asus C8HM70-I/HDMI intCPU) - ориентир 90 USD. То есть надо еще докупать доп. контролер (30-50 USD). Итого: 120-150 USD.
  • Intel Base система. Большой выбор материснких плат на которых интегрированно по 4-е SATA разъема, а в отдельных системах присутствуют две Ethernet карты (на любителя), например, Gigabyte GA-H87TN s1150 mITX (ориентир 110 USD) или с двумя Ethernet, Hard Raid, miniPCI (для подключения SSD диска) - Asus Q87T s1150, Intel Q87, PCI-E 3.0x16 (Ориентир 160 USD). Процессор с минимальным энергопотреблением - Intel Core i3-4130T 2.9GHz/3MB/5GT/s (120 USD). Итого 230-270 USD.
  • AMD система (компромисс цена/качество). Материанская плата с 7-ю SATA разъемами: ASRock FM2A85X-ITX (95 USD). К ней нужна и память DDR3 стандартного размера - ориентир 50 USD . Процессор с низким энергопотреблением: AMD Richland A8-6500T 2.1GHz/3100MHz/4MB (100 USD). Итого: 245 USD.

Жесткие диски - САМОЕ ВАЖНО, но их выбор это тема целого исследования. Поэтому, уточню только основные особенности при выборе современных жестких дисков:
1. Не покупайте диски Desktop-класса, особенно WD Green (очень плохо работают в RAID массивах и вообще в NAS системах). При значительной нагрузке (круглосуточной работе) выходят из строя за год, а то и менее. При этом обязательный в данном случае RAID1 (минимум 2-а диска) получается дороже покупки одного более дорого диска.
2. Сегодня появились на рынке диски с маркировкой NAS. Из названия понятно, что ориентирвоаны на рассматриваемые системы. Они характеризуются длительным периодом эксплуатации и сравнительно низкой старостью вращения шпинделя (5400-5900 оборотов). В целом данные диски - оптимальный выбор. Очень рекомендую покупать сразу минимум 3и диска для формирования RAID5 массива.
3. Дорогие диски - специально для сервера (корпоративного класса). Характеризуются высокой скоростью и повышенной надежностью. Обычно в 2 раза дороже обычных дисков (Desktop и NAS уровня). Для домашнего сервера - эти диски на любителя. Хотя можно рассмотреть покупку именно даного диска для установки операционной системы, формирования надежного RAID массива и т.п.
Общие замечания - чем дешевле диск (с поправкой на емкость) - тем ниже его надежность и/или скоростные характеристики.

2. Установка и первичная настройка программного обеспечения на сервер.



Переходим к главному этапу - установка и первичная настройка ПО.
По различным причинам выбор пал именно на Ubuntu Server, так как данное решение
  • бесплатное и достаточно стабильное
  • практически не возникает проблем с поддерживаемым оборудование (не в пример с VMWare, тоже бесплатным, но очень капризным по отношению к оборудованию)
  • огромное число приложений и частных решений (от стандартного набора SMB, VPN, UPNP до специфического для MacOS - AFP (Netatalk) протокола, HFS+ файловых систем и т.п.)
  • имеет широкое распространение (официальная поддержка и значительное число решений в рамках сообщества).
Следующая проблема - выбор конкретного дистрибутива. На официальной странице ubuntu.ru представлены две серии стабильных выпусков: выпуск с длительной поддержкой (сейчас - Ubuntu Server 12.04.4, который существенно обновляет один раз в два года) и стандартный выпуск (обновляется два раза в год). С учетом ого, что сервер - это довольно стабильная система длительного пользования, мною выбран именно вариант с длительной поддержкой. Однако установка и стандартной версии значительно не изменила результата. Если есть желание повозиться с новыми программами, сервисами и т.п. То лучше ставить именно Ubuntu Server с полугодовым обновлением.
Кстати на счет выбора 32 или 64 битной Ubuntu server версии однозначного ответа не дам. Должно быть лучше AMD (x64) версия. однако, с ней связана определенная несовместимость старых программ, что тоже решается и будет дополнительно описано при рассмотрении процесса установки UPNP сервера.

В данном примере выбрава Ubuntu Server 12.04.4 AMD версия.

Подготовка загрузочного диска



Исходный файл дистрибутива можно скачать с официального сайта Ubuntu в по torrent или http протоколу - http://ubuntu.ru/get

Что делать с полученным файлом? Проще всего записать на CD-диск и провести установки с внешнего диска. Но поскольку эра CD ужа безвозвратно уходит в прошлое, большинству пользователей данный вариант недоступен. Поэтому необходимо записать загрузочный falsh-диск. В Windows для этого можно использовать программу UltraISO (на подробностях не буду останавливаться, так как настоящие «герои» всегда идут в обход ;)).

Запись iso-дистрибутива на flash в MacOS (в Ubuntu поступаем аналогично, только немного меняется синтаксис команд). Все команды выполняем в режиме терминала


1. Вначале для записи iso-файл образа диска установки на загрузочную flash-ку необходимо провести его конвертацию в формат .dmg с помощью системной утилиты hdiutil. Синтаксис смотри ниже.

hdiutil convert -format UDRW -o /Volumes/data/ubuntu-12.04.3-server-i386 /Volumes/data/ubuntu-12.04.3-server-i386.iso

где
/Volumes/data/ubuntu-12.04.4-server-amd64 - путь и имя файла .dmg
Volumes/data/ubuntu-12.04.4-server-amd64.iso - путь и имя исходного .iso файла

В операционной системе Ubuntu конвертировать .iso файл образа не надо.

2. Уточнение параметром компьютера и имя диска носителя flash.
Созданный файл (ubuntu-12.04.4-server-amd64.dmg)необходимо записать на Flash. Что бы определить какой именно диск является flash носителем используем утилиту diskutil.

diskutil list

У меня данная команда выводит следующий результат:

/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk1
1: EFI EFI 314.6 MB disk1s1
2: Apple_HFS MyBook09 3.0 TB disk1s2
3: Apple_Boot Recovery HD 650.0 MB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *7.8 GB disk2
1: DOS_FAT_32 DATA 7.8 GB disk2s1


ТУТ ВНИМАТЕЛЬНО!!!
Исходя из полученного листинга доступных дисков видно, что к компьютеру подключены 3 диска (/dev/disk0, /dev/disk1, dev/disk2). Никогда не используйте /dev/disk0 (это практически всегда системный диск). Я знаю, что моя flash на 8 Gb. Смотрим на листинг комманды diskutil. Есть диск размеров 7,8 Gb. Значит, сорее всего, подходит.
В приведенном примере диск flash - это /dev/disk2

В ubuntu для вывода списка дисков используем fdisk -l

3. Обязательно демонтируем диск /dev/disk2

diskutil unmountDisk /dev/disk2

Если данную операцию не произвести, получим ошибку «Диск занят» (не забываем демонтируем именно выбранный диск Flash).

В ubuntu для данных целей применяет стандартную команду
sudo umount /dev/sdc2 (для disk2)

4. Запись образа (АККУРАТНО С СИНТАКСИСОМ ИМЕНИ ДИСКА - можно удалить информацию на системном носителе)

Запись образа производиться по аналогии со всеми unix-подобными системами (OSX, Ubuntu и т.п.) командной dd (посекторная запись данных):

sudo dd if=/Volumes/data/ubuntu-12.04.4-server-amd64.dmg of=/dev/rdisk2 bs=1m

где
ubuntu-12.04.4-server-amd64.dmg - файл диска образа системы
of=/dev/rdisk2 - обозначение диска Flash (того самого /dev/disk2. Для диска /dev/disk3 данный параметр будет of=/dev/rdisk3 и т.п.)


Загрузочный flash готов.
Не забываем извлечь диск командой diskutil

diskutil eject /dev/disk2