пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
@media screen and (max-width: 736px){
.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}}
Как думаешь, какой язык программирования сейчас самый популярный? Если погуглить, то окажется, что это Python.
А почему так, мы сейчас расскажем и покажем.
Начнем с произношения - как его называть? Питон? Писон? Пистон? Можно и так, но правильно будет Пайтон, потому что его создатель Гвидо Ван Россум, назвал его в честь популярной комедийной группы Монти Пайтон, а точнее их шоу “Летающий цирк Монти Пайтона”, так что чешуйчатые тут не причем.
Почему мы слышим про Python из каждого утюга? В чем секрет его популярности? Дело в том, что он используется не только разработчиками, а еще очень популярен среди математиков, аналитиков, ученых, сетевых инженеров, сисадминов, хакеров и даже бухгалтеров. Для программиста, такое большое сообщество — это гигантский плюс - не знаешь, как решить задачу? Спроси или найди готовое решение на Stack Overflow, там это уже проходили и обсудили.
Популярность Python также объясняет его простота освоения. Даже если ты очень далек от айти, а при виде кода у тебя потеют ладошки, то чилл - изучение пайтона не составит для тебя большой сложности - он имеет простую структуру и синтаксис. А все благодаря его философии, которая заложена в основу языка:
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное
Порог вхождения в Python низкий, потому что это очень дружелюбный для новичков язык программирования
Пайтон применяют для самых разных задач: анализ данных и их визуализация, искусственный интеллект, машинное обучение, автоматизация процессов, да что угодно!
Теперь чутка техники: Python это высокоуровневый интерпретируемый язык программирования общего назначения. Не пугайся, все просто. Смотри:
Высокоуровневый означает, что тебе не нужно в деталях знать, как работает компьютер. Это как со смартфоном - тебе не нужно понимать как работает транзистор и что такое “лавинный пробой”, чтобы послушать на нем треки. Ну и по сравнению с другими языками, работа с памятью происходит автоматически, нам не нужно предварительно выделять ее и освобождать - спасибо встроенному “сборщику мусора”
Интерпретируемый - когда ты допишешь на Python свой первый скайнет, его будет нужно преобразовать в машинный язык, который сможет понять компьютер. Да - да, компьютер сам по себе твою писанину не поймет. Именно для этого используется интерпретатор Python, который при выполнении программы превращает написанный тобой код построчно, по одной за раз, в машинный код. А компилируемые языки, такие как Java, используют компилятор, который компилирует весь исходный код целиком перед выполнением твоей программы.
Общего назначения означает, что использовать Python можно в различных областях, ну как мы уже и говорили: веб, десктоп и мобильные приложения, тестирование, работа с данными, работа с большими данными (big data), искусственный интеллект и машинное обучение, автоматизация и даже игры на нем писать можно!
Так это вроде у всех есть, нет? Неа, например есть целевые языки, такие как SQL, который можно использовать только для запроса данных из реляционных баз данных.
Пайтон является объектно-ориентированным языком (ООП) программирования. Если кратко, то ООП - это когда вся программа рассматривается как набор взаимодействующих друг с другом объектов, где каждый объект имеет свои свойства и поведение.
А если ты уже прогаешь на другом языке, то смотри, что в пайтоне особенно круто: он строго типизированный - это означает, что значения переменных не будут неожиданно изменяться
Но при этом динамически типизированный, следовательно нам не нужно указывать тип переменной каждый раз.
А еще: забудь про точки с запятой! Вместо этого тут используются отступы, чтобы определить блоки кода. И да, фигурные скобки в этом случае, как видишь, тоже не нужны.
Также стоит заметить то что пайтон это кроссплатформенный язык программирования, что значит что мы можем писать и запускать свой код на Windows, Linux, MacOS и прочих!
Ну и не в последнюю очередь благодаря своей популярности, Python имеет огромную экосистему библиотек, фреймворков и инструментов которые упростят работу и расширят ваши возможности при написании кода.
Для примера можно назвать популярные Tensorflow и PyTorch для машинного обучения, Django и Flask для веб приложений, Pandas для дата сайенса, Selenium для тестирования и NumPy для сложных вычислений. А для установки всех этих дополнительных крутых штук используется специальный менеджер пакетов, котороый называетися pip.
Кстати, у нас есть курс по Python с нуля! Пройди бесплатный вводный урок, в котором ты напишешь свою первую программу, да еще и с графическим интерфейсом, после чего сможешь ее показывать всем вокруг и говорить “знаете, я и сам в каком-то роде тоже пайтон разработчик”
Графический интерфейс Cisco Unified Communications Manager (CUCM) имеет раздел Disaster Recovery System (DRS), который предназначен для проведения резервного копирования (backup) и восстановления системы (restore). Но бывают ситуации, когда GUI недоступен, например, из-за проблем с сетью. В этом случае, провести процедуры бэкапирования и восстановления можно через консоль CLI и сейчас мы расскажем как это сделать.
Процедура бэкапа
Перед началом процедуры, у вас должен быть настрое SFTP сервер, куда вы будете заливать бэкап с CUCM.
Для начала нужно добавить сервер, куда мы будем загружать бэкап. Для этого вводим команду:
utils disaster_recovery device add network [number of backups]
Где:
backup device name - Имя устройства, куда будем заливать бэкап;
path - Путь, куда будем заливать бэкап на данном устройстве;
ip-address of remote server - IP адрес удалённого устройства;
username - Имя пользователя;
number of backups - Количество резервных копий
После ввода данной команды, вас попросят ввести пароль пользователя, из под которым вы хотите осуществить бэкап (в нашем случае - ccmadmin)
admin: utils disaster_recovery device add network merionbckp ./ 10.20.30.123 ccmadmin
Please enter password to connect to network server 10.20.30.123:****
drfCliMsg: Backup Device has been saved successfully.
Проверим, что устройство для бэкапа успешно добавилось, для этого введём команду:
utils disaster_recovery device list
В выводе мы должны увидеть устройство, добавленное ранее:
admin:utils disaster_recovery device list
Device Name Device Type Device Path
--------------------------------------------------------------
merionbckp NETWORK ./
Волшебно! Теперь мы можем осуществить бэкап. Для этого пишем в консоли:
utils disaster_recovery backup network
Где:
backup device name - Имя устройства, куда будем заливать бэкап;
featurelist - Список функционала, который нужно забэкапить;
Для того, чтобы посмотреть какой функционал доступен для бэкапирования наберите команду: utils disaster_recovery show_registration , где servername - имя сервера, на котором осуществляется бэкап.
admin:utils disaster_recovery backup network UCM,CDR_CAR,PLM merionbckp
drfCliMsg: Backup initiated successfully. Please run 'utils disaster_recovery status backup' command to see the status
Всё, бэкап запущен! Чтобы проверить статус, нам предлагают ввести: utils disaster_recovery status backup
admin:utils disaster_recovery status backup
Status: SUCCESS :Backup Completed...
Tar Filename: 2019-02-16-04-21-37.tar
Storage Location: NETWORK
Operation: backup
Percentage Complete: 100
PLM CCM01 ELM-AGENT SUCCESS Sat Feb 16 04:17:25 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_plm_elm-agent.log
PLM CCM01 ELM-SERVER SUCCESS Sat Feb 16 04:17:26 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_plm_elm-server.log
CDR_CAR CCM01 CAR SUCCESS Sat Feb 16 04:17:27 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_cdr_car_car.log
UCM CCM01 BAT SUCCESS Sat Feb 16 04:19:23 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_bat.log
UCM CCM01 CCMPREFS SUCCESS Sat Feb 16 04:19:25 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ccmprefs.log
UCM CCM01 PLATFORM SUCCESS Sat Feb 16 04:19:30 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_platform.log
UCM CCM01 TCT SUCCESS Sat Feb 16 04:19:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_tct.log
UCM CCM01 SYSLOGAGT SUCCESS Sat Feb 16 04:19:35 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_syslogagt.log
UCM CCM01 CDPAGT SUCCESS Sat Feb 16 04:19:36 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_CCM01_ucm_cdpagt.log
UCM CCM01 CLM SUCCESS Sat Feb 16 04:19:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_clm.log
UCM CCM01 CCMDB SUCCESS Sat Feb 16 04:19:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ccmdb.log
UCM CCM01 TFTP SUCCESS Sat Feb 16 04:21:37 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_tftp.log
UCM CCM01 ANN SUCCESS Sat Feb 16 04:21:33 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ ccm01_ucm_ann.log
UCM CCM01 MOH SUCCESS Sat Feb 16 04:21:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_b_ccm01_ucm_moh.log
Всё, бэкап готов!
Процедура восстановления
Чтобы восстановить конфигурацию CUCM из бэкапа, нужно сначала посмотреть – что доступно для восстановления на удалённом сервере? Проверить это можно командой:
admin:utils disaster_recovery show_backupfiles merionbckp
2019-02-16-04-21-37
2018-12-25-21-52-19
Выбираем нужный нам бэкап и вводим следующую команду:
admin:utils disaster_recovery restore network 10.20.30.123 2019-02-16-04-21-37 merionbckp
drfCliMsg: WARNING! There are nodes in current production cluster but NOT present in the backup. These nodes will be removed if you restore the Publisher. If you want to keep these nodes, you will need to manually re-add them after the restore.
Do you want DRS to perform a SHA-1 File Integrity Check of your backup archives y/n ?(n) : y
Please enter the comma seperated features you wish to restore. Valid features for server CCM01 are PLM,CDR_CAR,UCM:PLM,CDR_CAR,UCM
Do you want to restore database from the subscriber y/n ?(n) : n
drfCliMsg: Restore initiated successfully. Please run 'utils disaster_recovery status restore' command to see the status
ALERT: Please restart the server(s) before performing the next restore for changes to take effect. In case of a cluster, restart the entire cluster.
Теперь проверяем статус восстановления:
admin:utils disaster_recovery status restore
Status: SUCCESS :Restore Completed...
Tar Filename: 2019-02-16-04-21-37.tar
Storage Location: NETWORK
Operation: restore
Percentage Complete: 100
CDR_CAR CCM01 CAR SUCCESS Sun Feb 17 11:20:15 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_cdr_car_car.log
PLM CCM01 ELM-AGENT SUCCESS Sun Feb 17 11:24:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_plm_elm-agent.log
PLM CCM01 ELM-SERVER SUCCESS Sun Feb 17 11:24:34 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_plm_elm-server.log
UCM CCM01 BAT SUCCESS Sun Feb 17 11:25:06 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_bat.log
UCM CCM01 CCMPREFS SUCCESS Sun Feb 17 11:37:06 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_ccmprefs.log
UCM CCM01 PLATFORM SUCCESS Sun Feb 17 11:37:13 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_platform.log
UCM CCM01 TCT SUCCESS Sun Feb 17 12:11:10 CEST 2019 activelog/platform/drf/log/2019-08-18-15-20-01_r_ccm01_ucm_tct.log
UCM CCM01 SYSLOGAGT SUCCESS Sun Feb 17 12:14:19 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_syslogagt.log
UCM CCM01 CDPAGT SUCCESS Sun Feb 17 12:14:39 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_cdpagt.log
UCM CCM01 CLM SUCCESS Sun Feb 17 12:17:03 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_clm.log
UCM CCM01 CCMDB SUCCESS Sun Feb 17 12:17:05 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_ccmdb.log
UCM CCM01 TFTP SUCCESS Sun Feb 17 12:25:12 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_tftp.log
UCM CCM01 ANN SUCCESS Sun Feb 17 12:26:38 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_ann.log
UCM CCM01 MOH SUCCESS Sun Feb 17 12:26:39 CEST 2019 activelog/platform/drf/log/2019-02-16-04-21-37_r_ccm01_ucm_moh.log
В этой статье рассмотрим как решить следующие неисправности:
Виртуальная машина не может подключиться к сети
Нет связи между сетью и одной виртуальной машиной
Невозможно подключиться к сети Интернет
Сбой подключения к или от одной виртуальной машины через TCP/IP
Вы видите одну или более из ошибок:
Destination Host Unreachable
Network error: Connection Refused
Network cable is unplugged
Ping request could not find host (IP address/hostname). Please check the name and try again
Unable to resolve target system name (IP address/hostname).
Решение
Убедитесь, что каждый из последующих шагов подходит для вашей среды. Шаги включают в себя инструкции для выполнения и ссылки на документы для подтверждения шагов и дополнительных корректирующих мер, если они потребуются. Шаги выстроены в наиболее подходящем порядке для выявления и решения проблем. Не пропускайте шаги.
Проверьте, что имя или имена Port Group, связанные с сетевыми адаптерам(и) виртуальной машины, существует и задано правильно. Если нет, то исправьте это с помощью Edit Settings на виртуальной машине, проверьте есть ли галочка напротив Connected.
Удостоверьтесь в отсутствии проблем с хранилищем или ресурсами, так как это может вызывать неполадки с сетью на виртуальной машине. Это можно проверить на консоли виртуальной машины в ESX/ESXi or Virtual Center/vCenter Server через VI/vSphere Client.
Убедитесь, что виртуальный сетевой адаптер присутствует и подключён.
Проверьте правильно ли настроена сеть в гостевой системе на виртуальной машине.
Проверьте правильно ли работает стек TCP/IP.
Если данная виртуальная машина была создана из физической системы, то следует убедиться в отсутствии скрытых сетевых адаптеров.
Убедитесь, что vSwitch на достаточно портов для виртуальной машины.
Убедитесь, что конфигурация IPSec виртуальной машины выполнена правильно и не повреждена.
Наличие двух виртуальных сетевых интерфейсных карт (vNIC) на виртуальной машине поможет исключить проблемы с сетевой интерфейсной картой (NIC) и физической конфигурацией. Чтобы найти возможную проблему:
Если политика балансировки загрузки в режиме Default Virtual Port ID на уровне vSwitch и vDS - оставьте одну виртуальную сетевую интерфейсную карту (vNIC) подключённой к vSwitch или vDS и протестируйте различные комбинации виртуальных(vNIC) и физических (pNIC) сетевых интерфейсных карт, чтобы найти виртуальную машину с отсутствующим соединением.
Если политика балансировки загрузки в режиме IP Hash:
Убедитесь, что порты физического коммутатора настроены как порт-канал.
Прты, к которым подключены сетевые интерфейсные карты (NICs), кроме одного и переключайтесь между всеми портами, включая за раз только один порт. Обратите внимание на комбинации портов и сетевых интерфейсных карт (NIC) при которых виртуальные машины теряют соединение.
Также вы можете проверить выходные данные о работе сети с помощью команды esxtop с параметром n, чтобы найти используемую виртуальной машиной физическую сетевую интерфейсную карту (pNIC). Попробуйте отключать порты физического свитча по одному, чтобы определить, когда виртуальная машина теряет подключение к сети. Это также исключает неправильные настройки физического порта(-ов).
