Архитектура moskva.com

Category: admin

Проект москва.ком представял из себя главный городской портал Москвы. С посещамостью 100к-300к хостов в день.

Используемые технологии Debian Linux (etch), Nginx 0.4-0.6, Apache 2.X, PHP 5, MySQL 5.0, Memcache, Xdebug, DRBD.

Теперь по порядку

Изначально сайт работал на 3-х серверах, каждый из которых выполнял свою роль, frontend, backend, database + backups, для организации fail-over решения, этого было недостаточно, точнее fail-over решение вообше отсутствовало в каком либо виде. По скольку планировалось обслуживать большой трафик посетителей, было решено пересмотреть мощности и реализовать highload и failover систему.

Hardware

Было приобретено:

  • 2 x Dell SC1435 (2 x Duo Core AMD 2200Mhz / 2GB RAM / 70GB SATA) Спецификация
  • 4 x Dell PowerEdgeTM 2950 (4 x Core Duo Intel(R) Xeon(TM) MP CPU 3.16GHz / 16GB RAM / 300GB SCSI) Спецификация
  • 2 x SuperMicro (4 x Intel(R) Xeon(R) CPU 5130 @ 2.00GHz / 3GB RAM / 16 x 750GB SCSI Дисков + RAID 50 / 60 )

  • 2 x KVM ALTUSEN 16 ports
  • 2 x POWER CONTROL ALTUSEN 16 ports

Всего получилось 10 серверов и еще один маршрутизатор cisco express 500, и все это железо предстояло подключить и настроить. подробнее об этом дальше.

Highload n Failover

10 делились на 3 логические группы (уровни):

На каждом уровне было как минимум 2 сервере, для обеспечения отказоустойчивости 99,9% (3 уровень отказоустойчивости)

1. Уровень Loadbalance и статический контент

Это балансировщик нагрузки, в качестве которого выступал nginx(тогда еще версии 0.3) и failover демон heartbeat который следил за серверами и в случае отказа, переключал нагрузку на доступный сервер.

2. Уровень Backend workers and database

На этом уровене было 4 сервера. 2 из которых были чистыми application серверами на apache для php, и принимали запросы только с первого уровня. 2 другие сервера это Mysql база данных с Master-Slave репликацией и резервным копированием со...

Установока linux на Palm LD(Life Drive)

Category: old device

Необходимые файлы

Загрузчик CocoBoot

Образ rootfs с OPIE

Замечание

На выбор предлагается ещё GPE - будет медленно работать на LifeDrive и устройствами с небольшой помятью, а также просто загружаемая система без оболочки

Swap file

Важно Чтобы не качать пустой swap файл размером 90 мегобайт, почему бы не сделать его самомy

# dd if=/dev/zero of=swap bs=1k count=96k # mkswap swap

Конфиг ядра

Там две строчки:

SWAP_DEV=$FILES_MNT/swap ROOT_DEV=$FILES_MNT/opie-image-v0.8.4-palmld.rootfs.ext2
Расположение swap файла и rootfs соответсвенно, от корневой директории.

Процесс установки

1)Включаем на Palm'e Drive Mode, и монтируем диск,

# mount /dev/sda1 /mnt/palm
Копируем файлы swap, linux.boot.cfg, и opie-image-v0.8.4-palmld.rootfs.ext2 в корень palm диска, демонтируем устройство и запускаем CocoBoot на palm'e. Жмём естественно Boot.

Получаем следущую картину:

Загружается ядро... и далее графическая оболочка OPIE:

Всё установлено и готово к использованию, на момент написания статьи доступна новая сборка linux для Palm LD

http://builds.hackndev.com/builds/Marex/TP1-20070717.tar.bz2
Подробнее о OPIE http://opie.handhelds.org/cgi-bin/moin.cgi/News


cat /proc/cpuinfo

Модули ядра

PIM

Тесты системы

Рабочий стол настроек

OpieMediaPlayer
- музыка так и незаиграла

root shell

Итоги

Итоги видны табличке номер один на в начале статьи Система работает стабильно - непадает, segfault'ов ненаблюдалось. Собственно есть всё тоже самое что и в стандартной PalmOS, единственную проблему которую я вижу это мало софта, во остальном всё готово к употреблению.


Ссылки по...