Реализация

Облако CSAIL настоящее время состоит из 64 физических узлов в сумме с 768 физическими ядрами и 3456 ГБ оперативной памяти. Система постоянного хранения данных восновном сосредоточена вне облака в NFS, а ресурсы облака сосредоточены на вычислительной среде. В более чем 40 проектах существует более 130 пользователей, обычно нагружающих 2000-2500 vCPU в 300 - 400 экземплярах.

Первоначально мы развернули Ubuntu 12.04 с редакцией OpenStack Essex, использующей сеть FlatDHCP с многими хостами.

Стек программного обеспечения все еще использует Ubuntu 12.04 LTS, но теперь с редакцией OpenStack из архива облака Ubuntu. Гипервизором является KVM, развернутый при помощи FAI и Puppet для управления настройками. Сочетание FAI и Puppet широко используется в лаборатории, не только для OpenStack. Существует отдельный узел контроллера облака, он же выступает в качестве сетевого контроллера, а оставшееся оборудование серверов выделено под вычислительные узлы.

Агрегаты хостов и дополнительные спецификации типов экземпляров используются для поддержки двух различных соотношений выделения ресурсов. Мы используемое соотношение выделения ресурсов по умолчанию 4:1 для ЦПУ и 1.5:1 для оперативной памяти. Нагрузки с интенсивными вычислениями используют типы экземпляров, которые требуют хосты без превышения, в которых и cpu_ratio, и ram_ratio установлены в 1.0. Поскольку hyperthreading на вычислительных узлах включен, это предоставляет один vCPU на поток ЦПУ, или два vCPU на физическое ядро.

Выполнив в августе 2013 модернизацию на редакцию Grizzly, мы перешли к использованию сетевой службы OpenStack neutron (в то время quantum). Вычислительные узлы имеют по два гигабитных сетевых интерфейса и отдельную плату управления для IPMI администрирования. Один сетевой интерфейс используется для взаимодействия между узлами. Оставшийся используется в качестве магистрального (trunk) порта для управляемых OpenStack VLAN. Узел контроллера использует два объединенных 10 гигабитных сетевых интерфейса для своих общедоступных IP взаимодействий. Здесь используются широкие каналы, поскольку образы обслуживаются через этот порт, а также он используется для для соединения с системой хранения iSCSI, обслуживающей хранилище образов и базу данных. Узелконтроллера также имеет гигабитный интерфейс, который используется в магистральном (trunk) режиме для управления обменом в VLAN. Этот порт обслуживает обмен для dhcp-agent и metadata-proxy.

Мы аппроксимировали нашу старую установку nova-network с высокой доступностью с многими хостами при помощи "поставщика сетей VLAN", который соединяет экземпляры напрямую с сетями собщедоступными адресами и используем существующие аппаратные маршрутизаторы вкачествеих шлюзов по умолчанию. Это означает, что если наш сетевой контроллер выходит из строя, работающие экземпляры продолжают иметь доступ к сети и никакой отдельный хост с Linux не становится узким местом обмена. Мы имеем такую возможность, поскольку у нас есть достаточное адресное пространство IPv4 чтобы обеспечить все наши экземпляры и,таким образом, у нас нет потребности в NAT и мы не используем плавающие IP адреса. Мы предоставляем единую общедоступную сеть для всех проектов, а также дополнительные существующие VLAN на основе от проекта к проекту по мере необходимости. Индивидуальные проекты также могут создавать свои собственные частные сети на основе GRE.