По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы продолжаем изучать один из важнейших протоколов IP телефонии H.323 и в сегодняшней статье рассмотрим возможные сценарии установления соединения, а также углубимся в суть сигнальных сообщений, использующихся в данном протоколе. Итак, что же происходит прежде чем Вы слышите в трубке голос собеседника, когда соединяетесь по H.323? Давайте рассмотрим временную диаграмму установления и разъединения связи между парой терминалов под управлением привратника. Для простоты восприятия, сигнальные сообщения протоколов выделены разными цветами. Как видно из диаграммы на первом этапе установления соединения (SETUP) работают протоколы RAS (Registration, Admission, Status) и H.225.0 . Терминал 1 по протоколу RAS посылает Привратнику сообщение ARQ (Admission Request), которое содержит информацию о вызываемом абоненте и требования к пропускной способности будущей сессии. Привратник отвечает сообщением ACF (Admission Confirmation), содержащее номер порта TCP для будущего сигнального канала. Получив номер порта, Терминал 1 инициирует установление TCP-сессии, и, по протоколу H.225.0, посылает сообщение SETUP Терминалу 2. Стоит напомнить, что SETUP, как и все остальные сообщения протокола H.225.0, является разрешенным для использования в VoIP сообщением протокола Q.931, использующегося в ISDN. SETUP содержит такую информацию как IP адрес, порт и alias, вызываемого абонента. Alias – это адрес по формату напоминающий e-mail адрес, в первой части которого находится уникальный идентификатор терминала, а во второй имя домена, которому он принадлежит, например: alex@merionet.ru или 192.168.1.32@merionet.ru . Терминал 2 отвечает сообщением CALL PROCEEDING, означающее, что все данные получены. Для того, что бы взаимодействовать с Привратником Терминал 2 также проходит процедуру регистрации, обмениваясь сообщениями ARQ и ACF. Наконец, по протоколу H.225 (Q.931 ) Терминал 2 посылает вызывающей стороне сообщение ALERTING. В этот момент вызывающий абонент слышит контроль посылки вызова. Согласование Далее начинается фаза согласования дополнительных параметров с использованием протокола H.245, информация которого передаются внутри сообщений FACILITY протокола H.225.0. Протокол H.245 осуществляет следующие процедуры: Определение ведущего и ведомого сессии (Master/Slave Determination). Данное определение выявляет какой из терминалов будет решать потенциальные разногласия. Например в случае несогласования какого-либо параметра ведущий (Master) может этот параметр отклонить. Согласование функциональных возможностей терминалов (Terminal Capability Set) Терминалы обмениваются списком поддерживаемых аудио и видео кодеков. Ведущий выбирает по какому кодеку будет проходить вызов. Открытие логических каналов (Open Logical Channel) Окончательное согласование всех необходимых параметров будущей RTP – сессии перед ее непосредственным открытием. После того как все параметры согласованы и абонент Терминала 2 принимает вызов, в сторону вызывающего терминала отсылается сообщение CONNECT. На этом фаза установления соединения заканчивается и начинается фаза разговора. Между терминалами устанавливается RTP/RTCP – сессия и начинается обмен речевой информацией. Далее абонент Терминала 2 инициирует завершение соединения, посылкой сообщений CloseLogicalChannel и EndSessionCommand, на что получает соответствующие CLC ACK и ESC ACK от Терминала 1. Далее по протоколу H.225.0 соединение закрывается окончательно сообщением RELEASE COMPLETE. Терминалы, по протоколу RAS, извещают Привратник об освобождении ресурсов сообщениями DRQ Disenagae Request. Привратник подтверждает освобождение полосы пропускания сообщением Disengage Confirmation. H.323 был одним из первых протоколов IP – телефонии, поэтому понимание принципов его работы является крайне важным фактором при изучении более новых и современных протоколов VoIP.
img
Начиная с Windows Server 2012 R2 в Hyper-v появились машины второго поколения. Они добавляют некоторые преимущества по сравнению с виртуальными машинами первого поколения, поэтому следует подумать о переходе. Хотя автоматического преобразования не существует, есть способ избежать новой установки и настройки виртуальной машины. Есть несколько причин, по которым рабочие системы до сих пор работают на виртуальных машинах первого поколения. Часто они существуют уже несколько лет и были созданы в версии Hyper-V, которая поддерживает только виртуальные машины 1-го поколения. Их по-прежнему можно использовать в более новой версии гипервизора, и они полностью поддерживаются. И наоборот, также возможно, что версия Windows была изначально установлена на виртуальной машине, которая поддерживает только виртуальные машины 1-го поколения. Гостевая ОС, возможно, за это время была обновлена, но функции 2-го поколения в старой виртуальной машине заблокированы. Может случиться и так, что Gen 1 будет случайно выбран при создании виртуальной машины, поскольку это по-прежнему выбирается по умолчанию в диспетчере Hyper-V. Преимущества 2 поколения Одним из наиболее важных преимуществ новых виртуальных машин является более высокая производительность, поскольку гостевая ОС «знает», что она работает на гипервизоре, и, следовательно, не требует эмуляции оборудования. Виртуальные машины второго поколения обладают поддержкой UEFI, работают под управлением только 64-разрядной гостевой ОС, могут загружаться с виртуального контроллера SCSI. Подключенные к контроллеру виртуальные жесткие диски можно добавлять, удалять и изменять их размер во время работы. Сетевые адаптеры также могут быть добавлены во время работы системы. Если вы хотите настроить виртуальную машину с UEFI, вы можете сделать это только с виртуальной машиной поколения 2, т.е. безопасная загрузка доступна только в ней. Виртуальные машины поколения 1 поддерживают только BIOS и, следовательно, ограничены структурой MBR дисков и это основное препятствие при миграции. Поиск старых виртуальных машин Первым шагом будет обзор того, какие виртуальные машины относятся к Gen 1 (Поколение 1). С помощью PowerShell это относительно легко узнать: Get-VM | select vmname, generation Эта команда выведет вам список всех виртуальных машин на локальном хосте, их имена и поколение. По сути, теперь вы можете приступить к преобразованию старых виртуальных машин. Однако это невозможно, если гостевая ОС старше Windows Server 2012 R2 или имеет 32-разрядную версию. Следовательно, вам необходимо выяснить, какая ОС установлена на виртуальной машине. Это можно относительно легко определить через PowerShell: Get-ComputerInfo -Property WindowsProductName, OsArchitecture Изменение таблицы разделов на GPT После того как вы определили, какие виртуальные машины подходят для преобразования, вам следует сначала обновить гостевую ОС до версии Windows, которую вы запланировали для новой среды. Затем преобразовать системный диск в GPT. Начиная с Windows 10 1703, Microsoft предоставляет для этой цели MBR2GPT.exe. Программа запускается на рабочей системе со следующими параметрами: mbr2gpt.exe /convert /allowFullOS Утилита находится в %SystemRoot%system32 и может быть легко скопирована на другие компьютеры, если ее там нет. Это относится, например, и к серверам Windows. Однако в случае более старых версий ОС Microsoft рекомендует выключить виртуальную машину, загрузиться в среду предустановки Windows и начать преобразование в GPT оттуда. Тогда команда выглядит немного иначе: mbr2gpt.exe /convert /disk:<disknumber> Номера дисков можно посмотреть программой diskpart с помощью: list disk Перенос виртуального диска на новую виртуальную машину Поскольку преобразовать виртуальную машину поколения 1 в поколение 2 невозможно, теперь необходимо создать новую виртуальную машину Gen 2 и подключить к ней виртуальный жесткий диск. Одним из побочных эффектов этого действия является то, что оно также поднимает версию виртуальной машины до текущего уровня. Это необходимо, чтобы воспользоваться преимуществами новых функций Hyper-V, доступных в Server 2016 или 2019. Новая виртуальная машина больше не будет работать на более старом гипервизоре.
img
Несмотря на доступ к все более эффективному и мощному оборудованию, операции, выполняемые непосредственно на традиционных физических (или «чистых») серверах, неизбежно сталкиваются со значительными практическими ограничениями. Стоимость и сложность создания и запуска одного физического сервера говорят о том, что эффективное добавление и удаление ресурсов для быстрого удовлетворения меняющихся потребностей затруднено, а в некоторых случаях просто невозможно. Безопасное тестирование новых конфигураций или полных приложений перед их выпуском также может быть сложным, дорогостоящим и длительным процессом. Исследователи-первопроходцы Джеральд Дж. Попек и Роберт П. Голдберг в статье 1974 года («Формальные требования к виртуализируемым архитектурам третьего поколения» (“Formal Requirements for Virtualizable Third Generation Architectures”) - Communications of the ACM 17 (7): 412–421) предполагали, что успешная виртуализация должна обеспечивать такую среду, которая: Эквивалента физическому компьютеру, поэтому доступ программного обеспечения к аппаратным ресурсам и драйверам должен быть неотличим от невиртуализированного варианта. Обеспечивает полный контроль клиента над аппаратным обеспечением виртуализированной системы. По возможности эффективно выполняет операции непосредственно на базовых аппаратных ресурсах, включая ЦП. Виртуализация позволяет разделить физические ресурсы вычислений, памяти, сети и хранилища («основополагающая четверка») между несколькими объектами. Каждое виртуальное устройство представлено в своем программном обеспечении и пользовательской среде как реальный автономный объект. Грамотно настроенные виртуальные изолированные ресурсы могут обеспечить более защиту приложений приложений без видимой связи между средами. Виртуализация также позволяет создавать и запускать новые виртуальные машины почти мгновенно, а затем удалять их, когда они перестанут быть необходимыми. Для больших приложений, поддерживающих постоянно меняющиеся бизнес-требования, возможность быстрого вертикального масштабирования с повышением или понижением производительности может означать разницу между успехом и неудачей. Адаптивность, которую предлагает виртуализация, позволяет скриптам добавлять или удалять виртуальные машины за считанные секунды, а не недели, которые могут потребоваться для покупки, подготовки и развертывания физического сервера. Как работает виртуализация? В невиртуальных условиях, архитектуры х86 строго контролируют, какие процессы могут работать в каждом из четырех тщательно определенных уровней привилегий (начиная с Кольца 0 (Ring 0) по Кольцо 3). Как правило, только ядро операционной системы хоста имеет какой-либо шанс получить доступ к инструкциям, хранящимся в кольце под номером 0. Однако, поскольку вы не можете предоставить нескольким виртуальным машинам, которые работают на одном физическом компьютере, равный доступ к кольцу 0, не вызывая больших проблем, необходим диспетчер виртуальных машин (или «гипервизор»), который бы эффективно перенаправлял запросы на такие ресурсы, как память и хранилище, на виртуализированные системы, эквивалентные им. При работе в аппаратной среде без виртуализации SVM или VT-x все это выполняется с помощью процесса, известного как ловушка, эмуляция и двоичная трансляция. На виртуализированном оборудовании такие запросы, как правило, перехватываются гипервизором, адаптируются к виртуальной среде и возвращаются в виртуальную машину. Простое добавление нового программного уровня для обеспечения такого уровня организации взаимодействия приведет к значительной задержке практически во всех аспектах производительности системы. Одним из успешных решений было решение ввести новый набор инструкций в ЦП, которые создают, так называемое, «кольцо 1», которое действует как кольцо 0 и позволяет гостевой ОС работать без какого-либо влияния на другие несвязанные операции. На самом деле, при правильной реализации виртуализация позволяет большинству программных кодов работать как обычно, без каких-либо перехватов. Несмотря на то, что эмуляция часто играет роль поддержки при развертывании виртуализации, она все же работает несколько иначе. В то время как виртуализация стремится разделить существующие аппаратные ресурсы между несколькими пользователями, эмуляция ставит перед собой цель заставить одну конкретную аппаратную/программную среду имитировать ту, которой на самом деле не существует, чтобы у пользователей была возможность запускать процессы, которые изначально было невозможно запустить. Для этого требуется программный код, который имитирует желаемую исходную аппаратную среду, чтобы обмануть ваше программное обеспечение, заставив его думать, что оно на самом деле работает где-то еще. Эмуляция может быть относительно простой в реализации, но она почти всегда несет за собой значительные потери производительности. Согласно сложившимся представлениям, существует два класса гипервизоров: Type-1 и Type-2. Bare-metal гипервизоры (исполняемые на «голом железе») (Type-1), загружаются как операционная система машины и – иногда через основную привилегированную виртуальную машину – сохраняют полный контроль над аппаратным обеспечением хоста, запуская каждую гостевую ОС как системный процесс. XenServer и VMWare ESXi – яркие примеры современных гипервизоров Type-1. В последнее время использование термина «гипервизор» распространилось на все технологии виртуализации хостов, хотя раньше оно использовалось только для описания систем Type-1. Первоначально более общим термином, охватывающим все типы систем, был «Мониторы виртуальных машин». То, в какой степени люди используют термин «мониторы виртуальных машин» все это время, наводит меня на мысль, что они подразумевают «гипервизор» во всех его интерпретациях. Гипервизоры, размещенные на виртуальном узле (Type-2) сами по себе являются просто процессами, работающими поверх обычного стека операционной системы. Гипервизоры Type-2 (включая VirtualBox и, в некотором роде, KVM) отделяют системные ресурсы хоста для гостевых операционных систем, создавая иллюзию частной аппаратной среды. Виртуализация: паравиртуализация или аппаратная виртуализация Виртуальные машины полностью виртуализированы. Иными словами, они думают, что они обычные развертывания операционной системы, которые живут собственной счастливой жизнью на собственном оборудовании. Поскольку им не нужно взаимодействовать со своей средой как-то иначе, чем с автономной ОС, то они могут работать с готовыми немодифицированными программными стеками. Однако раньше за такое сходство приходилось платить, потому что преобразование аппаратных сигналов через уровень эмуляции занимало дополнительное время и циклы. В случае с паравиртуализацией (PV – Paravirtualization) паравиртуальные гости хотя бы частично осведомлены о своей виртуальной среде, в том числе и том, что они используют аппаратные ресурсы совместно с другими виртуальными машинами. Эта осведомленность означает, что хостам PV не нужно эмулировать хранилище и сетевое оборудование, и делает доступными эффективные драйверы ввода-вывода. На первых порах это позволяло гипервизорам PV достигать более высокой производительности для операций, требующих подключения к аппаратным компонентам. Тем не менее, для того, чтобы предоставить гостевой доступ к виртуальному кольцу 0 (т.е. кольцу -1), современные аппаратные платформы – и, в частности, архитектура Intel Ivy Bridge – представили новую библиотеку наборов инструкций ЦП, которая позволила аппаратной виртуализации (HVM – Hardware Virtual Machine) обойти узкое место, связанное с ловушкой и эмуляцией, и в полной мере воспользоваться преимуществами аппаратных расширений и немодифицированных операций ядра программного обеспечения. Также значительно повысить производительность виртуализации может последняя технология Intel – таблицы расширенных страниц (EPT – Extended Page Tables). В связи с этим, в большинстве случаев можно обнаружить, что HVM обеспечивает более высокую производительность, переносимость и совместимость. Аппаратная совместимость Как минимум, несколько функций виртуализации требуют аппаратную поддержку, особенно со стороны ЦП хоста. Именно поэтому вы должны убедиться, что на вашем сервере есть все, что вам необходимо для задачи, которую вы собираетесь ему дать. Большая часть того, что вам нужно знать, храниться в файле /proc/cpuinfo и, в частности, в разделе «flags» (флаги) каждого процессора. Однако вам нужно знать, то искать, потому что флагов будет очень много. Запустите эту команду, чтобы посмотреть, что у вас под капотом: $ grep flags /proc/cpuinfo Контейнерная виртуализация Как мы уже видели ранее, виртуальная машина гипервизора – это полноценная операционная система, чья связь с аппаратными ресурсами «основополагающей четверки» полностью виртуализирована – она думает, что работает на собственном компьютере. Гипервизор устанавливает виртуальную машину из того же ISO-образа, который вы загружаете и используете для установки операционной системы непосредственно на пустой физический жесткий диск. Контейнер в свою очередь фактически представляет собой приложение, запускаемое из скриптообразного шаблона, которое считает себя операционной системой. В контейнерных технологиях, таких как LXC и Docker, контейнеры – это не что иное, как программные и ресурсные (файлы, процессы, пользователи) средства, которые зависят от ядра хоста и представления аппаратных ресурсов «основополагающей четверки» (т.е. ЦП, ОЗУ, сеть и хранилище) для всего, то они делают. Конечно, с учетом того, что контейнеры фактически являются изолированными расширениями ядра хоста, виртуализация Windows (или более старых или новых версий Linux с несовместимыми версиями libc), например, на хосте Ubuntu 16.04 будет сложна или невозможна. Но эта технология обеспечивает невероятно простые и универсальные вычислительные возможности. Перемещение Модель виртуализации также позволяет использовать широкий спектр операций перемещения, копирования и клонирования даже из действующих систем (V2V). Поскольку программные ресурсы, определяющие виртуальную машину и управляющие ею, очень легко идентифицировать, то обычно не требуется очень много усилий для дублирования целых серверных сред в нескольких местах и для разных целей. Иногда это не сложнее, чем создать архив виртуальной файловой системы на одном хосте, распаковать его на другом хосте по тому же пути, проверить основные сетевые настройки и запустить. Большинство платформ предлагают единую операцию командной строки для перемещения гостей между хостами. Перемещение развертываний с физических серверов на виртуализированные среды (P2V) иногда может оказаться немного сложнее. Даже создание клонированного образа простого физического сервера и его импорт в пустую виртуальную машину может сопровождаться определенными трудностями. И как только все это будет выполнено, вам, возможно, придется внести некоторые корректировки в системную архитектуру, чтобы можно было использовать возможности, предлагаемые виртуализацией, в полную силу. В зависимости от операционной системы, которую вы перемещаете, вам также может потребоваться использование паравиртуализированных драйверов для того, чтобы ОС могла корректно работать в своем «новом доме». Как и в любых других ситуациях управления сервером: тщательно все продумывайте заранее.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59