simetnicbr / simetbox-openwrt-feed

SIMETBox package feed for OpenWRT (comece aqui/start here!)
http://simet.nic.br/simetbox
GNU General Public License v2.0
74 stars 13 forks source link

Virtualização #5

Closed andreytsushima closed 4 years ago

andreytsushima commented 6 years ago

Ola, gostaria de saber se é possível colocar o sistema em um sistema Docker ou QEMU? Pois como tenho uma banda mais alta, acredito que os CPEs podem não conseguir mensurar

Obrigado

farribeiro commented 6 years ago

Olá, eu tenho um PR para CI/CD e quanto gostaria que usassem Travis-CI. PR https://github.com/simetnicbr/simetbox-openwrt-base/pull/7

Eu tenho um projeto de geração de ambiente de desenvolvimento[1] para geração de firmware, embora tendo problemas na interpretação da compilação[2]

[1] https://github.com/farribeiro/simetbox-openwrt [2] https://github.com/simetnicbr/simetbox-openwrt-base/issues/12#issuecomment-361982187

farribeiro commented 6 years ago

Já pra compilar e rodar em x86, acredito que não existe como.

andreytsushima commented 6 years ago

Estou testando, compilei em x86 e copiei a firmware um disco para o Qemu, iniciou perfeitamente só deu algum problema na interface Web pois utilizei outro branch por engano, deixei compilando novamente, vamos ver amanhã. Mais meu objetivo mesmo era rodar em Docker todo sistema do SIMETBox ao invés de utilizar hypervisor. Alguma dica sou todo ouvidos, pois essa iniciativa e o sistema são muito bons

farribeiro commented 6 years ago

Somente desse jeito que é possível usar o simetbox? Minha imaginação limitava a uma caixa tradicional, com HD e tals... E ainda acho quase impossível uma aplicação em distribuição tradicionais.

andreytsushima commented 6 years ago

Na minha opinião, seria possível sim utilizar em distribuições linux, mais a finalidade do projeto foi alem e otimizaram para utilizar em roteadores SOHO, mais seria legal poder utilizar em distribuições tradicionais ou VMs pois se quiser rodar dentro de um ISP em roteadores SOHO a limitação do hardware não comporta uma medição de banda maior.

farribeiro commented 6 years ago

Isso me recorda em ter um SERVER-U, somente para a finalidade. Poderia me passar seu dockerfile?

farribeiro commented 6 years ago

@andreytsushima Se você teve sucesso na geração do build, como você solucionou este problema do libtool?

https://hub.docker.com/r/farribeiro/simetbox-openwrt/builds/bs7rdr6a7d6ukcqrxynhhnr/

farribeiro commented 6 years ago

Recoloquei meu dockerfile na linha novamente

andreytsushima commented 6 years ago

@farribeiro Consegui utilizar virtualizado em QEMU. it clone git://github.com/openwrt/chaos_calmer.git openwrt cd openwrt echo "src-git simetbox https://github.com/simetnicbr/simetbox-openwrt-feed.git" > feeds.conf cat feeds.conf.default >> feeds.conf cp feeds.conf feeds.conf.default make package/symlinks cp feeds/simetbox/libmicroxml/Makefile feeds/management/libmicroxml/Makefile make menuconfig

Coloquei a arquitetura em X86 e nas configurações do kernel e ext4 aumentei do kernel para 16 e do ext4 para 256

depois um make -j1 V=s dentro da pasta bin vai encontrar os arquivos gerados e um que vai ter combined.img.gz gunzip nele, e utilizei o virt-install para inicia-lo. a única coisa que não consegui foi cair no shell do sistema, não sei se tem alguma limitação ou no menuconfig deixei de marcar alguma coisa, mais a interface web subiu e as medições estão sendo feitas corretamente. removi a parte wireless e interface wan, firewall, etc. Esta rodando direitinho e pelo menos tenho uma interface agregada de 5GB

Mais gostaria mesmo é de fazer mesmo um docker ou executar pelo sistema mesmo as medições, mais acho que vai ser difícil pois o sistema em si utiliza muitas funções nativas do openwrt como os frameworks web. mais vou continuar me aprofundando.

farribeiro commented 6 years ago

Agradeço de antemão pela paciência.

Você chegou a ver a discussões anteriores? Em especial a Issue https://github.com/simetnicbr/simetbox-openwrt-base/issues/2 e todas as que se encontram lá. Pelo que entendo segundo a documentação, são três projetos que juntos[1] eles geram o firmware do simetbox. E eu também ofereci o Dockerfile, porém está desatualizado, o PR https://github.com/simetnicbr/simetbox-openwrt-base/pull/7

E cada um tem sua documentação, e acredito não estão alinhadas.

[1] https://github.com/simetnicbr/simetbox-openwrt-base https://github.com/simetnicbr/simetbox-openwrt-feed https://github.com/simetnicbr/simetbox-openwrt-config

Dê uma passada, e me ajude a interpretar melhor a documentação, olhando o histórico do meu projeto... https://github.com/farribeiro/simetbox-openwrt

hmh commented 5 years ago

Suportaremos Linux nativo via o pacote simet-ma (que tem como dependência o pacote simet-lmapd), estão em beta. O simet-ma roda facilmente em docker (ou pode ser instalado nativo direto no sistema operacional, etc). O container docker exemplo para rodar um medidor simet-ma em Linux já está no código fonte do simet-ma.

É possível em tese rodar uma SIMETBOX OpenWRT em X86, e em QEMU. Entretanto, a cola do SIMETBOX para o SIMET legado precisaria ser atualizada para saber o que fazer com as informações diferentes de ar71xx -> x86. Não faremos essa atualização: pretendemos remover o SIMET legado da SIMETBOX quando o SIMET2 + SIMET-MA sair de beta.

Será possível sim (em princípio) rodar o SIMETBOX com SIMET-2 em OpenWRT X86, mas não sei se suportaremos oficialmente essa combinação. Estudaremos durante o processo de atualizar a SIMETBOX para suportar a arquitetura ath79 (que está substituindo a arquitetura ar71xx no OpenWRT master/OpenWRT 19.??).

farribeiro commented 5 years ago

Agora, este firmware, qual é o futuro? Só vejo depreciação. Não me recordo discussões anteriores em transformar em um pacote opkg para o openwrt. Como tu disseste no último parágrafo. Use um Travis para ficar gerando pacotes para mais variadas plataformas

hmh commented 5 years ago

O cliente SIMET2 já é pacote opkg para OpenWRT (na verdade vários, por isso é uma feed).

Agora, nós não vamos investir recursos do projeto SIMET2 nesse momento testando OpenWRT em x86: tem um monte de outras plataformas mais úteis do ponto de vista do OpenWRT. Mas qualquer um que esteja interessado pode fazê-lo, e nos enviar uma PR, que iremos considerá-la.

O(s) pacote(s) OpenWRT que formam a SIMETBOX contém (no momento) tanto o SIMET legado, como o SIMET2 simet-ma. Iremos remover o SIMET legado assim que possível, nem que seja aos poucos.

Ou seja, o motor de medição Linux unificado (simet-ma) pode ser usado como pacote Linux (.deb por enquanto, contém toda a cola necessária), diretamente (por enquanto, não vai conter cola -- faça a sua, ou copie a que existe para o pacote deb), ou OpenWRT.

Deem uma olhada no projeto simetnicbr/simetbox-openwrt-feed, branch master. pacotes simetbox-openwrt-feed/simetbox-openwrt-simet-ma e simetbox-openwrt-feed/simetbox-openwrt-simet-lmapd.

Criamos branches "stable" onde necessário para quem quer ficar longe da bleeding edge.

farribeiro commented 5 years ago

Poderia tagear e lançar release para o SIMET2 aqui no github, @hmh ? É um divisor de águas entre o firmware e o pacote opkg

Uma coisa que tá coçando o dedo é subir uma vm com OpenWRT x86 e dar opkg list para ver se está lá este pacote

hmh commented 5 years ago

Sim, vamos lançar de forma mais "visível" aqui assim que a visualização geral estiver disponível. Não é uma questão do firmware, é uma questão do backend e front-end web do sistema central estar bom o suficiente para "consumo geral".

Note bem que na parte de firmware já está tudo no github, só que como beta. Se alguém ajudar a empacotar para Fedora, quando sair de Beta vai ter para Fedora, Debian e Ubuntu. Se não ajudar, vai ter para Debian e Ubuntu (fora docker) :-)

hmh commented 4 years ago

@andreytsushima: Resposta final, já que essa issue ficou bem "bagunçada" com vários assuntos...

Ola, gostaria de saber se é possível colocar o sistema em um sistema Docker ou QEMU? Pois como tenho uma banda mais alta, acredito que os CPEs podem não conseguir mensurar

Para testar larguras de banda maiores, utilize o "simet-ma" diretamente (ele suporta virtualização, container, etc). Rodando ele em Debian 10 em um laptop recente, consegue testar 1Gbps (supondo que o peer de medição esteja bem livre, já que está acima do patamar de serviço atual).

O "simet-ma" está disponível aqui: https://github.com/simetnicbr/simet-ma

PS: O "simet-ma" é o "motor de medição SIMET2" que é utilizado pela SIMETBox nova, e foi aferido para 1Gbps em hardware x86 com CPU suficiente.

PS2: o "simet-ma" mede vazão efetiva TCP/IP, que vai sempre ser um pouco inferior à velocidade do enlace. Nisso, ele difere do SIMET legado que você encontra na SIMETBox.