(кликните по картинке для увеличения) фото GuruPlug2GuruPlug представляет собой небольшую коробочку (95х65х48.5 мм), внутри которой установлена начинка – плата с полностью распаянной системой (процессор, оперативная память, NAND-память, порты ввода-вывода). Такие устройства называются
System-on-Chip (SoC) и представляют собой электронную микросхему, выполняющую функции, обычно присущие гораздо более крупным и «внушающим доверие» устройствам – например, компьютерам, сложным блокам контроля и т.д.
Не вдаваясь глубоко в подробности, здесь можно отметить, что системы-на-кристалле потребляют меньше энергии, стоят дешевле и работают надёжнее, чем наборы микросхем с той же функциональностью. Меньшее количество корпусов упрощает монтаж. Тем не менее, создание одной слишком большой и сложной системы на кристалле может оказаться более дорогим процессом, чем серии из маленьких из-за сложности разработки и отладки и снижения процента выхода годных изделий.
Процессор, распаянный на данной плате, является представителем устройств, основанных на
ARM-архитектуре. Производитель «сердца» данного «сервера» - компания Marwell, признанный лидер в разработке подобных устройств. В моем случае основной кристалл принадлежит к семейству Marvell Kirkwood 6281, имеет тактовую частоту 1,2Ghz, кэш L1 32Kb (из них 16Kb отведено под инструкции и еще 16kb – под данные), а также кэш L2 размером 256Kb. Данный чип аппаратно поддерживает основные алгоритмы шифрования (AES, DES и 3DES) и аутентификации (SHA1 и MD5).
Подсистема памяти состоит из ОЗУ 512Mb DDR2 800MHz с шириной шины 16 bit и основанной на чипе Samsung памяти NAND FLASH объемом также 512Mb, управляемой 8-битным контроллером.
Хочется отметить широкий спектр возможностей GuruPlug в плане подключения различных устройств и носителей данных посредством нескольких распространенных интерфейсов, а именно:
•2 порта Gigabit Ethernet;
•1 порт eSATA 3 Gb/s SATA2;
•2 порта USB 2.0;
•MicroSD слот;
•WiFi 802.11 b/g;
•BlueTooth 2.1 / EDR.
Из спецификаций можно понять, что данное устройство представляет собой мини-сервер с широкими возможностями настройки, обмена данными, большим спектром назначаемых ролей (например, файл-сервер, прокси-сервер, принт-сервер, DNS, DHCP, торрентокачалка). При энергопотреблении устройства не более 20Вт (потребление процессора всего лишь 5Вт) и минимальных размерах – это очень привлекательное и достаточно необычное устройство.
За то время, пока заказ добирался до меня, вышло несколько материалов, посвященных описанию самого устройства, а также кое-каких нюансов его работы от людей, уже успевших его приобрести. Почитать можно, например,
здесь. Несмотря на достаточно негативный характер отзыва, отказываться от новой интересной игрушки не хотелось. Поэтому я просто взял на вооружение те моменты, которые были описаны, с целью сразу же после получения проверить их и, если информация подтвердится – принять соответствующие меры.
Как только у меня появилось свободное время для «ковыряния» своей покупки – первым делом я решил заняться программной начинкой устройства, а также последить за его температурными и шумовыми показателями во время работы. Сходу выяснилось, что в прошивке, поставляемой с сервером, отсутствует элементарная «читалка» less, зато гений разработчиков зачем-то вставил внутрь MySQL. Не очень было понятно, чем руководствовались создатели, размещая серверное ПО управления базами данных – ведь можно было обойтись гораздо более адекватными инструментами вроде bdb или sqlite… Ну да ладно, флаг им в руки и электричку навстречу, как говорится. При ближайшем рассмотрении оказалось, что текущая версия загрузчика не была последней и не умела грузить ядро с ext2 раздела, а держать FAT мне совсем не хотелось. Некоторое время поэкспериментировав, я научил свой новый «сервер» грузиться не только из встроенной в NAND прошивки, но также и с карточки MicroSD, что давало мне возможность не ограничиваться встроенным объемом памяти (хотя разработчики заняли под дефолтную систему всего около 230 Мб). Подключить к «серверу» винчестер сразу же не получилось, поскольку кабель eSATA в комплекте отсутствовал, и ни в одном магазине быстро найти его не получилось. Поэтому первоначальные эксперименты проводились с установкой системы Debian Squeeze на SD карточку в 4ГБ. После первых экспериментов по обновлению программы загрузчика пришлось "протестировать" и систему восстановления встроенного ПО в случае его отказа – на этот случай в GuruPlug’е имеется возможность подключения к
JTAG, что особенно удобно для людей, обожающих эксперименты. В основной комплект поставки устройство JTAG не входит, поэтому его пришлось заказывать дополнительно – хотя и одной посылкой, что, естественно увеличило стоимость покупки. Вообще, весь комплект обошелся мне более 200$, из которых сам GuruPlug стоит 133$, еще 39$ - это стоимость JTAG и, наконец, 40$ - стоимость доставки из США в Россию.
Что же до температурно-шумовых показателей… Информация от других пользователей подтвердилась. Конкретно же – вентилятор действительно расположен так, что ему физически крайне затруднительно охлаждать нагревающиеся элементы «сервера», хотя он и пытается. Шум при этом достаточно заметен – к примеру, уснуть в комнате с работающим сервером было бы достаточно затруднительно. Попытки уменьшить шум посредством смазки положительного результата не дали. Посему вентилятор сразу же был удален из девайса. Проверка температурного режима «пальцевым методом» показала, что «на ощупь» процессор и память достаточно горячие. Систему охлаждения я решил сделать сам на базе радиатора с кулером от старой видеокарты. На данный момент это не является первостепенной проблемой, поэтому «сервер» просто работает при снятой крышке.
(кликните по картинке для увеличения) GuruPlug открытый
(кликните по картинке для увеличения) GuruPlug открытый2
(кликните по картинке для увеличения) GuruPlug с радиаторомСледующим шагом, необходимым для ввода в эксплуатацию моего приобретения стала необходимость покупки бокса для HDD, который обладал бы интерфейсом eSATA, мог обеспечивать охлаждение жесткого диска и выглядел достаточно стильно. После занявших некоторое время консультаций с друзьями, а также оценки доступных для заказа представителей этого класса – мой выбор остановился на
Thermaltake Vi-ON <ST0008> Black.
(кликните по картинке для увеличения) HDD BoxПочему он? Потому что в нем присутствует вентилятор (а винчестер хотя и «зеленый» WD, но, думаю, дополнительное охлаждение никогда лишним не будет). Сначала была мысль приобрести корпус из алюминия, но среди доступных для заказа моделей мне ничего толком не приглянулось. К тому же брэнд ThermalTake все еще позволяет надеяться на приобретение качественного продукта. Немаловажным фактором также стало наличие в данной модели eSATA-интерфейса со шлейфом в комплекте – поскольку отдельно шлейф я обнаружить в продаже не смог. Ну и наконец, просто понравился внешний вид – стильный, черного цвета, отличная эргономика и так далее.
Подключив к своему новому «серверу» винчестер в новом же боксе – первым делом решил проверить, правильно ли винчестер определился и с какими настройками работает eSATA:
цитата:
Nov 18 22:18:16 mars kernel: [51515.773158] ata1.00: status: { DRDY }
Nov 18 22:18:16 mars kernel: [51515.776847] ata1: hard resetting link
Nov 18 22:18:17 mars kernel: [51516.639766] ata1: SATA link up 1.5 Gbps (SStatus
113 SControl F310)
Nov 18 22:18:17 mars kernel: [51516.719847] ata1.00: configured for UDMA/133
Nov 18 22:18:17 mars kernel: [51516.724165] ata1: EH complete
Nov 18 22:21:16 mars kernel: [51695.982041] ata1.00: limiting speed to UDMA/100:
PIO4
В процессе тестов нового сервера выяснилось, что после определенного времени работы он «падает» в режим UDMA33.
Как я понял, в текущей версии ядра были сделаны неправильные таймауты в модуле SATA, и из-за этого драйвер считает, что контроллер не может работать в режиме UDMA133, поэтому он и понижает скорости. К этому моменту уже эксперименты шли не на «родном» ядре, которое шло с завода, а на собранном и залитом мной. Возможно, этой проблемы не было бы в изначальной версии. Как мне кажется, обновление ядра Debian с текущей версии 2.6.32 до версии 2.6.36 должно исправить ситуацию, поскольку в описании обновлений было указано, в том числе о доработке этой части. Так что надо, наверное, обновиться.
Пока же до этого руки не дошли – я решил просто потестировать скорости чтения локально и по сети:
локальное чтение
цитата:
mars% dd if=/mnt/sd1/cinema/Voennye.igry.2.2008.DVDRip.INTERLIVE.mkv of=/dev/null bs=4k
357671+1 записей считано
357671+1 записей написано
скопировано 1465023040 байт (1,5 GB), 17,8938 c, 81,9 MB/c
копирование по сети
цитата:
dd if=/mnt/net/mars/storage/cinema/Voennye.igry.2.2008.DVDRip.INTERLIVE.mkv of=/dev/null bs=4k
357671+1 записей считано
357671+1 записей написано
скопировано 1465023040 байт (1,5 GB), 124,962 c, 11,7 MB/c
При просмотре фильма по сети выяснилось, что загрузка ARM-процессора минимальна – как следствие и проблемы нагрева беспокоить не должны:
цитата:
top - 18:03:25 up 2:43, 1 user, load average: 0.05, 0.46, 0.30
Cpu(s): 0.3%us, 0.7%sy, 0.0%ni, 98.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
На записи оно греется меньше, чем на чтении. Видимо, это связано с меньшим объемом информации, прокачиваемым через процессор и память. Осталось выяснить, как оно греется на торрентах.
Вышеприведенные результаты показывают, что сеть стабильно работает на скорости 100 Mb/s. Для связи между «сервером» и основным компьютером я использовал протокол
NFS.
На данный момент это пока все результаты и достижения. В целом, я доволен своей покупкой, в дальнейшем планирую превратить ее в торрентокачалку, прокси-сервер, файлохранилище и прочие мелкие радости сисадмина. Если представится возможность – также потестирую возможности беспроводных подключений… В общем, продолжение следует.
Текст полностью согласован с хозяином описываемого устройства, пережил несколько правок под его руководством в целях популяризации и наибольшего соответствия реальности.