Linux Бесшумный компьютер Mini-ITX Torrent MRTG Samba
Предшествующая статья "Бесшумный компьютер часть 2: крутой моддинг".
Пробный пуск был удачным, но не все пошло как планировалось.
Во-первых, для запуска пришлось все разворотить и сделать компьютер в стиле "кишки наружу", потому что блок питания найти так и не удалось и пришлось использовать стандартный большой.
Во вторых, поначалу температурные показатели сильно отличались от расчетных. Оказалось, что если вентилятор выдувает воздух из корпуса, то радиатор процессора совершенно не охлаждается и безумно греется (55 градусов - невопрос), видимо слишком маленький воздушный поток дает мой бесшумный вентилятор, пришлось изменить схему движения воздуха, сделав так, чтобы вентилятор вдувал воздух внутрь корпуса, и вот тут случилось феноменальное чудо - процессор моментально остыл до 25-27 градусов. Вентилятор приятно порадовал: чтобы его услышать нужно приложить ухо к корпусу, закралась мысль, что может его и не отключать вовсе, тем более что Smart Fan Tiger, который по идее должен отключать вентилятор процессора при низкой температуре, похоже не работает - вентилятор крутиться одинаково вне зависимости от настроек, возможно что вентилятор просто у меня не той системы, а нужен с 4-х контактным разъемом.
В-третьих, поставить Linux оказалось не тривиальной задачей: Fedora 12 Live CD отказалась грузиться вовсе, Fedora 11 и 10 Live CD упорно ругались на Buffer I/O Error и также не загрузились. Удалось поставить только Arch Linux Core очень сильно ущербный по количеству пакетов и с проблемами обновления через инет. Задумываюсь о том, что мой старенький cd-привод, времен древней, греции забился пылью за годы лежания на полке и не может адекватно читать диски. Теперь попробую заменить привод на что-нибудь более современное и заодно запасусь комплектом болванок: Fedora 9 Live, Ubuntu 9.10 Server, CentOS 5.4 Live и шесть дисков CentOS 5.3.
После нескольких проб выяснилось, что Live CD видимо принципиально не загружаются на моей системе, а CentOS не может определить сетевую карту на nForce 610. Таким образом остановил свой выбор на:
Приятно, что система встала без проблем, определила все нужное оборудование, без проблем доставил все нужные пакеты. И не смотря на мою историческую нелюбовь к Debian, теперь я пользую Ubuntu.
В процессе экспериментов с ОС сделал интересное наблюдение: если форматировать диск в ext3 или ext4, то он шумит намного сильнее чем отформатированный в ext2. Видимо дело в том, что ext3 и ext4 журналируемые, а ext2 - нет, поэтому диск производит меньше операций и соответственно меньше шумит. Поэтому наш выбор - ext2 :)
На простоте первичной установки приятности закончились, обнаружился глюк с загрузкой системы (грузилась через раз, ругалась на unknown boot option), из-за этого пришлось обновлять ядро. Ядро обновить оказалось сложнее чем в Fedora, но намного проще чем могло бы быть. Подробное описание проделанной мной операции можно найти в теме Обновление ядра до 2.6.32.8 в Ubuntu 9.10 на форуме Ubuntu (см. первый ответ, я все проделал - получилось без проблем).
Теперь определяемся с функционалом сервера. Наш сервер должен:
Поскольку получилась маленькая отдельно стоящая машина без монитора, да еще и с экспериментальным охлаждением и упором на бесшумность, то обойтись без информации о происходящем на нем просто нельзя.
Для мониторинга всего на свете лучше всего использовать MRTG. О том, как поставить mrtg на ubuntu неплохо написано здесь. Для начала докрутил самое желаемое - Мониторинг температуры и кулеров сервера средствами MRTG. Кстати там очень грамотно описано чем и как можно кормить mrtg, однако mbmon на моей системе не завелся, пришлось использовать lm_sensors и выключать в биосе ACPI чтоб сенсоры корректно выдавали информацию, видимо это особенность материнки на nForce. Для того, чтоб скормить mrtg информацию о температуре процессора и оборотах вентилятора, пришлось освоить grep, awk и sed, но получилось все быстро в одну строку.
Еще будет полезна информация о том, как мониторить Load Average средствами MRTG через snmp и полное описание конфигурации mrtg на русском.
Для этого предназначена samba, которая поставилась вместе с Ubuntu. Все было просто сделано читая комментарии в конфиге, однако отдельно хочу остановиться на пустых паролях, тк в винде юзеры часто имеют пустой пароль для удобства. Для того, чтобы юзер в самбе мог иметь пустой пароль нужно в конфиге добавить "null passwords = yes" в global. Подробнее об этом можно посмотреть здесь. А про пустые пароли для пользователей unix - здесь.
Для этого существует замечательный клиент Transmission, его замечательность заключается в том, что он может работать не только в графическом режиме, но и как демон (идеально для моего случая), также у него очень хороший веб-интерфейс и все необходимые настройки (подробнее о настройках здесь). И, конечно, при помощи тех-же grep, awk и sed информацию о происходящем можно показывать в mrtg.
Еще хочу заметить, что для установки transmission под ubuntu в качестве демона, нужно сказать sudo apt-get install transmission-daemon, если сказать просто transmission - то поставиться клиент с графической частью.
Закончив установку и настройку всего вышеописанного, я считаю, что выходные прошли успешно и пробный пуск был удачным. Теперь в планах научится останавливать вентилятор, если будет доставать по ночам.
Проблемы не закончились, сервер стал иногда виснуть. Сначала грешил на то, что transmission открывает слишком много соединений и из-за этого поднимается load average и сервер перестает отвечать по сети, покрутив конфигурацию понял, что дело не в этом. Думал, что проблема в самбе (тк висло в процессе копирования фалов с винды), но почитав логи, видимо дело в ядре. Свежее ядро для Ubuntu нашлось здесь, скачал, обновил до последней стабильной версии (2.6.33). Но для того чтобы понять, что выпадает именно ядро, пришлось накопать миниатюрный монитор - 7" и увидеть что происходит на нем, кстати он очень подошел по размеру ;)
Теперь наблюдаем...