"openstack & oracle — взболтать, но не смешивать"....
DESCRIPTION
Все enterprise-решения имеют свою специфику и отличаются весьма щепетильным подходом к эксплуатации. Но иногда возникает необходимость тиражировать их с минимальными усилиями. Нам в Яндексе понадобилось создать множество тестовых сред с продуктами Oracle. Для облегчения этой задачи мы виртуализовали их в приватном облаке OpenStack. В докладе пойдёт речь об этом опыте: с какими проблемами пришлось столкнуться и как мы будем использовать в дальнейшем полученные знания.TRANSCRIPT
OpenStack & Oracle — взболтать, но не смешивать
Филимонцев Сергей
О чём мой доклад
Финансовые сервисы и Oracle
Что такое OpenStack
Как приготовить в нём Oracle
3
Финансовые сервисы и Oracle
Зачем нам понадобился OpenStack
OEBS
5
OEBS
OEBS — ERP-система
5
OEBS
OEBS — ERP-система
OEBS активно растёт — за 3 года:
5
OEBS
OEBS — ERP-система
OEBS активно растёт — за 3 года:
– Данные × 5 = 1,5 TB
5
OEBS
OEBS — ERP-система
OEBS активно растёт — за 3 года:
– Данные × 5 = 1,5 TB– Пользователи × 50 = 1500
5
OEBS
OEBS — ERP-система
OEBS активно растёт — за 3 года:
– Данные × 5 = 1,5 TB– Пользователи × 50 = 1500
Активная разработка — активное тестирование
5
Тестовые среды
6
Тестовые среды
6
Разработка
Тестовые среды
6
Разработка
Тестирование
Тестовые среды
6
Разработка
Тестирование
– функциональное
Тестовые среды
6
Разработка
Тестирование
– функциональное– миграционное
Тестовые среды
6
Разработка
Тестирование
– функциональное– миграционное– пользовательское
Тестовые среды
6
Разработка
Тестирование
– функциональное– миграционное– пользовательское
Документирование
Тестовые среды
6
Разработка
Тестирование
– функциональное– миграционное– пользовательское
Документирование
Обучение
Конфигурация тестовой среды
7
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
iSCSI-target iSCSI-target
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
Oracle ASM iSCSI-target iSCSI-target
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
Oracle DB EE Oracle DB EE
Oracle ASM iSCSI-target iSCSI-target
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
Oracle RAC Oracle DB EE Oracle DB EE
Oracle ASM iSCSI-target iSCSI-target
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
Конфигурация тестовой среды
7
Oracle RAC Oracle DB EE Oracle DB EE
Appl Appl
Oracle ASM iSCSI-target iSCSI-target
6 серверов: 2 × Xeon 5530; 48GB RAM
2 дисковые полки: 24 × 2TB SATA
OEBS
Конфигурация тестовой среды
7
Oracle RAC Oracle DB EE Oracle DB EE
Appl Appl
Oracle ASM iSCSI-target iSCSI-target
Сон админа тревожен и краток
8
Сон админа тревожен и краток
8
OS config Oracle patches OEBS restoreadconfig0
4
8
12
Сон админа тревожен и краток
8
OS config Oracle patches OEBS restoreadconfig0
4
8
12
администрированиесон*
Задача от разработки
9
Задача от разработки
9
Параллельное внедрение 4 модулей OEBS
Задача от разработки
9
Параллельное внедрение 4 модулей OEBS
Требуется 20 тестовых сред
Задача от разработки
9
Параллельное внедрение 4 модулей OEBS
Требуется 20 тестовых сред
≈Админо-месяц
«Лучше день потерять,потом за пять минут долететь!»
10
Крылья, ноги и хвосты ТО «Экран», 1986
New age with cloud
11
Унификация
New age with cloud
11
Унификация
Утилизация
New age with cloud
11
Унификация
Утилизация
Онлайн миграция
New age with cloud
11
Унификация
Утилизация
Онлайн миграция
«On-demand»
New age with cloud
11
Что такое OpenStack
OpenStack — IaaS provider
13
OpenStack — IaaS providerРесурсы
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD–VLAN, CIDR
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD–VLAN, CIDR–Образы VM
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD–VLAN, CIDR–Образы VM
Собирает VM
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD–VLAN, CIDR–Образы VM
Собирает VM
*aaS
13
OpenStack — IaaS providerРесурсы
–CPU, RAM, HDD–VLAN, CIDR–Образы VM
Собирает VM
*aaS
Security13
Когда использовать OpenStack?
14
Когда использовать OpenStack?
14
Когда использовать OpenStack?
Нужны виртуальные машины
14
Когда использовать OpenStack?
Нужны виртуальные машины
–больше 5
14
Когда использовать OpenStack?
Нужны виртуальные машины
–больше 5–на нескольких серверах
14
Когда использовать OpenStack?
Нужны виртуальные машины
–больше 5–на нескольких серверах
Провайдер VM
14
Попробовать OpenStack
15
Попробовать OpenStack
15
Официальная документация:
–docs.openstack.org
Попробовать OpenStack
15
Официальная документация:
–docs.openstack.orgИнструкции по установке от Bilel Msekni:
–bit.ly/yac2013_openstack_deploy
16
Quantum + OpenvSwitch + provider vlan
17
Compute-node
eth1
Quantum + OpenvSwitch + provider vlan
17
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
17
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
17
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
17
magic
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
17
magic
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0 veth
17
magic
Compute-node
eth1
VM
eth0
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
105
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
105
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
Compute-node
eth1
VM
eth0
eth2 qbr1 vnet1
VM
eth0
eth1br-eth2
Quantum + OpenvSwitch + provider vlan
br-eth1
br-int
qbr0 vnet0
103
1
105
2
VLAN:
veth
17
magic
/etc/default/openvswitch-switch:
OVS_RESTART_SAVE_FLOWS=yes
Enterprise Oracle в OpenStack
Shaken, not stirred
Oracle в OpenStack OOB
19
Oracle в OpenStack OOB
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
OEBS
Oracle в OpenStack OOB
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
DB
APPL
Oracle в OpenStack OOB
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
OEBSDB
APPL ☣
Oracle в OpenStack OOB
Jumbo Frames
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
OEBSDB
APPL ☣
Oracle в OpenStack OOB
Jumbo Frames
Shared network interface
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
OEBSDB
APPL ☣
Oracle в OpenStack OOB
Jumbo Frames
Shared network interface
Security & Firewall
19
OEBS
RAC DB DB
APPL APPL
ASM iSCSI iSCSI
OEBSDB
APPL ☣
Jumbo Frames
20
Jumbo Frames
Default MTU not modifiable
20
Jumbo Frames
Default MTU not modifiable
LinuxBridge (fixed in Grizzly):
–bit.ly/yac2013_openstack_br_fixOpenvSwitch (fixed in Havana):
–bit.ly/yac2013_openstack_ovs_fix
20
Shared network interface
21
Shared network interface
21
br-eth2
eth2trunk
Shared network interface
21
br-eth2
eth2trunk
eth2.105
Shared network interfaceovs-vsctl \
! ! add-port br-eth2 eth2.105 tag=105 -- \
! ! set interface eth2.105 type=internal
21
br-eth2
eth2trunk
eth2.105
Shared network interfaceovs-vsctl \
! ! add-port br-eth2 eth2.105 tag=105 -- \
! ! set interface eth2.105 type=internal
21
ip addr add … dev eth2.105
ip link set eth2.105 up
ip route add …/… dev eth2.105
br-eth2
eth2trunk
eth2.105
Security
22
SecurityOracle RAC:
22
SecurityOracle RAC:
virtual interfaces
22
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
22
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
22
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
OpenStack security:
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
OpenStack security:
ebtables
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
OpenStack security:
ebtables
iptables
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
OpenStack security:
ebtables
iptables
spoof-protection:
SecurityOracle RAC:
virtual interfaces
169.254.0.0/16
interconnect multicast UDP
Disable firewall
22
OpenStack security:
ebtables
iptables
spoof-protection:
MAC, IP, ARP
Firewall disabling
23
Firewall disabling
virsh nwfilter-edit nova-base
23
Firewall disabling
virsh nwfilter-edit nova-base
firewall_driver
23
Firewall disabling
virsh nwfilter-edit nova-base
firewall_driver /etc/nova/nova.conf:
23
Firewall disabling
virsh nwfilter-edit nova-base
firewall_driver /etc/nova/nova.conf:
nova.virt.firewall.NoopFirewallDriver
23
Firewall disabling
virsh nwfilter-edit nova-base
firewall_driver /etc/nova/nova.conf:
nova.virt.firewall.NoopFirewallDriver /etc/quantum/plugins/…/…ini:
23
Firewall disabling
virsh nwfilter-edit nova-base
firewall_driver /etc/nova/nova.conf:
nova.virt.firewall.NoopFirewallDriver /etc/quantum/plugins/…/…ini:quantum.agent.firewall.NoopFirewallDriver
23
Заключение
Результаты и взгляд в будущее
Что у нас получилось
25
Что у нас получилось
Proof of concept… success!
25
Что у нас получилось
Proof of concept… success!
Два облака, десятки серверов
25
Что у нас получилось
Proof of concept… success!
Два облака, десятки серверов
1 среда = 1 админо-минута
25
Что у нас получилось
Proof of concept… success!
Два облака, десятки серверов
1 среда = 1 админо-минута
–30 тестовых сред Oracle–20 прочих ВМ
25
Будущее
26
Будущее
Havana Release (2013.2)
– Quantum ➡ Neutron
26
Будущее
Havana Release (2013.2)
– Quantum ➡ Neutron* as a Services:
26
Будущее
Havana Release (2013.2)
– Quantum ➡ Neutron* as a Services:
FWaaS, LBaaS, DNSaaS, MySQLaaS, …
26
Спасибо за внимание
28
Сергей ФилимонцевСистемный администратор
+7 926 573-‐41-‐01
twi0er.com/troksa
;.com/sfilimontsev