PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand...

28
PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes REDE IP

Transcript of PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand...

Page 1: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

PROJETO de

Cátia Ledesma& Diogo Gomes

Vídeo On-Demand

Leiria, 21 de julho de 2014

Orientação de Carlos Antunes

REDE IP

Page 2: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

PROJETO VÍDEO ON-DEMAND• Introdução• Estado da arte

• Tecnologias de suporte• Tecnologias de distribuição

• Arquitetura• Testador• Demonstrador• Resultados• Conclusão

Page 3: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Introdução

• Crescimento da distribuição de recursos multimédia em larga escala sobre IP;

• Necessidades de fiabilidade dos serviços prestados;

• Necessidade de preservar os direitos de autor;• Diversificados tipos de clientes e respetivos suportes

utilizados (hardware e comunicações);

Page 4: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

• Disponibilidade básica: indisponível 9h a 4dias /ano• Alta disponibilidade: indisponível 5m a 1h /ano• Disponibilidade contínua: indisponível 0m /ano

Mecanismos para Alta-Disponibilidade• Replicação• Redundância• Balanceamento• Agregação

Points of failure: • Falhas de hardware, software• Sobrecarga de pedidos

Disponibilidade = MTTF (MTTF + MTTR)

Estado da Arte – Tecnologias de Suporte – Alta Disponibilidade

PROJETO Vídeo On-Demand

Page 5: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

ARQUITETURAS DE REDE• Node externo único (NAT/ IP-virtual, balanceamento)• Multinode / não dedicado (todos os nodes acessíveis)

ARQUITETURAS DE SISTEMA• Armazenamento local sincronizado (todos com disco, rsync)• Armazenamento local não sincronizado• NFS root (armazenamento único partilhado em rede)• PXE (ambiente de pré-execução, SO servidor por rede)

ARQUITETURAS DE SINCRONISMO• Scripts batch• Agenda preemptiva/migrações• Controlo minucioso

CLUSTERS

Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster

PROJETO Vídeo On-Demand

Page 6: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

1. Cliente faz um DHCP discover com tags PXE2. Servidor DHCP oferece IP dinâmico e indicações PXE para o serviço TFTP3. Cliente faz pedido do ficheiro de boot ao servidor TFTP4. Servidor TFTP envia ficheiro ao cliente5. Cliente arranca com o ficheiro de boot com a configuração do acesso a uma

partilha em rede onde se encontram os restantes ficheiros necessários do sistema

Ambiente de Pré-Execução - PXE (Preload eXecution Environment)

Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster

PROJETO Vídeo On-Demand

Page 7: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster

Comunicações de cluster (messaging)

Afiliação – Quorum – Ativo/Passivo

PROJETO Vídeo On-Demand

Page 8: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Cluster de Armazenamento

Replicação de objetos Replicação de blocos

RsyncGlusterFS

Ceph

DRBDOCFS2GFS2

Agregação de unidades físicas LVM

Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster

PROJETO Vídeo On-Demand

Page 9: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Estado da Arte – Tecnologias de Distribuição Emissões

• TiposUnicast, Multicast, Broadcast

• Protocolos TCP, UDP, RTP, RTSP, RTCP HTTP (HLS, Mpeg-Dash), RTMP

• Software Darwin, Flumotion, Helix, VLC, Ffserver

Page 10: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Estado da Arte – Tecnologias de Distribuição

Page 11: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Arquitetura de Streaming

Page 12: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

RedundânciaReplicação

Balanceamento

Serviços

Armazenamento

Arquitetura – Clusters – Alta disponibilidade

PROJETO Vídeo On-Demand

Alta Disponibilidade

Page 13: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Arquitetura – Clusters – Serviços e Processamento

PROJETO Vídeo On-Demand

Node de Serviços e Processamento

Node de Serviços e Processamento

Node de Serviços e Processamento

ControladorBalanceador

Alta-disponibilidade

StandbyAtivo

Cluster de Serviços e Processamento

Cliente

Cluster de Armazenamento

Alta-disponibilidade de Rede

Page 14: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Arquitetura – Clusters – Armazenamento

PROJETO Vídeo On-Demand

Node de Armazenamento Node de ArmazenamentoReplicação

Unidades físicas de armazenamento

Unidades físicas de armazenamento

Cluster de Armazenamento

Cluster de Serviços

Alta-disponibilidade de Rede

PXEControlador

Alta-disponibilidadeBalanceador

Page 15: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

LVMLogical Volume Manager

DRBDDistributed Replicated Block Device

OCFS2Oracle Cluster File System V2

DLMDistributed Lock Manager

PACEMAKERCluster Resource Manager

CorosyncCluster Messaging

Escalabilidade física do armazenamento Replicação por bloco de dados em rede

Redundância de sistema de ficheiros Consistência do sistema de ficheiros

Gestor de recursos no cluster Comunicações de cluster

Modelo Testador - Armazenamento

PROJETO Vídeo On-Demand

Page 16: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

KerrighedSistema Operativo SSI / SMP

SSISingle System Image

Modelo Testador – Processamento SSI

PROJETO Vídeo On-Demand

Page 17: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

KerrighedSistema Operativo SSI / SMP

SMPSymmetric Multiprocessing

Modelo Testador – Processamento SMP

PROJETO Vídeo On-Demand

Page 18: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Unidades de armazenamento:• LVM• DRBD• EXT4 & OCFS2

Modelo Testador – Esquema

LVM

Disco 1 Disco 2

LVM

Disco 1 Disco 2

EXT4+

OCFS2

DRBD

NFS

Imagem de Sistema

Operativo

IP’s Virtuais

Ficheiros VideoDNSMasq

DHCP

Kernel Linux

TFTPPXE

IP Pools

VLCFFServer Scripts / Web Page

IP Virtual

Cluster Armazenamento:• DHCP pools:

PXE + POOL HOST-ONLY• DADOS (NFS)• S.O. KERRIGHED (NFS)• Kernel Linux (TFTP)• Pacemaker IP’s virtuais

TFTP + Kerrighed + DADOS + OCFS2

Rede HOST-ONLY

Rede PXE

Cluster Serviços:• NGINX (HTTP/RTMP)• VLC+FFmpeg (Streaming e Encoding)• Kerrighed (Processamento distribuido)

PROJETO Vídeo On-Demand

Pacemaker

Page 19: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Armazenamento

Lv_1dadossdb

sdc

sdd

sde

sdf

sdg

Lv_2dados

Lv_4dados

Lv_3dados

vg_1dados

vg_2dados

vg_4dados

vg_3dados

HDVolume group Logical volume

LVMdevice

/dev/drbd0

/dev/drbd1

/dev/drbd2

/dev/drbd3

DRBD

R0

R1

R2

R3

PACEMAKERCluster Armazenamento

DADOS

DRBD

R0

R1

R2

R3

Modo

Prim/Sec

Prim/Sec

Prim/Sec

Dual Prim

PXE

NFS

OCFS2

Virtual IP’s

192.168.100.110

192.168.100.111

192.168.100.112

192.168.100.113

Cluster de Serviços

192.168.100.0/24

/NFSROOT/kerrighed

/TFTP

/OCFS2

/DADOS

Mount File System

Ext4

Ext4

Ext4

OCFS2

DRBD

Resource

R0

R1

R2

R3

DNSMASQ

DHCP TFTP

NFS

192.

168.

56.0

/24

Pacemaker

DRBDFile System’s

DNSMasqNFS

Virtual IP’s

Modelo Testador – Esquema

PROJETO Vídeo On-Demand

Rede PXE

Rede

Hos

t-O

nly

Page 20: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Linux Cluster Management ConsoleGUI para Pacemaker

• Primitive• Clone• Master/Slave• Group• Colocation• Order

Modelo Testador – Gestão do Cluster

PACEMAKER

PROJETO Vídeo On-Demand

Page 21: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Modelo Testador – Esquema

LeituraBalanceamento

EscritaReplicação

Envio de Vídeo• RTMP• WEBCAM• Multi-sessão• Multi-emisão

Streaming de Vídeo• VOD (Unicast)• Adaptativo (Unicast)• TV-Playlist (Multicast)

Cluster de Armazenamento

Cluster de Serviços e Processamento

PROJETO Vídeo On-Demand

Page 22: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Demonstrador– Entrada de Stream por RTMP com autenticação

PHPauth

FFMPEG

NGINX• RTMP• Porta 12345• Application auth• HLS on

PROJETO Vídeo On-Demand

HTTP GET

rtmp://192.168.56.51:12345/auth/ok?user=vod&pass=ubuntu

user=vod&pass=ubuntu

Autenticação válida

NGINX• HTTP• HLS

HTTP POST

1. Node da emissão a visualizar2. Ordem de gravação

Stream HLS

Page 23: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Testador - VLCch1 vod unicastch2 canal unicastch3 canal unicast com transcodingch4 canal multicast com agendamentoch5 e ch6 canal multistreamingch7 multicast (fonte externa)

Page 24: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Testador - AvserverTipo I : stream

Tipo II : feed

Page 25: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Demonstrador

PLAYLIST

Converter Hls

Page 26: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Resultados

mpg -uni...

avi -

unicast

mpg - m

ult...

avi -

multi...

6600tan28a5660

6600tan19a5660

6600tan10a5660

6600tan1a5660

6600tan21a5660

6600tan12a5660

perdas 1 clienteperdas 4 clientes

mpg - unicast avi - unicast mpg - multicast avi - multicast6600tan28a5660

6600tan4a5660

6600tan9a5660

6600tan14a5660

6600tan19a5660

6600tan24a5660

perdas 1 cliente

perdas 4 clientes

VLC

Avserver

Page 27: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Resultados – Cluster de serviços e processamento

PROJETO Vídeo On-Demand

Processamento

Alta-disponibilidade Multicast Unicast RTMP

SERVIÇOS Sim Não Sim

ARMAZENAMENTO Sim Sim Sim

Serviços

Page 28: PROJETO de Cátia Ledesma & Diogo Gomes PROJETO de Cátia Ledesma & Diogo Gomes Vídeo On-Demand Leiria, 21 de julho de 2014 Orientação de Carlos Antunes.

Conclusões• Objetivos atingidos

• Arquitetura• Soluções de disponibilização de conteúdos

• Dificuldades de implementação das soluções de distribuição open source

• Enorme quantidade de conhecimentos adquiridos na implementação dos clusters

• Inúmeras contradições respeitante às codificações e valores associados