Олимпиада "Наноэлектроника"
Неофициальный сайт

Меню сайта
Категории раздела
Наш опрос
Оцените сайт олимпиады
Всего ответов: 121
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Сети (МИФИ) » Домашние задания (по сетям МИФИ)

Создание сетевого файлового хранилища для домашнего использования или как мы с Жабой NAS собирали
У каждого есть мечта. У всех нас она разная и, разумеется, разнятся способы реализации этой мечты. У авторов сабжа, например, это NAS. Казалось бы, вполне заурядное желание: создать в домашней сети файлопомойку и расшарить с нее данные на все многочисленные устройства семьи. И путь решения проторен: пошел, купил, включил, настроил. Благо, что на рынке огромное количество предложений по данной тематике. Но нет, нам не нужны простые и очевидные решения! Жаба душит, и вообще, нужен творческий подход и полет технической мысли. А ещё хочется, чтобы этот полет, по возможности, закончился удачной посадкой… Итак, формулировка задачи для творческих терзаний: 1. NAS – именно Network, собственно Attached, и буквально - Storage. 2. Объем. Чем больше, тем лучше - ограничивается он только встроенной Жабой. 3. Надежность. Крайне печально потерять свои данные в результате падения дисков, потому нужен отказоустойчивый RAID. 4. Естественно, круглосуточная загрузка/раздача торрентов. 5. Очень желателен минимум шума. Хочется ночью все же спать, а не слушать стрекот головок дисков, обеспечивающих поток данных, разлетающихся по всемирной сети. 6. Важен минимум энергопотребления и стоимость полученного решения. Это наиболее критичный параметр. Сделаем реверанс в сторону Жабы и посчитаем для москвича стоимость владения любым устройством, круглосуточно включенным в течение года и потребляющим, для определенности, 200 ватт. Если 200 ватт умножить на 24 часа в сутках и умножить на 365 суток в году, в итоге получим 1752 киловатт-час. Умножаем на московский тариф электроэнергии на момент написания статьи и получаем 7095 рубля 60 копеек в год. Если вы готовы ежегодно нести такие расходы только на файлохранилище, то эта статья точно не для Вас. А мы будем руководствоваться вторым простым естественным человеческим желанием – сэкономить (для справки, первое – это украсть). Исходя из таких начальных условий, начинаем творить.
Создание NAS
Из чего состоит любой NAS? Это какие-то «мозги» и дисковый массив. Так как математики при работе NAS практически никакой, то «мозги» нужны довольно посредственные, что и наблюдаем на рынке: очень много домашних моделей NAS собирают как на Atomах или даже на ARM процессорах, так и в планшетах, к сожалению, со всеми вытекающими отсюда тормозами. Жаба подсказывает вполне очевидное решение: собрать NAS из того, что уже есть в наличии. У каждого маломальского айтишника есть в заначках куча железа, которое ему не нужно, выкинуть его жалко, а подарить некому. Вот и у авторов нашелся такой мегадевайс Asus EE PC 1005P: Рисунок 1. Внешний вид ноутбука Asus EE PC 1005P С 2GB ОЗУ на борту, но без «винта», поэтому пришлось туда прикрутить то, что нашлось в другой коробочке: Hitachi аж на целых 80 гигов. Хорошая штука: потребляет при средней нагрузке 9 ватт, а в пике целых (!) 15 ватт. Одно слово - Атом. Из недостатков: сетевой интерфейс 100 Мбит/сек и USB только 2.0, но по шестому и пятому пункту исходных требований ему просто нет равных. Обращаю ваше внимание, что про скорость доступа в исходных данных нет ни слова. Так что быть девайсу основой будущего NASа! К слову, для снижения уровеня энергопотребления ноутбук был разобран, из него был извлечен Wi-Fi, Bluetooth и отключена встроенная вебкамера. Итак, «мозги» есть. Дело за малым: осталось к нему прикрутить кучу дисков, естественно, по USB. Существует еще более изощренный способ: установить в miniPCIe слот SATA-контроллер и к нему подключить внешний диск (можно даже пару), но это решение уже требует хорошего напильника в плане переделки корпуса, поэтому мы так делать не будем. Берем внешний диск, подключаем к ноуту, расшариваем и наслаждаемся полученным решением до тех пор, пока этот самый диск, круглосуточно включенный и постоянно используемый в работе, в один прекрасный момент не рухнет со всеми вашими данными. Резервное копирование может спасти, но тогда вам нужно иметь уже два диска, один в работе, а второй, с актуальной копией данных, - в тумбочке. Словом, кривое решение, с явным нарушением пункта 3. И вот тут в поле зрения одного из авторов попадает вот такая симпатичная коробочка: внешний корпус AgeStar 3C4B3A для четырех жестких дисков. Рисунок 2. Внешний корпус AgeStar 3C4B3A для четырех жестких дисков Характеристики просто блеск: 1. USB 3.0 + eSATA 2. До четырех дисков, объемом до четырех Гб каждый, суммарно до 16 ГБ 3. Поддержка огромной кучи RAID режимов, включая JBOD и клонирования дисков. Словом, не просто устройство, а предел мечтаний айтишника. Сказано, куплено и принесено домой. Красивая коробочка, инструкция на русском языке (честно говоря, перевод текста явно машинный, но картинок куча и разобраться не сложно), все кабели, болты для крепления дисков и даже небольшая отвертка идут в комплекте. Естественно диск с драйверами и ПО для управления устройством тоже присутствуют. Перед тем как возложить на эту коробочку ответственную функцию ─ стать вместилищем и хранилищем дисков с данными автора, сей предмет был тщательнейшим образом осмотрен и изучен. Что понравилось с первого взгляда, так это качество изготовления корпуса. Не похоже на китайцев: толстый и тяжелый, хорошо обработанный металл. Навскидку, весит пустая коробочка килограмма два, не меньше. Хорошие резиновые ножки, предназначенные, в первую очередь, для гашения вибрации. Тут хотелось бы сделать небольшое отступление и рассказать про шасси для RAID массивов. Углубимся в суть происходящих процессов внутри дискового массива, к примеру, на четыре диска. Вот лежат перед нами эти диски, включенные и работающие. В какой-то случайный момент времени приходит им команда прочитать (или записать) какой-либо блок данных. Естественно диски начинают одновременно позиционировать свои головки. Если Вы когда-нибудь держали диск в руках в момент его интенсивного использования, то наверняка обратили внимание на довольно ощутимые толчки от перемещения головок по поверхности диска. А теперь представьте, что вы держите не один, а целых четыре синхронно работающих диска. Это уже ни много ни мало, а практически отбойный молоток, которым наши археологи ковыряют асфальт, как только сойдет снег, отыскивая где-то под землей. Теперь давайте вспомним, как работает механизм передвижения головок по поверхности диска, и представим, что в этот самый момент другие диски подталкивают своей вибрацией головку рассматриваемого нами диска. Думаю, каждому понятно, насколько вредоносен этот процесс данным, а главное, времени доступа. В свое время один из авторов беседовал с людьми, утверждавшими, что из-за плохого дискового шасси «плыли» скоростные характеристики дискового массива, и они наблюдали существенное возрастание скорости операций чтения/записи после замены одного «неправильного» шасси на «правильное». Следовательно, чем тяжелее конструкция, тем сложнее ее «раскачать» и тем меньше соседние диски будут мешать друг другу. Словом, первичный осмотр оставил очень приятные впечатления от коробочки. А раз первичный осмотр не нашел ничего плохого, то пришлось эту коробочку подвергнуть разбору и еще более детальному изучению. На печатной плате расположены две микросхемы, которые определяют функционал девайса: 1. JMB394 2. JMS539 Пошарив просторы интернета, было выяснено, что первая микросхема представляет собой мультипликатор портов SATA с аппаратной поддержкой RAID. Особенно впечатлили следующие технические характеристики:
  • поддержка шести портов SATA II;
  • поддержка Native Command Queuing (NCQ). Остается надеяться, что производитель обеспечили эту функцию в прошивке данного девайса с глубиной очереди больше чем 1.
  • полная аппаратная поддержка RAID;
  • RAID 3 / 5 поддержка кэша обратной записи для улучшения быстродействия. Очень сильная технология, существенно повышающая
  • скорость перестроения RAID массива: 200 ГБ/час. Получается, что 2 ТБ массив будет перестраиваться 10 часов. Оказалось, что массив из четырех дисков 2 Тб RAID5 перестраивается за 4+ часа;
  • процесс перестроения массива RAID продолжается между циклами включения / выключения питания. Вот это обязательно нужно проверить на практике. Очень часто дешевые RAID-контроллеры при отключении питания начинает перестроение массива с начала. Теперь о второй микросхеме. Это мост между SATA II и USB 3.0 с заявленной обратной совместимостью по стандарту USB 2.0. Как говорится, все гениальное просто. И, как известно, чем проще, тем надежнее. Уважение к коробочке повысилось. Словом, очень добротный и продуманный девайс. Осталось провести несколько тестов и не разочароваться от полученных результатов. Итак, тестирование внешнего корпуса AgeStar 3C4B3A для четырех жестких дисков.
    Тестирование NAS
    Начался тест с установки дисков сначала в салазки, а затем салазки в устройство. Тут авторы первый раз немного разочаровались в устройстве – салазки не предусматривают установку 2,5” дисков. Однако их можно установить, чуть-чуть пошаманив над устройством напильником, но об этом позже. Теперь ещё одно небольшое отступление по поводу скоростей и выбора дисков для построения массива. NAS, как известно, подключается к локальной сети Ethernet. В настоящее время существует три скорости работы сетевого интерфейса – 10 Мбит/сек, 100 Мбит/сек и 1 Гбит/сек. Первый стандарт уже давно не используется по причине слишком низкой скорости передачи данных. 100 Мбит/сек – самый распространенный стандарт в домашних сетях, и лишь немногие обладатели гигабитных роутеров работают в домашней сети на 1 Гбит/сек. 1 Гбит/сек - это чуть больше 100 Мбайт/сек. Таким образом, NAS на выходе не может обеспечить скорость обмена данными более 100 Мбайт/сек. Мы здесь не будем рассматривать возможность объединения нескольких сетевых интерфейсов в транк, так как это уже далеко не домашняя технология. Современные диски легко обеспечивают скорость обмена данными более 100 Мбайт/сек. Объединяя их в RAID массив, мы еще более повышаем скорость обмена данных (4 диска со скоростью 100 Мбайт/сек в RAID5 массиве обеспечат итоговую скорость обмена данных массива в районе 300 Мбайт/сек), что заведомо больше скорости Ethernet подключения. Отсюда вывод: более скоростные диски в массиве (читать как: более шумные и дорогие) не дадут нам ни какого выигрыша в скорости. А значит, будем использовать диски со скоростью вращения шпинделя 5400 об/мин. Они, как правило, более тихие, холодные (можно будет задушить вентилятор охлаждения девайса и тем самым существенно снизить шум), менее прожорливые и более дешевые. Итак, для тестирования были использованы следующие диски: 1. Seagate ST1000LM010. Самый тормозной диск из всех присутствующих в комплекте. Достали его из коробочки для внешнего диска GoFlex. Скорость линейного чтения на внешних треках диска 90 Мб/сек, на внутренних 45 Мб/сек. Для краткости, в характеристиках дисков далее будем пользоваться записью: 90/45 Мб/сек. Кэш-буфер 16 Мб, без поддержки NCQ. Словом, если кому-то не понравятся скоростные характеристики дискового массива с четырьмя дисками, вы знаете, какой из них будет являться причиной. Не участвовал в дисковых массивах с тремя и менее дисками. Стоит отметить толщину этого диска – 15 мм. В ноутбук такой не поставить, так что пусть теперь живет в составе дискового массива. 2. Western Digital WD10JPVX. Хороший диск. Достался одному из авторов из какого-то ноутбука. Скорость линейного чтения – 112/57 Мб/сек. Кэш-буфер 8 Мб, NCQ. Не участвовал в тестировании дисковых массивов с двумя дисками. 3. И наконец, два последних диска, прошедшие через все тесты: Hitachi HTS541010A7E630. Диск произвел очень приятные впечатления. Тихий, быстрый и тонкий – 7 мм. Скорость линейного чтения – 115/57 Мб/сек. Кэш-буфер 32 Мб, NCQ. Вот такая получилась солянка. Не ругайте авторов, а ругайте Жабу. Хотелось собрать массив на HTS541010A7E630, но поскребя по сусекам, обнаружили WD, да и коробка с Seagate попалась на глаза. Словом, получилось то, что получилось. Ни WD, ни Seagate не были в эксплуатации. Перед началом теста были протестированы поверхности всех дисков на предмет линейности скорости чтения, отсутствия перемещенных секторов, чтобы эти параметры не влияли на характеристики массива в целом. Установка в салазки не вызвала особых проблем. Были просверлены четыре дополнительных отверстия и – бинго! – 2,5” диск на месте. Установка салазок в корпус не обошлась без сюрприза: самая нижняя не хотела устанавливаться на свое штатное место. Замена третьей салазки на четвертую полностью решила проблему с установкой. В комплекте с устройством идет диск с программой, и авторы не поленились поставить дополнительный софт на ноутбук, поэтому вся настройка устройства производилась с помощью ПО из комплекта поставки. Стоит заметить, что двухстрочный экран устройства и четыре кнопки также позволяют полностью сконфигурировать устройство. Таким образом, был создан дисковый массив RAID5 из четырех дисков, и выполнен просмотр информации о системе. Немного разочаровало то, что на встроенном экране отображается модель диска, его серийный номер, емкость и нет такого важного параметра как температура диска. Явный недочет «прошивкописателей». Следует отметить, что девайс при работе довольно сильно шумит. Шумит в основном вентилятор на задней стороне коробочки, да и диски добавляют своих шорохов. Ночью под такой шум точно не заснуть, придется переделывать систему охлаждения: замедлять обороты вращения вентилятора и, быть может, заменить вентилятор на менее шумящий. Справедливости ради уточним, что процесс перестроения дискового массива при выключении устройства начинается с самого начала, а не продолжается в точке отключения питания, как это было указано в спецификации. Либо недочет «прошивкописателей», либо авторы что-то делают не так. Но хватит уже букв в описаниях и выводах, переходим к цифрам. Тестирование проводилось всем известной программулиной CrystalDiskMark 3.0.3 (количество тестов – 5, объем 4000 Мб). К сожалению, эта программа вызывает нарекания: временами выдает слишком кривые цифры и результаты, да и алгоритм работы донельзя кривой: несколько раз было замечено, что результаты скорости записи на дисках превышают скорость чтения. Как такое может быть? Уму непостижимо. Поэтому есть основания предполагать, что числа не соответствуют действительности и результат по скорости записи игнорировался. Все результаты приведены в таблице, где указывается только скорость линейного чтения. Случайное чтение и запись тоже не выкладываю. Очень странный алгоритм работы программы. Поясним: создан JBOD из четырех дисков, запускаю тест, и весь тест проходит только на одном диске, без обращения к другим трем (проверено по светодиодам активности дисков). Хороший тест – ничего не скажешь. Весь рандом чтения-записи пришелся только на один диск? Словом, полученные данные тоже благополучно мигрировали в утиль. Еще несколько слов о тестовой платформе. Естественно, тест проводился не на том ноутбуке, который планировалось использовать в качестве «мозгов» для NAS. Рассматриваемый дисковый массив был подключен к платформе на базе материнской платы ASRock Q1900DC-ITX, четырехядерный Celeron работающий на частоте 2,4 ГГц (хорошее охлаждение переводит кристалл на Turbo-частоты под любой нагрузкой 100% времени), 2 х 4 Гб DDR3L, SSD диск 60 Гб Silicon Power SP060GBSS3V55S25. Все это железо крутилось под Windows 7 х64. Дисковый массив был подключен через USB 3.0 интерфейс. В результате тестов получилась следующая таблица: А так дела обстоят с записью. В лучших традициях жанра сейчас стоит поразмышлять, разглядывая полученные результаты, чем мы с вами и займемся. Некоторое отставание по скорости в некоторых типах четырех дискового массива от трех дискового (зеленый и красный график) объясняется тем, что в четырех дисковой комбинации массива использовался очень медленный диск Seagate ST1000LM010 – единственный, у которого отсутствует поддержка NCQ. Возможно, это отставание вызвано возросшей нагрузкой на кристалл RAID-контроллера, которому приходиться выполнять большее количество вычислительных операций при увеличении количества дисков (например, RAID 5 три диска вычисления идут по формуле C = A XOR B, а в четырех дисковом массиве D = A XOR B XOR C). На график записи можно не смотреть, причины объяснены выше. Иного разумного объяснения того, почему при записи трехдисковый RAID 0 массив существенно отстает от четырехдискового, нами не найдено. Оставляем этот факт вам на обсуждение. ри изучении графиков бросается в глаза предел скорости в 200 Мбайт/сек. На графике 1 представлен тест поверхности RAID 5 массива из четырех дисков. При этом тесте данные читаются с поверхности диска, но не передаются через USB 3.0 интерфейс. Как видим, скорость чтения составляет в пике более 270 Мб/сек, почти SATA II производительность, на какую и рассчитан был JMB394 – основа нашего устройства. Некоторую «ухабистость» графика я объясняю сборною солянкой из трех типов дисков, а точнее их объемами кэш-буферов – 8, 16 и 2 по 32 Мб. Можно сделать вывод, что алгоритм упреждающего чтения работает (откуда тогда берутся такие почти периодические пики?). Тот же массив в режиме чтения: $IMAGE4$ Как говорится, результат на лицо: 2/3 диска читаются со скоростью около 190 Мб/сек. Скорее всего, 190 Мбайт/сек – это предел пропускной способности USB 3.0 (либо это все на что способна микросхема JMS539). Наблюдательный читатель заметит несоответствие скорости тестов первой и второй программы. Это объясняется одной особенностью в вычислении скорости программой CrystalDiskMark 3.0.3. У этой программы по воле ее странного автора 1 Мбайт = 1000 Кбайт, а 1 Кбайт = 1000 байт. Если учесть этот факт и пересчитать CrystalDiskMarkовские мегабайты в реальные, то их 200 Мбайт соответствуют 190,73 реальным Мбайтам. Таким образом, двумя разными способами мы пришли к одному и тому же результату. Из этого следует, что он является истинным и эксперимент прошел успешно. Авторы более чем уверены, что подключив девайс через eSATA интерфейс, мы получили бы график идентичный первому. При этом теоретическая пропускная способность должна составлять около 300 Мбайт/сек (SATA II, как-никак), и должен заработать такой приятный для нас механизм как NCQ, который тоже должен благотворно сказаться на скорости доступа к данным, особенно при случайном чтении/записи. Но протестировать устройство, подключив его через eSATA интерфейс, у авторов не получилось по причине отсутствия компьютера с таким разъемом.
    Заключение
    Далее приводим некоторые выводы, сделанные в процессе настройки и тестирования устройства, а также особенности работы массива в отдельных режимах RAID: RAID 1. Запись производится на оба диска, а вот чтение только с одного (проверено по светодиодам активности дисков). Очень странно, так как нас еще в школе учили, что при наличии двух идентичных копий, первый блок читается с первой копии, а второй – со второй, и так далее. В нашем же случае получаем, что первый диск и пашет, пишет и читает, второй только пишет. Явно не симметричная нагрузка: первый диск подвержен повышенному износу и имеет гораздо больший шанс выйти из строя. Не получилось создать RAID 1 массив из трех и более дисков. Это явно академический случай, но факт остается фактом – не поддерживаются RAID 1 массивы из трех дисков. В режиме CLONE ситуация аналогичная RAID 1 – сколько бы дисков мы не клонировали, чтение происходит только с первого диска, а запись на все. Очень странный подход к балансировке нагрузки на диски (читать как: в лес всякую балансировку). Ох уж эти «прошивкописатели»! В заключение еще одна приятная особенность: устройство может работать одновременно с двумя RAID массивами. В документации мы этого не нашли и спешим поделиться с вами. У авторов получилось создать RAID 0 массив из двух дисков и RAID 1 из других двух. Как говорится, совместили надежность со скоростью: важные данные храним на RAID 1, а быстрые на RAID 0. Правда, доступ к обоим массивам только через один шнурок. Такая же ситуация как и на жестком диске, разбитом на два раздела C и D – диска два, а SATA кабель только один. Подводя итог, хочется сообщить, что авторы очень довольны девайсом. После проведенных доработок по установке 2,5” дисков и замены встроенного вентилятора на NUCTUA NF-R8 с соответствующей доработкой корпуса, авторы, в конце концов, получили то, что хотели. Три месяца эксплуатации в режиме круглосуточной раздачи торрентов не выявили каких-либо недостатков используемого решения. Мечта исполнена, и даже Жаба довольна.
  • Категория: Домашние задания (по сетям МИФИ) | Добавил: Мария (01.01.2015)
    Просмотров: 650 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Форма входа
    Поиск
    Друзья сайта