Автор: Sauron от 22-06-2015, 19:47
Вы не любите кошек? Вы просто не умеете их готовить (c) Мы рассмотрим как правильно и безболезненно загрузить или импортировать образы ASA и ASAv в UNetLab, а также иные различные полезные образы. Разумеется данная статья предназначена для того, чтобы направить вас на грамотный путь по инсталляции того или иного образа. Сами образы не предоставляются. Предполагается, что вы уже имеете тот или иной образ в виде ova или vmdk файла, причем образ не поврежденный.
В статье посвященной обзору UNetLab мы уже приводили пример инсталляции Cisco IOL образов. В этой статье мы рассмотрим инсталляцию QEMU образов, т.е образы виртуальных машин которые могут работать под эмулятором QEMU. Начнем мы на примере ASA. Садитесь детишки в круг, и мы расскажем, что нужно делать, чтобы ваши образы ASA заработали на стенде UNetLab или как приготовитькошку
Предисловие
QEMU — свободное программное обеспечение с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Включает в себя эмуляцию процессоров Intel x86 и устройств ввода-вывода
В настоящее время идёт разработка поддержки технологий аппаратной виртуализации (Intel VT и AMD SVM) на x86-совместимых процессорах Intel и AMD в QEMU. Первоначально разработка велась в рамках проекта Linux KVM (Kernel-based Virtual Machine), в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Однако недавно разработчики QEMU в содружестве с разработчиками KVM приняли решение в ближайшем будущем интегрировать поддержку KVM в основную ветку QEMU (mainline).
Первое что нужно отметить, это то, что в UNetLab образы должны находится в папках, которые имеют строго определённый префикс в имени, которые в свою очередь должны лежать в папке /opt/unetlab/addons/qemu
Для разных устройств – имена папок содержащих образы имеют разные префиксы в имени. Например образы ASA должны находиться в папках имя которых начинается на asa-XXXX или asav-XXXX, в зависимости от того какой именно типа образа ASA используется. Образ ASA 8.2, 8.4, 9.1 – так называемый portable должен находиться в папке asa-XXXX, где XXXX – любая алфавитно-цифровая строка. Например “asa-8.4.2/” или “asa-myasa_with_ASDM/”, главное чтобы имя папки начиналось с четырех символов “asa-“. Образ Cisco ASAv должен находиться в папке имя которой начинается на asav-, например “asav-9.32/” или “asav-mynew_ASAv/”
Аналогично делается и для других устройств. Например образ IPS должен лежать в папке имя которой начинается на “cips-“ Узнать какие префиксы используются для имен тех или иных устройств можно в файле /opt/unetlab/html/includes/init.php. Там содержится массив префиксов и их соответствие тому или иному образу.
Пример:
Второй момент – для того, чтобы образ работал в UnetLab, он должен быть импортирован в формате файла .qcow2. Qcow2 — это формат дискового образа программы QEMU. Название является аббревиатурой названия формата Copy-On-Write (копирование при записи). Среди поддерживаемых форматов QEMU, этот — наиболее универсальный
Образы под VMware как правило имеют формат VMDK или OVA (тот же vmdk только запакованный). Поэтому прежде чем запускать образы под VMware в среде UNetLab их необходимо конвертировать в формат qcow2. Для этого в среде UnetLab можно воспользоваться встроенным конвертором:
Импорт ASA в UNetLAB
В этом примере мы будем импортировать образ ASA 8.4(2), но вы можете использовать его для импорта образа ASA 9.1(5) или 8.0(2)
Прежде всего нам нужно загрузить .vmdk файл содержащий образ 8.4(2) в любую папку виртуальной машины UnetLab по протоколу SCP. Используете инструменты из набора putty или winscp. В качестве временной папки возьмем /tmp и туда положим vmdk-файл.
Далее необходимо конвертировать файл ASA842-disk1.vmdk в формат qcow2. При этом имя файла должно быть hda.qcow2 для первого диска, hdb.qcow2 для второго диска и т.д. В данном случае образ ASA 8.4(2) содержится в одном диске, как видно из названия файла, поэтому конвертируем файл ASA842-disk1.vmdk в файл hda.qcow2 командой:
После несложного процесса преобразования у нас появился файл hda.qcow2
Далее все просто. Создаем папку которая будет содержать наш qcow2 образ в каталоге /opt/unetlab/addons/qemu/
И перемещаем созданный образ hda.qcow2 туда
Проверяем и устанавливаем права доступа
Все. Образ ASA импортирован и теперь мы можем выбрать его в меню Actions – Nodes
Если вы ошибетесь в названии каталога для образа, вы не сможете выбрать устройство Cisco ASA в меню Actions – Nodes
Поле для выбора образа будет пустым. Обязательно обратите внимание на объем RAM. По умолчанию там стоит 256Mb. С таким объемом ASA не запустится, минимально можно выставить 512-768Mb. Теперь объект ASA можно попробовать запустить, нажав на него правой кнопочкой мыши и выбрав Start из контекстного меню.
У ASA portable образов, т.е ASA 8.4(2), ASA 9.1(5) и т.д есть одна особенность – они загружают одно ядро CPU на 100%. Это нормально явление при работе образов ASA в виртуальных средах. Тоже самое вы будете наблюдать в VMWare Workstation/ ESXI или в среде GNS3. Так работает ASA Dispatcher.
На рисунке показано потребление одного ядра образом ASA
Причем внутри ASA вы не увидите загрузку CPU. Таким образом будьте готовы к существенному потреблению ресурса CPU, если вы хотите запускать несколько ASA одновременно.
Особенности загрузки образа ASA в память.
Пара слов о загрузке образа виртуальной машины ASA в память UNetLab. Сам процесс загрузки можно наблюдать подключившись telnet-консолью к устройству Cisco ASA, просто кликните левой кнопкой мыши на устройство в топологии.
Скорость загрузки образа зависит от ваших ресурсов (CPU, скорость файловой системы и т.д) на хост-машине на которой работает виртуальная машина UNetLab и может быть не очень быстрой и занимать больше одной минуты. Кроме того, загрузка образа зависит от того в какой именно момент времени вы подключили консоль.
На рисунке ниже красным выделены места в которых загрузка образа происходит дольше всего.
Наиболее затратным по времени является запуска процесса Likewise Service Manager. Если в этот момент вы попытаетесь выполнить подключение консолью - то загрузка ASA прерывается. При этом на консоли вы ничего не увидите – пустой экран. Связно с тем, что при подключении консолью, в оболочку ASA посылается символ перевода каретки и перевода строки, что является Break для процесса загрузки. Если несколько раз нажать Enter – загрузка продолжиться где-то через пять минут.
Вся беда в том, что мы не знаем точно, в какой момент загрузки мы подключимся консолью к ASA, поэтому всегда дайте образу ASA время на загрузку, либо подключайтесь консолью сразу после нажатия Start.
Импорт ASAv в UNetLAB
После того как образ portable ASA импортирован, попробуем аналогичным образом импортировать образ ASAv. О том где взять ASAv можно узнать помучив Гугл или скачать с официального сайта cisco.com. Лицензия на него не нужна.
В UnetLab поддерживается только версии 9.3(2)200 и 9.4(1). Остальные не поддерживаются. На сайте разработчиков представлен документ со списком поддерживаемых версий.
Cisco ASAv поставляется в виде OVA-файла для импорта в виртуальную среду ESXi и в виде qcow2 формата для импорта в среду Cisco VIRL. Можно сразу взять образ asav932-200.qcow2 и именно его мы будем использовать в виртуальной среде UNetLab.
Прежде всего нам нужно его загрузить в виртуальную машину UnetLab по протоколу SCP. Используете инструменты из набора putty или winscp. В качестве временной папки возьмем /tmp и туда положим наш qcow2-файл
Далее нам необходимо создать папку с именем начинающимся на “asav-“ в в каталоге /opt/unetlab/addons/qemu/
Далее необходимо переименовать загруженный файл asav932-200.qcow2 в virtioa.qcow2 и перемещаем полученный файл в созданную папку
Проверяем и устанавливаем права доступа
Образ ASAv импортирован и теперь мы можем выбрать его в меню Actions – Nodes
Обратите внимание, что данный образ требует 2048 Mb RAM. Минимально вы его можете загрузить на 1536 Mb. Если поставите меньше, то образ не загрузиться. Также обратите внимание, что доступ к консоли осуществляется через VNC, а не Telnet. Для этого у вас должен стоять пакет VNC на машине откуда осуществляется доступ к устройству. Более подробно от том как настроить VNC описано в статьеИнтеграция Telnet/SSH/VNC на Windows.
Особенности загрузки образа ASAv.
Процесс загрузки образа в память можно наблюдать подключившись vnc-консолью к устройству Cisco ASAv, просто кликните левой кнопкой мыши на устройство в топологии. Если все настроено верно, то откроется VNC- консоль, где отображается меню начальной загрузки образа.
По умолчанию через 10 сек, если не трогать клавиатуру, начинает грузиться образ 9.3(2)200. Если образ загружается в первый раз, то об этом будет сообщено на экране “Initial bootup detected. ASA will reboot after initializing system variables”
После первого запуска, образ автоматически перезагружает сам себя. При этом выводится сообщения Successfully discovered platform. Rebooting to apply the platform type
Осталось еще немножко подождать, пока образ загрузиться еще раз и нам выдается стандартное приглашение для ввода команд.
Мы можем выполнить команду show version чтобы посмотреть версию образа, наличие интерфейсов, доступный функционал и т.п
Обратите внимание, что образы ASAv не поддерживают MultiContext и как следствие Active/Active Failover.
Поэтому если вам требуется Failover Active/Active или контексты, то добро пожаловать к образам portable ASA 8.4(2) или ASA 9.1(5). Однако образ ASAv в отличие от образов ASA не потребляет ресурсы CPU. Загрузка CPU для образа ASAv составляет 3% одного ядра. Но минимальное требование к памяти составляет 1536 Mб на одно устройство.
Подключение Serial консоли
Вы можете подключить serial-консоль, вместо VNC. Для этого запустите образ ASAv, который у вас лежит в /opt/unetlab/addons/qemu/командой:
Далее, используя VNC клиент, подсоединитесь к ASAv на порт 5900 и принудительно включите Serial консоль, командами
Завершить процесс qemu-system-x86_64, командой
Теперь при добавлении устройства в топологию, можно выбирать консоль telnet вместо VNC.
Ура! Теперь ASAv можно управлять через Telnet - console, со всеми преимуществами, такими как Copy-Paste, и работает она в разы быстрее.
В статье посвященной обзору UNetLab мы уже приводили пример инсталляции Cisco IOL образов. В этой статье мы рассмотрим инсталляцию QEMU образов, т.е образы виртуальных машин которые могут работать под эмулятором QEMU. Начнем мы на примере ASA. Садитесь детишки в круг, и мы расскажем, что нужно делать, чтобы ваши образы ASA заработали на стенде UNetLab или как приготовить
Предисловие
QEMU — свободное программное обеспечение с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Включает в себя эмуляцию процессоров Intel x86 и устройств ввода-вывода
В настоящее время идёт разработка поддержки технологий аппаратной виртуализации (Intel VT и AMD SVM) на x86-совместимых процессорах Intel и AMD в QEMU. Первоначально разработка велась в рамках проекта Linux KVM (Kernel-based Virtual Machine), в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Однако недавно разработчики QEMU в содружестве с разработчиками KVM приняли решение в ближайшем будущем интегрировать поддержку KVM в основную ветку QEMU (mainline).
Первое что нужно отметить, это то, что в UNetLab образы должны находится в папках, которые имеют строго определённый префикс в имени, которые в свою очередь должны лежать в папке /opt/unetlab/addons/qemu
Для разных устройств – имена папок содержащих образы имеют разные префиксы в имени. Например образы ASA должны находиться в папках имя которых начинается на asa-XXXX или asav-XXXX, в зависимости от того какой именно типа образа ASA используется. Образ ASA 8.2, 8.4, 9.1 – так называемый portable должен находиться в папке asa-XXXX, где XXXX – любая алфавитно-цифровая строка. Например “asa-8.4.2/” или “asa-myasa_with_ASDM/”, главное чтобы имя папки начиналось с четырех символов “asa-“. Образ Cisco ASAv должен находиться в папке имя которой начинается на asav-, например “asav-9.32/” или “asav-mynew_ASAv/”
Аналогично делается и для других устройств. Например образ IPS должен лежать в папке имя которой начинается на “cips-“ Узнать какие префиксы используются для имен тех или иных устройств можно в файле /opt/unetlab/html/includes/init.php. Там содержится массив префиксов и их соответствие тому или иному образу.
Пример:
# cat /opt/unetlab/html/includes/init.php | grep asa
'asa' => 'Cisco ASA',
'asav' => 'Cisco ASAv',
Второй момент – для того, чтобы образ работал в UnetLab, он должен быть импортирован в формате файла .qcow2. Qcow2 — это формат дискового образа программы QEMU. Название является аббревиатурой названия формата Copy-On-Write (копирование при записи). Среди поддерживаемых форматов QEMU, этот — наиболее универсальный
Образы под VMware как правило имеют формат VMDK или OVA (тот же vmdk только запакованный). Поэтому прежде чем запускать образы под VMware в среде UNetLab их необходимо конвертировать в формат qcow2. Для этого в среде UnetLab можно воспользоваться встроенным конвертором:
/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 XXX.vmdk YYY.qcow2
Импорт ASA в UNetLAB
В этом примере мы будем импортировать образ ASA 8.4(2), но вы можете использовать его для импорта образа ASA 9.1(5) или 8.0(2)
Прежде всего нам нужно загрузить .vmdk файл содержащий образ 8.4(2) в любую папку виртуальной машины UnetLab по протоколу SCP. Используете инструменты из набора putty или winscp. В качестве временной папки возьмем /tmp и туда положим vmdk-файл.
Далее необходимо конвертировать файл ASA842-disk1.vmdk в формат qcow2. При этом имя файла должно быть hda.qcow2 для первого диска, hdb.qcow2 для второго диска и т.д. В данном случае образ ASA 8.4(2) содержится в одном диске, как видно из названия файла, поэтому конвертируем файл ASA842-disk1.vmdk в файл hda.qcow2 командой:
/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 ASA842-disk1.vmdk hda.qcow2
После несложного процесса преобразования у нас появился файл hda.qcow2
Далее все просто. Создаем папку которая будет содержать наш qcow2 образ в каталоге /opt/unetlab/addons/qemu/
mkdir -p /opt/unetlab/addons/qemu/asa-8.42/
И перемещаем созданный образ hda.qcow2 туда
mv hda.qcow2 /opt/unetlab/addons/qemu/asa-8.42/
Проверяем и устанавливаем права доступа
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Все. Образ ASA импортирован и теперь мы можем выбрать его в меню Actions – Nodes
Если вы ошибетесь в названии каталога для образа, вы не сможете выбрать устройство Cisco ASA в меню Actions – Nodes
Поле для выбора образа будет пустым. Обязательно обратите внимание на объем RAM. По умолчанию там стоит 256Mb. С таким объемом ASA не запустится, минимально можно выставить 512-768Mb. Теперь объект ASA можно попробовать запустить, нажав на него правой кнопочкой мыши и выбрав Start из контекстного меню.
У ASA portable образов, т.е ASA 8.4(2), ASA 9.1(5) и т.д есть одна особенность – они загружают одно ядро CPU на 100%. Это нормально явление при работе образов ASA в виртуальных средах. Тоже самое вы будете наблюдать в VMWare Workstation/ ESXI или в среде GNS3. Так работает ASA Dispatcher.
На рисунке показано потребление одного ядра образом ASA
Причем внутри ASA вы не увидите загрузку CPU. Таким образом будьте готовы к существенному потреблению ресурса CPU, если вы хотите запускать несколько ASA одновременно.
Особенности загрузки образа ASA в память.
Пара слов о загрузке образа виртуальной машины ASA в память UNetLab. Сам процесс загрузки можно наблюдать подключившись telnet-консолью к устройству Cisco ASA, просто кликните левой кнопкой мыши на устройство в топологии.
Скорость загрузки образа зависит от ваших ресурсов (CPU, скорость файловой системы и т.д) на хост-машине на которой работает виртуальная машина UNetLab и может быть не очень быстрой и занимать больше одной минуты. Кроме того, загрузка образа зависит от того в какой именно момент времени вы подключили консоль.
На рисунке ниже красным выделены места в которых загрузка образа происходит дольше всего.
Наиболее затратным по времени является запуска процесса Likewise Service Manager. Если в этот момент вы попытаетесь выполнить подключение консолью - то загрузка ASA прерывается. При этом на консоли вы ничего не увидите – пустой экран. Связно с тем, что при подключении консолью, в оболочку ASA посылается символ перевода каретки и перевода строки, что является Break для процесса загрузки. Если несколько раз нажать Enter – загрузка продолжиться где-то через пять минут.
Вся беда в том, что мы не знаем точно, в какой момент загрузки мы подключимся консолью к ASA, поэтому всегда дайте образу ASA время на загрузку, либо подключайтесь консолью сразу после нажатия Start.
Импорт ASAv в UNetLAB
После того как образ portable ASA импортирован, попробуем аналогичным образом импортировать образ ASAv. О том где взять ASAv можно узнать помучив Гугл или скачать с официального сайта cisco.com. Лицензия на него не нужна.
В UnetLab поддерживается только версии 9.3(2)200 и 9.4(1). Остальные не поддерживаются. На сайте разработчиков представлен документ со списком поддерживаемых версий.
Cisco ASAv поставляется в виде OVA-файла для импорта в виртуальную среду ESXi и в виде qcow2 формата для импорта в среду Cisco VIRL. Можно сразу взять образ asav932-200.qcow2 и именно его мы будем использовать в виртуальной среде UNetLab.
Прежде всего нам нужно его загрузить в виртуальную машину UnetLab по протоколу SCP. Используете инструменты из набора putty или winscp. В качестве временной папки возьмем /tmp и туда положим наш qcow2-файл
Далее нам необходимо создать папку с именем начинающимся на “asav-“ в в каталоге /opt/unetlab/addons/qemu/
mkdir -p /opt/unetlab/addons/qemu/asav-9.32/
Далее необходимо переименовать загруженный файл asav932-200.qcow2 в virtioa.qcow2 и перемещаем полученный файл в созданную папку
mv asav932-200.qcow2 /opt/unetlab/addons/qemu/asav-9.32/virtioa.qcow2
Проверяем и устанавливаем права доступа
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Образ ASAv импортирован и теперь мы можем выбрать его в меню Actions – Nodes
Обратите внимание, что данный образ требует 2048 Mb RAM. Минимально вы его можете загрузить на 1536 Mb. Если поставите меньше, то образ не загрузиться. Также обратите внимание, что доступ к консоли осуществляется через VNC, а не Telnet. Для этого у вас должен стоять пакет VNC на машине откуда осуществляется доступ к устройству. Более подробно от том как настроить VNC описано в статьеИнтеграция Telnet/SSH/VNC на Windows.
Особенности загрузки образа ASAv.
Процесс загрузки образа в память можно наблюдать подключившись vnc-консолью к устройству Cisco ASAv, просто кликните левой кнопкой мыши на устройство в топологии. Если все настроено верно, то откроется VNC- консоль, где отображается меню начальной загрузки образа.
По умолчанию через 10 сек, если не трогать клавиатуру, начинает грузиться образ 9.3(2)200. Если образ загружается в первый раз, то об этом будет сообщено на экране “Initial bootup detected. ASA will reboot after initializing system variables”
После первого запуска, образ автоматически перезагружает сам себя. При этом выводится сообщения Successfully discovered platform. Rebooting to apply the platform type
Осталось еще немножко подождать, пока образ загрузиться еще раз и нам выдается стандартное приглашение для ввода команд.
Мы можем выполнить команду show version чтобы посмотреть версию образа, наличие интерфейсов, доступный функционал и т.п
Обратите внимание, что образы ASAv не поддерживают MultiContext и как следствие Active/Active Failover.
Поэтому если вам требуется Failover Active/Active или контексты, то добро пожаловать к образам portable ASA 8.4(2) или ASA 9.1(5). Однако образ ASAv в отличие от образов ASA не потребляет ресурсы CPU. Загрузка CPU для образа ASAv составляет 3% одного ядра. Но минимальное требование к памяти составляет 1536 Mб на одно устройство.
Подключение Serial консоли
Вы можете подключить serial-консоль, вместо VNC. Для этого запустите образ ASAv, который у вас лежит в /opt/unetlab/addons/qemu/командой:
/opt/qemu-2.0.2/bin/qemu-system-x86_64 --enable-kvm -serial none -nographic -nodefconfig -nodefaults -display none -vga std -no-shutdown -smp 1 -m 2048 -drive file=/opt/unetlab/addons/qemu/asav-941-200/virtioa.qcow2,if=virtio,bus=0,unit=0,cache=none -vnc :0
Далее, используя VNC клиент, подсоединитесь к ASAv на порт 5900 и принудительно включите Serial консоль, командами
ciscoasa(config)# cd coredumpinfo
ciscoasa(config)# copy coredump.cfg disk0:/use_ttyS0
Завершить процесс qemu-system-x86_64, командой
killall qemu-system-x86_64
Теперь при добавлении устройства в топологию, можно выбирать консоль telnet вместо VNC.
Ура! Теперь ASAv можно управлять через Telnet - console, со всеми преимуществами, такими как Copy-Paste, и работает она в разы быстрее.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
No comments:
Post a Comment