Введение
Рабочая станция компьютера, работающая без дисководов
Бесдисковый узел (или бесдисковая рабочая станция) — это рабочая станция или персональный компьютер, не оснащенный дисководами, который использует сетевую загрузку для загрузки операционной системы с сервера. (Компьютер также может рассматриваться как бесдисковый узел, если его диски не используются и применяется сетевая загрузка.) Бесдисковые узлы (или компьютеры, функционирующие как таковые) иногда называют сетевыми компьютерами или гибридными клиентами. Термин "гибридный клиент" может означать просто бесдисковый узел, либо использоваться в более узком смысле для обозначения бесдискового узла, который запускает лишь часть приложений удаленно, как в архитектуре тонких клиентов. Преимущества бесдисковых узлов включают снижение себестоимости производства, снижение эксплуатационных расходов, более тихую работу и удобство управления (например, централизованная установка программного обеспечения). Во многих университетах и крупных организациях персональные компьютеры используются в аналогичной конфигурации, когда часть или все приложения хранятся удаленно, но выполняются локально – опять же, для упрощения управления. Однако, это не бесдисковые узлы, если они по-прежнему загружаются с локального жесткого диска.
Принципы работы
Операционная система (ОС) для бездискового узла загружается с сервера посредством сетевой загрузки. В некоторых случаях для инициации процесса загрузки может использоваться съемное хранилище, такое как USB-накопитель или другой загрузочный носитель, например, дискета, CD или DVD. Однако, прошивка многих современных компьютеров может быть настроена для автоматического обнаружения сервера и начала процесса загрузки без необходимости вставлять загрузочный носитель. Для сетевой автоматической загрузки обычно используются сетевые протоколы Preboot Execution Environment (PXE) или Bootstrap Protocol (BOOTP) для поиска сервера с файлами, необходимыми для загрузки устройства. Стандартные настольные ПК могут быть загружены по сети с помощью дополнительной сетевой карты, оснащенной загрузовым ROM с Universal Network Device Interface. Сетевая загрузка без диска часто является встроенной функцией настольных и портативных компьютеров, предназначенных для коммерческого использования, поскольку ее можно использовать на обычно загружаемом с диска настольном компьютере для удаленной диагностики, установки программного обеспечения или применения образа диска к локальному жесткому диску. После запуска процесса загрузки, как описано выше, загрузка будет происходить одним из трех основных способов. В первом способе (используемом, например, проектом Linux Terminal Server Project) ядро загружается в память, а затем к остальной части операционной системы осуществляется доступ через сетевое файловое соединение с сервером. (Для хранения временных файлов может быть создан небольшой RAM-диск.) Этот подход иногда называют техникой "NFS root" при использовании с клиентскими операционными системами Linux или Unix. Во втором способе ядро ОС загружается, часть системной памяти конфигурируется как большой RAM-диск, а затем остальная часть образа ОС извлекается и загружается в RAM-диск. Microsoft выбрала эту реализацию для своей функции удаленной загрузки Windows XP Embedded. В третьем способе операции с диском виртуализируются и фактически преобразуются в сетевой протокол. Данные, которые обычно хранятся на дисковом накопителе, затем хранятся в файлах виртуальных дисков на сервере. Запросы на чтение/запись секторов диска преобразуются в соответствующие сетевые запросы и обрабатываются службой или демоном, работающим на стороне сервера. Эту реализацию используют Neoware Image Manager, Ardence, VHD Central Management System и различные продукты "boot over iSCSI". Этот третий подход отличается от первого тем, что удаленной является не файловая система, а фактически дисковое устройство (или необработанное устройство), и клиентская ОС не знает, что она работает не с жесткого диска. Поэтому этот подход иногда называют "виртуальным жестким диском" или "сетевым виртуальным диском". Этот третий подход упрощает использование клиентской ОС по сравнению с хранением полного образа диска в оперативной памяти или использованием файловой системы только для чтения. В этом подходе система использует некоторый "кэш записи", который хранит все данные, записанные бездисковым узлом. Этот кэш записи обычно представляет собой файл, хранящийся на сервере (или на клиентском хранилище, если оно есть). Он также может быть частью клиентской оперативной памяти. Кэш записи может быть постоянным или временным. В случае временного кэша все данные, записанные конкретным клиентом на виртуальный диск, удаляются при перезагрузке этого клиента, однако пользовательские данные могут оставаться постоянными, если они сохранены в профилях пользователей (роуминг) или домашних папках (которые хранятся на удаленных серверах). Два основных коммерческих продукта (от Hewlett Packard и Citrix Systems), позволяющие развертывать бездисковые узлы, загружающие клиентские ОС Microsoft Windows или Linux, используют такие кэши записи. Продукт Citrix не может использовать постоянный кэш записи, а продукты VHD и HP – могут.
Централизованное хранение
Использование централизованного дискового хранилища также повышает эффективность использования дискового пространства. Это позволяет снизить затраты на хранение данных, высвободив капитал для инвестиций в более надежные и современные технологии, такие как RAID-массивы с поддержкой резервирования и сети хранения данных (SAN), позволяющие добавлять дисковое пространство "на лету" без прерывания работы. Более того, это означает, что выход из строя дисковых накопителей вследствие механических или электрических неисправностей – события, статистически весьма вероятные в течение нескольких лет при большом количестве дисков – часто менее вероятен (поскольку обычно выходит из строя меньше дисков) и реже приводит к сбоям в работе (поскольку они, скорее всего, будут частью RAID-массивов). Это также означает, что сами узлы менее подвержены аппаратным сбоям, чем толстые клиенты. Бесдисковые узлы обладают теми же преимуществами, что и тонкие клиенты.
Производительность централизованного хранения
Однако такая эффективность хранения может потребовать определенных затрат. Как это часто бывает в вычислительной технике, повышение эффективности хранения иногда достигается за счет снижения производительности. Большое количество узлов, одновременно обращающихся к одному и тому же серверу, может замедлить работу всех пользователей. Однако эту проблему можно смягчить, установив на сервер большой объем оперативной памяти (что ускоряет операции чтения за счет повышения производительности кэширования), добавив больше серверов (что распределяет нагрузку ввода-вывода) или увеличив количество дисков в RAID-массиве (что распределяет физическую нагрузку ввода-вывода). В любом случае, эта проблема в определенной степени может затронуть любую клиент-серверную сеть, поскольку даже "толстые" клиенты используют серверы для хранения пользовательских данных. Более того, в некоторых средах объем пользовательских данных может быть значительно больше, а частота доступа к ним – выше, чем к операционным системам и программам, поэтому переход на бездисковую модель не обязательно приведет к заметному снижению производительности. В бездисковой модели также будет использоваться большая пропускная способность сети (то есть ее емкость) по сравнению с моделью "толстого" клиента. Это не обязательно означает необходимость установки сетевой инфраструктуры с большей пропускной способностью – возможно, потребуется использовать большую долю существующей сетевой мощности. Наконец, сочетание задержек передачи данных по сети (физического перемещения данных) и задержек, связанных с ожиданием обработки запросов других узлов сервером, может привести к неприемлемому снижению производительности по сравнению с использованием локальных дисков, в зависимости от характера приложения, а также емкости сетевой инфраструктуры и сервера.
Другие преимущества
Другой пример ситуации, когда бездисковый узел может быть полезен, – это потенциально опасная среда, где компьютеры подвержены риску повреждения или уничтожения, что делает выгодным использование недорогих узлов и минимального аппаратного обеспечения. В этом случае также можно использовать тонкие клиенты. Бездисковые машины потребляют мало энергии и практически не шумят, что обеспечивает экологические преимущества и делает их идеальными для некоторых приложений в компьютерных кластерах.
Сравнение с тонкими клиентами
И тонкие клиенты, и бездисковые узлы используют бездисковые клиенты, которые обладают преимуществами перед толстыми клиентами (см. выше), но различаются местом выполнения вычислений.
Преимущества бездисковых узлов перед тонкими клиентами
Распределенная нагрузка. Нагрузка на обработку данных распределена между бездисковыми узлами. Каждый пользователь получает собственную изолированную среду для обработки, практически не влияя на других пользователей в сети, если их рабочая нагрузка не связана с интенсивным использованием файловой системы. Тонкие клиенты полагаются на центральный сервер для обработки и, следовательно, требуют высокой производительности сервера. Когда центральный сервер перегружен и работает медленно, оба типа клиентов будут затронуты, но тонкие клиенты будут полностью замедлены, в то время как бездисковые узлы будут замедляться только при доступе к данным на сервере. Повышенная производительность в мультимедиа. Бездисковые узлы имеют преимущество перед тонкими клиентами в мультимедийных приложениях, требующих большой пропускной способности. Например, бездисковые узлы хорошо подходят для видеоигр, поскольку рендеринг выполняется локально, что снижает задержку. Поддержка периферийных устройств. Бездисковые узлы обычно представляют собой обычные персональные компьютеры или рабочие станции без жестких дисков, что позволяет подключать широкий спектр периферийных устройств. В отличие от них, тонкие клиенты обычно представляют собой небольшие, герметичные устройства без возможности внутреннего расширения и с ограниченными или отсутствующими возможностями внешнего расширения. Даже если, например, USB-устройство можно физически подключить к тонкому клиенту, программное обеспечение тонкого клиента может не поддерживать периферийные устройства, кроме основных устройств ввода-вывода, например, оно может быть несовместимо с графическими планшетами, цифровыми камерами или сканерами.
Преимущества тонких клиентов по сравнению с бездисковыми узлами
Аппаратное обеспечение дешевле в случае тонких клиентов, поскольку вычислительные требования к клиенту минимальны, а 3D-ускорение и расширенная поддержка аудио обычно не предусмотрены. Бесдисковый узел также можно приобрести с недорогим процессором и минимальной поддержкой мультимедиа, если это целесообразно. Таким образом, экономия средств может оказаться меньше, чем кажется на первый взгляд, для некоторых организаций. Однако многие крупные организации привычно закупают оборудование с характеристиками, превышающими необходимые, чтобы удовлетворить потребности конкретных приложений и задач, или для обеспечения перспективности (см. следующий пункт). Существуют также менее рациональные причины для избыточных характеристик оборудования, которые часто влияют на выбор: отделы тратят бюджетные средства, чтобы сохранить текущий уровень финансирования на следующий год; а также неопределенность относительно будущего, недостаток технических знаний или внимания при выборе спецификаций ПК. Учитывая все эти факторы, тонкие клиенты могут обеспечить наиболее значительную экономию, поскольку в модели тонких клиентов, как правило, только серверы подвергаются существенной "улучшенной комплектации" и/или "обеспечению перспективности". Обеспечение перспективности не является серьезной проблемой для тонких клиентов, которые, вероятно, останутся полезными на протяжении всего срока службы – от одного до четырех лет и даже дольше – поскольку основная нагрузка ложится на серверы. В случае бездисковых узлов возникают проблемы, поскольку вычислительная нагрузка потенциально намного выше, что требует более тщательного подхода к закупкам. В будущем тонким клиентским сетям могут потребоваться значительно более мощные серверы, в то время как сети бездисковых узлов могут потребовать обновления сервера, обновления клиентского оборудования или и того, и другого. Тонкие клиентские сети потенциально потребляют меньше пропускной способности сети, поскольку большая часть данных просто считывается сервером и обрабатывается там, а клиенту передаются только небольшие фрагменты данных по мере необходимости для отображения. Кроме того, передача графических данных на дисплей обычно лучше подходит для эффективных технологий сжатия и оптимизации данных (например, технология NX), чем передача произвольных программ или пользовательских данных. Во многих типичных сценариях использования ожидается, что как общее потребление полосы пропускания, так и пиковое потребление будут меньше для эффективного тонкого клиента, чем для бездискового узла.