• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Рейтинг@Mail.ru

    Добро пожаловать! Ваш IP-адрес: ec2-54-81-203-33.compute-1.amazonaws.com

    Объединение Bonding сетевых интерфейсов в Linux Debian

    Данной статье описанны возможности объединения сетевых интерфейсов для отказоустойчивости и увеличения пропускной способности. Называется это в Linux - BONDING интерфейсов, в windows - Teaming интерфейсов.

    Типы агрегации (объединения) интерфейсов в Linux

    mode=0 (balance-rr)
    Этот режим используется по-умолчанию, если в настройках не указано другое. balance-rr обеспечивает балансировку нагрузки и отказоустойчивость. В данном режиме пакеты отправляются "по кругу" от первого интерфейса к последнему и сначала. Если выходит из строя один из интерфейсов, пакеты отправляются на остальные оставшиеся.При подключении портов к разным коммутаторам, требует их настройки.

    mode=1 (active-backup)
    При active-backup один интерфейс работает в активном режиме, остальные в ожидающем. Если активный падает, управление передается одному из ожидающих. Не требует поддержки данной функциональности от коммутатора.

    mode=2 (balance-xor)
    Передача пакетов распределяется между объединенными интерфейсами по формуле ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.

    mode=3 (broadcast)
    Происходит передача во все объединенные интерфейсы, обеспечивая отказоустойчивость.

    mode=4 (802.3ad)
    Это динамическое объединение портов. В данном режиме можно получить значительное увеличение пропускной способности как входящего так и исходящего трафика, используя все объединенные интерфейсы. Требует поддержки режима от коммутатора, а так же (иногда) дополнительную настройку коммутатора.

    mode=5 (balance-tlb)
    Адаптивная балансировка нагрузки. При balance-tlb входящий трафик получается только активным интерфейсом, исходящий - распределяется в зависимости от текущей загрузки каждого интерфейса. Обеспечивается отказоустойчивость и распределение нагрузки исходящего трафика. Не требует специальной поддержки коммутатора.

    mode=6 (balance-alb)
    Адаптивная балансировка нагрузки (более совершенная). Обеспечивает балансировку нагрузки как исходящего (TLB, transmit load balancing), так и входящего трафика (для IPv4 через ARP). Не требует специальной поддержки коммутатором, но требует возможности изменять MAC-адрес устройства.

    Подробнее...

    Установка MongoDB на Linux Debian

    MongoDB (от англ. humongous — огромный) — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++.

    MongoDB, по мнению разработчиков, должна заполнить разрыв между простыми хранилищами данных типа «ключ-значение» (быстрыми и легко масштабируемыми) и большими РСУБД (со структурными схемами и мощными запросами).

    Возможности MongoDB:

    Документо-ориентированное хранилище (простая и мощная JSON-подобная схема данных)
    Достаточно гибкий язык для формирования запросов
    Динамические запросы
    Полная поддержка индексов
    Профилирование запросов
    Быстрые обновления «на месте»
    Эффективное хранение двоичных данных больших объёмов, напр., фото и видео
    Журналирование операций, модифицирующих данные в БД
    Поддержка отказоустойчивости и масштабируемости: асинхронная репликация, набор реплик и шардинг
    Может работать в соответствии с парадигмой MapReduce

    MongoDB vs MySQL

    По многочисленным тестам производительности, которые можно найти на просторах интернета, были сделаны выводы, что главное преимущество MongoDB перед MySQL проявляется во время записи и обновления данных в БД, примерно превосходя MySQL в 1,5 раза.
    Во время чтения данных, мнения и тесты расходятся, особенно если учитывать нагрузку, объемы и т.д.

    Подробнее...

    Установка MegaCli на Linux Debian из репозиториев!

    Для начало нужно добавить в /etc/apt/sources.list данный репозиторий!

    deb http://hwraid.le-vert.net/debian wheezy main

    Далее скачиваем и добавляем ключ

    wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -
    После чего обновляем пакеты Debian:

    apt-get update
    ----------------------------
    Reading package lists... Done

    Далее ставим необходимый пакет megacli

    apt-get install megacli

    Проверяем что получилось!!
    megacli -V

    MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013

    Установка ElasticSearch на LInux Debian или Ubuntu

    Для начало нам нужно обновить список доступных пакетов

    # apt-get update

    Далее, мы должны установить среду выполнения Java. Есть два варианта здесь.

    Установите OpenJDK выполнения поставляемый Ubuntu.
    Установите Elasticsearch рекомендуется Java Runtime, Oracle Java.

    Первый вариант работает прекрасно, если вы просто хотите, чтобы поиграть и познакомиться с Elasticsearch или запустить небольшую коллекцию узлов.
    Последний вариант является одним путем Elasticsearch рекомендуется для гарантированной совместимости

    Начнем установку OpenJDK:

    # apt-get install openjdk-7-jre-headless -y

    Проверяем как установилось java:

    # java -version

    java version "1.7.0_45"
    Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

    Все нармально!
    Далее ставим не посредственно Elasticsearch:

    Скачиваем с официального сайта deb пакет и устанавливаем

    # wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.deb
    sudo dpkg -i elasticsearch-1.0.1.deb


    Запускаем сервис:

    # service elasticsearch start
    [ ok ] elasticsearch is running

    Проверяем:
    #curl http://localhost:9200
    или в Вашем браузере http://ваш_ip:9200

    Сборка Nginx с модулями nginx-upload-module nginx-rtmp-module

    Для начало скачиваем последнюю стабильную версию nginx:

    wget http://nginx.org/download/nginx-1.4.6.tar.gz
    tar xzf nginx-1.4.6.tar.gz

    Далее с github скачиваем нужные нам модули:

    git clone https://github.com/yaoweibin/nginx_cross_origin_module.git
    git clone https://github.com/arut/nginx-rtmp-module.git
    git clone -b 2.2 git://github.com/vkholodkov/nginx-upload-module.git
    git clone https://github.com/masterzen/nginx-upload-progress-module.git

    Устонавливаем библиотеку libpcre3-dev:

     apt-get install libpcre3-dev

    после:

    cd nginx-1.4.6/

    конфигурируем:

    ./configure --add-module=../nginx-upload-module --add-module=../nginx-upload-progress-module --add-module=../nginx_cross_origin_module --add-module=../nginx-rtmp-module --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio

    принеобходимости можно еще добавить доболнительные параметры!

    make
    make install
    
    Проверяем что у нас получилось:
    root@root:~# nginx -V
    nginx version: nginx/1.4.6
    built by gcc 4.7.2 (Debian 4.7.2-5)
    TLS SNI support enabled
    configure arguments: --add-module=../nginx-upload-module --add-module=../nginx-upload-progress-module --add-module=../nginx_cross_origin_module --add-module=../nginx-rtmp-module --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio

    Как выключить или перезагрузить Windows через командную строку?

    Для перезагрузки через удаленный рабочий стол под Windows XP/Vista/7 можно выполнить команду: shutdown -t 0 -r -f Параметры: -t 0 означает перезагрузка в течении «ноль» секунд, -r перезагрузка а не выключение (reboot) -f завершает все запущенные приложения (force, форсированное выключение с принудительным завершением программ)

    Немедленная перезагрузка через командную строку:
    shutdown -r -t 0

    Немедленное выключение через командную строку:
    shutdown -s -t 0

    Ключи: Для перезагрузки/выключения компьютера с ОС Windows (9x, 2k, NT, XP)
    -i отображение графического интерфейса. При использовании этот ключ ставится впереди всех.
    -l выход из системы. Несовместима с ключом –m.
    -s выключение компьютера.
    -r перезагрузка компьютера.
    -a отмена выполнения перезагрузки/выключения.
    -m A применение операции к удаленному компьютеру с именем A.
    -t N таймер выполнения операции в N секунд.
    -c “T” комментарий к операции. При использовании в окне будет отображен комментарий T. В командной строке обязательно заключать его в двойные кавычки. Не должен быть длиннее 127 знаков.
    -f Принудительное завершение работы приложений без предварительного предупреждения.
    -d [u] [p]:xx:yy Код причины.
    u – пользовательский код.
    p – запланированное завершение.
    xx – основной код причины (1-255).
    yy – дополнительный код причины (1-65535)

    Как создать (виртуальный диск) ramdisk Linux?

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

    Собственно, в ядре должна быть поддержка tmpfs, и если вы (или авторы вашего дистрибутива) не любители усложнять себе жизнь, она там должна быть.
    Создаём новую точку монтирования:

    # mkdir /mnt/tmpfs/
    # chmod 777 /mnt/tmpfs/

    и даём все права на использование. После этого даём команду (от рута или через sudo):
    # mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
    или
    $ sudo mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
    где xxxM есть размер RAMdisk в Мегабайтах.
    Будьте осторожны и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно.

    Если же вы хотите изменить размер ramdisk - это просто:
    # mount -o remount -o size=yyyM /mnt/tmpfs/
    или
    $ sudo mount -o remount -o size=yyyM /mnt/tmpfs/
    При этом содержимое диска не пропадёт, но его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).

    Добавление программ в автозапуск в Linux Debian

    В данном примере описывается как добавить в автозагрузку nginx? По аналогии добавляем и другие программы!
    Для начало нужно задать права на исполнение файла
    # chmod +x /etc/init.d/nginx
    После заносим в автозагрузку:
    # /usr/sbin/update-rc.d -f nginx defaults

    Обновление Linux Debian 6 до Linux Debian 7

    Изменяем файл источников пакетов sources.list
    # vi /etc/apt/sources.list

    deb http://ftp.us.debian.org/debian/ wheezy main
    deb-src http://ftp.us.debian.org/debian/ wheezy main

    deb http://security.debian.org/ wheezy/updates main
    deb-src http://security.debian.org/ wheezy/updates main

    deb http://ftp.us.debian.org/debian/ wheezy-updates main
    deb-src http://ftp.us.debian.org/debian/ wheezy-updates main


    Обновляем пакеты
    # apt-get update
    # apt-get upgrade

    Во время обновления, подтвердим перезапуск сервисов
    Restart services during package upgrades without asking

    Обновляем систему
    # apt-get dist-upgrade

    Перезапускаемся и проверяем релиз и ядро
    # init 6
    # more /etc/issue
    Debian GNU/Linux 7.0 \n \l

    # uname -r
    3.2.0-4-686-pae

    Как установить DNS инструменты dig, nslookup на Linux Debian?

    Установив не давно новую чистую систему Linux Debian, наткнулся на такую проблему что не могу проверить с помощью команды dig и nslookup работоспособность одного сайта!
    Не много по гууглив нашел что нужно ставить днс пакет в котором все эти утилиты есть!

    Для этого тостаточно иметь в /etc/apt/sources.list

    deb http://ftp.de.debian.org/debian/ wheezy main
    deb-src http://ftp.de.debian.org/debian/ wheezy main
    deb http://ftp.de.debian.org/debian/ wheezy-updates main
    deb-src http://ftp.de.debian.org/debian/ wheezy-updates main


    В зависимости от вашей версии Debian:
    Далее:

    # sudo apt-get install dnsutils

    Проверяем dig или nslookup




    Cisco Systems
    OS FreeBSD
    OS Linux
    OS MikroTik Router