Содержание:
Введение
Компьютер, даже серверный, без операционной системы мало на что способен. Ну да, его можно включить, и он будет обогревать помещение, но это какие-то не совсем оправданные траты на тепловентилятор. А для того, дабы от сервера, даже домашнего и микро, была какая-то польза, нужно установить на него операционную систему, а затем загрузить и настроить все необходимые программы. И вот тут уже начинается самое интересное, поскольку выбор даже операционных систем для серверного применения, очень большой.
Напомню, что средства подбираются под задачи. По крайней мере в теории. Так и операционная система должна быть выбрана под те задачи, которые сервер в последующем будет выполнять. А что мне нужно? Нужно видеонаблюдение, домашний NAS с возможностью транслирования по DLNA, торрент-качалка и прочая мелочь типа BTSync. Хотя, в принципе, все вышеперечисленные функции отлично выполняются сетевыми накопителями от Synology. И делают они это вполне и вполне удобно. Но и у таких замечательных устройств есть два недостатка. Первый — стоят они в два раза больше, нежели самостоятельно собранный аппарат, а второй — под используемую операционную систему DSM (DiskStation Manager) не так много программного обеспечения, особенно редкого и непопулярного, да и возможности ее сильно ограничены в угоду отличной работоспособности на очень скромных аппаратных мощностях.
Synology vs …
Но все же первым кандидатом на операционную систему для моего микросервера была именно операционная система от Synology. Почему и как? Вроде бы я хотел наоборот, получить бо́льшую свободу и отвязаться от фирменного оборудования?
Дело в том, что DSM от Synology это модифицированная версия Linux и она очень хорошо заточена под устройства типа моего. Более того, DSM предоставляет отличный пользовательский интерфейс, доступный через веб-браузер и выглядящий как обычный рабочий стол. И в плане удобства работы и простоты понимания, DSM ушел очень далеко вперед остальных серверных операционок.
А на вопрос как я собрался было устанавливать DiskStation Manager на оборудование не от Synology я отвечу немного подробнее. Как известно, Synology создает свои NAS устройства, в основном, на специализированных и не очень популярных процессорах. Под них разрабатываются платы, обладающие уникальными характеристиками. В общем, в магазине такое не купишь. Так вот, некоторые модели Synology были выполнены на Wintel платформе, собственно на той архитектуре, на которой работают всеми нами любимые персоналки, а в последнее время вообще практически все компьютерное оборудование.
Другими словами, DSM от Synology может работать на обычном ПК или микросервере, с процессором совместимым с Intel, обычной материнской платой, накопителем, памятью и так далее. Оставалась только проблема, как установить DSM на такой компьютер. Вернее, как указать DSM, что устанавливается она не на творение рук компьютерного энтузиаста, а на вполне легитимный DiskStation от Synology. Но нашлись энтузиасты, которые создали проект XPEnology, в рамках которого они подобной деятельностью и занимаются.
В результате усилий проекта XPEnology теперь у каждого компьютерного энтузиаста есть возможность установить на своем ПК или микросервере программное обеспечение от Synology. Насколько законна будет эта установка и насколько надежно все это будет работать, мне проверять как-то не захотелось. Тем более что уходить от Synology и снова приходить туда же, но на более мощном и дешевом железе как-то тоже не захотелось. Поэтому я решил все же просмотреть другие операционные системы, дающие неограниченные свободы по реализации задумки.
NAS сборки
В качестве альтернативы DSM, я одно время подумывал над специализированными сборками Linux, специально предназначенными для установки на самосборные NAS. В мой список попали OpenMediaVault и FreeNAS. Огромным преимуществом оных сборок является то, что они уже содержат все необходимые компоненты типа торрент-клиента, DLNA-сервера и прочего. А заодно предоставляют пользователю сносный интегрированный интерфейс. Но, опять же. Подобные решения, как и DSM, лишают пользователя гибкости, заставляя работать только с тем набором программных компонентов, что определяется сообществом, поддерживающим продукт. А если захочется чего-то отличного, то тут могут возникнуть определенные трудности.
Windows vs Linux
Отказавшись от DSM передо мной встал выбор: использовать ли мне Windows в качестве операционной системы или остановиться на Linux. Варианты других систем, например, OS/2, BeOS, MacOS и прочих, мне как-то рассматривать не захотелось. С Windows я дружу давно, еще начиная с MS DOS 3.30, поэтому сперва я проанализировал, что я могу получить от любимой операционной системы.
Интересно, как некоторые «профессионалы» от компьютера, стараются перекричать друг друга в споре, что лучше для сервера Windows или Unix/Linux. Такой спор был актуален лет 15 назад, а то и все 25, когда серверные Windows еще ходили в коротких штанишках и лопаткой для песочка. Хотя, примерно в то же время и Linux делал только свои первые шажочки и уж точно никак не мог быть надежной серверной операционной системой. В то время на больших компьютерах царствовали всяческие Unix-ы с бородатыми сисадминами в очках с роговой оправой либо шустрые и непонятные Novell NetWare, а то и звери поинтереснее, типа Solaris-а. А все разговоры о несостоятельности Windows как серверной операционной системы шли лишь от незнания предмета.
Для тех, кто не застал те времена, я напомню, что Microsoft Windows изначально появилась как всего лишь графический интерфейс над текстовой дисковой операционной системой MS DOS (Microsoft Disk Operation System). А Билли все еще был прыщавым патлатым юнцом. И достаточно долгое время, Windows эволюционировала именно в этом направлении, оставаясь все такой же надстройкой. Но далеко не все помнят, что современные Windows и все версии серверной Windows есть, по сути, наследники знаменитой IBM OS/2. А в IBM знают толк в программировании и из чрева «голубого гиганта», сделавшего себе имя на табуляторах, выходят не такие уж и плохие программные продукты. Одно время Microsoft участвовала в разработке OS/2, вернее их туда допустили с целью поддержки исполнения MS DOS и Windowsпрограмм под управлением OS/2. Но, а затем, пути Microsoft и IBM мистически разошлись, однако, через короткий промежуток времени Microsoft выпустила свой собственный продукт Windows NT. Аббревиатура NT тут означала то ли New Technology, то ли Network Technology, не суть, суть в другом. В том, что NT до боли в глазах по архитектуре напоминала OS/2. Интерфейс, понятное дело, был в стиле Windows, а вот всё остальное… Даже файловая система NTFS была почти полным клоном файловой системы HPFS из OS/2. Да, ребята из Редмонда, немного ее подкрутили, да название поменяли. А так… Даже инсталлятор для операционных систем семейства NT, до недавнего времени был идентичным инсталлятору OS/2.
Собственно, ну ладно, дальше, все серверные операционные системы от Microsoft работали на том самом ядре NT. И работали месяцами, годами и десятилетиями. Надежно и стабильно, не хуже других систем. А позже, начиная, если мне не изменяет память, c Windows 2000 и версии для персональных компьютеров перешли именно на ядро и технологии NT. Что стало неимоверным скачком вперед для потребителей. Наконец-то на персоналки, пришла Windows, которая работала стабильно!
Но с выходом Windows 8, Microsoft сделала еще один финт ушами. И очень такой мощный финт. Если раньше, пользователи различных, не серверных редакций разновидности Linux, до кровавых мальчиков в глазах, хвалились, что их операционная система, с графическим интерфейсом и прочим, потребляет так мало ресурсов, что на подобных машинах Windows и вовсе не запустится. А в Microsoft взяли и переписали половину кода, провели серьезную оптимизацию и выпустили в свет Windows 8, который просто летает на нетбуках и прочих компьютерах с ограниченными потребностями. Тем самым «редмондский гигант» убил последний весомый аргумент любителей Linux. А чуть позже, хитрецы из Microsoft сделали еще один шаг. Нет, это я не о том, что они злонамеренно пропустили релиз Windows 9 и перешли сразу на Windows 10. Я о том, что новая операционная система Win10 будет работать как на обычных компьютерах, так и на всем остальном, включая смартфоны. Идея иметь единую систему, с едиными программами на всем своем оборудовании — не только здравая, но и позволит в будущем откусить очень весомый кусочек пирога мирового рынка операционных систем. Только бы хватило пороха и ягод у Microsoft.
Поэтому у меня и возник очень непростой выбор. Можно поставить на микросервер десктоп версию Windows 8 (в то время была доступна только эта система), поставить Windows Server в облегченной редакции, можно даже без графического интерфейса либо подумать насчет альтернатив на основе Linux. Никаких сомнений в том, что даже обычная Windows 8 вполне надежно и стабильно работала бы на моем микросервере у меня не было и нет. Система достаточно надежна, а программного обеспечения для нее даже с избытком.
Но тут сыграл свою роль такой фактор, как стоимость операционной системы. Поскольку расчетное время работы микросервера у меня не менее десяти лет, то поднимался вопрос о целесообразности использования нелицензионной Windows в столь длительном проекте. Беда тут не только в морально-этическом плане, сколько в системах лицензирования Microsoft. Никто не будет гарантировать, что через три или четыре года, прекрасно работающая система с пиратским ключом, вдруг не войдет в клинч и не потребует внести крупную сумму денюжек дабы разблокироваться.
И именно по этой причине, по нежеланию увеличивать стоимость проекта, я решил все же посмотреть в сторону бесплатных решений на Linux.
Ubuntu vs …
Друзья мои, для тех, кто не в курсе, Linux это такой Unix, который был разработан студентом в свободное от учебы время. Затем, его идею подхватили другие и понеслась. В мире сейчас блуждает несколько сотен, если не тысяч вариантов операционных систем, созданных на основе Linux. И разобраться в их многообразии не представляется возможным в какие-либо разумные сроки. Более того, любой желающий, обладающий необходимой квалификацией, способен собрать сам себе свою операционную систему на основе Linux. Ведь Linux и многие системы на его основе существуют не только в виде собранных инсталляционных пакетов, но и в исходных текстах. Так что компилятор в руки и вперед!
Но я, все же решил сохранить здравый смысл и оставаясь в твердой памяти, начал подбор готовой операционной системы. Основными критериями тут для меня служили, понятное дело, законная бесплатность на использование, долговременная поддержка и широкий выбор программного обеспечения под данную операционную систему. Но даже и применив такой строгий фильтр, в сети ко мне попало слишком уж много вариантов. Пришлось волевым решением ограничиться до Debian, Ubuntu и Fedora. Все это в разной степени клоны Linux, а Ubuntu еще и клон Debian. И все эти системы одинаково хороши и одинаково подходят под мои задачи. Для всех из них существуют огромные репозитории с программным обеспечением, да со стабильностью все более-менее.
Но я свой выбор остановил именно на Ubuntu. Ведь у Ubuntu есть так называемые Long Term Support (LTS) релизы, которые поддерживаются на протяжении нескольких лет. А что означает «поддерживается»? Разве Linux нужно обновлять? Да нужно. Нужно периодически обновлять как ядро системы, так и её компоненты. Ведь с такими обновлениями приходят заплатки устраняющие прорехи в системе безопасности системы, появляются новые функции и исправляются ошибки в старых. И не нужно питать иллюзий, что операционную систему единожды поставил, а потом она работает и работает. Да, она работает, но и обновляется иногда, а еще, о ужас, ее нужно перезагружать, дабы обновлялись ядра. Хотя и со старыми ядрами система будет работать долго, только безопасность будет страдать.
Более того, Ubuntu совместима по пакетам программного обеспечения с Debian, имеет множество официальных репозиториев с программным обеспечением, а заодно позволяет подключать и частные репозитории, то Ubuntu явный лидер в плане совместимости с разнообразным программным обеспечением. И именно для Ubuntu скорее можно найти программу, нежели для любого другого клона Linux.
Изначально я предполагал, что я буду устанавливать Ubuntu с графическим интерфейсом на микросервер. Буду подключаться к нему удаленным доступом и при помощи мышки и клавиатуры управлять операционкой. Позже я решил устанавливать Ubuntu без графического интерфейса и ограничиться только терминалом, а для опытов поставить Ubuntu в виртуальную машину с графическим интерфейсом и тренироваться в установке и настройке пакетов там. Но в результате я установил на микросервер и в отдельную виртуальную машину Ubuntu x64 LTS без графического интерфейса. Хотя у меня и был большой опыт работы с командной строкой, немного работал с Unix, но я немного побаивался необходимости вводить десятки и сотни команд ручками, постоянно сверяясь с документацией. Но на практике оказалось, что не так страшна командная строка Ubuntu, как она представляется приверженцам оконных интерфейсов и мышек.
Однако, спешу заметить, что Ubuntu, как и другие бесплатные операционные системы, разрабатываемые и поддерживаемые сообществами, являются весьма специфичным продуктом. Нужно быть готовым решать неожиданные проблемы, которые могут возникать на пустом месте. Хотя это и не случается слишком уж часто, но подобное может произойти в любой момент. А получить поддержку можно будет только на форуме энтузиастов и если повезет, то они помогут с решением. А если нет… Если нет, то придется разбираться с проблемой самостоятельно. Увы, бесплатные продукты тоже имеют свои, вполне определенные недостатки.
Несколько рекомендаций по Ubuntu
Эту статью я писал уже спустя несколько месяцев, после того как вся система была запущена в эксплуатацию. Поэтому основываясь на своем опыте, могу дать некоторые рекомендации.
С установкой Ubuntu никаких проблем обычно не возникает. Я предпочитаю устанавливать эту систему с флешки, предварительно залив на нее облегченную версию системы. После запуска инсталлятора, необходимо выбрать те компоненты, которые он установит. Особо жадничать тут не стоит и устанавливать желательно только действительно то, что требуется. Недостающие части можно с легкостью скачать и установить позже, если они потребуются. Итак, поскольку используется облегченная версия, то всю операционную систему, вернее необходимые ее части, инсталлятор скачивает из сети. Вариант особенно тем полезен, что при этом устанавливается последняя версия системы, и не потребуется мучительно долго ждать, пока она обновится сразу же после установки.
Я с трудом представляю, какие могут быть проблемы с установкой Ubuntu. Ну бывает, что репозиторий недоступен и инсталлятор просто не может скачать необходимые компоненты. Ну а в остальном — никаких вопросов не возникает. Разве что с выбором файловой системы и разбивкой диска на разделы. А тут, действительно, есть над чем подумать, поскольку Linux настолько гибок, что позволяет установить систему в разных вариациях и использовать множество файловых систем. Но для целей домашнего микросервера, я бы рекомендовал сделать всего два раздела, вернее даже один. Boot раздел создается самостоятельно, с которого и стартует ядро операционной системы запускаемая загрузчиком Grub, да раздел Root с остальными программами и пользовательскими данными, а раздел для Swap аналогично Boot, организуется самостоятельно. В целях формирования самих разделов, можно применить LVM.
Кстати, для Boot раздела, я порекомендовал бы взять места побольше, гигабайт так 10–20. Причина тому — обновления ядра. Каждое новое ядро, аккуратно складывается процедурой установки пакетов аккурат в этот раздел. И уже через 10-12 обновлений ядра, место у вас в этом разделе благополучно кончится. И новые обновления системы перестанут устанавливаться. Придется удалять старые ядра руками, а в случае, если удалить, чисто случайно, используемое ядро, то придется заниматься восстановлением системы. Благо, при наличии опыта, сделать это можно относительно быстро и безболезненно. В качестве файловой системы для раздела Root с данными и программами, я выбрал Ext4, хотя и было желание остановиться на системе Raiser. Обе эти файловые системы работают с большими дисками, обе не имеют проблем с фрагментацией данных (ну почти) и обе относительно шустрые. Но выбор все же пал именно на Ext4, как на решение, проверенное временем.
Многие задаются вопросом — а почему для данных и программ я создаю единый раздел? Практика делить пространство жестких дисков на разделы пришла к нам из все той же древности. Во-первых, далеко не все программное обеспе́чение, особенно уже устаревшее, могло нормально работать с дисками и разделами больше некоторой величины. Они просто сходили с ума, видя такое огромное, по их мнению, пространство. Во-вторых, а это относится в первую очередь к системам Unix/Linux. В таких системах, создаются разные разделы, под разные нужды. Например, для swap создается свой раздел, со своей файловой системой, так и раздел boot имеет свою файловую систему. В-третьих, во времена, когда свирепствовали вирусы и операционные системы типа Windows 95 некоторые пользователи переустанавливали на еженедельной основе, было бы разумно отделить данные от самой системы и при переустановке их не терять. Но дробление на разделы имеет и весьма существенный недостаток — теряется место. Разделы никогда не заполняются полностью и всегда в них остается немного места. И вот эти остатки и теряются.
Вот, собственно и все мои рекомендации. Что же до аппаратного обеспечения. То оно уже год работает, без сбоев и нареканий с моей стороны, в режиме 24х7. Вот, только ОЗУ я поставил слишком много. 4 Гб излишний объем для тех задач, что крутятся на микросервере. Для них вполне хватило бы и 1 Гб.
Ссылки на другие части:
Домашний микросервер. Идея.
Домашний микросервер. Аппаратное обеспечение. Сервер.
Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu.
Домашний микросервер. Программное обеспечение. Основные и системные программы под Ubuntu.
Домашний микросервер. Программное обеспечение. Скачиваем торренты.
Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.
Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39.
Домашний микросервер. Программное обеспечение. Видеонаблюдение на основе IP-камер и Xeoma.
Домашний микросервер. Программное обеспечение. Шифруем конфиденциальную информацию в Ubuntu при помощи eCryptfs и хранением ключей в TPM.
Домашний микросервер. Программное обеспечение. Умный дом.