По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Hyper-V - это платформа виртуализации в Windows Server. Hyper-V используется для создания виртуальных машин. Гипервизор также интегрирован в саму структуру облака Microsoft Azure. Эту роль можно включить и в некоторых выпусках Windows 10. Из этого следует, что можно переносить виртуальную машину из Windows 10 в Windows Server, в Azure и обратно без изменения формата виртуальной машины. В этой статье рассмотрим тему использования оперативной памяти машины Hyper-V. Динамическая память Имеется два варианта выделения памяти виртуальным машинам. Может назначаться статический объем памяти или установить параметр динамической памяти. Если назначается статическая величина, то этот объем памяти остается неизменным, независимо в каком состоянии находится виртуальная машина. При установке динамической памяти в Параметрах можно настроить следующие значения через Windows Admin Center или Консоль Hyper-V: Startup Memory - это тот объем памяти, который нужен для старта гостевой машины. Он может быть таким же, как минимальный объем памяти, или может быть таким же, как максимальный объем выделенной памяти. После запуска виртуальная машина вместо этого будет использовать то значение, которое указано, как минимальный объем памяти. Минимальный объем (Minimum Memory. - т.е. меньше указанного значения сервер виртуализации не выделит объем памяти при использовании динамического распределения. Если нескольким виртуальным машинам требуется больше памяти, Hyper-V может уменьшить объем другой виртуальной машины до тех пор, пока не будет достигнуто значение минимального ее объема. Вы можете уменьшить параметр минимального объема памяти во время работы виртуальной машины, но не можете увеличить его, когда виртуальная машина работает. Максимальный объем памяти (Maximum Memory) - это максимальное значение объема памяти, которое будет выделять хостом виртуализации при включении динамической памяти для виртуальной машины. Вы можете увеличить максимальный объем памяти во время работы виртуальной машины, но не можете уменьшить его, пока виртуальная машина работает. Memory Buffer - процент памяти, который хост должен выделить виртуальной машине в качестве резерва. Memory Weight - позволяет настроить способ распределения памяти для разных гостевых систем по отношению друг к другу, запускающихся на том же узле виртуализации. Как правило, когда вы настраиваете динамическую память, объем используемой памяти будет колебаться между значениями Минимум и Максимум. Следует проводить мониторинг использования памяти ВМ и настраивать эти значения так, чтобы они точно отражали фактические потребности виртуальной машины. в Случае, когда будет выделено минимальное значение памяти ниже того, что фактически необходимо для запуска виртуальной машины, эта нехватка может привести к тому, что узел виртуализации уменьшит объем памяти, выделенной для этого минимального значения памяти, что приведет к остановке работы виртуальной машины. Smart paging - это специальная технология в Hyper-V, которая работает в определенных условиях при перезагрузке виртуальной машины. Smart paging использует файл на диске для имитации ОЗУ удовлетворения требований к загрузочной памяти, когда значение параметра Startup Memory (память, выделяемая на момент запуска) превышает значение Minimum Memory. Например, вы можете выставить стартовую память на 2048 МБ и минимальную память на 512 МБ для конкретной виртуальной машины. В сценарии, когда на узле виртуализации было доступно 1024 МБ свободной памяти, интеллектуальная подкачка позволит виртуальной машине получить доступ к требуемым 2048 МБ памяти. Интеллектуальная подкачка активна только в том случае, если одновременно выполняются следующие три условия: Виртуальная машина перезагружается. На хосте виртуализации не хватает памяти для соответствия параметру Startup Memory. Память не может быть освобождена от других виртуальных машин, работающих на том же хосте. Smart paging не позволит виртуальной машине выполнять "холодный запуск", если необходимый объем памяти для запуска недоступен, но доступен минимальный объем памяти. Функционал используется только тогда, когда виртуальная машина, которая уже работала, перезагружается и выполняются два вышеуказанных условия. Расположение файла для каждой виртуальной машины можно изменять. По умолчанию они создаются в папке C:ProgramDataMicrosoftWindowsHyper-V. Файл интеллектуальной подкачки создается только при необходимости и удаляется в течение 10 минут после перезапуска виртуальной машины. Расположение файла можно изменить, используя графический интерфейс консоли Hyper-V или командлетом PowerShell, например: Set-VM "Windows 10" -SmartPagingFilePath D:SmartPaging
img
Команда sudo предназначена для того, чтобы пользователи могли запускать программы с привилегиями другого пользователя, по умолчанию - рутового пользователь. В этом руководстве мы покажем вам, как создать нового пользователя с привилегиями sudo в CentOS. Вы можете использовать пользователя sudo для выполнения административных задач на вашем компьютере с CentOS без необходимости входа в систему как пользователь root. Создание пользователя Sudo Чтобы создать пользователя sudo на вашем сервере CentOS, выполните следующие действия: 1. Войдите на свой сервер Начните с входа на сервер CentOS через ssh от имени пользователя root: ssh root@server_ip_address 2. Создайте новую учетную запись пользователя Создайте новую учетную запись пользователя с помощью команды useradd: useradd username Замените username на имя пользователя, которое вы хотите создать. 3. Установите пароль пользователя Запустите команду passwd, чтобы установить пароль для нового пользователя: passwd username Вам будет предложено подтвердить пароль. Убедитесь, что вы используете надежный пароль. Для выбора устойчивого пароля воспользуйтесь нашим генератором паролей. Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully. 4. Добавьте нового пользователя в группу sudo По умолчанию в системах CentOS членам группового колеса предоставляется доступ sudo. Добавьте нового пользователя в группу wheel: usermod -aG wheel username Группа wheel - это специальная группа пользователей, для управления доступом к команде su или sudo. Как использовать Sudo Переключитесь на вновь созданного пользователя: su - username Чтобы использовать sudo, просто добавьте к команде префикс sudo и пробел. sudo [COMMAND] Например, для просмотра содержимого каталога /root вы должны использовать: sudo ls -l /root При первом использовании sudo из этой учетной записи вы увидите следующее баннерное сообщение и вам будет предложено ввести пароль для учетной записи пользователя. We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for username: Итог Это все! Вы успешно создали пользователя sudo в своей системе CentOS. Теперь вы можете использовать этого пользователя для выполнения административных задач на вашем сервере. И помните: с большой силой приходит большая ответственность.
img
gRPC — это мощная платформа для работы с удаленными вызовами процедур (Remote Procedure Calls). RPC позволят писать код так, как будто он будет выполняться на локальном компьютере, даже если он может выполняться на другом компьютере. Что такое RPC? RPC — это форма взаимодействия клиент-сервер, в которой используется вызов функции, а не обычный вызов HTTP. Идея в том, что мы можем вызвать и выполнить функцию где-то на удаленной системе, как если бы это была локальная функция. Он использует IDL (Interface Definition Language - язык описания интерфейса) как форму контракта на вызываемые функции и тип данных. RPC — это протокол "запрос-ответ", т.е. он следует модели "клиент-сервер": Клиент делает запрос на выполнение процедуры на удаленном сервере. Как и при синхронном локальном вызове, клиент приостанавливается до тех пор, пока не будут возвращены результаты процедуры. Параметры процедуры передаются по сети на сторону сервера. Процедура выполняется на сервере и, наконец, результаты передаются обратно клиенту. gRPC воспроизводит этот архитектурный стиль взаимодействия клиент-сервер через вызовы функций. Таким образом, gRPC технически не является новой концепцией. Скорее, он был заимствован из этой старой техники и улучшен, что сделало ее очень популярной. Что такое gRPC? В 2015 году Google открыл исходный код своего проекта, который в конечном итоге получил название gRPC. Но что на самом деле означает буква «g» в gRPC? Многие люди могут предположить, что это для Google, потому что Google это сделал, но это не так. Google меняет значение «g» для каждой версии до такой степени, что они даже сделали README, чтобы перечислить все значения. С момента появления gRPC он приобрел довольно большую популярность, и многие компании используют его. Есть много причин, по которым gRPC так популярен: простая абстракция, он поддерживается во многих языках и он очень эффективный. И помимо всех вышеперечисленных причин, gRPC популярен потому, что очень популярны микросервисы и имеется большое количество взаимодействий между ними. Именно здесь gRPC помогает больше всего, предоставляя поддержку и возможности для решения типичных проблем, возникающих в таких ситуациях. А поскольку разные сервисы могут быть написаны на разных языках, gRPC поставляется с несколькими библиотеками для их поддержки. Архитектура gRPC Мы сказали что производительность gRPC очень высока, но что делает ее такой хорошей? Что делает gRPC намного лучше, чем RPC, если их дизайн очень похож? Вот несколько ключевых отличий, которые делают gRPC столь эффективным. HTTP/2 HTTP был с нами очень долго. Сейчас почти все серверные службы используют этот протокол. HTTP/1.1 долгое время оставался актуальным, затем в 2015 году, появился HTTP/2, который фактически заменил HTTP/1.1 как самый популярный транспортный протокол в Интернете. Если вы помните, что 2015 год был также годом выхода gRPC, и это было вовсе не совпадение. HTTP/2 также был создан Google для использования gRPC в его архитектуре. HTTP/2 — одна из важных причин, почему gRPC может работать так хорошо. И в следующем разделе вы поймете, почему. Мультиплексирование запроса/ответа В традиционном протоколе HTTP невозможно отправить несколько запросов или получить несколько ответов вместе в одном соединении. Для каждого из них необходимо создать новое соединение. Такой вид мультиплексирования запроса/ответа стал возможен в HTTP/2 благодаря введению нового уровня HTTP/2, называемого binary framing. Этот двоичный уровень инкапсулирует и кодирует данные. На этом уровне HTTP-запрос/ответ разбивается на кадры (они же фреймы). Фрейм заголовков (HEADERS frame) содержит типичную информацию заголовков HTTP, а фрейм данных (DATA frame) содержит полезные данные. Используя этот механизм, можно получить данные из нескольких запросов в одном соединении. Это позволяет получать полезные данные из нескольких запросов с одним и тем же заголовком, тем самым идентифицируя их как один запрос. Сжатие заголовка Вы могли столкнуться со многими случаями, когда заголовки HTTP даже больше, чем полезная нагрузка. И HTTP/2 имеет очень интересную стратегию под названием HPack для решения этой проблемы. Во-первых, все в HTTP/2 кодируется перед отправкой, включая заголовки. Это помогает повысить производительность, но это не самое важное в сжатии заголовков. HTTP/2 сопоставляет заголовок как на стороне клиента, так и на стороне сервера. Из этого HTTP/2 может узнать, содержит ли заголовок одно и то же значение, и отправляет значение заголовка только в том случае, если оно отличается от предыдущего заголовка. Как видно на картинке выше, запрос № 2 отправит только новый путь, так как другие значения точно такие же как и были. И да, это значительно сокращает размер полезной нагрузки и, в свою очередь, еще больше повышает производительность HTTP/2. Что такое Protocol Buffer (Protobuf)? Protobuf — это наиболее часто используемый IDL для gRPC. Здесь вы храните свои данные и функциональные контракты в виде так называемого прото-файла. По сути это протокол сериализации данных, такой как JSON или XML. Выглядит это так: message Person { required string name = 1; required int32 id = 2; optional string email = 3; } Так мы определили сообщение Person с полями name, id и email Поскольку это форма контракта то и клиент, и сервер должны иметь один и тот же прото-файл. Файл proto действует как промежуточный контракт для клиента, чтобы вызвать любые доступные функции с сервера. Protobuf также имеет собственные механизмы, в отличие от обычного REST API, который просто отправляет строки JSON в виде байтов. Эти механизмы позволяют значительно уменьшить полезную нагрузку и повысить производительность. Что еще может предложить gRPC? Метаданные Вместо обычного заголовка HTTP-запроса в gRPC есть то, что называется метаданными (Metadata). Метаданные — это тип данных «ключ-значение», которые можно установить как на стороне клиента, так и на стороне сервера. Заголовок может быть назначен со стороны клиента, в то время как серверы могут назначать заголовок и трейлеры, если они оба представлены в виде метаданных. Потоковая передача Потоковая передача (Streaming) — это одна из основных концепций gRPC, когда в одном запросе может выполняться несколько действий. Это стало возможным благодаря упомянутой ранее возможности мультиплексирования HTTP/2. Существует несколько видов потоковой передачи: Server Streaming RPC: когда клиент отправляет один запрос, а сервер может отправить несколько ответов. Например, когда клиент отправляет запрос на домашнюю страницу со списком из нескольких элементов, сервер может отправлять ответы по отдельности, позволяя клиенту использовать отложенную загрузку. Client Streaming RPC: когда клиент отправляет несколько запросов, а сервер отправляет обратно только один ответ. Например, zip/chunk, загруженный клиентом. Bidirectional Streaming RPC: клиент и сервер одновременно отправляют сообщения друг другу, не дожидаясь ответа. Перехватчики gRPC поддерживает использование перехватчиков для своего запроса/ответа. Они перехватывают сообщения и позволяют вам изменять их. Это звучит знакомо? Если вы работали с HTTP-процессами в REST API, перехватчики очень похожи на middleware (оно же промежуточное ПО). Библиотеки gRPC обычно поддерживают перехватчики и обеспечивают простую реализацию. Перехватчики обычно используются для: Изменения запроса/ответа перед передачей. Это можно использовать для предоставления обязательной информации перед отправкой на клиент/сервер. Позволяет вам манипулировать каждым вызовом функции, например, добавлять дополнительные логи для отслеживания времени отклика. Балансировки нагрузки Если вы еще не знакомы с балансировкой нагрузки, это механизм, который позволяет распределять клиентские запросы по нескольким серверам. Но балансировка нагрузки обычно делается на уровне прокси (например, nginx). Так причем это здесь? Дело в том, что gRPC поддерживает метод балансировки нагрузки клиентом. Он уже реализован в библиотеке Golang и может быть легко использован. Хотя это может показаться какой-то магией, это не так. Там есть что-то типа преобразователя DNS для получения списка IP-адресов и алгоритм балансировки нагрузки под капотом. Отмена вызова Клиенты gRPC могут отменить вызов gRPC, когда им больше не нужен ответ. Однако откат на стороне сервера невозможен. Эта функция особенно полезна для потоковой передачи на стороне сервера, когда может поступать несколько запросов к серверу. Библиотека gRPC оснащена шаблоном метода наблюдателя, чтобы узнать, отменен ли запрос, и позволить ей отменить несколько соответствующих запросов одновременно.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59