
Boris Wilson, originalmente por Silveira Neto.
Boris, refletindo sobre a vida…
Boris, refletindo sobre a vida…
Imagem meramente ilustrativa 😛
Esse é o primeira de uma série de posts que eu pretendo escrever ao mesmo tempo que eu estudo mais sobre OpenSolaris. A idéia é criar artigos simples mostrando funcionalidades bem especÃficas através de experimentos práticos que você pode replicar em seu computador.
Uma das funcionalidades mais interessantes do OpenSolaris é o sistema de arquivo de 128-bits ZFS. Para quem está começando a principal diferença é a abstração utilizadas para os volumes. Ao contrário dos sistemas de arquivos tradicionais, onde cada um reside em um único dispositivo e requerem um gerente de volumes para usar mais de um dispositivo, o sistema de arquivo ZFS é construÃdo sob pools de armazenamento virtuais chamados zpools. Um zpool é construÃdo de dispositivos virtuais (vdevs) quem são constituÃdos de volumes de bloco (arquivos, partições de um disco ou discos inteiros, o que é o recomendado).
Esse primeiro experimento vai ser construir zpool espelhado (RAID-1) e depois tentar corromper os dados dele e ver o que acontece. Em um pool espelhado, os dados são replicados para vários discos e isso elimina o ponto crÃtico, ou seja, se um disco parar de funcionar, os dados não são corrompidos. Você pode criar um espelho com dois ou mais discos e dentro de um mesmo pool você pode ter vários espelhos. Por exemplo, um pool de 100Gb formado por dois espelhos, cada um com 50GB e cada espelho formado por discos rÃgidos de 25Gb cada um. Você vai dimensionar seu pool de acordo com suas necessidades e capacidades.
Essa parte de corromper os dados faz experimento ser um pouco perigoso. Eu te aconselho a fazer uma dessas sugestões:
- Instalar o OpenSolaris no seu disco e pelo menos outros dois discos rÃgidos para fazer um zpool espelhado. Eu não recomendo essa opção porque se você não souber muito bem o que está fazendo você pode corromper dados acidentalmente.
- Instalar o OpenSolaris em uma máquina virtual e criar discos rÃgidos falsos para utilizar no experimento. Assim mesmo que você cometa algum erro nada de muito ruim vai acontecer. Essa é a opção que eu escolhi e aqui eu estou usando o VirtualBox com o OpenSolaris 2008.5. É uma máquina virtual livre, muito fácil de usar e o OpenSolaris se dá muito bem com ele.
Embora já exista uma interface gráfica para controle para ZFS, está não está incluÃda no OpenSolaris 2008.5. Além disso para quem quer estudar o ZFS um pouco mais a fundo, acho que conhecer seu controle via linha de comando é interessante.
Com o OpenSolaris já bootado, abra um terminal, logue-se como root e consulte os seus dispositivos com echo|format.
Se você esta bem familiarizado com Linux você deve estranhar a nomenclatura dos dispositivos no OpenSolaris, eu recomendo voce dar uma olhada nesse documento.
Parar criar um pool com os dispositivos c4d1 (80G) e o c5d1 (60GB) basta simplesmente um zpool create ourpool mirror c4d1 c5d1.
Explicando esse comando palavra a palavra:
Diagrama do pool que criamos. Ãcones do Everaldo Coelho.
Se o comando funcionou, ele agira silenciosamente e nao retornar nada. Para checar o estatus do pool fazemos um zpool status ourpool.
Essa saÃda nos diz que o pool chamado ourpool está com o status ONLINE e que o pool é composto de um único mirror que por sua vez é composto dos dispositivos c4d1 e c5d1.
Podemos listar todos pools com zpool list.
O ourpool tem aproximadamente 60GB de tamanho dos quais 900kb já foram usados para guardar metadados. Como nós usamos um espelho de discos de 60GB e de 80GB, o tamanho do pool foi determinado pelo tamanho do menor disco. O outro pool, rpool é o pool que o OpenSolaris cria por default para abrigar o sistema inteiro.
Agora vamos povoar o pool com dados. Estes dados poderiam ser dados reais importantes como os arquivos de um banco de dados, sua coleção de fotos ou seu arquivo de documentos. Para efeitos ilustrativos eu vou usar aqui um arquivo vazio de 100Mb chamado data. mkfile 100m data.
Durante a criação do arquivo eu dei um zpool iostat -v ourpool para ver o tráfego na entrada/saÃda do pool. Note que há tráfego em ambos os discos já que eles formam um espelho.
Vamos criar e guardar um checksum md5 do arquivo data para podermos checar sua integridade mais tarde, md5sum data > data.md5. Para checarmos se esse checksum bate com o checksum do arquivo fazemos um md5sum –check data.md5.
Agora vem a parte crÃtica dessa simulação. Vamos simular um defeito fÃsico no disco. Dispositivos de armazenamento vão falhar em algum momento, só não sabemos quando, e quando acontecer ele poderá corromper seus dados ou parar aplicações importantes.
Vamos pegar 20 Mb de lixo retirado do /dev/urandom e joga-los no disco c4d1, dd if=/dev/urandom of=/dev/dsk/c4d1 bs=1024 count=20480. Existem formas mais divertidas (e caras) de provocar defeitos fÃsicos, dê uma olhada nesse vÃdeo onde eles usam ZFS e martelos. 🙂
Pronto, o estrago foi feito. Olhamos o status do pool, zpool status ourpool.
Não vemos nenhum erro até porque o ZFS é baseado em cache na memória. Vamos forçar ele a limpar esse cache derrubando e subindo o pool. Primeiro cd / para termos certeza que não estamos dentro do pool, depois um zpool export ourpool seguido de um zpool import ourpool.
Olhamos o status novamente, zpool status ourpool.
O pool continua ONLINE mas o ZFS sabe que alguma coisa está errada.
Vamos checar a integridade dos dados checando nosso checksum md5, md5sum –check data.md5.
Os dados estão intactos.
Essa é uma das caracterÃsticas de self-healing do ZFS. A corrupção de dados que ocorreu em um dos volumes espelhados foi reparada silenciosamente. Em um gerenciador de volumes tradicional você não só teria perdido seus dados como nem sequer saberia que houve corrupção.
Mas nesse ponto o administrador do sistema deve ser avisado para tomar alguma atitude em relação ao disco defeituoso. Estas são algumas sugestões:
Pra resumir tudo, eu fiz esse screencast:
Documentação complementar:
Há uma tradução para inglês desse post.
Esse fim de semana o CEJUG vai colocar o pé na estrada e partir rumo a Juazeiro do Norte para realizar, no dia 31 de Maio, um JavaDay, ciclo de palestras sobre tecnologia Java.
Essa é a grade de palestras:
Horário | Palestra | Palestrante |
---|---|---|
08:30 | Certificação Java. A palestra tem o intuito de apresentar as Certificações da Tecnologia Java, os programas de estudos para obtenção destas certificações, como o mercado de trabalho local avalia os profissionais certificados e as estatÃsticas referentes a remuneração dos profissionais certificados. | Rafael Carneiro é JUG Leader do CEJUG (Ceará Java Users Group) e também coordenador do PortalJava. Trabalha na IVIA, gosta de ler diversos blogs sobre Java e possui algumas certificações da Sun. Mantém um blog sobre desenvolvimento de software no endereço www.rafaelcarneiro.org. |
09:30 | Utilizando o Spring Framework em Aplicações JEE. Desenvolver aplicações na plataforma JEE pode tornar-se difÃcil dependendo das tecnologias escolhidas. Esta palestra tem o objetivo de mostrar como o Spring Framework pode simplificar o desenvolvimento de software nessa plataforma, mantendo a solução leve e com serviços avançados, tais como gerenciamento de transações, acesso remoto a Web-Services ou RMI, e transparência no uso de AOP. | Tarso Bessa é um entusiasta Java e atua no desenvolvimento na plataforma há 5 anos. Possui foco em tecnologias Web e gosta de ler bastante sobre novas tecnologias, tendências de mercado e computação distribuÃda. Atualmente trabalha na IVIA como Arquiteto Java, é formado em Informática pela UNIFOR e possui algumas certificações da Sun, entre elas a SCEA. |
10:30 | Conhecendo o NetBeans 6. O NetBeans é uma plataforma de desenvolvimento gratuita, livre, multiplataforma e multilinguagem. A palestra apresenta os recursos básicos do NetBeans 6, focando a facilidade de seu aprendizado, seus recursos de produtividade e usabilidade, além da inclusão de linguagens como Ruby, JavaScript e PHP. | Silveira Neto é estudante de Computação na Universidade Federal do Ceará, Embaixador de Campus da Sun Microsystems, participa do grupo de pesquisa ParGO (Paralelismo, Grafos e Otimização combinatória) e é membro do CEJUG (Ceará Java Users Group). Tem como hobbies os blogs (silveiraento.net e eupodiatamatando.com), o desenho e o desenvolvimento de Softwares Livres. |
11:30 | JavaServer Faces, desenvolvendo aplicações web com produtividade. JSF é um framework que auxilia o desenvolvimento de sistemas para a Web, fornecendo recursos avançados e dinâmicos. A palestra aborda os principais conceitos da tecnologia, como ciclo de vida, caracterÃsticas, mercado de trabalho e integração com outros frameworks do mercado. | Rafael Ponte atua com desenvolvimento de software há mais de 3 anos, atualmente é analista pogramador na IVIA, com foco no desenvolvimento de aplicações web, entusiasta Java, JSF e Domain Driven Design, moderador da lista de discussão JavaServer Faces International Group e sócio fundador da empresa de consultoria Triadworks. Mantém um blog no endereço www.rponte.com.br. |
Vai acontecer na Faculdade de Juazeiro do Norte (Rua São Francisco 1224 A São Miguel, Juazeiro do Norte, Ceará), no dia 31 de Maio a partir das 8:30. Além das palestras também vão haver sorteios de vários brindes.
O evento é uma promoção do CEJUG e da Coordenação do Curso de Sistemas de Informação da Faculdade de Juazeiro do Norte.
Boris Wilson, originally uploaded by Silveira Neto.
Boris, thinking about life…
Eu já havia postando anteriormente como fazer funcionar câmeras Microdia usando um driver proprietário e cheio de restrições. Boas novas. Agora desenvolvedores se uniram para construir um driver livre para essa série de câmeras e o driver livre já está bem melhor que o proprietário!
Antes de mais nada, nesse post eu estou usando o Ubuntu 8.04, seguindo de perto os passos do blog de Indra Gunawan, um notebook Amazon PC FL 31, a minha câmera é essa da foto acima e ela é lista em um lsusb como:
Bus 005 Device 002: ID 0c45:624f Microdia
Os números 0c45: já indicam que essa é uma câmera Microdia. No momento em que eu escrevo, o driver livre suporta as câmeras Microdias 6242, 624e, 624f, 6270, 627b, 62bb, 145f:013d e 045e:00f4. Para uma lista mais atualizada dê uma olhada no site oficial do driver livre.
Então o primeiro passo é você abrir um terminal e dar um lsusb e observar a saÃda. Outra coisa importante para você saber é a versão do seu Kernel. Dê um uname -a no terminal e observe a saÃda. Essa é a minha:
2.6.24-16-generic
Se essa não é sua versão do Kernel, não há alarde, é possÃvel que também funcione com você, mesmo se com outra versão do Kernel ou mesmo outro sabor de Linux.
Vamos precisar de alguns pacotes adicionais, use o seu gerenciador de pacotes (no meu caso o APT) para instalar alguns pacotes que vamos precisar. A partir daqui você precisará estar logado como root.
apt-get install git-core gitk git-gui git-doc curl
ctags build-essential
Se você também quiser compilar a documentação do driver, adicione o doxygen à lista. Agora baixamos a última versão do driver usando o git. De preferencia execute esse comando no seu diretório home, pois ele vai criar um diretório microdia que você pode querer preservar.
git clone http://repo.or.cz/r/microdia.git
Se você não recebeu nenhuam mensagem de erro e todo o código-fonte foi baixado, entre no diretório microdia e simplesmente digite:
make
Se tudo deu certo o código-fonte será compilado e você encontrará entre outras coisas um arquivo microdia.ko. Se você teve algum erro, provavelmente foi por algum pacote que você não tinha, baixe esse pacote tente compilar novamente.
Vamos carregar o módulo, como root:
modprobe videodev
insmod microdia.ko
Depois disso, dê um dmesg |grep Microdia -i
.
[Â Â 39.799824] microdia: Microdia USB2.0 webcam driver startup
[Â Â 39.799873] microdia: Microdia USB2.0 Webcam – Product ID 624F.
[Â Â 39.799876] microdia: Release: 0100
[Â Â 39.799878] microdia: Number of interfaces : 1
[Â Â 39.801100] microdia: Microdia USB2.0 Camera is now controlling video device /dev/video0
[Â Â 39.801133] usbcore: registered new interface driver usb_microdia_driver
[Â Â 39.801138] microdia: v0.0.0 : Microdia USB Video Camera
Se você teve uma saÃda assim, então as coisas vão indo bem. Você já pode testar sua câmera. Você pode usar um software especÃfico para isso como o Camorama ou usar o próprio Mplayer:
mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0 -vo x11
Eu sugiro testar primeiro o Camorama porque esses parâmetros do Mplayer funcionam comigo e eu não posso garantir que vão funcionar também com a sua câmera. Principalmente, por conta da resolução que eu usei.
Mas não vá embora agora, quando você reiniciar o computador tudo isso vai pelo espaço. Vamos fazer para que esse módulo seja carregado sempre que você ligar o computador. Vamos cópiar o arquivo .ko para o diretório de módulos do kernel.
cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/
Se você executou a algusn passos atrás o insmod, então limpe o driver da memória com um rmmod microdia
. Agora rode depmod -a
para gerar um novo modules.dep e mapear os arquivos no diretório de módulos.
Para terminar, adicione o módulo ao kernel com um
modprobe microdia
Agora o módulo vai ser carregado sempre que você iniciar o computador.
Agora alguns outros e brincadeiras úteis para você fazer com sua webcam. 😀
Espelho: muito útil no dia-a-dia, vale a pena criar um atalho na barra de tarefas ou no seu Desktop. Para usar o Mplayer como um espelho:
mplayer tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:noaudio -x 800 -y 600 -vf-add pp=hb:a/vb:a,hqdn3d,mirror
Effectv: O effectv é o melhor brinquedo para quem tem uma webcam. E agora ele já está disponÃvel nos repositórios do Ubuntu:
apt-get install effectv
Para usa-lo, aqui eu chamo assim:
effectv -device /dev/video0 -size 640×480
Use as teclas para baixo ou para cima para mudar os efeitos. A tecla espaço reseta o efeito. As teclas numéricas acionam variações. Tab inverte horizontalmente, como em um espelho. Aqui alguns efeitos legais.
This saturday we had our CEJUG traditional event CCT (Café com Tapioca) done monthly, each time in a diferent university. This time we had three speakers, Vando Batista, Rafael Pontes and Luthiano Vasconcelos talking about Java ME, Domain Driven Design and Cruise Control respectively.
Rafael Carneiro opening the event.
All photos I took (just a few due to weak batteries in my camera) are hosted in this album. This was out first event recorded and streamed by TV Software Livre. Thanks also guys from ArgoHost who made it possible.
InfoBrasil is a tradicional IT business event in my city. This year we got a space for Open Source and Free Software where I did a presentation about OpenSolaris. I posted our grid yesterday.
That was my first presentation about OpenSolaris so I focused to showing that OpenSolaris 2008.5 is a GNU/OpenSolaris distribution but you can access features like ZFS, DTrace and Zones. I used those slides that Tirthankar Das, Solaris Cluster Engineering at Sun Microsystems, did for FISL 2008. Most of the audience was composed from students and they showed very impressed with ZFS. In my next OpenSolaris presentation I’ll try to focus more on ZFS demos. 😉 Someone in the audience did a random number generator code live. We used it to prize some OpenSolaris gifts like tshirts and sticks. 😀
I hope that for now on that we can use better this space and for establish a good dialog between communities, governments and enterprises.
All photos ares avaliable at my personal album for that event.
Essa semana está cheia de eventos relacionados a Software Livre e quem está em Fortaleza não pode perder essas oportunidades. Para citar alguns:
Esse ano estão havendo várias palestras sobre Software Livre e Cultura Livre dentro da InfoBrasil e a prefeitura de Fortaleza cedeu um bom espaço para a comunidade montar um estande sobre o tema. Aproveitando o espaço nós montamos uma mini-grade de mini-palestras 🙂
14 de maio (Quarta-feira)
Tarde/Noite
16:00 – 17:00
TÃtulo: Metodologia de teste de segurança OSSTMM
Palestrante: Fernando Chucre17:00 – 18:00
TÃtulo: Conhecimento Livre e Software Livre…
Entendendo como funciona e o que é.
Palestrante: Roberto Parente é Bacharelando de Ciência da Computação da Universidade Federal do Ceará, faz parte do grupo de pesquisa “Paralelismo, Grafos e Otimização” (ParGO) e membro do Grupo de Estudo de Linux e Software Livre (GELSoL).
15 de maio (Quinta-feira)
Tarde/Noite
16:00 – 18:00
TÃtulo: Trabalhando na internet com E-groupware e WordPress MU
Palestrante: Fernando Chucre
16 de maio (Sexta-feira)
Manhã
9:00 – 12:00
TÃtulo: Novidades do BrOffice.org 3.0 com sorteio de brindes
Palestrante: Marcus de Vasconcelos Diogo da Silva (ONG BrOffice.org)Tarde/Noite
15:00 – 16:30
TÃtulo: Sistema Operacional OpenSolaris: palestra sobre as novidades e inovações do sistema operacional OpenSolaris e sobre o lançamento da distribuição OpenSolaris 2008.5.
Palestrante: Silveira Neto, é bacharelando em Computação na Universidade Federal do Ceará, Embaixador de Campus da Sun Microsystems e pesquisador no tema de Computação de Alto Desempenho no grupo de pesquisa ParGO.* Ao final da palestra haverá sorteio de brindes do OpenSolaris.
16:30 – 18:00
TÃtulo: Postgree SQL porque migrar?
Palestrante: Coutinho Nabucodonossor é participante da Comunidade Postgree.
As palestras são gratúitas e o acesso é livre. Maiores informações no site da InforBrasil. Também há a grade do congresso que também conta com mais palestras sobre o tema, mas estas são pagas. Você confere elas também no site da InforBrasil.
E para fechar com chave de ouro a semana, o CEJUG promove o já tradicional evento mensal Café com Tapioca, esse sábado.
O evento acontece na Faculdade Lourenço Filho e a grade é essa:
Horário | Palestrante | Tema |
---|---|---|
09:00 as 09:50 | Rafael Ponte | Entendendo Domain Driven Design |
09:55 as 10:50 | Vando Batista | Desmistificando o JavaME |
10:50 as 11:10 | coffee-break | – |
11:10 as 11:50 | Luthiano Vasconcelos | Integração ContÃnua com Cruise Control |
Não percam, maiores informações no site do evento.
This monday I and others ambassadors from all over Brazil went to São Paulo to have a quick meeting with Crawfor Beveridge, executive vice president and chairman, EMEA, APAC and the americas at Sun Microsystems.
As we cant see all ambassadors at FISL was a good oportunite to meet all brazilians ambassadors, olds and new ones. Lucas Torri bring to us some cool OpenSolaris shirts and gifts from JavaOne 2008 (where he was showing Project Marge).
I could also see some places in I don’t knew in the building, like the room for demostrating products. I saw very interesting backup devices from Storage Tek (now also part of Sun).
Maluf introduces us to Crawford
Eduardo Lima
We had an presentation with Jomar Silva, General Director of the Brazilian Chapter of the ODF Alliance, about ODF advances in Brazil. Eduardo Lima showed details of Sun Campus Ambassador Program in Brazil and also this cool videos about Open Source and OpenSolaris made by Vitório Sassi, Bruno Souza and Rafael Tinoco.
Me and Crawford Beveridge.
Almost all northeast ambassadors in a quick pizza dinner in the airport.
The complete album is available here.