Topic 204: Advanced Storage Device Administration

Tags

, , , ,

204.1 Configuring RAID

Weight 2
Description Candidates should be able to configure and implement software RAID. This objective includes using and configuring RAID 0, 1 and 5.

Key Knowledge Areas

  • Software raid configuration files and utilities

The following is a partial list of the used files, terms and utilities:

  • mdadm.conf – Arquivo de configuração com informações do raid;
  • mdadm – Gerenciador de dispositivos raid (–create, –detail –scan, –stop, –add)
  • /proc/mdstat – Exibe as informações do raid;
  • fdisk – Comando utilizado para gerenciar partições de um disco;

raid 0 – Método stripping, simplesmente distribui os dados entre os discos unificados, somando seus espaços como se fossem um só (http://www.guiadohardware.net/termos/raid-0);

raid 1 – Método mirroring, espelha os dados em cada um dos dispositivos anexados ao RAID (http://www.guiadohardware.net/termos/raid-1);

raid 5 – Esse método cria uma camada de redundância, sacrificando apenas uma fração do espaço total, ao invés de simplesmente usar metade dos HDs para armazenar cópias completas, como no caso do RAID 1 (http://www.guiadohardware.net/termos/raid-5);

Mais informações:

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-ig-s390-multi-pt_br-4/s1-s390info-raid.html

http://www.vivaolinux.com.br/artigo/RAID-1-em-Debian-com-sistema-ja-instalado/?pagina=1

http://faleiros.eti.br/?q=node/62

204.2 Adjusting Storage Device Access

Weight 1
Description Candidates should be able to configure kernel options to support various drives. This objective includes software tools to view & modify hard disk settings.

Key Knowledge Areas

  • Tools and utilities to configure DMA for IDE devices including ATAPI and SATA
  • Tools and utilities to manipulate or analyse system resources (e.g. interrupts)
  • Awareness of sdparm command and its uses

The following is a partial list of the used files, terms and utilities:

  • hdparm – Este comando pode ser utilizado para verificar e/ou alterar configurações de discos IDE/SATA (hdparm -i /dev/sda);
  • sdparm – Este comando pode ser utilizado para verificar e/ou alterar configurações de discos SCSI/SATA (sdparm -a /dev/sda);
  • tune2fs
  • sysctl – Comando utilizado para alterar parâmetros do kernel em tempo de execução (sysctl -w fs.file-max=9000)
  • /dev/hd* – discos IDE;
  • /dev/sd* – discos SATA/SCSI;

204.3 Logical Volume Manager

Weight 3
Description Candidates should be able to create and remove logical volumes, volume groups, and physical volumes. This objective includes snapshots and resizing logical volumes.

Key Knowledge Areas

  • Tools in the LVM suite
  • Resizing, renaming, creating, and removing logical volumes, volume groups, and physical volumes
  • Creating and maintaining snapshots
  • Activating volume groups

The following is a partial list of the used files, terms and utilities:

  • /sbin/pv* – pv (Physical volume / volume físico);
    • pvchange – Altera características de um PV em um determinado VG;
    • pvck – Verificar o metadata do volume físico;
    • pvcreate – Assina o dispositivo (partição) para ser utilizado no LVM ;
    • pvdisplay – Exibe informações sobre um PV e seu VG correspondente;
    • pvmove – Move PE’s de um PV para outro PV;
    • pvremove – Apaga um volume físico;
    • pvresize – Caso o device físico tenha alteração no seu tamanho, o pvresize deve ser usado para notificar o LVM sobre isso;
    • pvs – Reporta informações sobre os volumes físicos;
    • pvscan – Procura todos os physical volume nos discos;
  • /sbin/lv* – lv (Logical Volume / volume lógico);
    • lvchange – Modifica as características de um LV;
    • lvconverter – Converte um volume lógico para um mirror ou snapshot;
    • lvcreate – Stripe, cria um volume lógico em um grupo de volumes;
    • lvdisplay – Exibe informações sobre um LV;
    • lvextend – Aumenta o espaço alocado por um LV;
    • lvm – Ferramenta LVM de linha de comando;
    • lvchange – Altera atributos de um volume lógico;
    • lvmdiskscan – Procura todos os discos visíveis para o LVM;
    • lvmdump – Cria um arquivo de dump para efeitos de diagnóstico;
    • lvreduce – Reduz o espaço alocado por um volume lógico;
    • lvremove – Remove um ou mais volumes lógicos de um grupo de volumes;
    • lvrename – Renomeia um volume lógico;
    • lvresize – Redimensiona o tamanho de um volume lógico;
    • lvs – Reporta informações sobre os volumes lógicos;
    • lvscan – Procura por volumes lógicos nos discos;
  • /sbin/vg* – vg (Volume Group / grupo de volumes)
    • vgcfgbackup – Faz backup das configurações do grupo de volumes;
    • vgcfgrestore – Restaura um backup de configurações de grupos de volumes;
    • vgchange – Altera atributos de um grupo de volumes;
    • vgck – Verifica os metadata de um grupo de volumes;
    • vgcreate – Cria um VG;
    • vgdisplay – Exibe informações sobre um VG;
    • vgexport – Exporta um VG e seus LV’s ;
    • vgextend – Permite extende um VG já criado, adicionando novos PV;
    • vgimport – Realiza a importação de grupo de volumes previamente exportados;
    • vgmerge – Realiza uma junção de dois grupos de volumes;
    • vgreduce – Remove PV’s de um VG;
    • vgremove – Apaga um VG;
    • vgrename – Renomeia um grupo de volumes;
    • vgs – Reporta informações dos grupos de volumes;
    • vgscan – Procura por grupos de volumes nos discos e reconstroem seu cache;
    • vgsplit – Divide um grupo de volumes em dois;
  • mount – mount /dev/mapper/VG-lv-var /mnt ou mount /dev/VG/lv-var /mnt
  • /dev/mapper/ – Armazena as partições LVM.

LVM – Logical Volume Management cria um grande disco virtual, que pode inclusive ter mais de um dispositivo de armazenamento e divide em partições virtuais. A grande vantagem é permitir o redimensionamento das áreas de modo dinâmico. (Tipo de partição = 8e Linux LVM)

Snapshots – Cria um snapshot de uma partição lvm (lvcreate -L10G -s -n rootsnapshot /dev/VG/lv-root)

LE – Logical Extend

lv – logic volume

LVM – Logical Volume Manager

PE – Physical Extend

pv – physical volume

vg – volume group

Mais informações:

http://www.bestlinux.com.br/index.php/dicas/120/4584

http://cialinux.wordpress.com/2010/01/19/compreendendo-o-uso-de-snapshots-de-unidades-lvm/

http://cialinux.wordpress.com/2010/01/16/como-reduzir-o-tamanho-de-um-volume-logico-sem-estragar-o-sistema-de-arquivos-em-linux/

Anúncios

Rumo ao LPIC-2

Tags

, ,

Em meados de agosto de 2009, devido a uma necessidade contratual foi “obrigado” a tirar o LPIC-1, pois a empresa em que trabalho tinha um contrato de prestação de serviço com um profissional certificado.

Então me preparei, estudei muito e fiz o exame, acabei montando um material de apoio para ajudar a memorizar os tópicos, mais informações neste post.

Bom neste ano de 2010 fui remanejado para área de suporte, ou seja, agora estou definitivamente e oficialmente vinculado a área de suporte na empresa em que trabalho. Inicialmente escrevi um plano de reestruturação de servidores, pois temos a necessidade de trocar algumas máquinas, atualizar alguns serviços e implantar algumas politicas.

Aproveitando o embalo já que necessariamente precisarei estudar várias tecnologias para executar a reestruturação da infra-estrutura, porque não juntar o útil ao agradável e me preparar para realizar o exame do LPIC-2 este ano.

Rumo ao Advanced Level Linux Professional (LPIC-2), no decorrer deste ano estarei postando um pequeno resumo dos objetivos da prova.

Mais informações sobre a prova no site oficial (http://www.lpi.org/eng/certification/the_lpic_program/lpic_2).

  • Status: Available now; first published November 29, 2001; latest revision April 1, 2009.
  • Pre-Requisites: You must have an active LPIC-1 certification to receive LPIC-2 certification, but the LPIC-1 and LPIC-2 exams may be taken in any order.
  • Requirements: Passing Exams 201 and 202.
  • Overview of Tasks: To pass Level 2 someone should be able to:
    • Administer a small to medium-sized site
    • Plan, implement, maintain, keep consistent, secure, and troubleshoot a small mixed (MS, Linux) network, including a:
      • LAN server (samba)
      • Internet Gateway (firewall, proxy, mail, news)
      • Internet Server (webserver, FTP server)
      • o Supervise assistants
      • o Advise management on automation and purchases

Exam 201: Detailed Objectives

Mais informações em http://www.lpi.org/eng/certification/the_lpic_program/lpic_2/exam_201_detailed_objectives

Topic 201: Linux Kernel

  • 201.1 Kernel Components
  • 201.2 Compiling a kernel
  • 201.3 Patching a kernel
  • 201.4 Customise, build and install a custom kernel and kernel modules
  • 201.5 Manage/Query kernel and kernel modules at runtime

Topic 202: System Startup

  • 202.1 Customising system startup and boot processes
  • 202.2 System recovery

Topic 203: Filesystem and Devices

  • 203.1 Operating the Linux filesystem
  • 203.2 Maintaining a Linux filesystem
  • 203.3 Creating and configuring filesystem options
  • 203.4 udev Device Management

Topic 204: Advanced Storage Device Administration

  • 204.1 Configuring RAID
  • 204.2 Adjusting Storage Device Access
  • 204.3 Logical Volume Manager

Topic 205: Networking Configuration

  • 205.1 Basic networking configuration
  • 205.2 Advanced Network Configuration and Troubleshooting
  • 205.3 Troubleshooting network issues
  • 205.4 Notify users on system-related issues

Topic 206:System Maintenance

  • 206.1 Make and install programs from source
  • 206.2 Backup operations

Topic 207: Domain Name Server

  • 207.1 Basic DNS server configuration
  • 207.2 Create and maintain DNS zones
  • 207.3 Securing a DNS server

Exam 202: Detailed Objectives

Mais informações em http://www.lpi.org/eng/certification/the_lpic_program/lpic_2/exam_202_detailed_objectives

Topic 208 Web Services

  • 208.1 Implementing a web server
  • 208.2 Maintaining a web server
  • 208.3 Implementing a proxy server

Topic 209: File Sharing

  • 209.1 SAMBA Server Configuration
  • 209.2 NFS Server Configuration

Topic 210 Network Client Management

  • 210.1 DHCP configuration
  • 210.2 PAM authentication
  • 210.3 LDAP client usage

Topic 211: E-Mail Services

  • 211.1 Using e-mail servers
  • 211.2 Managing Local E-Mail Delivery
  • 211.3 Managing Remote E-Mail Delivery

Topic 212: System Security

  • 212.1 Configuring a router
  • 212.2 Securing FTP servers
  • 212.3 Secure shell (SSH)
  • 212.4 TCP Wrapper
  • 212.5 Security tasks

Topic 213: Troubleshooting

  • 213.1 Identifying boot stages and troubleshooting bootloaders
  • 213.2 General troubleshooting
  • 213.3 Troubleshooting system resources
  • 213.4 Troubleshooting environment configurations

Os primeiros passos com Zend Framework

Tags

, , ,

Pessoal a um tempo atrás escrevi um post sobre como realizar a instalação do Zend framework. Agora vou compartilhar algumas informações e fontes que achei em diversas pesquisas na internet.

Meu primeiro passo após conseguir instalar o framework (Zend) e a sua ferramenta de linha de comando (Zend Framework Command Line Console Tool) foi criar um Hello World básico. Já meu segundo passo foi criar um CRUD simples, com as ações de listar, inserir, alterar, apagar os dados armazenada em uma tabela no banco de dados postgreSQL. Para conseguir realizar esses passos o  tutorial Getting Started with Zend Framework me ajudou muito.

Após ler esse tutorial e criar meu projeto inicial com alguns formulários simples, surgiu a necessidade de implementar outros recursos: paginação de resultados, utilizar as classes Form para gerar formulários dinamicamente,  gerenciar a estrutura do layout na aplicação, estruturar minha aplicação baseada em módulos. Foi então que navegando achei um conjunto de 30 videos que ensina como utilizar esses recursos.

Durante o desenvolvimento desses novos recursos na minha aplicação vários erros surgirão, então descobri um plugin bacana e fácil de instalar e utilizar, que exibe erros, sql, dump de variaveis ou array de uma forma elegante na tela. Outro macete legal que aprendi, foi como configurar o eclipse para executar o Zend Framework Command Line dentro da propria ferramenta.

Espero que esse post possa ajudar alguém que esteja iniciando o desenvolvimento de uma aplicação utilizando o Zend Framework.

LPIC-1

Tags

, ,

É com muito orgulho que escrevo esse post, pois acabo de conquistar minha primeira certificação, agora sou Junior Level Linux Professional (LPIC-1).

Após dois anos de trabalho utilizando linux em minha estação de trabalho, mais um ano trabalhando com suporte em servidores linux e um mês de estudos intensos, totalizando três anos de experiencia com o mundo GNU, realizei os exames para adquirir minha certificação.

Resumidamente o LPI é uma entidade certificadora de Linux reconhecida internacionalmente, para quem tem interesse em fazer os exames este link contém o conteúdo programático para o nível 1. A certificação LPIC-1 é constituída por dois exames conhecidos pelos códigos 101 e 102, o candidato deverá ser aprovado em ambos para ser considerado LPIC-1. Cada exame contém 60 questões (abertas, múltipla escolha, várias alternativas), com duração máxima de 90 minutos cada. Os exames são agendadas e realizadas pelos institutos VUE ou PROMETRIC.

No meu caso eu utilizei os seguintes livros para estudar:

  • Certificação Linux LPI – Nível 1 Exm 101 e 102 2a Ed. Revisada (Steven Pritchard, Bruno Pessanha)
  • Certificação Linux (Ribeiro, Uirá)
  • Certificação LPI-1 3ª Edição (Siqueira, Luciano)

Durante esse mês de estudos acabei escrevendo um resumo dos objetivos cobrados nos exames do LPIC-1, segue o arquivo.

Abaixo estão os meus resultados conquistados:

101 – Score 710

Test Section Information Percent Correct
System Architecture 87%
Linux Installation and Package Management 90%
GNU and Unix Commands 80%
Devices, Linux Filesystems, Filesystem Hierarchy Standard 93%

101 – Score 720

Test Section Information Percent Correct
Shells, Scripting and Data Management 80%
User Interfaces and Desktops 100%
Administrative Tasks 100%
Essential System Services 100%
Networking Fundamentals 71%
Security 77%

LPI ID: LPI000160261
Código de verificação:
6n8h7r7sy2
https://www.lpi.org/caf/Xamman/certification

certificado-lpic1

Gostaria de agradecer aos meus amigos de uma forma geral pelas trocas de conhecimento e incentivos para que eu pudesse realizar essa conquistar. Obrigado!

SharePoint

Tags

,

Mês passado eu tive a oportunidade de participar de um treinamento oficial Microsoft. Foi meu primeiro treinamento Microsoft, alguns amigos ficarão me zuando porque onde trabalhamos Windows só utilizado em algumas estações do financeiro, isso porque a maioria dos softwares da Caixa funcionam somente em plataforma Microsoft.

Mas como eu nunca fui radical ao ponto de somente utilizar software livre, fui fazer o curso. O fato é que eu não tinha a menor idéia do que era SharePoint, numa pesquisa rápida descobri que era uma ferramenta de colaboração.

No curso de SharePoint que durou uma semana (40h), fiz dois cursos:

Os cursos foram ministrados pelo instrutor Eduardo que trabalha na SofHar de Curitiba – PR, o que eu achei mais interessante no curso, foi a questão da padronização Microsoft, tanto os livros quanto os slides apresentados pelo instrutor são padronizados e geralmente em inglês, ou seja, o mesmo material é utilizado no mundo inteiro.

O curso funcionou da seguinte forma, nos livros temos as lições e no final delas temos os labs, então o instrutor explicava os tópicos aboradados na lição e depois os alunos utilizavam uma máquina virtual para colocar em prática tudo que aprendemos.

Recentemente eu fiz um trabalho para um cliente da empresa onde eu trabalhava, neste projeto eu precisava fazer uma pesquisa e um levantamento de 5 ferramentas de gerenciamento de documentos eletrônicos, mas que tivessem algumas características como: integração com OpenLDAP, versionamento de documentos, idioma em português, ferramenta de busca entre outras. Nesta pesquisa foi elegida uma ferramenta pra testes, o knowledgetree, com certeza uma ferramenta muito poderosa.

Então durante o curso, eu fui aprendendo sobre os recursos do SharePoint e confesso fiquei realmente impressionado, pela quantidade e possibilidades que essa ferramenta atende. Além da facilidade de uso e intregrações com toda a familia de produtos Microsoft. E a cada caracterisca nova que eu aprendia, eu automaticamente comparava na minha cabeça com as outras ferramentas que eu havia pesquisado.

sharepoint

Para ter uma idéia com o SharePoint você tem uma solução intranet completa, onde você pode criar sites internos para cada departamento e delegar responsabilidades de administração dos mesmos. Cada usuário pode ter um perfil, para manter os seus dados sempre atualizados. Cada site pode tem recursos como páginas wiki, blog, bibliotecas de arquivos, workflow, business intelligence entre outras. Você também pode disponibilizar uma extranet para clientes acessarem informações específicas, além da possibilidade de manter o site público da sua empresa pela própria ferramenta.

Por fim, fazendo uma comparação entre as possibilidades do SharePoint com outras ferramentas de colaboração, tenho que reconhecer que essa ferramenta da Microsoft  agrega um grande valor e agilidade aos processos internos de uma empresa.

OSISoft PI System

Recentemente tive a oportunidade de participar de uma apresentação da OSISoft sobre o PI System, quando cheguei na apresentação eu realmente não tinha idéia alguma sobre esse produto, apenas que era um tipo de banco de dados.

Então um consultor da OSISoft fez uma apresentação show de bola, ele fez um pequeno teatro com os próprios participantes da palestra, eu ainda nunca tinha visto uma apresentação neste formato, gostei muito da didática utilizada, acredito que todas as pessoas da plateia entenderão como funciona a ferramenta e os conceitos básicos de banco de dados, alta disponibilidade, cluster e configuração de serviços; mesmo as pessoas não técnicas que estavão presentes.

Basicamente o PI funciona como um banco de dados centralizado que tem a capacidade de capturar informações nas mais diversas fontes de informações. Ele geralmente é utilizado em grandes empresas que possuem diferentes equipamentos industriais, os quais cada fabricante disponibiliza um sistema próprio para gerenciamento e exibição de relatórios. Então o PI coleta diferentes informações de diversos equipamentos e centraliza em um grande banco de dados e possibilita através de vários módulos que seja contabilizada essa informação para ajudar a tomada de decisão dentro de um empresa.

Uma informação interessante é que o sistema PI possui uma faixa de 500 drivers de comunicação com equipamentos proprietários, pois nem todos os fabricantes seguem um padrão estabelecido.

Segue um diagrama simples de como a solução funciona:

OSISoft PI System

Na minha opinião essa solução é essencial em uma empresa que possua uma rede industrial e tenha a necessidade de consolidar diferentes e diversas informações para tomar desições importantes, principalmente na área operacional de produção. A grande vantagem deste software não está apenas na centralização das informações, mas sim na possibilidade de cruzar essas informações, realizar cálculos complexos e disponibilizar os resultados através de gráficos, planilhas ou simplesmente dados prontos para alimentar uma ferramenta de colaboração na sua intranet.

Instalar e configurar o ZendFramework

Tags

, , ,

Estou utilizando o sistema operacional Ubuntu 8.10 no meu ambiente de  desenvolvimento, então todos os exemplos serão baseados nessa distribuição.

Primeiramente instale os pacotes necessário para ter um servidor Web PHP funcionando.

root@diorgenes-desktop:/# apt-get install apache2 php5 php5-cli -y

Então abra o seu navegador e digite o seguinte endereço:

http://localhost

Pronto! Seu servidor apache com PHP já está instalado. Agora vamos instalar o ZendFramework.

Entre na página da ZendFramework na seção download e escolha qual pacote e versão você deseja baixar.

Obs: A diferença entre o Full Package e o Minimal Package são apenas exemplos, extras e testes.

No meu caso eu fiz o download do Minimal Package, após baixar o arquivo ZendFramework-1.8.2-minimal.tar.gz, descompacte o seu conteúdo  em /opt através do seguinte comando:

root@diorgenes-desktop:/# tar -xvf ZendFramework-1.8.2-minimal.tar.gz -C /opt/

Agora precisamos configurar a variável include_path do PHP, edite os arquivos /etc/php5/apache2/php.ini e /etc/php5/cli/php.ini nas seções Paths and Directories que ficam aproximadamente na linha 486, como no exemplo abaixo:

; UNIX: "/path1:/path2"
include_path = ".:/opt/ZendFramework-1.8.2-minimal/library"

O ZendFramework necessita do módulo rewrie do Apache habilitado. Para habilitar o módulo execute o seguinte comando:

root@diorgenes-desktop:/# a2enmod rewrite

Também é necessário alterar o arquivo /etc/apache2/sites-available/default, na tag <Directory /var/www/> temos o parâmetro AllowOverride com o valor None, mude-o para All.

Então devemos recarregar as configurações do Apache e do PHP, com o seguinte comando:

root@diorgenes-desktop:/# /etc/init.d/apache2 reload

Para fazer uso da ferramenta de linha de comando do ZendFramework, devemos criar um alias para o comando zf. Edite o arquivo /etc/bash.bashrc e adicione no final do arquivo a seguinte linha:

alias zf=/opt/ZendFramework-1.8.2-minimal/bin/zf.sh

Pronto! Agora todos os usuários do sistema podem executar o Zend Framework Command Line Console Tool, basta apenas digitar zf no seu terminal.

Para visualizar qual versão do ZendFramework está instalada na sua máquina, abra um novo terminal e execute o seguinte comando:

root@diorgenes-desktop:/# zf show version

Será exibido o seguinte resultado: Zend Framework Version: 1.8.2

Para criar um projeto helloworld execute o seguinte comando:

root@diorgenes-desktop:/# zf create project /var/www/helloworld

Pronto! Acesse o seguinte endereço http://localhost/helloworld/public/ no seu navegador e nossa instalação de desenvolvimento está finalizada.

Obs: Quando a aplicação for colocada em produção deverá ser configurado no Apache o acesso das aplicações através do recurso de subdominio ou alias no Apache, isso para garantir que apenas a pasta public da aplicação seja acessada pelo navegador, mas isso eu vou explicar em um futuro post.