По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы рассказали про принципы работы протокола NAT (Network Address Translation) и теперь настало время рассмотреть его настройку на оборудовании Cisco. Настройка статического NAT (Static NAT) Напомним, что статический NAT представляет собой сопоставление внутреннего и внешнего адреса один к одному. Он позволяет внешним устройствам инициировать подключения к внутренним с использованием статически назначенного общего адреса. Например, внутренний веб-сервер может быть сопоставлен с определенным внутренним глобальным адресом, чтобы он был доступен из внешних сетей. На схеме показана внутренняя сеть, содержащая веб-сервер с частным адресом IPv4. Маршрутизатор сконфигурирован со статическим NAT, чтобы позволить устройствам из внешней сети обращаться к веб-серверу. Клиент из внешней сети обращается к веб-серверу с использованием общедоступного IPv4-адреса. Статический NAT переводит общедоступный IPv4-адрес в частный. При настройке статических трансляций NAT выполняются две основные задачи: Создание сопоставления между внутренним локальным (inside local) адресом и внутренними глобальными (inside global) адресами. Например, внутренний локальный адрес 192.168.1.5 и внутренний глобальный адрес 208.165.100.5 на схеме настроены как статическая NAT трансляция. После того как сопоставление настроено, интерфейсы, участвующие в трансляции должны быть настроены как внутренние (inside) и наружные (outside) относительно NAT. На схеме интерфейс маршрутизатора Serial 0/0/0 является внутренним, а Serial 0/1/0 – внешним. Пакеты, поступающие на внутренний интерфейс маршрутизатора Serial 0/0/0 из настроенного внутреннего локального адреса IPv4 (192.168.1.5), транслируются и затем перенаправляются во внешнюю сеть. Пакеты, поступающие на внешний интерфейс Serial 0/1/0, адресованные настроенному внутреннему глобальному адресу IPv4 (208.165.100.5), переводятся на внутренний локальный адрес (192.168.1.5) и затем перенаправляются внутрь сети. Настройка проходит в несколько шагов: Создать статическую трансляцию между внутренним локальным и внешним глобальным адресами. Для этого используем команду ip nat inside source static [локальный _IP глобальный_IP]. Чтобы удалить трансляцию нужно ввести команду no ip nat inside source static. Если нам нужно сделать трансляцию не адреса в адрес, а адреса в адрес интерфейса, то используется команда ip nat inside source static [локальный _IP тип_интерфейса номер_интерфейса]. Определим внутренний интерфейс. Сначала зайти в режим конфигурации интерфейса, используя команду interface[тип номер] и ввести команду ip nat inside Таким же образом определить внешний интерфейс, используя команду ip nat outside Пример: Router(config)# ip nat inside source static 192.168.1.5 208.165.100.5 Router(config)# interface serial0/0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)# interface serial0/1/0 Router(config-if)#ip nat outside В результате трансляции будут проходить так: Клиент хочет открыть соединение с веб-сервером. Клиент отправляет пакет на веб-сервер, используя общедоступный IPv4-адрес назначения 208.165.100.5. Это внутренний глобальный адрес веб-сервера. Первый пакет, который роутер получает от клиента на внешнем интерфейсе NAT, заставляет его проверять свою таблицу NAT. Адрес IPv4 адресата находится в таблице NAT он транслируется. Роутер заменяет внутренний глобальный адрес назначения 208.165.100.5 внутренним локальным 192.168.1.5 и пересылает пакет к веб-серверу. Веб-сервер получает пакет и отвечает клиенту, используя внутренний локальный адрес источника 192.168.1.5. Роутер получает пакет с веб-сервера на свой внутренний интерфейс NAT с адресом источника внутреннего локального адреса веб-сервера, 192.168.1.5. Он проверяет NAT таблицу для перевода внутреннего локального адреса во внутренний глобальный, меняет адрес источника с 192.168.1.5 на 208.165.100.5 и отправляет его из интерфейса Serial 0/1/0 в сторону клиента Клиент получает пакет, и обмен пакетами продолжается. Роутер выполняет предыдущие шаги для каждого пакета. Проверка статического NAT Полезной командой для проверки работы NAT является команда show ip nat translations. Эта команда показывает активные трансляции NAT. Статические переводы, в отличие от динамических переводов, всегда находятся в таблице NAT. Router#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 208.165.100.5 192.168.1.5 208.165.100.70 208.165.100.70 Другой полезной командой является команда show ip nat statistics. Она отображает информацию об общем количестве активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве адресов, которые были выделены. Router#show ip nat statistics Total active translations: 1 (1 static, 0 dynamic; 0 extended) Peak translations: 2, occurred 00:00:21 ago Outside interfaces: Serial0/1/0 Inside interfaces: Serial0/0/0 Hits:7 Misses:0 Чтобы убедиться, что трансляция NAT работает, лучше всего очистить статистику из любых прошлых переводов, используя команду clear ip nat statistics перед тестированием. Настройка динамического NAT (Dynamic NAT) В то время пока статический NAT постоянное сопоставление между внутренним локальным и внутренним глобальным адресом, динамический NAT позволяет автоматически сопоставлять внутренние локальные и глобальные адреса (которые обычно являются публичными IP-адресами). Динамический NAT использует группу или пул публичных адресов IPv4 для перевода. Динамический NAT, как и статический NAT, требует настройки внутреннего и внешнего интерфейсов, участвующих в NAT. Рассмотрим на примере этой схемы. Мы тут имеем внутреннюю сеть с двумя подсетями 192.168.1.0/24 и 192.168.2.0/24 и пограничным маршрутизатором, на котором настроен динамический NAT с пулом публичных адресов 208.165.100.5 - 208.165.100.15. Пул публичных адресов (inside global address pool) доступен для любого устройства во внутренней сети по принципу «первым пришел – первым обслужили». С динамическим NAT один внутренний адрес преобразуется в один внешний адрес. При таком типе перевода должно быть достаточно адресов в пуле для одновременного предоставления для всех внутренних устройств, которым необходим доступ к внешней сети. Если все адреса в пуле были использованы, то устройство должно ждать доступного адреса, прежде чем оно сможет получить доступ к внешней сети. Рассмотрим настойку по шагам: Определить пул которые будут использоваться для перевода, используя команду ip nat pool [имя начальный_ip конечный_ip]. Этот пул адресов обычно представляет собой группу публичных общедоступных адресов. Адреса определяются указанием начального IP-адреса и конечного IP-адреса пула. Ключевые слова netmask или prefix-length указывают маску. Нужно настроить стандартный access-list (ACL), чтобы определить только те адреса, которые будут транслироваться. Введем команду access-list [номер_ACL] permit source [wildcard_маска]. Про стандартные access-list’ы можно прочитать в этой статье (а про расширенные в этой). ACL который разрешает очень много адресов может привести к непредсказуемым результатам, поэтому в конце листа есть команда deny all. Необходимо привязать ACL к пулу, и для этого используется команду ip nat inside source list [номер_ACL] number pool [название_пула]. Эта конфигурация используется маршрутизатором для определения того, какие устройства (список) получают адреса (пул). Определить, какие интерфейсы находятся внутри, по отношению к NAT, то есть любой интерфейс, который подключен к внутренней сети. Определить, какие интерфейсы находятся снаружи, по отношению к NAT, то есть любой интерфейс, который подключен к внешней сети. Пример: Router(config)# ip nat pool MerionNetworksPool 208.165.100.5 208.165.100.15 netmask 255.255.255.0 Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255 Router(config)#ip nat inside source list 1 pool MerionNetworksPool Router(config)# interface serial0/0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)# interface serial0/1/0 Router(config-if)#ip nat outside Как это будет работать на нашей схеме: Компьютеры с адресами 192.168.1.10 и 192.168.2.10 отправляют пакеты в сторону сервера по публичному адресу 208.165.100.70 Маршрутизатор принимает первый пакет от хоста 192.168.1.10. Поскольку этот пакет был получен на интерфейсе, сконфигурированном как внутренний интерфейс NAT, маршрутизатор проверяет конфигурацию NAT, чтобы определить, должен ли этот пакет быть транслирован. ACL разрешает этот пакет, и роутер проверяет свою таблицу NAT. Поскольку для этого IP-адреса нет записи трансляции, роутер определяет, что исходный адрес 192.168.1.10 должен быть переведен динамически. R2 выбирает доступный глобальный адрес из пула динамических адресов и создает запись перевода, 208.165.200.5. Исходный IPv4-адрес источника (192.168.1.10) является внутренним локальным адресом, а переведенный адрес является внутренним глобальным адресом (208.165.200.5) в таблице NAT. Для второго хоста 192.168.2.10 маршрутизатор повторяет эту процедуру, выбирая следующий доступный глобальный адрес из пула динамических адресов, создает вторую запись перевода - 208.165.200.6. После замены внутреннего локального адреса источника в пакетах маршрутизатор перенаправляет пакет. Сервер получает пакет от первого ПК и отвечает, используя адрес назначения 208.165.200.5. Когда сервер получает пакет от второго ПК, то в ответе в адресе назначения будет стоять 208.165.200.6. Когда роутер получает с адресом назначения 208.165.200.5, то он выполняет поиск в таблице NAT и переводит адрес назначения во внутренний локальный адрес 192.168.1.10 и направляет в сторону ПК. То же самое происходит с пакетом, направленным ко второму ПК. Оба ПК получают пакеты, и обмен пакетами продолжается. Для каждого следующего пакета выполняются предыдущие шаги. Проверка динамического NAT Для проверки также используется команда show ip nat отображает все статические переводы, которые были настроены, и любые динамические переводы, которые были созданы трафиком. Добавление ключевого слова verbose отображает дополнительную информацию о каждом переводе, включая то, как давно запись была создана и использовалась. По умолчанию данные о переводах истекают через 24 часа, если таймеры не были переконфигурированы с помощью команды ip nat translation timeout [время_в_секундах] в режиме глобальной конфигурации. Чтобы очистить динамические записи до истечения времени ожидания, можно использовать команду clear ip nat translation. Полезно очищать динамические записи при тестировании конфигурации NAT. Эту команду можно использовать с ключевыми словами и переменными, чтобы контролировать, какие записи очищаются. Конкретные записи можно очистить, чтобы не прерывать активные сеансы. Только динамические переводы удаляются из таблицы. Статические переводы не могут быть удалены из таблицы. Также можно использовать команду show ip nat statistics которая отображает информацию об общем количестве активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве переведенных адресов. Поскольку у нас здесь используются листы контроля доступа ACL, то для их проверки можно использовать команду show access-lists. Настройка Port Address Translation (PAT) PAT (также называемый NAT overload) сохраняет адреса во внутреннем глобальном пуле адресов, позволяя маршрутизатору использовать один внутренний глобальный адрес для многих внутренних локальных адресов. Другими словами, один открытый IPv4-адрес может использоваться для сотен и даже тысяч внутренних частных IPv4-адресов. Когда несколько внутренних локальных адресов сопоставляются с одним внутренним глобальным адресом, номера портов TCP или UDP каждого внутреннего узла различают локальные адреса. Общее количество внутренних адресов, которые могут быть переведены на один внешний адрес, теоретически может составлять 65 536 на каждый IP-адрес. Однако на практике число внутренних адресов, которым может быть назначен один IP-адрес, составляет около 4000. Существует два способа настройки PAT, в зависимости от того, как провайдер выделяет общедоступные IPv4-адреса. В первом случае интернет-провайдер выделяет более одного публичного IPv4-адреса организации, а в другом он выделяет один общедоступный IPv4-адрес, который требуется для организации для подключения к интернет-провайдеру. Настройка PAT для пула публичных IP-адресов Если нам доступно более одного общедоступного IPv4-адреса, то эти адреса могут быть частью пула, который используется PAT. Это похоже на динамический NAT, за исключением того, что в этом случае недостаточно общих адресов для взаимного сопоставления внутренних адресов. Небольшой пул адресов распределяется между большим количеством устройств. Основное различие между этой конфигурацией и конфигурацией для динамического NAT, заключается в том, что используется ключевое слово overload, которое включает PAT. Рассмотрим настойку PAT для пула адресов по шагам: Определить пул адресов глобальных адресов, которые будут использоваться для PAT трансляции, используя команду ip nat pool [имя начальный_ip конечный_ip] netmask [маска] | prefix-length [длина_префикса]. Создать стандартный access-list, разрешающий адреса, которые должны быть переведены. Используется команда access-list [номер_ACL] permit source [wildcard_маска]. Включим PAT, используя волшебное слово Overload. Вводим команду ip nat inside source list [номер_ACL] number pool [название_пула] overload. Определяем, какие интерфейсы находятся внутри, по отношению к NAT, а какие снаружи. Используем команду ip nat inside и ip nat outside Пример настройки для схемы, что использовалась ранее, только теперь мы будем использовать PAT: Router(config)# ip nat pool MerionNetworksPool2 208.165.100.5 208.165.100.15 netmask 255.255.255.0 Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255 Router(config)#ip nat inside source list 1 pool MerionNetworksPool2 overload Router(config)# interface serial0/0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)# interface serial0/1/0 Router(config-if)#ip nat outside Настройка PAT для одного публичного IPv4-адреса На схеме показана топология реализации PAT для трансляции одного IP публичного адреса. В этом примере все хосты из сети 192.168.0.0/16 (соответствующие ACL), которые отправляют трафик через маршрутизатор, будут переведены на адрес IPv4 208.165.99.225 (адрес IPv4 интерфейса S0 /1/0). Трафик будет идентифицироваться по номерам портов в таблице NAT. Настройка: Создать лист access-list разрешающий адреса, которые нужно транслировать – access-list [номер_ACL] permit source [wildcard_маска]. Настроить преобразование адреса источника в адрес интерфейса, через команду ip nat inside source list [номер_ACL] interface [тип номер] overload Определить внешние и внутренние интерфейсы через команды ip nat inside и ip nat outside. Конфигурация похожа на динамический NAT, за исключением того, что вместо пула адресов мы используем адрес интерфейса с вешним IP адресом. NAT пул не определяется. Пример: Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255 Router(config)# ip nat source list 1 interface serial0/1/0 overload Router(config)# interface serial0/0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)# interface serial0/1/0 Router(config-if)#ip nat outside Процесс PAT не изменятся при использовании одного адреса, или пула адресов. Рассмотрим процесс PAT по шагам: На схеме два разных ПК связываются с двумя разными веб-серверами. Первый ПК имеет адрес источника 192.168.1.10 и использует TCP порт 1444, а второй ПК имеет адрес источника 192.168.2.10 и по совпадению использует то же TCP порт 1444 Пакет с первого ПК сначала достигает роутера и он, используя PAT, изменяет исходный IPv4-адрес на 208.165.99.225 (inside global address). В таблице NAT нет других устройств с портом 1444, поэтому PAT использует тот же номер порта и пакет отправляется в направлении сервера по 208.165.101.20. Далее пакет со второго компьютера поступает в маршрутизатор, где PAT настроен на использование одного глобального IPv4-адреса для всех переводов - 208.165.99.225. Подобно процессу перевода для первого ПК, PAT изменяет исходящий адрес второго ПК на внутренний глобальный адрес 208.165.99.225. Однако второй ПК имеет тот же номер порта источника, что и текущая запись PAT первого ПК, поэтому PAT увеличивает номер порта источника до тех пор, пока он не станет уникальным в своей таблице. В этом случае запись исходного порта в таблице NAT и пакет для второго ПК получает 1445 порт. Хотя оба ПК используют один и тот же внутренний глобальный адрес 208.165.99.225 и тот же номер порта источника – 1444, измененный номер порта для второго ПК (1445) делает каждую запись в таблице NAT уникальной. Это станет очевидным при отправке пакетов с серверов обратно клиентам. Сервера отвечают на запросы от компьютеров, и используют исходный порт из принятого пакета в качестве порта назначения и исходный адрес как адрес назначения. Может казаться, что они общаются одним и тем же хостом по адресу 208.165.99.225, однако, это не так – они имеют разные порты. Когда пакеты возвращаются на роутер, он находит уникальную запись в своей таблице NAT с использованием адреса назначения и порта назначения каждого пакета. В случае пакета от первого сервера адрес назначения 208.165.99.255 имеет несколько записей, но только одну с портом назначения 1444. Используя эту запись в своей таблице, роутер изменяет адрес IPv4 адресата пакета на 192.168.1.10, не меняя порт назначения. Затем пакет перенаправляется на первый ПК Когда пакет от второго сервера прилетает на маршрутизатор, он выполняет аналогичный перевод. Адрес IPv4 назначения 208.165.99.225 имеет несколько записей, однако используя порт назначения 1445, роутер может однозначно идентифицировать запись трансляции. Адрес IPv4 назначения будет изменен на 192.168.2.10 и в этом случае порт назначения также должен быть изменен до исходного значения 1444, которое хранится в таблице NAT. После этого пакет высылается на второй ПК Проверка Port Address Translation (PAT) Для проверки PAT используются такие же команды, что и для обычного NAT. Команда show ip nat translations отображает переводы IP адресов вместе с портами и команда show ip nat statistics показывает информацию о количестве и типе активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве выделенных адресов. Router#show ip nat statistics Total active translations: 2 (0 static, 2 dynamic; 2 extended) Peak translations: 2, occurred 00:00:07 ago Outside interfaces: Serial0/1/0 Inside interfaces: Serial0/0/0 Hits:4 Misses:0 CEF Translated packets: 4, CEF Punted packets:0 Expired translations: 0 Dynamic mappings: -- Inside Source [Id: 3] access-list 1 pool MerionNetworksPool2 refcount 2 pool MerionNetworksPool2: netmask 255.255.255.0 start 208.165.100.5 end 208.165.100.15 type generic, total addressers 10, allocated 1(10%), misses 0 Total doors: 0 Appl doors: 0 Normal doors: 0 Queued Packets: 0 Также для поиска проблем можно использовать дебаг, который запускается командой debug ip nat, который отображает информацию о каждом пакете, который транслируется маршрутизатором. Также можно использовать команду debug ip nat detailed, которая генерирует описание каждого пакета. Эта команда также предоставляет информацию о различных ошибках, например, таких как неспособность выделить глобальный адрес. Однако эта команда более требовательна к ресурсам устройства. Router#debug ip nat IP NAT debugging is on Router# *Aug 24 16:20:331:670: NAT*: s=192.168.1.10->208.165.99.225 d=208.165.101.20 [3730] *Aug 24 16:20:331:682: NAT*: s=208.165.101.20 d=208.165.99.225 ->192.168.1.10 [4156] *Aug 24 16:20:331:698: NAT*: s=192.168.1.10->208.165.99.225 d=208.165.101.20 [3731] *Aug 24 16:20:331:702: NAT*: s=192.168.1.10->208.165.99.225 d=208.165.101.20 [3732] *Aug 24 16:20:331:710: NAT*: s=208.165.101.20 d=208.165.99.225 ->192.168.1.10 [4157] В выводе используются следующие символы и значения: * (звездочка) – звездочка с NAT указывает, что перевод происходит по пути с быстрым переключением (fast-switched path). Первый пакет в разговоре всегда медленнее, остальные пакеты проходят путь с быстрым переключением. s= - IP адрес источника a.b.c.d ? w.x.y.z - это значение указывает, что адрес источника a.b.c.d переводится на w.x.y.z. d= - IP адрес назначения [xxxx] - значение в скобках - это идентификационный номер IP.
img
Вот вы пользователь Linux машины. И вот вам захотелось запустить какую-нибудь команду только на определенное время, и вы задаете вопрос - как это сделать? А вот как - использовать команду timeout. Как взять timeout - об использовании команды Базовый синтаксис Как и следовало ожидать, синтакс у команды экстремально прост: сама команда timeout - опции - длительность выполнения (можно даже с единицами измерения) - целевая команда Единицы измерения для указания длительности: s - секунды (­стоит по умолчанию) m - минуты h - часы d - дни Если вы не укажете никакого параметра по длительности, команда не будет активирована. Примеры команд: timeout 5 ping 1.1.1.1 - пингуем 1.1.1.1 5 секунд timeout 5m ping 1.1.1.1 - пингуем 1.1.1 5 минут timeout 5.5h ping 1.1.1.1 - 5,5 часов пингуем 1.1.1 Если у вас есть необходимость, можно запустить команду с добавкой sudo (если для целевой команды требуются права суперпользователя): sudo timeout 100 tcpdump -n -w dump.pcap Сообщение с космосом или отправка определенного сигнала исполняемому процессу Если вы не указали какой-то особый сигнал, по умолчанию передается SIGTERM (сигнал о том, что надо бы мягко терминировать процесс). Однако, если вы укажете ключ -s после команды timeout, вы можете указать любой другой допустимый сигнал. К примеру: sudo timeout -s SIGKILL ping 1.1.1.1 или sudo timeout -s 9 ping 1.1.1.1 Обе команды выше идентичны, и если вы хотите увидеть весь список сигналов, просто введите kill -l Как убить процесс, если он завис Как вы уже поняли, SIGTERM - это сигнал, который отправляется после истечения таймаута, но он легко может быть проигнорирован процессом, и тогда процесс не остановится. Для уверенности в смерти процесса, нужно использовать ключ -k и некое временное значение. Тогда после окончания таймаута будет отправляться сигнал SIGKILL, который процесс не сможет проигнорировать при всем желании. В примере ниже команда выполняется одну минуту, и, если в течение 10 секунд после окончания таймаута она не "умирает", отправляется сигнал SIGKILL и "добивает" процесс: sudo timeout -k 10 1m ping 1.1.1.1 Сохраняем статус Команда timeout всегда возвращает значение 124 после истечения указанного времени или возвращает статус "exit" управляемой команды (той, что вы вводите после команды timeout). Таким образом, вы можете использовать ключ --preserve-status: timeout --preserve-status 10 ping 1.1.1.1 Запуск команды явно, а не за кулисами По умолчанию, timout работает в бэкграунде, и если вы хотите обратного (вдруг после запуска управляемой команды потребуется какой-нибудь пользовательский ввод), нужно использовать ключ -foreground: timeout --foreground 10m ./bestscripteva.sh Заключение В 99% процентов случаев команда timeout требует всего двух аргументов и ни одного факта: времени исполнения и самой исполняемой команды. Однако, вы теперь знаете и другие фишки использования этой замечательной команды.
img
Скорее всего, вы выбрали VMware vSphere в качестве решения для виртуализации из-за его репутации надежного и производительного продукта; однако без должного внимания и оптимизации вы не сможете полностью использовать возможности платформы. Существует множество оптимизаций, которые можно сделать, чтобы ваша установка vSphere работала на оптимальном уровне. В этой статье рассматриваются 30 советов и рекомендаций, которые обеспечат наилучшую производительность VMware vSphere, а некоторые даже применимы к другим продуктам виртуализации. 30 полезных лайфхаков в VMware для админа Используйте только совместимое с VMware оборудование У VMware существует список совместимого оборудования для каждой версии платформы vSphere. Перед покупкой или эксплуатацией оборудования необходимо удостовериться, что все компоненты совместимы и поддерживаются. Также нужно проверить соответствие оборудования минимальным требованиям для правильной установки и эксплуатации. Старайтесь использовать новейшее оборудование с аппаратной виртуализацией Последние процессоры AMD и Intel поддерживают функции оборудования по содействию виртуализации VMware. Эти функции бывают двух видов: процессорная виртуализация и виртуализация управления памятью. Проведите стресс-тест или проверку оборудования перед вводом в эксплуатацию Собирая или покупая новую систему полезно провести глубокий стресс-тест или проверку системы. Существует множество программ для этого и многие из них доступны для загрузки с CD-диска для запуска системы в любом состоянии. Это поможет найти неисправные компоненты и обеспечит надёжность платформы во время работы. Выберите подходящее приложению внутреннее хранилище Существует множество различных систем внутренних хранилищ и выбор может обеспечить огромное влияние на производительность вашей системы. Дисковый ввод/вывод является одним из главных препятствий в сфере компьютерного оборудования и имеет один из самых низких показателей роста. Выбор устройства внутреннего хранилища и его конфигурация зависит от типа используемого приложения. Например, продукты SATA сами по себе не могут обеспечить высокую скорость записи на диск больших объёмов данных в научном оборудовании. При необходимости высокой скорости или большого объёма хранилища стоит посмотреть на более надёжные и эффективные носители информации, такие как iSCSI или NFS. Для корректной работы ваше хранилище должно поддерживать требуемый объём данных или скорость чтения/записи для ваших приложений, в том числе требования для работы операционной системы хоста и самой платформы vSphere. Используйте сетевые карты серверного сегмента Не все сетевые карты одинаковы; встроенные адаптеры больше подходят для нужд рядовых пользователей. Для корпоративных серверов стоит использовать серверные NIC (сетевые карты), поддерживающие контрольные суммы разгрузки, сегментной разгрузки TCP, обработку 64-битных DMA адресов, способность рассеивать и собирать элементы, встречающиеся множество раз в одном кадре и Jumbo-кадре. Эти функции позволяют vSphere использовать встроенную продвинутую поддержку сети. Оптимизируйте настройки BIOS серверов Производители материнских плат поставляют свои продукты с BIOS для работы с различными конфигурациями, поэтому они не способны оптимизировать материнскую плату для работы с конкретно вашей конфигурацией. Следует постоянно обновлять BIOS до последней версии и включать используемую vSphere аппаратную поддержку, например, Hyperthreading, “Turbo Mode”, VT-x, AMD-V, EPT, RVI и другие. Также следует отключить энергосбережение, чтобы исключить негативное влияние на производительность сервера. Обеспечить виртуальные среды только требуемыми ресурсами Это может показаться нелогичным, но наличие лишних ресурсов для виртуальных машин в системах виртуализации накладывает ограничения на их производительность. Так, VMware хорошо справляется с системами, перегруженными количеством виртуальных машин, и хуже с машинами с избыточным количеством ресурсов. При запуске системы используйте рекомендуемые настройки или настройки по умолчанию для памяти, хранилищ и остального, далее изменяйте их лишь при необходимости. Консоль управления сообщит о проблемах с ресурсами, и вы сможете реагировать на предупреждения при необходимости. Отключайте неиспользуемое и ненужное виртуальное или физическое оборудование от VM Отключая устройства, вы освобождаете ресурсы прерывания. Также повышается производительность после отключения устройств, потребляющих дополнительные ресурсы из-за запросов, такие как USB адаптеры и PCI устройства, которые резервируют блоки памяти под свои операции. Используя гостевой режим Windows, убедитесь, что оптические приводы отключены, потому что Windows постоянно запрашивает их, что может вызвать проблемы, особенно при множестве гостей (гостевых ОС), работающих одновременно. Следите за потреблением CPU в среде хоста Постоянно следите с помощью консоли за потреблением CPU всей системой виртуализации, это позволит заметить перегрузку системы. В этом случае вы можете переместить VM другому хосту в вашей системе, перенести ресурсы на менее загруженный хост или выключить неиспользуемую или ненужную VM. Основное правило использования VMware гласит: если средняя загрузка системы равна количеству физических процессоров в системе, то вы выделяете лишние ресурсы, а на вашем сервере находится слишком много гостей. Ограничьте использование виртуальных процессоров (CPU) приложениями Если вы используете однопоточные или приложения плохо спроектированные для многопоточной работы и параллелизма, то использование виртуальных процессоров (CPU) бесполезно. Неиспользуемые виртуальные процессоры (CPU) продолжают использовать ресурсы даже когда не используются системой. Включите Hyper-Threading, если он поддерживается оборудованием Hyper-Threading это технология, разработанная для обеспечения непрерывного потока инструкций, подаваемых на процессор. Множество процессоров позволяет множеству инструкций быть обработанным одновременно, а HT уменьшает время простоя процессора и предоставляет больший объём работы на каждый такт. Не существует определённого быстрого правила для повышения производительности, используя HT, но это может увеличивать производительность некоторых приложений более чем в два раза. Обеспечьте хосту объём памяти, необходимый для работы с гостями и консолью Чтобы выбрать количество физической памяти для хоста системы и количества гостей, необходимо посчитать общее количество памяти, необходимой каждой VM. Также нужно добавить память в буффер для расхода самой VM и потребления vSphere. Чтобы исключить ошибку с нехваткой памяти, следует добавить чуть больше физической памяти, чем этого требуется. Выбирайте подходящие приложениям файловые системы и типы виртуальных дисков Типы виртуальных дисков и файловых систем предлагают различные профили производительности, поэтому стоит выбирать на основе потребностей ввода/вывода отдельных ваших приложений. Для приложения, которое постоянно записывает данные на диск, лучшим выбором будет оптимизированная под запись файловая система и соответствующий виртуальный диск. Минимизируйте потребление приложениями, постоянно открывающими и закрывающими файлы, или создайте расписание для снижения нагрузки от ввода/вывода на диск Чтение и запись являются наиболее дорогими операциями в вычислениях. Для наиболее эффективного использования ресурсов следует распределить отложенные задачи и сложные операции ввода/вывода на периоды низкой загруженности системы и сети. Осуществление программного ввода/вывода во время пиковых нагрузок влечёт за собой многочисленные и серьёзные падения производительности. Распределите операции ввода/вывода между адаптерами и путями хранилищ При наличии множества адаптеров хранилищ или путей хранилищ (в одной сети) следует распределять нагрузку между ними во избежание перегрузки слоя ввода/вывода. Ввод/вывод является одной из наиболее важных частей системы и влияет на производительность. Поскольку устройства и контроллеры хранилищ неидеальны и последними пользуются достижениями технологий, то следует использовать все возможные пути для повышения производительности. Объединения сетевых интерфейсных карт повышают отказоустойчивость Объединённые сетевые интерфейсные карты позволяют сетевым адаптерам работать сообща, что обеспечивает более стабильное соединение и лучшую отказоустойчивость. При отказе сетевого интерфейса или возникновении проблемы другие соединённые сетевые интерфейсы автоматически устранят дыру в системе и обеспечат плавное возвращение к нормальной работе. Группируйте системы, взаимодействующие друг с другом на одном свитче Размещая системы, взаимодействующие друг с другом на постоянной основе, вы избежите возникновение перегрузок в системе. Если же системы находятся на разных виртуальных свитчах, то для взаимодействия друг с другом трафик должен выйти из системы, покинуть текущий свитч и потом пройти по сети, чтобы достигнуть другой системы. Используйте только те гостевые операционные системы, которые поддерживаются vSphere VMware оптимизирует свои хост платформы для работы с определёнными операционными системами и использование несертифицированных операционных систем может повлечь проблемы с поддержкой и производительностью в рабочей среде. Установите и используйте новейшие версии VMware Tools на каждой гостевой оперативной системе VMware Tools обновляет драйвера и добавляет улучшения, отсутствующие на стоковых драйверах гостевых операционных систем. Важно обновлять программное обеспечение хоста при каждом обновлении VMware Tools. Отключите ненужные графические компоненты в гостевой операционной системе (заставки, X.Org, анимации и прочее) Дополнительные компоненты, особенно графические, лишь пожирают ресурсы и зачастую не приносят пользы в серверной среде, а иногда создают уязвимости в защите системы. При отсутствии необходимости использования на сервере графических приложений рекомендуется отключать заставки, оконные системы, оконные анимации и прочее. Используйте NTP для учёта гостевого времени Это не самый важный совет по производительности, но использование временного сетевого протокола (NTP) обеспечивает надёжное ведение системных журналов и поможет при возникновении проблем с безопасностью и производительностью. Убедитесь, что гостевые разделы выравнены Большинство дисковых файловых систем теряют производительность, если дисковые разделы не выравнены. Процедура выравнивания различается от производителя к производителю. Используйте VMXNET3 в виртуальных сетевых адаптерах на гостях, которые это поддерживают VMXNET3 снижает затраты на передачу траффика между виртуальной машиной и физической сетью. Они известны как паравиртуализированные сетевые адаптеры и могут обеспечить значительное повышение производительности для большей части рабочих нагрузок. Группируйте виртуальные машины в пул ресурсов тогда, когда это применимо Группируя виртуальные машины в один логический набор, вы можете повысить приоритет на выделение ресурсов группам, а не отдельным машинам. Это также позволит гостям в группе совместно использовать ресурсы и поможет сбалансировать нагрузку. Отключайте пользователей vSphere от vCenter, если они больше не нужны Множество подключённых к VMware vCenter пользователей понижает производительность, что можно увидеть на консоли. В любом случае, vSphere продолжит работу даже при превышении количества рекомендованных/поддерживаемых пользователей, но со значительным падением производительности. Группируйте схожие виртуальные машины при использовании VMware Distributed Resource Scheduler (для распределения ресурсов CPU и памяти) Группировка машин со схожими конфигурациями процессоров (CPU) и памяти позволит определять машины как одно целое и это облегчит работу vSphere по поддержанию стабильной работы. Отключайте неиспользуемые виртуальные машины Даже неиспользуемые виртуальные машины потребляют ресурсы. Это не обеспечит огромный прирост производительности, но окажет своё влияние. Вы всегда можете перезапустить гостя, когда появится необходимость в системе. Используйте поддерживающие wake-on-LAN хосты для облегчения контроля питанием Если ваши сетевые адаптеры поддерживают wake-on-LAN, то рассмотрите возможность использования этой функции, она позволит vSphere помогать в управлении питанием. Включайте Fault Tolerance, только если вы собираетесь использовать эту функцию Выключите Fault Tolerance, функцию vSphere направленную на работу с гостями, если не будете использовать её, так как для работы она требует значительное количество памяти, потребление процессора (CPU) и операций ввода/вывода на диске. Используйте хотя бы гигабитную сетевую инфраструктуру Сейчас сетевое оборудование и кабели к нему стоят дёшево, поэтому нет смысла в использовании сетевых инфраструктур с пропускной способностью ниже гигабита. Если вы можете позволить это или испытываете особую потребность в этом, то вы можете предпочесть более высокоскоростные волоконно-оптические технологии передачи и носителей данных, чтобы обеспечить быструю и надёжную работу с возможностью для роста и потенциала. Заключение Все эти советы являются лишь верхушкой айсберга. Я настоятельно рекомендую изучить советы по вашим потребностям, прочитав официальную документацию VMware. Также заглядывайте в наш раздел по виртуализации, там много полезных материалов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59