По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Сложная терминология в некоторых темах, касающихся IT, иногда заводит в тупик. Простой и понятный процесс может быть описан очень комплексным языком, из-за чего, даже после изучения темы, могут остаться вопросы. Это касается и контейнеризации. В рамках этой темы ответим на вопрос - в чем разница между LXC, LXD и LXCFS.
О LXC
LXC (Linux Containers) представляет собой интерфейс в пользовательской среде, функция которого - сдерживать ядро Linux. Имея в активе эффективный API и набор простых инструментов, LXC дает пользователю возможность администрировать любые использующиеся контейнеры.
Важные характеристики
Текущая версия LXC задействует ряд функций ядра, чтобы обеспечить контейнеризацию следующих процессов:
namespaces (ipc, uts, mount, pid);
профиль AppArmor (та же SELinux);
правила Seccomp;
Chroots (задействуя pivot _root);
потенциал ядра;
группы контроля (CGroups).
Как правило, контейнеры LXC обычно воспринимаются пользователями как нечто усредненное между Chroot и VM. Эта технология нацелена на то, чтобы создать среду, аналогичную стандартно установленной Linux, но сделать это без необходимости в дополнительном ядре.
Компоненты
Ниже в списке, несколько актуальных компонентов LXC:
liblxc;
языковые привязки для AP (Python (2 и 3 ), Lua, Go, Ruby, Haskell);
стандартные инструменты администрирования контейнеров;
готовые варианты контейнеров;
LXD - решение для LXC
LXD (Linux Container Daemon) является базирующимся на LXC гипервизором контейнеров.
Основные части LXD:
системный daemon (lxd);
клиент LXC;
плагин (nova-compute-lxd);
REST API предоставляется демоном в локальном или сетевом режиме. Эффективная утилита управления, клиент командной строки, отличается своей интуитивностью и простотой. Именно с помощью него реализовано управление каждым контейнером. Клиент обрабатывает подключение одновременно к разному количеству контейнеров, отображает уже созданные и создает новые. Есть возможность их перемещения в процессе функционирования.
Упомянутый плагин “превращает” все LXD-host в вычислительные узлы, которые работают для поддержки контейнеров, а не VM.
Преимущества
Основные преимущества LXD:
обеспечение безопасности (контейнеры не обладают привилегированностью, ресурсы ограничиваются и так далее.)
любой масштаб использования;
интуитивность (простое управление через ввод в командной строке);
образ-ориентированность (использование надежных образов, вместо шаблонов);
возможность активной миграции;
Связь с LXC
LXD не является новой версией LXC, скорее, он использует ее как базу. Чтобы администрирование контейнеров стало еще проще, LXD задействует LXC, влияя на библиотеку последней. Также во взаимодействии участвует прослойка, написанная на Go. Таким образом, LXD является, по сути, альтернативой LXC с расширенными возможностями (отличный пример - управление через сеть).
LXCFS: настройка контейнеризации
LXCFS - это небольшая архитектура файлов в среде пользователя, которая способна оптимизировать работу ядра Linux.
LXCFS включает в себя:
файлы, которые монтируются над оригинальными аналогами и предоставляют CGroup-совместимые значения;
дерево cgroupfs, функционирующее в независимости от контейнеров.
Архитектура представляет из себя простой код, созданный в C. Задача, которую необходимо было решить - запуск контейнера systemdпод базовым пользователем с параллельным запуском systemd внутри контейнера, с целью взаимодействовать с cgroups.
Если говорить простым языком, цель создания этой архитектуры - ощущение активного контейнера, как независимой системы.
Так в чем же разница?
Сравнивать LXC, LXD, LXCFS не имеет смысла, так как они не представляют из себя 3 разных продукта с одинаковым функционалом. Грубо можно описать их как программу, дополнение к ней и патч, который позволяет среде пользователя адаптироваться под ее нужды.
Компания Cisco сейчас, безусловно, является лидером среди производителей сетевого оборудования, однако немалую часть этого рынка занимает оборудование компаний Huawei и Juniper, в которых команды для CLI отличаются от команд в Cisco IOS. Поэтому, мы собрали в таблицы основные и наиболее часто используемые команды для траблшутинга у Cisco и привели их аналоги в Huawei и Juniper. Поэтому, если вы знакомы с системой IOS, то эта таблица поможет на начальных этапах освоиться в других ОС.
Список основных команд, конечно, шире, поэтому если мы забыли упомянуть какие-то команды, напишите их комментариях.
Cisco
Huawei
show
display
traceroute
tracert
configure terminal
system-view
exit
quit
end
return
no
undo
reload
reboot
erase
delete
hostname
sysname
enable
super
disable
super 0
write memory / copy running-config startup-config
save
show ip route
display ip routing-table
show flash
dir flash:
clear
reset
show logging
display logbuffer
write terminal / show run
display current-configuration
show startup
display saved-configuration
show tech
display diagnostic-information
show ip nat translation
display nat session
enable secret
super pass cipher
snmp-server
snmp-agent
router ospf
ospf
router rip
rip
router bgp
bgp
show ospf neighbours
display ospf peer
show interfaces
display interface
show version
display version
show history
display history-command
show access-list
display acl all
shop ip nat translations
display nat session all
show mac address-table
display mac-address
show spanning-tree
display stp
debug / no debug
debugging / undo debugging
Получается как-то так. А если сравнить команды Cisco и Juniper?
Cisco
Juniper
show run
show configuration
show history
show cli history
show running-config
show configuration
show ip route
show route
show ip interface brief
show interface terse
show controller
show interfaces intfc extensive
show tech-support
request support info
reload
request system reboot
clock set
set date
show ip bgp
show route protocol bgp
show ip bgp neighbors
show ip bgp neighbor
show ip bgp summary
show bgp summary
clear ip bgp
clear bgp neighbor
show ip ospf database
show ospf database
show ip ospf interface
show ospf interface
show ip ospf neighbor
show ospf neighbor
show ip traffic
show system statistic
show logging
show log
no
delete
IP – АТС Asterisk – сложная система обработки телефонных вызовов, состоящая из различных драйверов и модулей. Зачастую системные администраторы сталкиваются с неисправностью того или иного функционала: не работает входящая/исходящая связь, односторонняя слышимость, проблемы с внутренними номерами и так далее. Чтобы решить данные проблемы, надо понять их суть – посмотреть в журнал (лог – файл) Asterisk и узнать, что же происходит на самом деле. О том, как правильно собрать логи, их глубина и параметры, а также про сбор сетевого дампа расскажем в этой статье.
Настройка логирования
Приступаем к настройке. Для этого, нам необходим посмотреть содержимое файла /etc/asterisk/logger.conf. Давайте откроем его:
[root@asterisk ~]# cat /etc/asterisk/logger.conf
[general]
#include logger_general_additional.conf
#include logger_general_custom.conf
[logfiles]
#include logger_logfiles_additional.conf
#include logger_logfiles_custom.conf
Как видим, в данный файл включен «кастомная» настройка – файл logger_logfiles_custom.conf . В нем мы и будем производить необходимые настройки. Допустим, мы хотим записывать в файл logs_ echo date("Ymd"); основные события. Для этого, откроем для редактирования файл и добавим в него следующую запись:
[root@asterisk ~]# vim logger_logfiles_custom.conf
logs_ echo date("Ymd"); => notice,warning,error,debug,verbose,dtmf
Сохраняем изменения нажатием :x!.
Начиная с 13 версии Asterisk, существует возможность создавать задачи на логирования прямо из консоли. Для этого существует команда logger add channel . Например:
logger add channel logs_ echo date("Ymd"); notice,warning,error,debug,verbose,dtmf
Логирование будет остановлено при следующем рестарте Asterisk.
Глубина записи логов
В Asterisk можно задавать глубину логирования параметром verbose и debug. Первый режим более информативен для администратора, когда необходимо оперативно понять причину неисправности, тогда как второй режим более полезен для более глубоко анализа. Глубина задается от 1 до 10, где 10 – максимальный уровень информативности:
asterisk*CLI> core set verbose 3
asterisk*CLI> core set debug 3
После этого, необходимо перезагрузить модуль логирования:
asterisk*CLI> module reload logger
Дебаг на уровне каналов
В Asterisk можно производить дебаг на уровне отдельных драйверов. Например, если вы хотите отладить подключения по протоколу SIP – своя команда, по IAX – другая. Ниже представлен список:
Драйвер
Команда отладки
SIP (версия вышел 1.6)
sip set debug on
SIP (версия 1.4)
sip set debug
PJSIP
pjsip set logger on
Запись CDR
cdr set debug on
IAX2 (версия вышел 1.6)
iax2 set debug on
IAX2 (версия 1.4)
iax2 set debug
Остановить логирование
Когда отладка закончена, необходимо вернуть все в первоначальный вид. Отключаем дополнительный дебаг:
asterisk*CLI> core set verbose 0
asterisk*CLI> core set debug 0
Чтобы выключить дебаг на конкретных каналах, даем команду вида:
asterisk*CLI> sip set debug on
asterisk*CLI> iax2 set debug off
Далее, в файле /etc/asterisk/logger.conf закомментируйте или удалите добавленную строчку. После этого перегружаем модуль логирования:
asterisk*CLI> module reload logger
Дебаг Asterisk в файл
Прямо из консоли можно добавлять дебаг в файл. Для этого, его необходимо первоначально создать. Например:
[root@asterisk ~]# touch /home/asterisk_cli.txt
Далее, вызываем консоль сервера IP – АТС Asterisk следующим способом:
[root@asterisk ~]# asterisk -rvvvv | tee /home/asterisk_cli.txt
В открывшейся консоли дайте одну из перечисленных команд дебага, например, sip set debug on. Весь вывод будет сохранен в указанном файле. По окончанию укажите в консоли sip set debug off и quit.
Сетевой дамп Asterisk для анализа в Wireshark
Простейшим способом снять сетевой дамп является утилита tcpdump. Чтобы ей воспользуйтесь командой:
[root@asterisk ~]# tcpdump -s 0 -w /home/dump.cap
Затем, после снятия необходимого дампа, Вы сможете сохранить файл dump.cap в директории /home себе на компьютер, для последующего анализа. Помимо этого, в команде есть возможность дать дополнительные ключи, например -i eth0 - указание интерфейса, с которого необходимо снять дамп, а port 5060 - указать порт, на который приходят пакеты.