Практическое использование Виртуального Частного Сервера (VPS) для автоторговли

Mykola Revych | 20 июня, 2007

Постановка задачи: поиск рабочего места для роботов

У каждого автотрейдера есть торговые роботы, которые торгуют на финансовых рынках, и есть компьютер, на котором эти советники запущены и работают. Кто-то запускает советники дома, кто-то - на работе, кто-то - у друзей на сервере, а еще кто-то арендует выделенный сервер. Ясно одно - советникам нужно место работы (офис), а трейдерам – поменьше головной боли, связанной с этим офисом.

Все описанные выше офисы имеют свои плюсы и минусы, поэтому не буду останавливаться на этом подробно. Предложу свой вариант. Итак, мы ставим себе цель - найти офис для работы торговых роботов, который отвечал бы следующим требованиям: удаленная установка, подключение из любой точки планеты, быстрая настройка, быстрое восстановление при сбоях, быстрый перенос, целостная архивная копия, желательно первоклассное "железо", защита, наращивание системы дополнительными сервисами - такими, как публикация отчетов о торговле, котировки и прочее. Желательно еще, чтобы он не был слишком дорогим.


Выбор офиса для автоторговли

Цель поставлена. Начинаем поиск. Домашний компьютер не подходит. Компьютер на работе совсем не подходит, да и начальство "мешает". Друзья предлагают терминальный доступ к серверу, но они его часто перегружают, да и не хочу я ни от кого зависеть. Остается арендовать выделенный сервер. Арендовать или купить собственный сервер – классное решение. Но за ним нужно смотреть, а мне, честно говоря, лень это делать. Выделенный сервер требует значительных затрат времени и сил. Поэтому мы более подробно остановимся на новой возможности - VPS. VPS (virtual private server) – виртуальный частный сервер. Мощный сервер делит свои ресурсы на 30-40 пользователей, у каждого из которых имеется своя виртуальная копия или имитация полноценного компьютера (сервера). Честно говоря, я сразу остановился на VPS. Он выделялся среди других возможностей и отвечал моим требованиям к офису для советников. Оставалось только выбрать, на какой платформе разместиться - Windows VPS или Linux VPS? Здесь у меня не было раздумий. Я имел опыт работы с обеими операционными системы. Первую я возненавидел, вторую полюбил. Жаль, что у меня нет MetaTrader 4 для Линукса, тогда не было бы никаких проблем. Но в жизни все просто не бывает…

(Общая схема компонентов торговой площадки)



Подготовка удаленного офиса

Теперь необходимо запустить MetaTrader 4 под Линуксом. Итак, под Wine (эмулятором среды Windows) MetaTrader 4 заработал, но интерактивно не все кнопки функционируют. То есть система пока работает ненадежно. Значит, будем запускать MetaTrader 4 под VMWare, Xen или QEMU на виртуальном частном сервере. Если ничего не получится, будем арендовать Windows VPS.


Установка виртуальной машины QEMU

VMWare, Xen не заработали на VPS, так как им нужно было загрузить свой модуль в kernel (ядро линукса), а VPS этого не позволяет. QEMU сработал без ускорителя. На нем и остановимся:

  1. покупаем Linux VPS с предустановленной операционной системой Ubuntu Dapper (к примеру, здесь);
  2. скачиваем себе SSH-клиент (все линуксовые системы удаленно управляются через такие клиенты) отсюда;
  3. подключаемся к нашему серверу:





  4. устанавливаем виртуальный QEMU из репозитария (хранилища программ, которое подключено по умолчанию) командами:
    aptitude search qemu,
    aptitude install qemu

    (в Линуксе все дистрибутивы программ хранятся в репозитарии и устанавливаются очень просто, в соответствии с указанными выше процедурами)



Создание образа Windows 2003 Server + Terminal Services

Виртуальная машина готова к запуску. Все, что нам нужно, – это образ Windows Server 2003 с активированными терминальными службами для виртуального QEMU. Создание образа Windows Server 2003+ Terminal Services является достаточно сложной процедурой.

Создание образа состоит из следующих шагов :

  1. создание файла размером в несколько гигабайт;
  2. запуск QEMU с ключом загрузки с CD-привода;
  3. установка Windows 2003 Server;
  4. активация терминальных служб;
  5. установка драйверов сетевой карточки.

Это - самый сложный этап, но его можно пропустить и взять готовый образ отсюда :

http://fileshare.in.ua/2050851

Для входа в Windows надо использовать:


Загрузите файл w2k3.img с http://fileshare.in.ua/2050851 (образ Windows 2003 Server для виртуальной машины) на ваш частный сервер в любую папку. Для обмена файлами с вашим сервером вам понадобится программа WinSCP. Она может закачивать файлы прямо на ваш виртуальный сервер.



Запуск удаленного офиса

Запустить образ Windows 2003 Server под виртуальной машиной на удаленном частном сервере вы можете через планировщик задач AT или поместив его в автозапуск (/etc/rc.local). Для начала установите планировщик заданий для Линукса командой aptitude install at. И еще - установите себе Миднайт-Командер (аналог Нортон-Командера) командой aptitude install mc. Запуск Миднайт-командера производится командой mc, после чего на экране появится следующее окно:



Через планировщик задач виртуальная машина с образом Windows запускается командами:



Автозапуск виртуальной машины

По окончании запуска необходимо нажать на Enter, а потом - на Ctrl-D. Я бы рекомендовал поместить запуск виртуальной машины в автозапуск (файл /etc/rc. local). Но перед этим нам еще потребуется дополнительная программа разделенных сеансов (screen). Установите эту программу командами:

После этого откройте файл /etc/rc.local и можете туда прописать автозапуск виртуальной машины с образом сервера Windows.



Проверьте, что виртуальная машина запущена командой ps ax.



Все, виртуальная машина запущена с образом Windows. Завершите работу с сервером командой exit:



Подключение к удаленному офису

Подключение к удаленному терминальному серверу осуществляем обычным путем : Пуск – Программы – Стандартные – Связь – Подключение к удаленному рабочему столу.




В результате получаем такой вот сервер с запущенным МетаТрейдером 4.0:



На VPS вы можете установить также ФТП- и Веб-серверы, собственный Форум и другие сервисы. В данной статье не приводится информация об их установке.


Список использованных сайтов

  1. Предоставление личного частного сервера (VPS) http://prostohosting.com/services/vps.html
  2. SSH-клиент http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  3. Обмен файлами с VPS, программа WinSCP : http://www.listsoft.ru/programs/16038/
  4. Официальный сайт QEMU для Linux http://fabrice.bellard.free.fr/qemu/
  5. Официальный сайт QEMU для Windows http://www.h7.dion.ne.jp/~qemu-win/
  6. Установка QEMU в Linux : http://mydebianblog.blogspot.com/2006/07/qemu.html
  7. Описание виртуальной машины QEMU http://jack.kiev.ua/docs/qemu-doc-ru.html#SEC8
  8. Бесплатный планировщик задач nnCron http://www.nncron.ru/download_ru.shtml