Вход на сайт
Яндекс.Метрика

Рейтинг@Mail.ru

Обновление/замена Perl в Centos из исходников

 Установка/замена Perl в Centos из исходников

1. Скачаиваем source

wget http://www.cpan.org/src/5.0/perl-5.14.2.tar.gz

2. Распаковываем

tar -xf perl-5.14.2.tar.gz
cd perl-5.14.2

3. Если не установлены make и gcc, то ставим их

yum -y install make

yum -y install gcc

4. Указываем где будет home

./Configure -des -Dprefix=/opt/perl5/perls/perl5.14.2

5. Собираем

make
make test
make install

6. Создаем симлинк на наш новый perl

rm /usr/bin/perl

ln -s /opt/perl5/perls/perl5.14.2/bin/perl /usr/bin/perl

[root@ext2 libexec]# perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux

Copyright 1987-2011, Larry Wall

7. Ставим заново неоходимые модули. 

Кластер Pacemaker+Corosync+HAProxy+Nginx

Для построения кластера высокой доступности, т.е. high availability, будем использовать PacemakerPacemaker - менеджер ресурсов кластера (Cluster Resource Manager), задачей которого является достижение максимальной доступности управляемых им ресурсов и защита их от сбоев как на уровне самих ресурсов, так и на уровне целых узлов кластера. Архитектура pacemaker состоит из трех уровней: 

  1. Кластеронезависимый уровень - на этом уровне располагаются сами ресурсы и их скрипты, которыми они управляются и локальный демон, который скрывает от других уровней различия в стандартах, использованных в скриптах (на рисунке зеленый).

  2. Менеджер ресурсов (Pacemaker), который предстовляет из себя мозг. Он реагирует на события, происходящие в кластере: отказ или присоединение узлов, ресурсов, переход узлов в сервисный режим и другие административные действия. Pacemaker исходя из сложившейся ситуации делает расчет наиболее оптимального состояния кластера и дает команды на выполнения действий для достижения этого состояния (остановка/перенос ресурсов или узлов). На рисунке обозначен синим.

  3. Информационный уровень - на этом уровне осуществляется сетевое взаимодействие узлов, т.е. передача сервисных команд (запуск/остановка ресурсов, узлов и т.д.), обмен информацией о полноте состава кластера (quorum) и т.д. На рисунке обозначен красным. Как правило на этом уровне работает Corosync. 

Подробнее: Кластер Pacemaker+Corosync+HAProxy+Nginx

Узкие места сетевой подсистемы Linux. Тюнинг сети в Linux. Настройка производительности сети в модели NAPI и с прерываниями.

Узкие места сетевой подсистемы Linux. Тюнинг сети в Linux. Настройка производительности сети в модели NAPI и с прерываниями.

Кольцевой буфер

Кольцевые буферы, совместно используются драйвером устройства и сетевой картой. TX – есть передача данных, а RX – получение данных в кольцевом буфере. Как следует из названия, переполнение буфера просто перезаписывает существующие данные. Есть два способа переместить данные от сетевой карты до ядра: аппаратные прерывания и программные прерывания, названные SoftIRQs.

Кольцевой буфер RX используется, чтобы сохранить входящие пакеты, пока они не могут быть обработаны драйвером устройства. Драйвер устройства опустошает буфер RX, обычно через SoftIRQs, который помещает входящие пакеты в структуру данных ядра, названную sk_buff или «skb», чтобы начать свой путь через ядро и до приложения, которому принадлежит соответствующий сокет. Кольцевой буфер TX используется для хранения исходящих пакетов, которые предназначенные для отправки по проводам.

Эти кольцевые буферы находятся у основания стека и являются критическим моментом, в который может произойти удаление (drop) пакетов, что негативно влияет на производительность сети.

Прерывания и обработчики прерываний

Прерывания от аппаратных средств известны как прерывания «top-half».

Сетевые карты, как правило, работают с кольцевыми буферами (DMA ring buffer) организованными в памяти, разделяемой с процессором. Каждый входящий пакет размещается в следующем доступном буфере кольца. (DMA - Direct Memory Access (Прямой доступ к памяти) — режим обмена данными между устройствами или же между устройством и основной памятью, в котором центральный процессор (ЦП) не участвует). После этого требуется сообщить системе о появлении нового пакета и передать данные дальше, в специально выделенный буфер (Linux выделяет такие буферы для каждого пакета). Для этой цели в Linux используется механизм прерываний: прерывание генерируется всякий раз, когда новый пакет поступает в систему. Чаще используется отложенные прерывания (см. в статье Linux, принципы работы с сетевой подсистемой ). В ядро Linux начиная с версии ядра 2.6 был добавлен так называемый NAPI (New API), в котором метод прерываний сочетается с методом опроса. Сначала сетевая карта работает в режиме прерываний, но как только пакет поступает на сетевой интерфейс, она регистрирует себя в poll-списке и отключает прерывания. Система периодически проверяет список на наличие новых устройств и забирает пакеты для дальнейшей обработки. Как только пакеты обработаны, карта будет удалена из списка, а прерывания включатся снова.

Подробнее: Узкие места сетевой подсистемы Linux. Тюнинг сети в Linux. Настройка производительности сети в...

Linux, принципы работы с сетевой подсистемой

Сетевая подсистема Linux

Сетевая модель TCP/IP условно согласуется с 7-ми уровневой моделью OSI. На платформе Linux сложилась следующая терминология разделения на подуровни, которой пользуются разработчики ядра:

  • Всё, что относится к поддержке оборудования и канальному уровню, описывается как сетевые интерфейсы и обозначается как L2 (обычно тут у нас Ethernet);
  • Протоколы сетевого уровня OSI (IP, IPX, RIP и т.д.) - как сетевой уровень стека протоколов или уровень L3;
  • Всё, что выше (ICMP, UDP, TCP, SCTP и т.д.) - как протоколы транспортного уровня или уровень L4;
  • Всё то, что относится к выше лежащим уровням (сеансовый, представительский, прикладной) модели OSI (например: SSH, SIP, RTP, HTTP, FTP и т.д.), не проявляется в ядре и относится уже к области клиентских и серверных утилит пространства пользователя.

Взаимодействие компьютера с сетью можно еще больше упростить и представить в виде трехуровневой сетевой модели, в которой различают физический уровень, уровень протоколов и очереди, которые объединяют их.

Подробнее: Linux, принципы работы с сетевой подсистемой

Схема работы DNSSEC

DNSSEC — технология, которая позволяет удостоверяться в подлинности DNS информации при помощи криптографической подписи.

Максимально упрощенно это выглядит примерно так:

имеется корневая зона ".", которая содержит в себе информацию о всех доменах первого уровня. 
Условно говоря, это файл с множеством строк, который изменяется достаточно редко. Создается пара открытый+закрытый ключ и каждая запись в этом файле подписывается.
Имея открытый ключ от этой пары, можно удостовериться в подлинности каждой записи в этом списке. Например, проверить что за зону moscow. действительно отвечают сервера flexireg:
dig -t any +dnssec @k.root-servers.net moscow.
В ответе можно увидеть запись RRSIG содержащую хеш-подпись:

Подробнее: Схема работы DNSSEC

Страница 2 из 7

unix-way