По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет! Сегодня в статье мы хотим рассмотреть систему восстановления Cisco Unified Communications Manager (CUCM) после сбоев, которая называется Disaster Recovery System (DRS) . С ее помощью можно делать бэкапы системы, которые будут храниться на SFTP сервере, и восстанавливать из них систему в случае такой необходимости. Архивирование при помощи DRS включает следующие компоненты: Cisco Unified Communications Manager database (CCMDB), включая Cisco Unified Communications Manager/CDR Analysis and Reporting/Call Detail Records); Platform Music On Hold (MOH); BAT Bulk Provisioning Service (BPS); CCM Preference Files (CCMPREFS); TFTP Phone device files (TFTP); SNMP Syslog Component (SYSLOGAGT SNMP); SNMP CDP Subagent (CDPAGT SNMP); Trace Collection Tool (TCT); Cluster Manager (CLM); Cisco Extended Functions (CEF); Настройка Прежде всего, для выполнения резервного копирования нам нужно развернуть SFTP сервер. Cisco рекомендует использовать такие клиенты как Cygwin, Titan FTP, GlobalSCAPE EFT, но можно использовать и другие. Загружаем желаемый клиент, устанавливаем его на машине, на которой будет использоваться SFTP сервер, в нем самом настраиваем сетевые параметры подключения, указываем корневую папку и затем запускаем сервис. Теперь переходим к настройке CUCM. Нам нужно войти в систему восстановления после сбоев, для этого нам нужно в правом верхнем углу из выпадающего меню выбрать пункт Disaster Recovery System. Здесь переходим во вкладку Backup → Backup Device и нажимаем Add New. В открывшемся окне необходимо указать названия для бэкапа в строке Backup device name. Ниже в поле Select Destination выбираем Network Directory и указываем IP адрес SFTP сервера в строке Host name/IP address, реквизиты для подключения указываем в полях User name и Password, а поле Path name указываем путь для каталога, где будут храниться наши данные (если необходимо хранить файл в корневом каталоге, то указываем ’’’’). После этого нажимаем Save. Если SFTP сервер работает и доступен, то мы увидим надпись Update Successful. Теперь чтобы создать бэкап нам нужно перейти во вкладку Backup → Manual Backup, выбрать созданные нами ранее настройки резервирования и нажать Start Backup. Создать расписание для выполнения архивирования можно в меню Backup → Scheduler, где нужно нажать Add New для создания нового расписания. Тут выбираем бэкап, указываем время выполнения архивации и нажимаем Save. После чего нажимаем Enable Schedule наверху экрана. Теперь рассмотрим восстановление системы, которое называется Restoring a Node or Cluster to a Last Known Good Configuration (No Rebuild) , то есть до последней рабочей конфигурации. Для того чтобы восстановить систему из созданного бэкапа нужно перейти во вкладку Disaster Recovery System → Restore → Restore Wizard. Тут выбираем Backup Device, затем нажимаем Next и выбираем один из доступных файлов. Далее указываем, какие функции должны быть восстановлены. Затем выбираем нужные серверы для восстановления и нажимаем Restore. После этого начнется восстановление системы. Статус текущего восстановления можно посмотреть во вкладке Disaster Recovery System → Restore → Status. После того как произойдет восстановление нужно будет перезагрузить сервер. Проверить статус репликации можно либо при помощи RTMT, в пункте Call Manager → Database Summary → Replication Status, где для всех нод мы должны видеть одинаковое значение, либо через систему отчетов CUCM Unified Reporting в пункте Unified Reporting → System Reports → Unified CM Database Status, где мы должны найти строчку All servers have a good replication status, либо через командную строку CLI, выполнив команду utils dbreplication status, результатом которой мы должны получить строчку No Errors or Mismatches found. Replication status is good on all available servers.
img
Сериализация – это процесс, в котором одна служба берет структуру данных, такую как словарь в Python, упаковывает ее и передает другой службе для чтения. Это максимально простое определение. Представьте, что мне нужно отправить кому-то сообщение. Итак, я записываю текст на уже собранный пазл. Далее я разбираю части пазла, добавляю несколько инструкций о том, как его собрать, и отправляю его. Затем получатель сообщения, получив кусочки головоломки, собирает их вместе. И теперь у него есть мое сообщение. Техническое определение этого понятия немного интереснее. А именно, сериализация – это процесс преобразования объекта данных в поток байтов и сохранения состояния объекта для хранения на диске или передачи по сети. Это сокращает необходимый размер хранилища и упрощает передачу информации по сети. Маршалинг и сериализация – в чем разница? Здесь на ум может прийти понятие маршалинга (Marshalling). Маршалинг – это процесс преобразования представления объекта в памяти в форму, подходящую для передачи. Хотя маршалинг и сериализация в общих чертах похожи, между ними все-таки есть принципиальная разница. Например, при создании программы в Golang для считывания JSON данных в структуру данных Golang вы можете использовать маршалинг для преобразования пары «ключ-значение» JSON в пару «ключ-значение» Golang. Разница в том, что маршалинг используется для преобразования данных. А сериализация, напротив, отправляет или сохраняет данные в потоке байтов и повторно собирает их в исходную форму. Оба процесса вроде бы выполняют процесс сериализации, но с разными намерениями. Вы можете увидеть структуру, которую я создал для взаимодействия с данными Twitter, ниже, как пример процесса маршалинга в действии. В Golang вы можете вставлять подсказки, называемые тегами, легко преобразовывая этот объект в данные JSON с помощью встроенной службы маршалинга Golang. Что такое Endianness? Я также хотел бы немного затронуть тему порядка следования байтов. Endianness – это термин, который используется для описания порядка байтов в памяти. Представьте, что память – это блок, в котором хранятся биты данных. Чтобы сериализация работала, поток байтов должен передавать типы данных независимо от изменения порядка следования байтов из одной системы в другую. Здесь вы можете увидеть большие различия и не очень. Очень важно, чтобы порядок следования байтов из одной системы в другую совпадал или каким-либо образом преобразовывался, поскольку не все системы упорядочивают свои биты одинаково. Little endian (от младшего к старшему) и big endian (от старшего к младшему) Варианты использования сериализации Наш вариант использования в полной мере использует все функции сериализации. Мы планируем получить некоторую информацию от сканируемого оборудования, упаковать эту информацию в поток байтов и отправить ее по сети в другую службу, которая восстановит данные. Процесс обратной сериализации и восстановления данных в исходную форму называется десериализацией. Есть и другие варианты использования сериализации. Например, REST API или протоколы обмена сообщениями, такие как AMQP, могут использовать сериализацию для сжатия и отправки данных. AMQP – это протокол обмена сообщениями, в котором вы отправляете сообщение брокеру AMQP, а служба-получатель «прослушивает» этого брокера в поисках сообщения. Серверные специалисты должны быть хорошо с этим знакомы, так как это часто используется для отправки данных туда и обратно в распределенных системах. Многие языки программирования включают возможность легкого развертывания некоторой сериализации. Так что это языково-независимая тема. Пример сериализации Приведем краткий пример. Код, приведенный ниже, использует библиотеку kombu для отправки сообщений через AMQP. Мы используем ее для отправки сообщений из одного программного пакета в другой по сети. Данный код предназначен для службы, отправляющей сообщение брокеру AMQP: Обратите внимание на метод publish. Мы передаем метод сериализации в качестве аргумента, чтобы библиотека понимала, как сериализовать данные, которые мы передаем. Сообщение с данными преобразуется в поток байтов, который, если на него посмотреть, выглядит просто как длинная строка букв и цифр. И мы отправляем сообщение. Соответствующая служба будет использовать тот же метод сериализации для восстановления данных в их исходное состояние. Это важная функция, поскольку мы создаем набор инструментов, которые должны иметь возможность отправлять сообщения друг другу, чтобы все работало. Форматы данных сериализации В основном я использую JSON для сериализации, когда этого требует задача. Но тем не менее, вы можете использовать и другие варианты. У JSON много издержек, но для меня он идеален, потому что он читабелен. Вы также можете использовать Protobuf, YAML или XML. Это лишь некоторые из возможных. Заключение Сериализация становится необходимостью, когда вы строите свои каналы связи. Полезно знать о таком понятии, чтобы чувствовать себя уверенно при подходе к любому инструменту, который вы используете, с соответствующими базовыми знаниями.
img
Router-on-a-stick (роутер на палочке) - это термин, часто используемый для описания схемы, состоящей из маршрутизатора и коммутатора, которые соединены с использованием одного канала Ethernet, настроенного как 802.1Q транк. Стандарт 802.1Q используется для тегирования трафика, для передачи информации о принадлежности к VLAN. В этой схеме на коммутаторе настроено несколько VLAN и маршрутизатор выполняет всю маршрутизацию между различными сетями или VLAN (Inter-VLAN routing). /p> Хотя некоторые считают, что термин «маршрутизатор на палочке» звучит немного глупо, это очень популярный термин, который широко используется в сетях, где нет коммутатора 3-го уровня. Также такую схему иногда называют “леденец” – lollypop. Находите некоторое сходство? Пример Наш пример основан на сценарии, с которым вы, скорее всего, столкнетесь при работе с сетями VoIP. Поскольку реализации VoIP требуют разделения сети передачи данных и сети голоса для маршрутизации пакетов между ними, вам необходим либо коммутатор 3-го уровня, либо маршрутизатор. Эта конфигурация обеспечивает доступность и стабильность VoIP, особенно в часы пик трафика в вашей сети. Пакеты, передающиеся между VLAN маршрутизируются через один роутер, подключенный к коммутатору, используя один физический порт, настроенный как транк на обоих концах (коммутатор и маршрутизатор). Этот пример покажет вам, как настроить маршрутизатор и коммутатор Cisco для создания между ними 802.1Q транка и маршрутизации пакетов между вашими VLAN. Шаг 1 – Настройка коммутатора Первым шагом является создание необходимых двух VLAN на нашем коммутаторе Cisco и настройка их с IP-адресом. Поскольку все коммутаторы Cisco содержат VLAN1 (VLAN по умолчанию), нам нужно только создать VLAN2. Switch# configure terminal Switch(config)# vlan2 Switch(config-vlan)# name voice Switch(config-vlan)# exit Switch(config)# interface vlan1 Switch(config-if)# ip address 192.168.10.2 255.255.255.0 Switch(config-if)# exit Switch(config)# interface vlan2 Switch(config-if)# ip address 192.168.20.2 255.255.255.0 Switch(config-if)# exit Далее, нам нужно создать транк порт, который будет соединятся с маршрутизатором. Для этой цели мы выберем порт GigabitEthernet 0/1 Switch# configure terminal Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# spanning-tree portfast trunk При помощи данных команд мы определили, что транк будет использовать инкапсуляцию 802.1Q, установили порт в режим транка и включили функцию portfast trunk spanning-tree, чтобы гарантировать, что порт будет пересылать пакеты немедленно при подключении к устройству, например, маршрутизатору. Внимание: команда spanning-tree portfast trunk не должна использоваться на портах, которые подключаются к другому коммутатору, чтобы избежать петель в сети. Шаг 2 – Настройка маршрутизатора Мы закончили с коммутатором и можем переходить к настройке конфигурации нашего маршрутизатора, чтобы обеспечить связь с нашим коммутатором и позволить всему трафику VLAN проходить и маршрутизироваться по мере необходимости. Создание транка на порте маршрутизатора не сильно отличается от процесса, описанного выше - хотя мы транк на одном физическом интерфейсе, мы должны создать под-интерфейс (sub-interface) для каждого VLAN. Router# configure terminal Router(config)# interface gigabitethernet0/1 Router(config-if)# no ip address Router(config-if)# duplex auto Router(config-if)# speed auto Router(config-if)# interface gigabitethernet0/1.1 Router(config-subif)# encapsulation dot1q 1 native Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# interface gigabitethernet0/1.2 Router(config-subif)# encapsulation dot1q 2 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Чтобы сформировать транк с нашим коммутатором, необходимо создать один под-интерфейс для каждого VLAN, сконфигурированного на нашем коммутаторе. После создания под-интерфейса мы назначаем ему IP-адрес и устанавливаем тип инкапсуляции 802.1Q и указываем номер VLAN, к которому принадлежит под-интерфейс. Например, команда encapsulation dot1q 2 определяет инкапсуляцию 802.1Q и устанавливает под-интерфейс на VLAN 2. Параметр native который мы использовали для под-интерфейса gigabitethernet0/1.1, сообщает маршрутизатору, что нативный vlan - это VLAN 1. Это параметр по умолчанию на каждом коммутаторе Cisco и поэтому должен совпадать с маршрутизатором. Для проверки можно использовать на роутере команду show vlans, где будут отображены созданные нами под-интерфейсы, а также при помощи команды show ip route в таблице маршрутизации мы должны увидеть наши под-интерфейсы. Готово! Теперь при помощи роутера мы можем маршрутизировать файлы между разными VLAN.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59