6 июня 2013 г.

switching fabric и forwarding rate.

В технической документации Cisco Systems выделены две основных характеристики производительности коммутаторов: Switching Fabric и Forwarding Rate.


Switching Fabric

Параметр Switching Fabric описывает пропускную способность общей шины коммутатора; значение этого параметра определяет общую скорость побитовой передачи данных между портами устройства. Если суммарная пропускная способность всех портов коммутатора превосходит значение пропускной способности общей шины, то данный коммутатор обладает блокирующей общей шиной (blocking Switching fabric), а если не превосходит, то неблокирующей (non-blocking).
Например, общая пропускная способность портов коммутатора WS-3750X-48T-S составляет 48*2=96 Гбит/с (удвоение связано с возможностью одновременного приема и передачи кадров), а пропускная способностью общей шины – 160 Гбит/с. Таким образом, данный коммутатор обладает неблокирующей общей шиной.

Forwarding Rate

Коммутатор передает информацию в виде отдельных кадров. Поскольку обработка каждого кадра требует времени и ресурсов оборудования, общее количество обрабатываемых кадров ограничено. Одна и та же модель коммутатора может эффективно обрабатывать большие потоки данных, которые передаются в виде больших кадров, но не справиться с меньшим потоком мальньких кадров. Количество кадров, которые могут быть обработаны коммутатором, описывается параметром Forwarding Rate.
Через один гигабитный порт коммутатора может передаваться до 2*1,5=3 млн пакетов в секунду (1'485'884*2 пакетов в секунду), если размер кадра равен 64 байтам. Таким образом, коммутатор с 48 портами должен обладать способностью передавать примерно 140 млн пакетов в секунду, чтобы гарантированно справиться с любым возможным потоком данных. В реальных условиях современной мультисервисной сети такое распределение размеров пакетов невозможно, поэтому производители выпускают коммутаторы, значение параметра Forwarding Rate которых позволяет обрабатывать потоки данных с максимальной загрузкой интерфейсов при среднем размере пакета больше 100 байт.

Ссылка 1

Порядок загрузки ядра Linux.



Этап загрузки
Описание
1. Загрузка BIOS
BIOS (Basic Input/Output System) - это реализованная в виде микропрограмм часть системного программного обеспечения, которая обеспечивает начальную загрузку компьютера и последующий запуск операционной системы.
После включения ПК начинается проверка аппаратного обеспечения компьютера (POST). Если проверка была завершена успешно, BIOS производит поиск MBR на указанных в настройках носителях и запускает загрузчик ОС.
2. Чтение MBR
Первый сектор (512 байт) загрузочных носителей зарезервирован под MBR. При использовании grub MBR используется для хранения первой стадии загрузчика (stage1), которая запускается для выполнения второй стадии (stage2).
3. Исполнение программы-загрузчика
После исполнения кода первой стадии загрузчика (stage1), хранящегося в MBR, происходит исполнение второй стадии, на которой осуществляется анализ данных в файлах загрузчика (установленные ОС, вывод меню выбора загружаемой ОС, параметры выводимого меню и т.д.) и загрузка ядра нужной операционной системы.
4. Загрузка ядра ОС
Запущенное загрузчиком ядро ОС осуществляет инициализоцию оборудования, производит монтирование файловой системы, указанной в настройках загрузчика в качестве корневойю. После успешного монтирования файловой системы запускается даймон init, который завершает загрузку ОС.
5. Выполнение init
При нормальном процессе загрузки init осуществляет выполнение программ для уровня выполнения (runlevel) по умолчанию, указанному в файле /etc/inittab. Сценарии загрузки для разных уровней выполнения хранятся в /etc/rc*
Дополнительно. Уровни выполнения в Debian (уровень по умолчанию можно посмотреть в /etc/inittab)
0 - выключение ОС;
1 - однопользовательский режим;
2-5 - многопользовательский режим, по умолчанию используется runlevel2;
6 - перезагрузка ОС.

CentOS 6. Создание загрузочного USB флеш-накопителя.


Образы ISO, которые можно скачать с официальных зеркал, нельзя просто скопировать с помощью dd на USB флеш-накопитель и загрузить. Для установки с USB Flash требуется настроить загрузку с носителя и скопировать на него необходимые файлы. Все действия были произведены из Debian Wheezy (в отличие от CentOS использует GRUB2)
Порядок создания загрузочного флеш-накопителя:
1) Удалить таблицу разделов на носителе. Извлечь носитель из разъема USB и подключить обратно.
dd if=/dev/zero of=/dev/sdb bs=512 count=1
2) Создать новый раздел на носителе, изменить свойства созданного раздела:
# fdisk /dev/sdb

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-7831551, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-7831551, default 7831551): 


Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 0B
Changed system type of partition 1 to b (W95 FAT32)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w

# partprobe

3) Создать файловую систему нового раздела
# mkfs.vfat /dev/sdb1
4) Копирование необходимых файлов на накопитель (требуется ISO образ диска):
# mount /dev/sdb1 /media/usb
# cd /media/usb
# cp /var/iso/CentOS-6.4-x86_64-minimal.iso centos.iso
# ls
centos.iso
# mount centos.iso /media/cdrom

# cp -R ../cdrom/images/ ./
# ls
centos.iso  images
# mkdir boot
# cp ../cdrom/isolinux/vmlinuz boot/
# cp ../cdrom/isolinux/initrd.img boot/
5) Установка загрузчика:
# grub-install --boot-directory=/media/usb/boot/ /dev/sdb
6) Создание файла настроек GRUB:
# vi boot/grub/grub.cfg 
Содержание grub.cfg после внесенных изменений:
# cat boot/grub/grub.cfg 
menuentry 'Boot Centos' --class gnu-linux --class gnu --class os {
        insmod gzio
        insmod part_msdos
        set root='(hd0,msdos1)'
        echo    'Loading Linux ...'
        linux   /boot/vmlinuz ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img
}
#

Centos 6.4. Libvirt LVM pool.

В CentOS 6.4 можно использовать LVM VG в качестве пула носителей libvirt, можно создать носители в этом пуле с помощью virsh. Созданные таким образом носители невозможно использовать в качестве дисков для  виртуальных машин из-за политик SELinux. Решение: контексты устройств можно изменить с помощью следующих команд:

semanage fcontext -E | grep virt_image_t | awk '{$1=""; $2=""; print "semanage fcontext -d"$0}' | bash
ls -lZ /dev/lvm_vg/ | awk '{print $NF}' | awk '{print "semanage fcontext -a -f -b  -t virt_image_t /dev/"substr($0,4)}' | bash
restorecon /dev/dm*