6 июля 2015 г.

Радикальное решение вопроса домашнего сервера - душа сервера

Новые внутренности сервера я показал вчера, сегодня - про нематериальную начинку.

Естественно, ставить на такое просто операционку - дело дурацкое, так что виртуализация в полный рост. На железо ставим гипервизор 1-го типа, а в нём запускаем столько гостевых систем, сколько полезет. А уж полезет достаточно много, проверено. Самый главный и одновременно самый простой для меня вопрос - какой именно гипервизор?

Все варианты что за деньги или неизбежно потребуют денег, отпадают. Также за бортом оставляем то чего я не знаю или знаю не слишком хорошо. В сухом остатке оказывается Citrix XenServer (не путать с его родным братом Xen Project). Уж если в большой организации на нём забесплатно можно поднять конвергентную инфраструктуру, консолидировать ресурсы и мигрировать и обеспечить отличную управляемость информационных систем, развёрнутых в этой инфраструктуре, включая интеграцию с системами хранения, отличную поддержку гетерогенных сетей, высокую степень (при должном планировании) безопасности, и т.д. и т.п., то уж дома-то он мне и тем более сгодится.

Да, наилучшие результаты он проявляет если несколько серверов объединены в пул хорошими как минимум гигабитными коммутаторами и подключены к системе хранения например по Fibre Channel. При этом обеспечивается масса ништяков типа практически полного отсутствия необходимости в локальном сторадже на серверах или прозрачной для гостевых систем миграции с сервера на сервер. Вот только делать дома ДЦ как-то не входит в мои планы, поэтому делаем всё по-простому и без наворотов.

Сам XenServer ставится с полпинка, правда из-за локальности развёртывания надо аккуратно планировать пространство на системном диске. По умолчанию он создаёт для себя 2 4-гигабайтных раздела, а всё остальное пускает в локальное хранилище, используемое для виртуальных дисков виртуалок. А куда класть образа ISO, нужные для развёртывания виртуалок, я вас спрашиваю? Не с флешки же грузиться. Так что при установке говорим что локальное хранилище нам создавать не нужно и потом сами создаём 2 раздела: один, гигов на 10-20 - для ISO, а оставшееся место пускаем на Local Storage.

Следующая проблема будет куда серьёзнее. Надо решить как поступать с дисковым пространством. Поскольку по определению виртуалкам непосредственный доступ к дискам заказан, неизбежно надо на каждом диске создавать локальный репозитарий (в терминах Xen), а в нём - образы дисков. Теоретически, один такой образ можно прицепить к нескольким виртуалкам. Практически, я такое проделываю впервые, так что буду посмотреть. Например, как при этом разруливаются права доступа к файлам при доступе разных локальных пользователей в 2 и более гостевых системах.

Ну и следующая засада - это 2-терабайтный лимит на объём виртуального диска. То есть, если у нас есть 3-терабайтный диск, я могу на нём создать 3-терабайтный репозитарий, и в нём - будьте любезны создать 2-терабайтный диск и ещё один, на сколько останется места. И нафига такая радость? Самое смешное, что это ограничение не связано с 2-терабайтным ограничением MBR. Просто для совместимости здесь используется такой же формат контейнера, что и у Microsoft. А вот как тем удалось в очередной раз подложить грабли, я не очень понимаю. Правда замечательно то, что путём не очень хитрых манипуляций, смысл которых понятен даже мне, можно создать виртуальный диск в пределах заложенных ограничений, а потом его расширить. Правда, потребуется наложить некоторое количество заклинаний в консоли, но раз уж вступили на территорию линуха, к этому надо быть готовым.

В общем, долго ли, коротко ли (скорее, коротко), но Xen я развернул, 2 диска, над которыми я ставлю эксперименты, привёл в такое состояние, которым я вполне удовлетворён. Развернул виртуалку с убунтой на борту и самбой для организации файл-сервера. Подключил к этой виртуалке созданный 3-терабайтный контейнер. Убедился, что десятка не возражает против этого сервера.



В принципе, вот тут видно, что 4 гига я файлсерверу выдал от души. А с другой стороны, памяти много, ещё успею отобрать.

Дальше надо заняться миграцией содержимого старого сервера, как файлового, так и серверов приложений. Видимо, попробую один из неформальных способов P2V (physical to virtual). Неформальных потому что Citrix по какой-то причине изничтожил это средство пару версий тому назад. И даже тем кто платит деньги, его не даёт.

Верну на место HTTP-сервер. Поэкспериментирую с парой-тройкой систем wiki, потому что пока не нашёл ту, которая не тянет за собой энтерпрайз-портал, но при этом обеспечивает возможность управления доступом. Обязательно нужен медиасервер, это ж одно из главных приложений ради которого оно затевалось. Синхронизация файлов. Битторрент, куда же без него. И т.д. и т.п. Всё кроме вики и медиасервера кажется вполне банальным, так что не уверен что об этом надо будет писать. Поглядим.

Возможно, если не лень будет, и если придумаю зачем, попробую модные нынче контейнеры. В последнем сервис-паке поддержка Докера как раз появилась.

* * *
Другие заметки этого цикла:
* * *
Кстати, если вы читаете эти заметки в Фейсбуке или каком-нибудь гуглплюсе, имейте в виду, что в оригинале есть картинки, которые туда не попадают. Я предупредил.

5 июля 2015 г.

Не обновляется Windows 10?

На прошлой неделе Microsoft похоже резко разогналась перед релизом и с интервалом в пару дней выпустила аж 3 билда. Первые 2 скачались и установились без проблем, а вот третий у меня застрял.

Если пойти в Settings / Windows Update, то было видно что он есть и видно что Windows изображает попытки его скачать. Изображает хорошо, скачивает плохо. Сегодня с утра по-быстренькому почитал форумы и увидел, что моя проблема не уникальна и что народ уже нашёл решение. Рассказываю.

Запускаем msconfig. Я для верности запускал с правами администратора. На закладке Services ставим галку Hide all Microsoft services. У меня в списке остались только сервисы автообновления гугла, мозиллы и адоба. Тыкаем кнопочку Disable All.

Переходим на закладку Startup. Тыкаем в ссылку Open Task Manager. Любой другой способ запуска Task Manager-а тоже годится. В Task Manager-е идём на закладку Startup и запрещаем запуск всего того что там перечислено.

После этого перезагружаемся, снова идём в Settings / Windows Update и убеждаемся что всё прорезалось. У меня оно произошло не сразу, потому что в Магазине оказалась нехилая очередь на загрузку обновлений. После того как очередь в Магазине рассосалась, пришёл черёд и нового билда.

После того как новый билд установится, возвращаем автозапуски и сервисы как было. Или не возвращаем - тут уже думайте сами.


Радикальное решение вопроса домашнего сервера - аппаратный апгрейд

В предыдущей заметке цикла я вкратце коснулся причин, побудивших меня к апгрейду домашнего сервера. На самом деле, конечно же, основная причина в том, что иногда хочется изменений ради самих изменений.



Вот так выглядели внутренности сервера до начала этой затеи. Процессор Core2 Quad Q8200, 4GB памяти, загрузка с 80-гигабайтного 2.5-дюймового диска, основное хранение - на 3.5-дюймовых дисках без каких-либо средств RAID, потому что не очень-то и нужно. Объём того, что нельзя потерять, не очень велик, плюс оно синхронизируется с другими местами, некоторые из которых удалены географически. Корпус продувается не слишком хорошо, однако 12-сантиметровый вентилятор на верхней крышке, работающий на вдув, плюс один 9-сантиметровый, работающий на продув отсеков с дисками. Noctua производит хорошие тихие вентиляторы, но уж очень дорогие. У этой модели неплохой воздушный поток, так что именно поэтому я в своё время взял именно её. А вот все остальные вентиляторы - что процессорный, что дисковый - GlacialTech. Очень дешёвые, производительные и очень тихие. Всякий раз, когда надо купить вентилятор, сравниваю с дорогими брендами, и всякий раз убеждаюсь что цена - вовсе не показатель качества. По крайней мере, в этом случае.

Покопавшись по сусекам, я нашёл у себя в закромах пару процессоров Xeon LGA771 с тепловым пакетом 80 Вт и 8 планок памяти по 1 гигу. Потихоньку стал зреть план поиска системной платы под этот сокет, главное чтобы по-прежнему формата ATX. Цены на Яндекс-маркете не порадовали, но я обратился на Авито. Пара дней мониторинга и вуаля - появилось предложение платы от Supermicro. Цена порадовала безмерно, так что пришлось покупать.



Изучение платы принесло понимание что кулеры для 775 чипсета не годятся, поэтому пришлось снова поискать на Авито. Нашлось. 2 раза по полкилограмма меди от Supermicro в заводской упаковке. Дальше я сделал огромную ошибку. Вот что мне стоило заранее проверить, полезет ли память в плату. Нет, я дотянул до ближайших выходных, на которые запланировал переезд сервера. Старая начинка была вынута и трансплантирована в занятый у знакомого ненужный ему корпус, корпус же сервера был очищен от многолетних наслоений пыли и кошачьей шерсти:



Стал прилаживать память. Не лезет! Стал смотреть - пропил на модуле памяти на какой-то миллиметр не совпадает с ключом на слоте. Полез разбираться и выяснил, что системная плата поддерживает Register DIMM, а у меня на руках - Fully Buffered (как будто я понимаю что есть что!). Если бы я выяснил это до выходных, я бы возможно нужный тип памяти где-нибудь раздобыл бы. А так пришлось бросаться искать на Avito, звонить и срочно ехать на другой конец Москвы. Чешется же ведь.

Нужная память была закуплена и благополучно установлена в плату:



Вот в такой конфигурации я смонтировал плату в корпус, подключил что попало куда следует, включил. Сброс параметров BIOS, установка параметров по собственному вкусу - всё работает. Выяснил, что процессоры греются неимоверно. Естественно же. 2 раза по 80 ватт в замкнутом непродуваемом пространстве - это вам не хухры-мухры.

Дабы не искушать судьбу, всё погасил и начал прорабатывать 2 пути улучшения ситуации.

1. На задней стенке корпуса предусмотрены отверстия для монтажа 2 6-сантиметровых вентиляторов. Нашёл подходящие GlacialTech в Ситилинке. Немного напрягся от того что шум от них существенно выше комфортного предела. Но зато для 6 см воздушный поток был рекордным, так что подумал что всё равно куплю и проверю.

2. Поскольку процессоры 5310 достаточно старые, с литографией ещё в 65 нм, 80 Вт рассеиваемой мощности - это много. Выяснил что для LGA771 есть процессоры с тепловым пакетом 50 Вт, изготовленные литографией 45 нм. Самый распространённый из них - L5420. Ещё пара дней мониторинга Авито, и нужная мне пара процессоров была куплена.

Тем временем приехали и вентиляторы из Ситилинка, так что эксперименты продолжились. Вентиляторы были прикручены, подключены. После включения системника я мгновенно понял что шум меня не устраивает, так что выключил, открутил вентиляторы и убрал их подальше. А вот с новыми процессорами всё стало офигенно замечательно. Нет, радиаторы совершенно холодными назвать нельзя, они просто немного тёплые. Может быть потом, когда-нибудь я поищу какой-нибудь способ мониторинга температуры процессора. Или возьму где-нибудь инфракрасный термометр и померяю температуру.

Добавил в корпус диски, на липучке присобачил пару 9-сантиметровых вентиляторов: один - для выдува воздуха от процессоров, раз уж он у меня всё равно есть и второй - для продува дисков, благо в боковых стенках корпуса перфорация предусмотрена.



Я бы конечно предпочёл бы установить вентиляторы непосредственно на корпусе, но проблема в том, что туда могут полезть вентиляторы не толще 15 миллиметров. У Glacial таких вентиляторов нет, а те которые есть у других - шумные и нифига не производительные.



Дисков я пока подключил 2 - для экспериментов с операционной системой и для экспериментов с миграцией данных на диск объёмом больше 2 ТБ (это такие современные 640K, если понимаете о чём я).

В результате конфигурация сервера сейчас выглядит вот таким образом:



Зачем мне дома сервер с 8 ядрами и 24 гигабайтами памяти? А не знаю, чтобы было. Тем более что обошлась вся эта порнография вот во что:
  • Системная плата: 5000 руб.
  • 6 планок памяти по 4 ГБ: 4500 руб.
  • 2 радиатора: 1000 руб.
  • 2 процессора: 3000 руб.
Мелочовку типа вентиляторов и термопасты я уж не считал. Если бы я был умным, я возможно нашёл бы память и процессоры забесплатно. Но уж раз купил, значит купил.

Итого: за достаточно смешные деньги у меня дома работает сервер вполне себе энтерпрайз уровня. Мне ещё тут подарили RAID-контроллер, на котором я пожалуй всё-таки сделаю терабайтное зеркало для самого ценного.

Но это всё будет увязываться с моими экспериментами с софтом и миграцией данных со старого сервера. И это - темы для будущих заметок цикла.

* * *
Другие заметки этого цикла:
* * *
Кстати, если вы читаете эти заметки в Фейсбуке или каком-нибудь гуглплюсе, имейте в виду, что в оригинале есть картинки, которые туда не попадают. Я предупредил.