Подписаться  на наше издание быстро и дешевле чем где-либо Вы можете прямо сейчас! Подписаться! 

 


Многие любители экстремальной (оптимальной) нагрузки любят работать сразу под несколькими операционками. Я не имею в виду мультизагрузку — я имею в виду одновременно. Эта статья поможет поджарить ваш мозг…


Конечно, разумный, добрый и вечный вариант для запуска сразу нескольких операционок — это поставить VMWARE. Экономно, динамично, какие-то там еще варианты быстрого восстановления — и вообще, как говорят, будущее вычислений. Наверное, таки да: любая операционка, в принципе, может (и должна) работать как приложение под любой другой, даже без дополнительного ПО. Достаточно только договориться о лизинге ресурсов, который должен (и скоро будет) находиться "снаружи" ОС. Разработчики Java и Inferno с самого начала так и делают — создают операционки второго порядка, не претендующие на физические устройства.


С другой стороны, зависимость нескольких ВМ от одной хост-системы (а особенно от того перца, который шарится возле кнопки Reset) — это как-то не очень правильно. А если люди работают с этими серверами? Да-да, админ умный, он все понимает, как же. Не говоря уже о том, что ресурсы все-таки приходится делить и отнимать.


Статистически, конечно, в среднем и так далее мы можем поверить, что ресурсы отдельного компьютера используются слабо, неоптимально, благодаря чему их можно "утрусить". Лучше, чем это нарисовано в проспекте по технологии Intel Hyper Threading, и не сделаешь: ямка приходится на горбик — и в результате два потока используют одну трубу (пайп) для решения своих дел. По этому принципу построена жизнь в общежитии: пока один моется, другой жарит — и наоборот. Даже странно, что глупый народ стремиться жить в неоптимальных многокомнатных квартирах и особняках.


Короче, кому-то нужно действительно устраивать у себя на компе общагу, но если можно этого не делать, то лучше и не делать. Тогда возникает вопрос: как получить на одном экране сразу несколько "осей"? Первая версия, навскидку: использовать vnc или один из коммерческих клонов. Маленькое и умное приложение устанавливается на одной системе и позволяет удаленно "экспортировать" экран, мышь, клавиатуру, а также другие устройства, например флоповод. Идея неплохая, да только работает на четверочку. А самое главное, в мире Unix уже давным-давно есть протокол X Window — сетевой от рождения, очень оптимизированный и предназначенный именно для того, чтобы получать удаленный рабочий стол. Под MS Windows XP такая возможность тоже есть, хотя используемый там протокол не X, а какой-то собственный. В Linux существует утилита для доступа к удаленному столу XP или серверу vnc: то ли клиент полиморфный, то ли это то же самое — не знаю.


Пока разберемся со случаем, когда дано два компа (ну студенты вы, допустим, а не научные редакторы — на больше не хватает). Как уже было мною установлено (если кто помнит статью о Background-сервере), вычислительная нагрузка бывает двух сортов: взрывная, как в Doom 3, когда вам на голову прыгает сами-знаете-что, и транквильная, как в ReGet. Естественно, что взрывную мы поручим мощной рабочей станции под MS Windows, поскольку под Linux в Doom 3 у меня что-то не заладилось, и даже Warhammer Down Of War не пошел, что вообще уже недопустимо. Для транквильной же нагрузки вполне можно отвести Linux-ящик без окон и дверей и получать к нему доступ по X.


"Как витиевато,— скажет читатель.— А проще сказать нельзя, что есть два компа и один экран?". Можно, но у меня оплата посимвольная, не мешайте рубить капусту.


Вступают X Server’ы


Итак, мы сидим под MS Windows и получаем доступ к удаленному компьютеру под Linux. Значит, нам нужен клиент для X Window System? Фонарь — фальстарт.


Клиентом для X-Window-сервера являются приложения, которые выполняются на удаленном компьютере. Что такое сервер? Это процесс, который разделяет общие ресурсы между клиентами. А что в данном "случае X" ресурс? Это графический терминал, состоящий из экрана, клавиатуры, мыши (возможно колонок, веб-камеры и т.д.), плюс сам пользователь.


Программы-клиенты запрашивают у сервера: "дай нам кусочек ресурса", например экрана или кнопочку мышки. И сервер дает — в виде окна, доступа к клавиатуре и т.д. Или отказывает, если ресурс занят. В результате где находится X-Window-сервер? Правильно, там, где экран, клавиатура и мышь,— то есть на нашей рабочей станции. Так что, заходя на Google, мы вводим "x server for windows". Уловили разницу? В дальнейшем любой X-сервер для MS Windows будем всуе называть X4W или XWin.


Что кажется странным при работе с X-сервером, это то, что он ничего по факту не рисует, не отображает на экран. Он только возвращает зарезервированную область для отрисовки — управляет, так сказать, опционами, как заядлый брокер с Уолл-Стрит.

 


Я никогда не был так рад этой splash'ке KDE: наши в городе!


Каждый клиент может использовать полученную область по своему усмотрению. Это и привело к появлению столь огромного количества оконных менеджеров и оконных сред: TWM, FVWM, Open Look, Motif, CDE, KDE, Gnome и еще около двух десятков. Некоторые из них оперируют только примитивами, вроде окна или кнопки. Другие к тому же предоставляют собой полностью законченный "мир" — со своей системой сигналов и обработчиков. Gnome — самый сложный и крайний пример эксплуатации X, хотя Sun готовит еще большее "извращение" в интеграции с Java 3D (Looking Glass Project).


Из всего этого следует два важных следствия.


Первое: если у нас на компьютере стоит X-сервер, то нам совершенно (ну, почти совершенно — некоторые надстройки требуют расширений протокола X) безразлично, к какой оконной системе мы подключаемся. Протокол X будет честно отводить место для рисования и передавать данные, а уж конкретное рисование будет делать само приложение — с помощью библиотеки, с которой оно слинковано, например Qt или Gtk/GDK. В результате мы сможем работать вообще с любой системой, поддерживающей X, например FreeBSD или AIX, причем с различными оконными менеджерами.

 


XManager2 располагает также отдельным ssh-терминалом и FTP-клиентом

 

Второе — это тот факт, что наш сервер, при определенной ловкости рук, не обязательно должен показывать нам приложения в составе рабочего стола, с главным меню и т.д. Рабочий стол — это просто одно из приложений данной оконной системы, например KDE, не обладающее никакими особыми правами, хотя и не лишенное удобства. Мы можем открывать отдельные окна приложений, например терминала или любого другого, как самостоятельные окна верхнего уровня. Конечно, в одном или нескольких окнах мы можем "воспроизводить" рабочий стол — но проблема "детачмента", то есть создания отдельно плавающего окна для приложения, не должна вызывать особых проблем: удаленный программный клиент не может проверить (точнее, даже пытаться не должен), как расположены окна относительно рабочих столов. Вы знаете, что в оконной системе с помощью правой кнопки мыши приложение легко расположить на любом виртуальном столе или даже на всех одновременно. Неужели же вы думаете, что его нельзя расположить вне всех рабочих столов?

Вот мы уже почти и подобрались к сути вопроса. Ведь дело-то не в том, что мы просто поставили программу, заставили ее работать — и почиваем на лаврах. Надо ведь прочувствовать, что и как происходит и насколько это в данном случае прекрасно.


Не иксом единым


Конечно, X-протокол всем хорош, но часто бывает бесполезен и неуместен — как новогодняя елка в мусоропроводе. Иными словами, мы что-то хотим сделать с удаленным компьютером — но хотим ли мы получить красивое графическое окно со всеми остальными стилями KDE или украшенной шрифтами в исполнении Pango? Конечно, подчас, когда нет другого выбора, нужно запускать оконное приложение под X, но могу заверить: это нужно в одном случае из десяти (а может и десяти тысяч). Часто вы можете достичь тех же целей, открыв удаленный терминал через ssh, а то и вовсе получив доступ к файлам по NFS, Samba или FTP. Всеми удаленными серверами часто можно управлять через веб-интерфейс, посредством Webmin и т.д. То есть X — это хорошо, но часто совсем не то, что вам надо.


По этой причине многие перечисленные далее X-серверы не являются обособленными, а идут в виде набора утилит, позволяющих подключиться к "боксу" по нескольким протоколам сразу. Степень этого "сразу", то есть интеграция этих методов под одной вывеской, колеблется от и до.


Use Case


У некоторых "ms windows-screwed" пользователей возникает вопрос: "Какая мне выгода от доступа по X к Linux?". Этим же могут поинтересоваться и пользователи Linux, которые предпочитают ssh. Не буду упрекать ни тех ни других в недостатке фантазии, а просто предложу несколько весьма привлекательных линий поведения в данной ситуации. Предполагается, что ваш Backgroung Linux Server — это довольно экономичный компьютер: приблизительно Селерон 2400, без монитора и прочей живности, возможно даже специальный "power saver", вроде MiniPC, Epia и т.д.

 


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

 

Итак:


1. Защита от вирусов. Вы, возможно, в курсе, что 90% современных вирусов поступают в вашу систему через вложения в электронную почту или через браузер. Но даже если вы этого и не знаете — то все равно получаете их. Конечно, существуют и антивирусы — но разве от этого стало меньше всемирных эпидемий? Между тем, получая почту под Linux, нет нужды волноваться о "бесплатных приложениях" к письму. Вы можете использовать Evolution, KMail, Korn или даже Opera for Linux для безопасного получения почты на вашем "тонком" сервере. Конечно, пользоваться терминальными программами для получения почты, которая сейчас на 50% идет в html-формате, может только отчаянный пимпер.

 

2. Фоновая закачка файлов, будь то по wget, KGet или через aMule, может производиться без вашего участия и без включения "шумного" и мощного игрового компьютера. Именно так она и должна производиться. С другой стороны, вы захотите закачивать клипы непосредственно с веб-страниц, выбирая их по предварительным скриншотам. Я, например, отдаю предпочтение самой простой комбинации: интеграции Konqueror+Kget — ничего проще и надежней я не представляю. Конечно, для поклонников Opera этот вопрос тоже решается штатными средствами. Полученные файлы легко забирать, расшарив каталог загрузок по Samba.


3. Надежное хранилище файлов. Ваш Linux-box не будет выходить из строя годами, а возможно вообще никогда. Причина не только в надежности системы, но и в том, что вы на ней не будете экспериментировать. Поэтому, храня на этой стабильной системе свои любимые файлы, а также почту, адресную книгу и т.д., вы можете в любой момент "завалить" Windows и переустановить ее с нуля. При этом у вас ничего не пропадет, а возможно даже и появится что-то новоеJ. Если вы пользуетесь Evolution, то, помимо почты, вам не придется сохранять также и календарь, расписание и заметки.

4. Прожиг дисков. Да, конечно, вы можете прожигать диски и DVD локально. Но на это время (до получаса для DVD) вы практически выпадаете из работы: компьютер начинает "задумываться", да и вообще — не хочется лишний раз тревожить его в момент "родов". Кроме того, не исключено, что вы хотите разделить ваш райтер между несколькими пользователями или просто компьютерами. Для удаленного прожига под X вы можете, как и я, пользоваться программой xcdroaster — это отличный фронт для всех нужных утилит. К тому же вы можете создавать автоматизированный депозитарий всех попадающих к вам дисков в виде ISO-образов — конечно, вы захотите сделать его перманентным и (обще)доступным.


5. Серверы. Современные серверы, как правило, обслуживаются посредством веб-интерфейса. Кроме того, для настройки всегда можно использовать и режим терминала. Тем не менее, иногда более продуктивным или более логичным может оказаться именно графический режим — изучать структуру файлов конфигурации интересно только в первый раз. Этот пункт, в основном, отвечает на вопрос, почему Linux, а не Windows?. Да, файловый сервер, SQL- или HTTP-серверы вы можете установить и под Windows — но "бесплатно" это будет только до поры до времени. Кроме того, вы можете ощущать дискомфорт под Windows, где вы лишены полноценного командного процессора — и, следовательно, не можете автоматизировать работу.


6. Туннель в офис. Безопасное X-подключение к рабочему компьютеру (через ssh и трансляцию портов) — это, возможно, самый грамотный и к тому же достаточно экономичный способ удаленного доступа к данным на работе. Вы можете запускать там любые приложения, и они будут работать вполне "локально" — вы обмениваетесь только изображением экрана и пользовательским вводом. Все остальные файловые системы на работе будут локальными относительно вашей X-сессии.


7. Остальные приложения. Мы не вспоминаем о тех десятках приложений, которые тоже могут и желают работать в безопасной, перманентной и изолированной от игр, вирусов и ваших ошибок среде. Возможно, вы будете запускать там 1С for LinuxK, возможно — какие-то еще, кроме перечисленных, виды закачки, в том числе в виде собственных роботов. Не исключено, что вы предпочтете запустить IM, Sim или LISQ так, чтобы никогда не выходить из мессенджера. Например, на своем сервере я читаю книги в HTML-формате — и никогда не закрываю их: это экономит не так время, как нервы. Наконец, у вас могут быть свои собственные или корпоративные приложения, написанные под X — вы ведь не хотите их переделывать, когда Windows станет историей?

 


Kget получает файлы — и они тут же становятся "жертвой" сервера Samba

 


Создал раз — пользуюсь и сейчас. Мой рабочий набор приложений


Будем считать, что с причинами мы разобрались. Разберемся теперь со следствиями — и начнем с X-серверов для MS Windows. Здесь есть масса вариантов, хотя все они в различной степени коммерческие.


Вариант дня: XManager2


Эта программа выполнена сравнительно более профессионально (хотя, может, просто произвела на меня такое впечатление). Разработчик XManager — корейская компания NetSarang.


Правильней было бы сказать, что это не одна, а несколько программ: под одним "фронтом" уживаются X-сервер, клиенты ssh и sftp, а также сервер Xlpd, то есть сервер печати, позволяющий печатать удаленные документы локально. Так сказать, два сервера и два клиента: отдаем локальную периферию за удаленный CPU и файловую систему. Все протоколы используют одну библиотеку SSH и одну сетевую библиотеку поверх ssh — так что всё должно работать слаженно и безопасно. Существуют, однако, и отдельные "тонкие" приложения, такие как Xshell,— для любителей сэкономить.


Что заслуживает внимания, хоть и не является чудом, так это поддержка X-сервером многих расширений, в том числе GLX — то есть расширений X для OpenGL. Таким образом мы сможем запускать на удаленном компьютере графические приложения. Можно открывать множество сессий к одному серверу (естественно!), а также разбрасывать окна по нескольким дисплеям — как автоматически, так и принудительно (не рекомендую, выглядит тупо). Можно также запускать все окна в одном или каждое приложение отдельно — мы уже обсуждали, что это ничего не стоит.


Заявленные возможности (кроме таких откровений, как "вы можете легко переключаться между системами, просто щелкая на окошках" — не вру, такое написано в Benefits): подключение по собственно X (XDMCP, X Display Manager Control Protocol), SSH, RSH, REXEC, RLOGIN или Telnet. Не все протоколы сейчас одинаково популярны, но выбор есть — обычно вы будете подламываться по ssh, поскольку он надежен и открыт по умолчанию. Приятная возможность: автопоиск доступных хостов в системе и их отображение на выбор — иногда клинит, и забываешь имя или адрес сервера, ну или маршрут по данному порту где-то не работает.

 


Как ни верти — равно получишь почту. Разные эккаунты — разный подход


Что еще следует упомянуть из числа естественных, но не всегда обнаруживаемых свойств: полисистемный захват буфера обмена (конечно, на файлы и папки не распространяется), так чтобы вы могли копировать данные между локальными и удаленными приложениями. Из дополнительных возможностей — масса настроек профилей под разные системы, настройка и переключение раскладок клавиатуры, а также, что уже нормально воспринимается под Linux, автоматическая генерация и установка ключей SHA. При первом подключении вас просто спросят, верить ли этому хосту, а потом уже никаких вопросов задавать не будут.


И совсем уже "горячая" возможность: запускать XManager из под Windows Terminal Service и Citrix Metaframe. Получается терминальный доступ к Windows Server, который гоняет X-сервер XManager для доступа к еще более другому ящику. Тут главное не запутаться, где ты находишься. Когда поймете, как (а главное зачем) это работает — сообщите мне. Может, пригодится :).


На нашем диске лежит полный триал XManager 2.0 Enterprise, сборка 0505. Сериал легко найдете где-нибудь. Об установке можете почитать здесь: www.netsarang.com/download/down_xme2.html. На диске поищите и шрифты, хотя всем настойчиво рекомендуется использовать xfs на порту 7100. Цивилизованная цена программы — 229 американских зайчиков. Что, кстати, говорит о том, что корейские люди с нее живут, а не для курсовой писали.


Другие варианты

  • Exceed. Этот сервер первым упоминается в списке XDMCP Howto, так что уже, как минимум, заслуживает некоторого уважения. Хотя, как по мне, продукт без особых преимуществ, хотя на сайте и утверждается, что они захватили 72% всего рынка. Существуют как отдельные приложения, X и NFS, так и обобщенная Exceed Powersuite 2006 — я закачал и выложил именно ее.
  • Reflection X. Продукт компании WRQ тоже имеет немалое "покрытие" рынка. Как и конкуренты, Reflection X представляет собой сюиту, как минимум, обеспечивающую также доступ к файлам и по NFS. Файл инсталляции, rx130etle.exe (130 Мб), немного больше других дистрибутивов.
  • X-Win32. Вариант не первый по счету — но на самом деле первейший по содержанию. Я уже писал как-то об этой проге с немецким качеством, а вы, с некоторой вероятностью, даже использовали ее. Конечно, по "умняку" эта программа должна бы находиться на лидирующей позиции, хотя не все и не всегда в ней удобно, да и не всем понятно.
  • WinaXe. Весьма коммерческий продукт, который как-то тоже удачно попался мне под руку — и, должен сказать, эта рука не пострадала. Программа создана финской компанией LabF в чудном "городе двух озер" — Тампере. Американские торговые марки той же программы: XSecure и X Thin Pro — эти псевдонимы часто встречаются в Сети и доках.


Пару слов вдогонку


Последний вопрос: а как же мне настроить Linux, чтобы можно было подключаться удаленно? Этот вопрос хорошо освещался уже добрые две сотни раз — почитайте тот же XDMCP Howto или даже архив нашего журнала. Важный момент: не забывайте указывать удаленную команду, которую нужно удаленно выполнить. Я как-то даже замешкался на миг, получив пустой X-скрин.


Главный же вывод звучит так: не каждый может расстаться с MS Windows — но многие стремятся, и еще большее число пользователей просто "не против". Об этом говорит существенная "температура рынка" в области X-серверов для Windows, равно как и других средств интеграции. Единственный (и пока огромный, на мой взгляд) довод в пользу MSW — это компьютерные игры. X написан так, что играть приходится "через левое плечо". Впрочем, вопрос уже решается: в X предусмотрен специальный способ взаимодействия для локального сервера, так что приложение не использует сетевые стеки для доступа к видеокарте. Это уже прогресс.
Вселяет надежду и известная инициатива DRI, поддержка Linux основными вендорами видеокарт, а также рост числа "доморощенных" альтернатив DirectX. До окончательной победы далеко — но, как говорится, нельзя остановить идею, время которой пришло.

 

Природу не обманешь


Коль уж речь идет не об экономии ресурсов, а об их умелом разбазаривании, приведу свои собственные наблюдения, какие системные параметры можно считать достаточными для CPU-сервера (это там, где стоит Linux, термин в широком ходу под Plan9 и Inferno).


Первый фактический факт: ничто не будет удаленно работать быстрее, чем локально. Если у вас Линукс стоит на Pentium II 400 и 64 Мб памяти, то графика будет тормозить везде, таковы уж сегодняшние приложения. Конечно, найдутся люди, которые будут утверждать, что у них "на первом пне все летает" — не обращайте внимания, у людей свое понятие о полете.


Итак:

  • Процессор. Для начала 1 ГГц + 200 Мгц для каждого среднего графического приложения (считаются все приложения всех подключантов). Для X-терминалов — вдвое меньше, для браузеров — вдвое больше. Мой Селерон 2400 тянет семь-восемь средних сессий очень комфортно. Здесь много потоков не бывает — два ядра хорошо, а три лучше :).
  • Память. 128 Мб + 64 Мб для каждого приложения; после 512 Мб прироста скорости (в диапазоне 10-20 сессий) не обнаружено, причина — реентерабельность графических тулкитов. Быстрая память (DDR2, dual channel, RIMM etc) помогает, но лучше за те же деньги удвоить размер.
  • Винчестер. Объем, конечно, не имеет значения (кроме вопроса хранения файлов), а вот его скорость, и размер кэша в частности, очень влияет на скорость запуска приложений — особенно в многопользовательском режиме, когда в любой момент времени какой-то вася хочет двинуться винтом. Так что RAID 0 форева — при первой же возможности, хотя бы и софт-вариант. В отличие от винды, Linux знает, что с ним делать (ask Oracle).
  • Сеть. Ну, как сказать… Запуск приложения еще не порождает трафик, а вот каждая отрисовка окна — да. Особенно в браузере, где все желает вечно мигать и перерисовываться. Я в пике наблюдал 5% от 54 Мбит/с, что дает 2,7 Мбит/с. Любая локалка 10 Мб/с потянет десять сеансов, особенно если это не браузеры — обычно будет отрисовываться только окно переднего плана. Сотка потянет вообще всё, а вот инет удобен разве что быстрый, как у "Воли". Также, что меня интересовало, мне не удалось напрячь сеть мышкой — если, конечно, эта мышка не порождает спонтанные ролл-оверы, особенно на флэш анимэйшн.
  • Все остальное — на нем можно и сэкономить. Не нужны: экран, видяха, клава, мышь, порты (от сериального до USB), флоповод, дисковод CD/DVD и даже корпус. В результате приличный "черный ящичек" у меня сросся за 240 у.е. (с винтом 120 Гб).
2005.11.30
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".