anúncios

domingo, 18 de setembro de 2016

Configurando LVM no Debian

O que é LVM ?
O LVM (Logical Volume Manager) é um recurso que permite criar volumes lógicos (um particionamento virtual).

Como o LVM funciona ?
O LVM funciona com os três elementos básicos:

PV (Physical Volume ou Volume Físico): É a definição das partições ou áreas do disco (ou discos) que ficarão disponíveis para serem utilizadas pelo LVM.

VG (Volume Group ou Agrupamento de volumes): É uma subdivisão do PV, algo como uma partição estendida. Pode ser utilizada para criar sistemas de arquivos maiores do que a limitação física de um disco rígido, como por exemplo, uma partição de 2TB em um HD utilizando o MBR (em discos utilizando GPT esta limitação não existe).

LV (Logical Volume ou Volume Lógico): É como se fosse uma partição lógica dentro de uma partição estendida (VG). Esse elemento é uma área de alocação na qual criamos o filesystem. Ao criarmos um volume lógico, recebemos um dispositivo para referenciarmos, ao criar ou manipular, o sistema de arquivos.

Depois de conhecer o LVM e pra que ser serve, podemos seguir os procedimentos de configuração do LVM em seu computador com SO GNU/Linux Debian Jessie (8), mas deve funcionar também nas versões anteriores e futuras do Debian sem problemas.

Instalação do LVM
root@Saitam:# apt-get update
root@Saitam:# apt-get install lvm2

Criação dos Volumes Lógicos
Primeiramente é necessário adicionar pelo menos dois discos no servidor ou computador. Nesse howto foi criado 2 discos de tamanho 8GB cada.

Disco 1
root@Saitam:# cfdisk /dev/sdb
Nesse caso foi criado uma partição única de 8GB do tipo de sistema de arquivos 8e (Linux LVM)

Disco 2
root@Saitam:# cfdisk /dev/sdbc
Nesse caso foi criado uma partição única de 8GB do tipo de sistema de arquivos 8e (Linux LVM)

Com os discos que serão utilizados para volumes lógicos desmontados, será criado o volume físico (PV) como segue:

# pvcreate /dev/sdb1 /dev/sdc1
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created


Podemos ver o status que foi criado com sucesso
root@Saitam:# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 8,00g 8,00g
/dev/sdc1 lvm2 --- 8,00g 8,00g


Agora será incluido esses dois volumes físicos em um grupo de volumes chamado saitam
root@Saitam:# vgcreate saitam /dev/sdb1 /dev/sdc1
/proc/devices: No entry for device-mapper found
/proc/devices: No entry for device-mapper found
Volume group "saitam" successfully created


Foi adicionado dois volumes físicos PV em um agrupamento VG com aproximadamente 16GB, como pode ser observado no comando seguinte:
root@Saitam:# vgs
VG #PV #LV #SN Attr VSize VFree
saitam 2 0 0 wz--n- 15,99g 15,99g


Agora podemos criar volumes lógicos LV com o tamanho que desejar. Para criar o volume com 1GB, com LVM1 no agrupamento VG saitam, segue o comando:
root@Saitam:# lvcreate -L1G -n LVM1 saitam
Logical volume "LVM1" created


Podemos verificar o volume criado com o comando seguinte:
root@Saitam:# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
LVM1 saitam -wi-a----- 1,00g


Usando Volumes Lógicos
Com os passos acima executado corretamente, podemos acessar o volume lógico com o nome do grupo dado no /dev/nome-volume-logico

root@Saitam:# ls -la /dev/saitam/
total 0
drwxr-xr-x 2 root root 60 Set 17 16:51 .
drwxr-xr-x 17 root root 3120 Set 17 16:51 ..
lrwxrwxrwx 1 root root 7 Set 17 16:51 LVM1 -> ../dm-0

Assim podemos formatar o /dev/nome-volume-logico/LVM1 como se fosse uma partição no mesmo HD
root@Saitam:# mkfs.ext4 /dev/saitam/LVM1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 16d941fa-314b-4911-894e-d44576773ecf
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done


Criaremos agora um ponto de montagems para o volume lógico, segue os passos:
root@Saitam:# mkdir /mnt/lvm
root@Saitam:# mount -t ext4 /dev/saitam/LVM1 /mnt/lvm


Editar o arquivo /etc/fstab para o ponto de montagem pode montar no boot, adaptando para o nome do volume grupo que foi dado
root@Saitam:# vim /etc/fstab
Incluir a linha abaixo no final do arquivo
/dev/saitam/LVM1 /mnt/lvm ext4 defaults 0 0

ESC +:x (salva e sai do editor Vim)

Redimensionando o tamanho do LVM
Podemos aumentar o volume lógico, com os procedimentos abaixo:
root@Saitam:# umount /mnt/lvm/
root@Saitam:# lvextend -L +6G /dev/saitam/LVM1
Size of logical volume saitam/LVM1 changed from 1,00 GiB (256 extents) to 7,00 GiB (1792 extents).
Logical volume LVM1 successfully resized

root@Saitam:# e2fsck -f /dev/saitam/LVM1
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/saitam/LVM1: 11/65536 files (0.0% non-contiguous), 12635/262144 blocks


root@Saitam:# resize2fs /dev/saitam/LVM1
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/saitam/LVM1 to 1835008 (4k) blocks.
The filesystem on /dev/saitam/LVM1 is now 1835008 (4k) blocks long.

root@Saitam:# mount -t ext4 /dev/saitam/LVM1 /mnt/lvm

Verifique o status do volume lógico se aumentou de acordo, lembra que tinha 1GB e foi adicionado 6GB
root@Saitam:# df -h V
/dev/mapper/saitam-LVM1 6,9G 2,3M 6,5G 1% /mnt/lvm

Considerações finais

O LVM é um recuso que possui muita flexibilidade ao administrador de sistemas em seu servidor e até no seu próprio computador.

Assim é possível, adicionar mais discos rígidos no computador e aumentar o tamanho do volume sem que haja perda de dados.

Feito!

quarta-feira, 7 de setembro de 2016

O perfil do profissional Linux

Especialistas em treinamento e certificações apontam que o caminho para quem quer trabalhar com Linux pode ser árduo, mas compensa

Procura-se um profissional com visão generalista para o mundo da infraestrutura da informática, que saiba integrar plataformas diversas, como Unix, Linux, Windows, que seja flexível e dedicado ao estudo aprofundado dos principais sistemas em uso. Ser um profissional da área de informática atualmente é algo desafiador, pois integração é a palavra-chave no mercado de trabalho. Muitas empresas não mudam totalmente os seus sistemas da noite para o dia, mas sim, adaptam o hardware que possuem para as demandas de informação específicas para a sua atividade-fim. Soluções que mesclam softwares livres com proprietários em plataformas diferentes tornam-se comuns. E o profissional de informática está preparado para esse cenário?

Na opinião de especialistas em treinamento e consultores profissionais, o mercado de trabalho traz algumas exigências. Ser formado em curso universitário reconhecido pelo MEC, por exemplo, é uma delas. "Dependendo da empresa, o nível superior é fundamental para a sua admissão", comenta Valério Kikuchi, diretor geral da Utah Consultores, empresa de São Paulo que oferece treinamento e soluções na área de informática e que já treinou mais de 7.000 alunos de empresas como a Citibank, IBM Brasil, UOL, entre outras. Empresas de consultoria, salienta Kikuchi, têm encontrado dificuldades de colocar profissionais não-bacharéis no mercado. "Algumas empresas já pedem os currículos dos consultores e se não forem formados, poderão ser indeferidos nos projetos", explica.

Para o diretor presidente da Impacta Tecnologia, Célio Antunes de Souza, independentemente de o profissional ter nível superior ou não, o fundamental é conhecer todas as características e detalhes mais importantes do sistema operacional, seja ele qual for. Para Antunes, isso se deve à forma como o Linux é utilizado nas empresas. "Os ambientes são heterogêneos, mantendo diversos sistemas operacionais, de fabricantes e versões diferentes", diz. O exemplo de Linus Torvalds mostra que nem sempre é preciso ter um diploma para criar um sistema operacional. Ele ainda cursava ciência de computação na Universidade de Helsinque quando resolveu criar um sistema alternativo, que deu origem ao Linux. "O importante não é apenas o domínio da informação, mas sim a capacidade de olhar algo com olhos de quem quer aprender, ou seja, desde que a pessoa tenha a vontade de aprender, ela terá uma facilidade muito grande para dominar o Linux", declara Pedro Matheus, consultor da Harvest Consultoria, de São Paulo.

O caráter comunitário do Linux, com seus milhares de programadores e usuários em todo o mundo, que trocam informações constantemente e resolvem problemas por meio da Internet, tudo isso realmente facilita muito o aprendizado, mas de nada adianta se não dominar o idioma de Shakespeare. "Todo o rico material para Linux e os melhores cursos estão em inglês e essa é a língua do mundo dos negócios", complementa Valério Kikuchi. 

O mercado de trabalho para o profissional de informática com conhecimento em Linux ainda é atraente, pois segundo Kikuchi, há poucos realmente capacitados para as necessidades. No entanto, as coisas não são tão fáceis como parecem. Na opinião do presidente da Impacta, Célio Antunes, apesar da grande oferta de treinamentos especializados em todas as áreas do Linux, nem todos os alunos estão aptos a preencher a demanda do mercado de trabalho. "Isso acontece ou porque não conseguem absorver os conhecimentos necessários ou, quando absorvem, ainda não têm a experiência exigida pelas empresas", justifica.

Apesar do fato de que hoje em dia ser especializado em Linux seja uma grande vantagem no mercado da informática, o fator pessoal é ainda predominante na hora de escolher aquela ou outra pessoa. "Se dedicar ao estudo mais profundo do sistema e procurar a cada dia mais se especializar em um determinado assunto é um diferencial que acredito que nunca será superado", diz Antunes.

Desktop é desafio
A rotatividade também é algo importante a ser analisada, apontam especialistas. O diretor da Utah, Valério Kikuchi conta que nas décadas de 70 e 80, o mercado de trabalho em informática já tinha uma rotatividade alta que ficou ainda maior com o surgimento de uma nova forma de trabalho: a consultoria. "Sem o vínculo da CLT, o pessoal da informática foi atrás de contratos, alguns apenas por dinheiro e outros por trabalhos mais desafiadores", diz. A partir do final dos anos 80, com a ampliação da parafernália informática (equipamentos, softwares e periféricos) e de seus fornecedores, os trabalhos de consultoria cresceram e favoreceram as mudanças constantes de local de trabalho e, inclusive, empresas. Muitas delas acabam contratando ex-funcionários da concorrência, acirrando a disputa pelos profissionais com mais conhecimentos.
Sobre o assunto certificação, Kikuchi diz que tem sido procurado por empresas de vários portes que estão migrando toda, ou parte, de sua infraestrutura operacional para o Linux. De acordo com ele, as empresas querem fazer a certificação para "ter na mão" a sua nova infraestrutura. "Com o Linux, ela fica mais estável, mas requer uma nova especialização que admite poucos erros de suporte". No que se refere ao desktop, Kikuchi afirma que poucas empresas já decidiram mudar para o sistema operacional do pingüim. "Essa é ainda a última fronteira para o Linux", completa.

Conhecimento profundo
A complexidade do trabalho em informática valorizou acentuadamente os gerentes cujos salários, de acordo com estimativa do diretor presidente da Impacta, Célio Antunes, podem ser superiores a R$ 5.000. Para ele, os maiores empregadores para os profissionais capacitados em Linux são empresas de telecomunicações,desenvolvimento de software e provedores de Internet. "Profissionais com nível gerencial necessitam ter um conhecimento mais profundo do sistema, devem saber o que pode e o que não pode ser feito com o Linux e ter experiência nas áreas em que atuam", explica. Para Antunes, boa parte dos custos de projetos com Linux pode ser reduzida com o apoio dessas pessoas. Na hora de preencher um currículo, alguns pontos são importantes, aponta Antunes. O primeiro deles é que todo e qualquer tipo de treinamento realizado deve ter sido feito por profissionais da área. "Outros cursos de especialização devem ser citados, principalmente os que têm uma relação direta com o objetivo a ser alcançado, além das experiências anteriores diretamente ligadas ao Linux", destaca.

Funções do profissional Linux
Muitas empresas que passam a adotar o Linux em suas redes estão à procura de pessoas especializadas, que podem ser contratadas ou até trabalhar como prestadoras de serviços. As funções mais conhecidas são as de administrador de redes, especialista em segurança, desenvolvedores e profissionais de suporte técnico/help-desk. Para saber mais sobre cada uma dessas funções, a Revista do Linux entrevistou quatro profissionais que trabalham na maior distribuição Linux na América Latina, a Conectiva.

Desenvolvedores
O programador do projeto KDE e colaborador da Revista do Linux, Roberto Teixeira, explica que a principal função do desenvolvedor de software é encontrar soluções para problemas. As ferramentas que um desenvolvedor deve dominar dependem muito dos projetos em que ele esteja envolvido. "Um programador C precisa dominar o compilador C, o debugger e deve dominar um bom editor. O importante é conhecer a lógica dos sistemas para ser um desenvolvedor", complementa. Para Teixeira, ninguém conhece tudo sobre desenvolvimento de software. "Muita gente tenta aprender uma linguagem de programação sem realmente aprender a programar. O que é importante é a lógica", diz. A preguiça definitivamente deve ficar longe de todo desenvolvedor de software, aponta Teixeira. Para ele, em programação nunca se acha tudo "mastigadinho" e pronto, como em outras áreas. "Na programação, o desenvolvedor deve ter a capacidade de abstrair informações e ir atrás de soluções". Os livros, frisa Teixeira, podem, no máximo, ser boas referências, mas para ele nunca existiu nem jamais existirá um livro que ensine alguém a ser programador.

Qualidades necessárias para ser um desenvolvedor
capacidade de abstração, curiosidade, paciência, persistência.
"É importante não ter vergonha de perguntar a quem sabe mais, mas também não se pode perguntar algo sem antes procurar descobrir, se não, a pessoa não aprende".
Roberto Teixeira - desenvolvedor do KDE.

Especialistas em segurança
Há muitas coisas que o especialista de segurança pode fazer. Tudo depende da função de cada um deles em uma empresa (ou até mesmo como autônomos). Eles podem auditar programas e sistemas, próprios ou de terceiros, podem realizar testes de segurança de redes (própria ou de terceiros), também chamados de testes de penetração, corrigir os problemas de segurança encontrados ou se responsáveis pela segurança da rede da empresa onde trabalham.
Para o especialista em segurança da Conectiva, Andreas Hasenack, que também já colaborou com a seção Segurança da Revista do Linux, um bom especialista em segurança deve, antes de tudo, conhecer em detalhes todos os sistemas operacionais envolvidos em seu trabalho.
"Precisa conhecer protocolos de rede e linguagens de programação, ser criativo e imaginar o que um atacante poderia fazer", afirma. Para Hasenack, o especialista deve usar, preferencialmente suas próprias ferramentas e scripts. "Acreditar piamente no que um programa te diz, sem saber o que o programa está exatamente fazendo e como está chegando àquele resultado, é pedir para ficar com uma falsa sensação de segurança", comenta.
Para aprender tudo o que sabe sobre segurança, Hasenack já perdeu a conta de quantos livros, listas de discussão, manpages e artigos já leu. "Além de ler, ler e ler, o especialista em segurança deve experimentar as ferramentas, analisar, por exemplo, o tráfego gerado por elas e entender como funcionam. Se não gostar de ler no computador, imprima e encaderne", explica.

O que um especialista de segurança deve estudar?
esquemas de autenticação, netfilter, rootkits, criptografia, capabilities e sistema de privilégios e permissões.
Bugs mais conhecidos que sempre se repetem:
buffer overflows, erros na formatação de strings, condições de corrida com arquivos temporários, injeção de comandos SQL em consultas, problemas de escape de caracteres perigosos (Shell, Perl, PHP, o próprio SQL) e outros.
"O importante é ler, ler e ler. Ah, e ler. Se não gostar de ler no computador, imprima e encaderne".
Andreas Hasenack, especialista em segurança da Conectiva.

Administradores de redes
Quando se monta uma rede de informática, o administrador de redes pode trabalhar em conjunto com o especialista em segurança para elaborar a estrutura da rede e políticas de acesso que melhor se ajustem à realidade da empresa. "O administrador participa diretamente na montagem dessa estrutura, tanto fazendo quanto organizando os técnicos envolvidos na montagem", explica o administrador da rede da Conectiva, Moisés José Gonçales dos Santos. Ele aponta que, depois de ter a estrutura montada e em funcionamento, o papel básico do administrador é mantê-la funcionando devidamente, e, para isso, é necessário um monitoramento constante do tráfego, dos serviços e dos servidores da rede.
Outro item importante na hora de administrar uma rede é o cuidado constante com a sua segurança, por meio de atualizações de segurança, boas políticas de "firewalling" e detecção de acessos indevidos. O administrador também pode gerenciar as contas dos usuários, logins, senhas e e-mails. A pesquisa e implantação constante de novas tecnologias também são fundamentais no trabalho do administrador. "Visamos sempre melhorar a estrutura da rede e os serviços presentes nela", considera.
Para Moisés, a Internet é a melhor fonte de pesquisa disponível. "Tudo que é novo e está sendo explorado se encontra em sites especializados, com reviews de outras pessoas que estão trabalhando naquilo", observa. Ter um bom embasamento sobre protocolos de rede, conceitos de segurança em rede, serviços e inclusive cabeamento físico são conhecimentos necessários que podem ser obtidos em cursos específicos voltados para administração de redes. Livros também podem ajudar a vida do profissional, principalmente aqueles sobre protocolos como TCP/IP (para entender a base da rede). Até os manuais de roteadores e switches permitem aos administradores perceber e usufruir tudo que esses equipamentos podem fazer. "Na parte de servidores e serviços, a documentação que os acompanha normalmente é suficiente para colocá-lo em funcionamento, mas caso falte alguma coisa, é sempre possível recorrer à Internet e buscar casos em que foram encontradas as mesmas dificuldades", finaliza.

Analista de Suporte Técnico
"O suporte técnico é uma área agradável e infernal ao mesmo tempo, apesar de eu ser suspeito, pois gosto muito do meu trabalho". A afirmação é do coordenador de suporte da Conectiva, Marcelo Martins. Os profissionais de suporte técnico prestam auxílio ou resolvem os problemas decorrentes da instalação, detalhes de configuração e até na detecção de bugs, que são repassados às equipes de desenvolvimento, para que sejam corrigidos. "Ao receber a correção, o suporte deve instalá-la e verificar se solucionou o problema", explica. De acordo com Martins, a rotina desses profissionais é puxada, e quem quiser se aventurar na área tem que se habituar com horários estranhos, suporte 24 horas e atendimentos emergenciais. "Afinal, somos quase um médico de micro", comenta.
Um profissional de suporte Linux deve dominar plenamente o sistema operacional, sua administração e configuração, além de ter conhecimentos básicos de programação no caso de alguma recompilação do sistema para arrumar um problema. "Quem trabalha no suporte deve ter o domínio das ferramentas de pesquisa, saber analisar logs do sistema", aponta Martins. Outra dica que ele aponta para aqueles que querem se aventurar na área é manter-se atualizado com a leitura de sites de notícias em Linux, tutoriais e conversas com os colegas de suporte ou desenvolvimento. "Foi pela Internet que consegui a maioria dos Howtos, artigos e notícias para a minha formação em Linux. Há também as listas de discussão. Afinal, o Linux é uma comunidade e todos procuram ajudar", assinala.
Martins enumera as principais tarefas para se tornar um bom profissional de suporte. "Pesquisar na Internet, participar de listas de discussões e fóruns, ter ao menos uma máquina para testes, reinstalações e recompilações, ser persistente, pois muitas coisas se escondem nos detalhes". Ele explica que, embora a comunidade Linux ajude, as pessoas não devem esperar as "receitas de bolo" ou que expliquem tudo detalhadamente. "É necessário esforço para aprender. Se pegar tudo pronto, o profissional não cresce", aponta. Para ele, por mais que a profissão de técnico de suporte tome tempo, esse profissional deve sempre encontrar um meio para manter-se atualizado, pois o mundo Linux é muito rápido em suas mudanças e novidades.

Tipos de suporte
Help desk remoto: o atendimento é feito por e-mail e telefone, o suporte é considerado passivo, pois depende da demanda do cliente ao entrar em contato para a resolução de um problema. O profissional de suporte usa, nesse caso, a técnica do repasse do conhecimento, por meio do qual vai informando para o cliente o que ele deve fazer para que seu problema seja resolvido.
Atendimento On-Site: o profissional de suporte vai até o cliente para resolver o problema, sendo que nesse caso, não é raro que sejam gastas noites e finais de semana com o suporte técnico debruçado em um determinado problema.
Resolução remota: o suporte técnico conecta-se (ssh, dial-up, etc.) à máquina do cliente para resolver o problema.
Suportes de segundo nível: o profissional atende outros técnicos para auxiliar na solução de problemas, sendo que nesses casos os problemas são complexos e exigem alto conhecimento do profissional.
"O mais importante é ser muito bom em relações humanas, pois no suporte nem sempre mexemos com máquinas, mas temos que tratar com um cliente, um outro técnico e, muitas vezes, nosso sucesso depende mais dessa relação do que do trabalho em si".
Marcelo Martins - Coordenador do Suporte Técnico da Conectiva

Rodrigo Asturian - asturian@RevistaDoLinux.com.br