Моделирование проблем сети для проверки репликации SQL Server

Tags: SQL Server, VM

Репликация SQL Server хорошо работает в сетях с низкой пропускной способностью. Когда действующие сети имеют высокую задержку или ограниченную пропускную способность, могут возникнуть проблемы. Такие условия можно эмулировать с помощью аппаратных или программных инструментов. Вы можете быстро настроить тестовую среду для эмуляции высокой латентности и ограниченной пропускной способности с помощью бесплатного программного обеспечения с открытым исходным кодом. WANem (эмулятор глобальной сети) - это инструмент с открытым исходным кодом, доступный на SourceForge. В этом руководстве показано, как настроить WANem для работы в изолированной среде Hyper-V. Нам не удалось настроить WANem 3.0 на виртуальной машине Hyper-V, поэтому WANem 2.3 включен. Этот подход был очень успешным в выявлении проблем репликации в условиях, очень похожих на условия мировой сети для глобальной компании. Предполагается, что вы знакомы с Hyper-V, подключением к удаленному рабочему столу и базовыми сетевыми интерфейсами.

WANem - это iso-образ компакт-диска Knoppix, упакованного в tar-файл, который упакован в файл bz2. Вам понадобится какой-то инструмент, чтобы извлечь файл tar, а затем извлечь файл iso. Мы рекомендуем бесплатный инструмент 7-Zip. Если вы поищете, вы можете найти переносную версию 7-Zip.

Рисунок 1. Топология сети Hyper-V.

Внутренняя сеть и устаревшие сетевые адаптеры

В крупных корпорациях наличие такого устройства, как WANem в корпоративной сети, может нарушать корпоративные политики безопасности. Вот почему этот пример имеет сеть, совместно используемую WANem и серверами SQL во внутренней сети Hyper-V. Серверы SQL первоначально находились в сети, когда они строились. После их настройки они переключились с внешней сети Hyper-V на внутреннюю сеть Hyper-V, используемую WANem.

Создание виртуального коммутатора

Поскольку моя цель состояла в том, чтобы полностью отключить виртуальные машины от корпоративной сети, понадобился внутренний виртуальный коммутатор. Мы назвали его WANem Internal Network.

Рисунок 2. Создайте виртуальный коммутатор только для внутреннего использования, чтобы отключить тестовую среду от корпоративной сети.

Один внутренний виртуальный коммутатор достаточен для создания рабочей среды.

Создание и настройка серверов Hyper-V SQL

Построение двух виртуальных машин для двух SQL-серверов осуществить несложно Постройте их как виртуальные машины поколения 2 для лучшей производительности. Во время процесса сборки вы можете подключить их к внешнему виртуальному коммутатору, чтобы получить последнюю версию SQL Server Management Studio (SSMS). После того, как машины полностью построены, замените внешний переключатель на аналогичный внутренний, который будет использовать ваша виртуальная машина WANem.

Поместив серверы SQL во внутреннюю сеть Hyper-V, настройте статический IP-адрес для каждого machine.t.

Рисунок 3. Установите статические IP-адреса для виртуальных серверов SQL.

Перед продолжением проверьте подключение виртуальных машин друг к другу.

Рисунок 4. Тестирование сетевого подключения.

 

Рисунок 5. Тестирование сетевого подключения в другом направлении.

Внутренняя сеть и устаревшие сетевые адаптеры

При создании виртуальной машины Hyper-V для запуска WANem на Knoppix вы должны создать виртуальную машину первого поколения, потому что эта сборка Knoppix несовместима с сетевыми адаптерами Hyper-V, о чем свидетельствует следующий скриншот. Только виртуальные машины первого поколения поддерживают Legacy Network Adapters.

Рисунок 6. Сетевой адаптер Hyper-V, несовместимый с Live CD от WANem.

Настройка WANem Live CD 

Когда сетевой адаптер Hyper-V заменяется устаревшим сетевым адаптером, ОС Knoppix может обнаружить и использовать его. Мы рекомендуем использовать статические IP-адреса для серверов репликации WANem и SQL Server. Вы можете использовать DHCP, но, как вы увидите, это может быть не то, что вы действительно хотите сделать при настройке тестовой среды. Ответьте n для отказа при ответе на вопрос DHCP. Вы обнаружите, что ваша виртуальная машина Knoppix захватит вашу мышь. Используйте стандарт Hyper-V CTRL + ALT + LEFT ARROW для освобождения мыши.

Рисунок 7. Ответьте n для "нет", чтобы вы могли назначить статический IP-адрес.

Введите статический IP-адрес виртуальной машины WANem. В этом примере IP-адрес виртуальной машины WANem установлен в 99.99.99.99. После того, как вы закончите, выберите y для сохранения, а затем - s для сохранения и выхода.

Рисунок 8. Укажите IP-адрес и маску.

После установки IP-адреса вы можете ввести status для подтверждения настроек сетевого адаптера.

Рисунок 9. Использование команды status в WANem.

После просмотра настроек сети нажмите любую клавишу, чтобы продолжить.

Рисунок 10. Нажмите любую клавишу, чтобы перейти к следующему экрану.

Обратите внимание, что вам будет предложено дополнительно проверить подключение к любому компьютеру в вашей виртуальной сети.

Рисунок 11. Проверка подключения к одной из виртуальных машин SQL Server.

Запустите команду status второй раз, чтобы проверить подключение от WANem к другой виртуальной машине SQL Server.

Рисунок 12. Проверка подключения к другой виртуальной машине SQL Server.

Проверьте подключение каждого из SQL-серверов к WANem.

Рисунок 13. Проверка подключения SQL Server к WANem.

Доступ WANem из любой виртуальной машины SQL Server с помощью чувствительного к регистру URL-адреса, который включает IP-адрес WANem. В этом примере URL-адрес: http://99.99.99.99/WANem. Внутри виртуальных машин SQL Server мы установили стартовую страницу браузера на домашнюю страницу WANem. Создайте задержку в 1000 мс и переустановите подключение SQL Server к SQL Server.

Рисунок 14. Создайте задержку в 1 секунду.

Теперь, когда все три машины подключены и настроены, проверьте соединение между двумя SQL-серверами.

Рисунок 15. Задержка, указанная в WANem, не появляется в машине для машинного тестирования перед добавлением маршрутов.

Обратите внимание, что никаких задержек не существует. Это связано с тем, что нет ничего препятствующего прямой связи SQL Server с SQL Server. Необходимо добавить маршруты, чтобы заставить сетевой трафик пройти через WANem и предотвратить прямую связь между машинами. Добавляя флаг -p к команде добавления маршрута route add, маршрут становится постоянным и выживет при перезагрузке.

На виртуальной машине 99.99.99.101 добавьте следующий маршрут из командной строки администрирования:

route -p add 99.99.99.102 mask 255.255.255.255 99.99.99.99

Рисунок 16. Добавьте статический маршрут от одного SQL Server к WANem.

На виртуальной машине 99.99.99.103 добавьте следующий маршрут из командной строки администратора:

route -p add 99.99.99.101 mask 255.255.255.255 99.99.99.99

Рисунок 17. Добавление статического маршрута из другого SQL Server в WANem.

После добавления статических маршрутов повторите подключение между двумя SQL Server. Теперь вы увидите сетевую задержку.

Рисунок 18. Тестирование подключения к двум серверам SQL Server через WANem.

На этом этапе у вас есть рабочая среда, в которой вы можете протестировать репликацию с использованием различных сетевых условий.

Вы можете оптимально использовать Remote Desktop Connection  для подключения к вашим виртуальным машинам SQL Server вместо использования Virtual Machine Connection. Перейдите на главный компьютер и найдите сетевой адаптер Hyper-V, который используют виртуальные машины SQL Server. Щелкните его правой кнопкой мыши и выберите «Свойства», чтобы можно было установить совместимый статический IP-адрес.

Рисунок 19. Задайте IP-адрес на хосте для подключения к удаленному рабочему столу.

В этом примере хост Hyper-V имеет IP-адрес 99.99.99.100.

Рисунок 20. Статический IP-адрес на принимающей стороне виртуальной внутренней сети.

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

Рисунок 21. Разрешение подключения к удаленному рабочему столу в Windows 10.

Рисунок 22. Вы можете включить совместное использование файлов и принтеров, чтобы косвенно разрешить трафик RDP через брандмауэр устройства.

Вы можете настроить подключение к удаленному рабочему столу, чтобы разрешить передачу файлов между виртуальными машинами SQL Server и хост-машиной. Хотя это работает, оно не эффективно для передачи больших объемов данных. Отличная альтернатива для получения копий файлов большого объема в виртуальную машину - это монтирование файла iso. Вы можете найти бесплатные утилиты для создания изо-файла из содержимого папки. После того, как у вас есть iso-образ, вы можете установить его на виртуальную машину. Если у вас есть определенные тестовые сценарии, каждый сценарий может быть его собственным iso-файлом, который вы можете включить в свою систему управления исходным кодом.

Если у вас уже настроены виртуальные машины SQL Server, как только вы поймете, что нужно сделать, вы можете настроить тестовую среду WANem менее чем за 10 минут.

No Comments

Add a Comment