
8-го октября, на 71-м году жизни скончался Деннис Ритчи (Dennis Ritchie). Об этом стало известно из сообщения его коллеги Роба Пайка.
Дэннис Ритчи — один из величайших инженеров современности, создатель вездесущего языка C и один из авторов ОС UNIX. Сложно переоценить влияние этого человека на современную IT-индустрию: его идеи легли в основу подавляющего большинства современных систем, и почти все повсеметсно использованные ОС написаны на языке Си.
Но его труды не ограничиваются этими двумя вещами. Он занимался развитием операционных систем Plan 9 и Inferno, развивавших концепции UNIX и устранявших его недостатки, а так же языком Limbo. Он занимался общей теорией создания ОС и писал книги, одна из которых, «Язык программирования C» стала хрестоматийной.
Покойся с Миром, Дэннис Ритчи. Человечество благодарно тебе за твои труды.
В предыдущем посте я рассказал о предпосылках, сподвигших меня на реогранизацию домашней сети. Сегодня речь пойдет о подборе железа для сервера.
На всякий случай напомню ключевые требования, которые предъявлялись к серверу:
Нетрудно заметить, что первые два пункта слегка конфликтуют с последним. Впрочем, как оказалось, не фатально. Устроенная ревизия закромов показала, что у меня уже есть в наличии две сетевых карты на 100 Мбит с интерфейсом PCI и жесткий диск Seagate на 160 Гб, которые решено было использовать. Для основного хранилища будет использован внешний жесткий диск от WD, работающий в текущем сервере. Исходя из этих требований, были выдвинуты уже более технические требования к железу:
В качестве магазина для покупки компьютерной техники на заметные суммы я уже года три использую Открытые Технологии, благодаря вменяемому сайту, самому большому ассортименту и, как ни странно, самым низким ценам. С другой стороны, не-айтишнику самостоятельно выбрать там вменяемое железо очень и очень непросто: надо много гуглить, читать отзывы, сравнивать характеристики и проверять совместимость.
Учитывая, что у меня уже были две сетевых карты и жесткий диск для системы, мне удалось уложиться в 6000 с вот таким набором железа:
Суммарно — 5746 руб.
Оказалось, что найти материнскую плату, полностью отвечающую пожеланиям, нелегко: из-за "свежести" сокета цены на материнки несколько задраны, и платы форм-фактора ATX, на которые реально упихнуть 4 слота для памяти и 4 слота PCI + пару PCI-E, стоят довольно дорого и позиционируются как профессиональные-производительные. Поэтому пришлось ограничиться платой mATX всего с двумя слотами PCI, одним PCI-E и парой слотов памяти.
Однако, это оказалось единственной жертвой, на которую пришлось пойти. После сборки выяснилось, что система получилась довольно тихая со вполне приемлемой для домашнего сервера производительностью. Кстати, пользуясь случаем, замечу, что очень удобно иметь невесту-айтишницу, которая может оказать неоценимую помощь при сборке — все-таки тонкими женскими пальчиками гораздо удобнее копаться в особо дальних уголках корпуса.
На десерт выложу несколько фотографий процесса сборки.
Из небольших "твиков" при сборке стоит упомянуть, пожалуй, только одну тонкость. На системнике присутствуют индикаторы как для жесткого диска, так и для питания, при том индикатор питания довольно яркий. Но чтобы этот индикатор не мешал по ночам, имеет смысл его просто отключить; включенность легко определить по шуму. Либо, если сервер не планируется использовать в качестве файлопомойки, можно поменять местами индикаторы жесткого диска и питания. Тогда яркий индикатор будет загораться очень редко. Но если использовать машину и для файлохранилища, то такого лучше не делать, ибо часто моргающий яркий огонек будет раздражать неизмеримо сильнее, чем горящий постоянно.
На этом я сегодня закруглюсь. В следующих постах будут преведены некоторые тесты производительности и рассказ об установке и настройке софта для выполнения всех нужных функций.
Этим постом я начинаю серию, в которой расскажу о процессе сборки, настройки и эксплуатации домашнего сервера.
Начать же я хочу с изложения предпосылок, которые обусловили выбор железа, софта и настроек, о которых будет рассказано далее.
Сейчас в квартире любого гика скапливается изрядное количество довольно умных девайсов, умеющих ходить в интернет, играть музыку и делать многие другие полезные вещи. Все это хозяйство в первую очередь увязывается в сеть с помощью Wi-Fi и, в случае стационарников, Ethernet. В центре сети оказывается какой-нибудь недорогой роутер-точка-доступа. У некоторых со временем заводится еще и отдельная машинка, работающая файлопомойкой и торрент-качалкой (свежие релизы своего любимого дистрибутива раздавать на благо сообщества, а не поганый пиратский софт качать, вестимо).
В этом отношении и моя семья не стала исключением. В качестве роутера у нас трудился ASUS WL-520GU с прошивкой от Олега. ну а семейной файлопомойкой работал допотопный ноутбук Toshiba Satellite Pro 4600 с подключеным внешним USB HDD. До поры до времени эта конструкция всех устраивала, хотя скорость работы роутера под нагрузкой былаа не ахти какой, а старенький ноутбук делал файлопомойку не слишком шустрой. Стояло все это дело под столом:
Но в один прекрасный момент HomeNet устроил нам эпичный факап с недельным отсутствием интернета, а РосТелеком как раз в это время заменил у нас телефонную линию на оптическую G-Pon, предложив заодно более дешевый и быстрый интернет. Подключение к HomeNet мы решили сохранить на всякий случай, перейдя на младший тариф.
Одновременно с этим меня начала неколько раздражать запутанность нашей домашней сети, в которой теперь болтались роутер, G-Pon модем (это 2 NAT'a на пути во внешку), файлопомойка, все остальные девайсы и два провода от разных провайдеров, которые надо было по мере необходимости перетыкать руками. Безобразие? Безобразие.
Поэтому было принято решение сделать полноценный сервер, который будет выполнять функции роутера, файл-сервера, принт-сервера и заодно балансировать нагрузку между двумя провайдерами. При этом было выдвинуто три требования:
На данный момент могу сказать, что с некоторыми оговорками цель была успешно достигнута, но подробнее об этом в следующем посте.
Поздравляю, коллеги, с профессиональным праздником!
Не буду долго перечислять пожелания — всё всем и так понятно :-) Ну а кому все же хочется пожеланий — добро пожаловать на Хабр, по такому случаю там целых два топика: первый и второй. А для тех, кому не лень пошевелить мозгами, там же есть набор праздничных головоломок. Сумеете решить?
Возвращаясь к пожеланиям, я пожелаю лишь одно: не пускайте корни в своей берлоге. Она хоть и уютная, но за ее пределами есть много интересного!
Как я и планировал, я начинаю по-тихоньку публиковать полезные наработки, использованные мною в phpBB Constructor. Сегодня черед, пожалуй, наиболее важной из них — это MODX Library.
MODX Library — это библиотека, обеспечивающая автоматическую обработку инструкций по установке модов в формате MODX. Идейно этот формат является развитием патчей со значительно расширенным набором операций, удобных при установке модов. В настоящее время подавляющее большинство модов для phpBB3 распространяется именно в этом формате. MODX Library практически полностью реализует поддержку последней версии стандарта MODX 1.2.5, отличия от стандарта описаны в README файле.
Замечу, что именно с этой библиотеки началась работа над phpBB Constructor в начале февраля 2010 года. Впрочем, история разработки конструктора — это отдельная и местами поучительная тема, которой я коснусь как-нибудь в другой раз.
Идеологическим предшественником этой библиотеки была другая моя, гораздо более ранняя разработка под названием Lite MOD Parser, занимавшегося теми же задачами, но только для более раннего формата MOD, популярного в эпоху phpBB2. Сейчас эта штука может быть полезна разве что в исторических целях, а тогда планировалось ее использование в претензиозном проекте Web Update, призванном накорню автоматизировать обновление сайтовых движков. И, вероятно, будь у меня тогда больше настырности и опыта, из этого чего-нибудь бы и вышло :-)
Последние комментарии
/Гость/ 2 недели 5 дней назад
/Гость/ 5 недель 22 часа назад
/Alek$/ 12 недель 3 дня назад
/Alek$/ 12 недель 3 дня назад
/Гость/ 12 недель 3 дня назад
/Гость/ 12 недель 3 дня назад
/marintsSER/ 14 недель 6 часов назад
/Alek$/ 16 недель 3 дня назад
/Виталий/ 16 недель 4 дня назад
/Alek$/ 18 недель 1 день назад