Você está na página 1de 21

Luciano Antonio Siqueira

LPI-2
4 Edio

Rio de Janeiro, 2014

LPI-2.indb 1

09/01/2014 11:23:24

Suba e me veja s vezes


Ento tentarei te alcanar
Bem do fundo do meu mar
Pois voc v eu aprendo
(Arnaldo Baptista)

LPI-2.indb 3

09/01/2014 11:23:26

Sumrio
Prefcios

Introduo

Viso geral das mudanas nos exames LPIC nvel 2

Tpico 200: Planejamento de capacidade


200.1 Avaliar e Resolver Problemas no Uso de Recursos
200.2 Prever Necessidades Futuras de Recursos

Tpico 201: O kernel Linux


201.1 Componentes do kernel
201.2 Compilando um kernel Linux
201.3 Controlar o kernel em tempo real e soluo de problemas
201.4 Gerenciamento de dispositivos udev

Tpico 202: Incio do sistema


202.1 Personalizar o incio do sistema SysV-init
202.2 Recuperao do sistema
202.3 Carregadores de boot alternativos

Tpico 203: Sistema de arquivos e dispositivos


203.1 Trabalhando com o sistema de arquivos Linux
203.2 Manuteno de um sistema de arquivo Linux
203.3 Criando e configurando opes de sistemas de arquivos

Tpico 204: Administrao avanada de dispositivos de armazenamento


204.1 Configurao de RAID
204.2 Ajustar o acesso a dispositivos de armazenamento
204.3 Gerenciamento de volumes lgicos (LVM)

Tpico 205: Congurao de rede


205.1 Configuraes bsicas de rede
205.2 Configurao avanada de rede e resoluo de problemas
205.3 Solues de problemas de rede

Tpico 206: Manuteno do sistema


206.1 Compilar e instalar programas a partir do cdigo fonte

LPI-2.indb 5

13
14
21

31
32
35
44
51

57
58
62
68

79
80
87
93

105
106
109
117

125
126
132
144

151
152

09/01/2014 11:23:27

206.2 Operaes de backup


206.3 Informar usurios sobre questes relativas ao sistema

155
159

Tpico 207: Servidor de Nomes de Domnio

165

207.1 Configurao bsica de um servidor DNS


207.2 Criao e manuteno de zonas de DNS
207.3 Segurana de DNS

166
168
177

Tpico 208: S
 ervios Web
208.1 Configurao bsica do Apache
208.2 Configurao do Apache para HTTPS
208.3 Implementao do Squid como servidor Proxy
208.4 Implementao do Nginx como um servidor web e proxy reverso

Tpico 209: Compartilhamento de arquivos


209.1 Configurar um servidor Samba
209.2 Configurar um servidor NFS

Tpico 210: Administrao dos clientes de rede


210.1 Configurao DHCP
210.2 Autenticao por PAM
210.3 Uso de cliente LDAP
210.4 Configurar um servidor OpenLDAP

Tpico 211: Servios de e-mail


211.1 Utilizao de servidores de email
211.2 Administrao da entrega local de e-mail
211.3 Administrar entrega de e-mail remoto

185
186
195
197
198

205
206
212

219
220
223
227
231

237
238
243
245

Tpico 212: Segurana do Sistema

253

212.1 Configurao de roteador


212.2 Segurana de servidores FTP
212.3 Shell seguro (SSH)
212.4 Tarefas de segurana
212.5 Open VPN

254
262
263
268
270

Objetivos LPIC2

275

Respostas 303

LPI-2.indb 6

09/01/2014 11:23:27

Prefcio por Jos Carlos Gouveia


Este livro destina-se a candidatos em busca da certificao LPI nvel 2 (LPIC-2) e
atende tanto s necessidades de profissionais que j trabalham com outros sistemas
operacionais como as de profissionais de Linux em geral. Este projeto da Linux New
Media, to bem conduzida por Rafael Peregrino e pelo Claudio Bazzoli, foi desenvovido pelo Luciano Siqueira, um profissional raro, capaz de aliar conhecimentos
tcnicos profundos com uma impressionante capacidade de comunicao. Como
resultado, temos esta obra completa, abrangente e, ao mesmo tempo, que d todas as
condies para que um candidato se prepare para as provas de certificao LPIC-2.
O LPI Linux Professional Institute Linux (www.lpi.org) promove e certifica habilidades essenciais em Linux e em tecnologias de Open Source por meio de provas
abrangentes, de alta qualidade e independentes de distribuies Linux. O LPI foi
criado em 1999 pela comunidade Linux como uma organizao internacional sem
fins lucrativos, com o objetivo ser reconhecido como o lder global na certificao de
profissionais de Linux, promovendo o Linux e o movimento de Open Source.
O programa de certificao profissional LPI composto de trs nveis de certificao (LPIC-1, LPIC-2 e LPIC-3), sendo que a certificao LPIC-1 tem como alvo
profissionais junior e plenos, ao passo que a certificao LPIC-2 orientada a profissionais mais experientes e lderes de equipes. Para que um candidato seja certificado
no nvel 2 j tenha obtido a certificao no nvel 1.
No mundo de tecnologia, cada vez mais a certificao profissional necessrio que
ele tem se tornado, uma vez um indicativo claro e objetivo do conhecimento de
uma pessoa a respeito de um determinado assunto, no nosso caso, o Linux. Obviamente, na hora de uma contratao, por exemplo, outros fatores tambm contam,
mas o mais difcil de se avaliar o conhecimento, j que as caractersticas pessoais e
a experincia podem ser facilmente avaliadas com entrevistas, testes, referncias, etc.
Assim, pode-se dizer que a certificao profissional acaba sendo uma ferramenta
essencial tanto para quem contrata como para quem contratado, garantindo que
os candidatos tenham as habilidades necessrias e, consequentemente, sejam capazes
de executar o que se espera deles. Dessa forma, garante-se um padro de qualidade e
facilita tanto a contratao como futuras promoes.
Jos Carlos Gouveia
Jos Carlos Gouveia Diretor Geral do Linux Professional Institute LPI da Amrica Latina. Anteriormente,
trabalhou por cinco anos para a SGI Silicon Graphics como Diretor Geral da Amrica Latina, alm de
ter sido diretor geral da Novell, Platinum Technology, PeopleSoft e JDEdwards, tendo sido tambm diretor
da Anderson Consulting (Accenture) e da Dun&Bradstreet Software e gerente da EDS. Gouveia formado
em Cincia da Computao pela Unicamp, com ps-graduao pela Unicamp e pela PUC-RJ.

LPI-2.indb 7

09/01/2014 11:23:27

Certificao LPI-2

Prefcio por Jim Lacey


A certificao do Linux Professional Institute (LPI) uma tima maneira de demonstrar a empregadores e a potenciais clientes que voc possui as habilidades e os
conhecimentos necessrios para trabalhar num ambiente Linux e de Cdigo Aberto,
alm de ser uma excelente ferramenta para seu desenvolvimento profissional. O programa de certificao LPI globalmente reconhecido por profissionais de TI, empresas e governos como a certificao Linux nmero um em todo o mundo. Esse programa vem continuamente sendo reconhecido por fabricantes como pr-requisito
para seus prprios programas especficos de certificao em alto nvel. So exemplos
os programas de certificao do Ubuntu pela Canonical, HP, IBM, Novell e Oracle.
O Linux Professional Institute completa 10 anos em 2009, ano em que ns vamos ampliar nosso programa de certificao para satisfazer as necessidades de um
mercado de TI em contnua transformao. Ns encontramos muitos desafios nos
ltimos dez anos e, apesar das reviravoltas da economia em 2008, vemos o aumento
do nmero de exames aplicados ao redor do mundo. Esperamos que essa tendncia
positiva de certificaes emitidas e exames realizados continue ao longo de 2009 e
2010, ao passo que profissionais de TI buscam atualizar seus conhecimentos e habilidades para permanecerem competitivos nesse perodo desafiador da economia.
Alm disso, o panorama para os prximos anos no setor de Software Open Source
como um todo muito otimista. Grandes, pequenas e mdias empresas, governos
e outras organizaes do setor pblico procuram novas oportunidades de negcios
enquanto valorizam seu importante patrimnio pessoal. Nesse contexto, a tecnologia
de Cdigo Aberto oferece um instigante potencial em funo das solues versteis
disponibilizadas s revendas e do estvel ciclo de atualizaes de produtos.
Investir em tecnologia de Cdigo Aberto investir em pessoas, afirmao essa que
sempre temos que ter em mente no Linux Professional Institute. por isso que nossa
mensagem de profissionalismo continua a ganhar apoio em todo mundo.
No LPI, ns nos guiamos pelas lies bem sucedidas do passado. Reduzindo a falta de capacitao que desafia a indstria, nosso instituto continuar a desempenhar
um papel fundamental no futuro do Cdigo Aberto. Os prximos anos sero cruciais
para o LPI e ns queremos que voc faa parte desse esforo em promover a contnua
adoo do Linux e do Cdigo Aberto por todo mundo!
Jim Lacey
Jim Lacey Presidente e CEO do Linux Professional Institute.

LPI-2.indb 8

09/01/2014 11:23:28

Introduo

Introduo
Muita coisa aconteceu desde a ltima vez que a Certificao LPI foi alterada. Alguns dos contedos que eram abordados encontravam pouca aplicao prtica. Alm
disso, a organizao dos tpicos no obedecia a uma ordenao lgica e em alguns
pontos no havia distino entre as provas da certificao nvel 1 e as provas da certificao nvel 2.
A reviso 3.0, alm de eliminar alguns contedos ultrapassados e incluir novos
contedos atualmente mais relevantes, procurou estabelecer focos ainda mais distintos entre a certificao nvel 1 e a certificao nvel 2.
A certificao nvel 1 procura abordar todos os aspectos que envolvem a configurao e a manuteno de uma mquina local conectada rede. J a certificao
nvel 2 tem por objetivo geral a configurao e a manuteno de um ambiente de
servidor. Apesar das mudanas, prevalece a poltica do LPI de abordar somente
as ferramentas tradicionais de um sistema GNU/Linux, independente de distribuio. A seguir, est a viso geral das modificaes nessa nova reviso da prova,
fornecida pelo prprio LPI.

Viso geral das mudanas nos exames LPIC nvel 2


A nova reviso dos objetivos para as provas LPIC nvel 2, vlida a partir de abril de
2009, levou as provas para a verso 3.0. Essa a segunda reviso completa dos objetivos, que padroniza a verso para o mundo todo. No mbito geral, o LPI antecipou
o ciclo de cinco anos para revises completas. Por volta de cada dois anos e meio, os
objetivos sero modificados para refletir as possveis mudanas do Linux. A prxima
verso do LPIC-1 ser a 3.5, que refletir essa reviso parcial.
Alm dessas revises principais, haver adendos includos numa mdia trimestral,
com o intuito de esclarecer pontos e detalhes dos exames. Esses adendos no alteram
a verso da prova, pois tm apenas o intuito de esclarecer a cobertura da prova para
organizadores de cursos e livros.

Os novos pesos
O peso total de cada prova foi estabelecido em 60. Isso significa que, salvo em provas
com perguntas beta para fins de desenvolvimento do exame, cada prova ter exatamente 60 questes. Portanto, a indicao de peso 3 em um determinado objetivo
indica que havero trs questes sobre o tema na prova (exceto, novamente, no caso
de haver questes beta para fins de desenvolvimento dos exames).
9

LPI-2.indb 9

09/01/2014 11:23:28

Certificao LPI-2

Numerao dos objetivos


A numerao dos objetivos passvel de dvida em funo de sua falta de linearidade. Por isso, os prefixos 1. e 2. foram descartados nessa reviso. Em todos os
momentos em que numeraes como 1.xxx.y ou 2.xxx.y aparecem, o fazem para citar
os objetivos antigos.

Reduo de contedo duplicado


Em verses anteriores dos objetivos da certificao LPI, alguns tpicos eram abordados tanto nos exames do nvel 1 quanto nos exames do nvel 2. Em alguns casos, o
mesmo contedo aparecia em diferentes provas dentro do mesmo nvel de certificao. A atualizao dos objetivos buscou reduzir as ocorrncias de contedo duplicado
em diferentes provas ou objetivos.
Contudo, algumas tecnologias como DNS so importantes nos dois nveis de
certificao e esto distribudos nos locais apropriados. Por exemplo, na certificao
nvel 1, a abordagem sobre o DNS est restrita configurao do cliente do servio.
Na certificao nvel 2, a abordagem passa para configurao e segurana de servidores DNS.

Verses de programas
Quando apropriado, as verses especficas de programas so mostradas nos objetivos.
Por exemplo, a abordagem do Kernel 2.4 foi descartada para priorizar a verso 2.6.
As questes relacionadas ao ReiserFS limitam-se verso 3 do sistema de arquivos e
o servidor Bind 8.x no mais abordado na prova.

Alteraes de contedo
Enquanto o foco da certificao nvel 1 foi mais direcionado para o uso e administrao de um sistema Linux local, a maioria dos servios de rede e demais tarefas
administrativas foram movidas para a certificao nvel 2.
Alm disso, os tpicos que tratam do kernel foram reunidos na certificao nvel2. Alm disso, tpicos mais avanados, antes abordados na certificao nvel 1,
foram trazidos para a certificao nvel 2. Por exemplo, a compilao de programas
a partir do cdigo fonte agora abordada na LPIC-2. Temas relativos a segurana e
soluo de problemas ganharam muito mais foco nesse nvel.

Soluo de problemas e Segurana


A cobertura dos contedos relativos a soluo de problemas e segurana aumentou
muito. Em muitos casos, pesos originalmente marcados como 1 ou 2 passaram a 5.
Com isso, o prprio tpico especfico para soluo de problemas tornou-se um dos
mais importantes na prova.
10

LPI-2.indb 10

09/01/2014 11:23:28

Introduo

Gerenciamento de dispositivos udev


O sistema udev foi includo para garantir que os candidatos compreendam como a
deteco e gerenciamento de dispositivos em sistemas GNU/Linux modernos.

LVM
A abordagem ao LVM Logical Volume Management foi ampliada. Agora, o tema
conta com seu prprio objetivo.

IMAP/POP
A prova 202 agora aborda servidores IMAP/POP. So abordados os mais comuns em
ambientes GNU/Linux: o Courier e Dovecot.

Como usar este livro


Este livro est organizado segundo o programa de contedos oficiais para a Certificao LPI-2. Dessa forma, o candidato encontrar exatamente os temas que so abordados nos exames de certificao, na profundidade que exigida para a prova. Alm
disso, a sequncia dos assuntos corresponde sequncia em que sero abordados na
prova. Essa estrutura auxilia o candidato a manter o foco naquilo que importante
para a prova, mas sem deixar de lado a coerncia e a consistncia do texto.
Ao final de cada tpico foram colocadas 10 perguntas correspondentes aos temas
abordados no tpico em questo, totalizando 130 questes no livro. Com a finalidade de familiarizar o candidato, as perguntas foram formuladas com o mesmo formato
em que apareceram nos exames de certificao. As respostas para as perguntas de
todos os tpicos encontram-se no final do livro.
Professores e escolas podem se beneficiar da adoo desse livro. Contedos densos so abordados de forma objetiva e coesa, o que facilita o ensino e apreparao
de aulas.
A leitura do livro no dispensa a experimentao prtica, devendo, assim, ser
acompanhada. Dado o grande volume de assuntos abordados, a utilizao das ferramentas e conceitos demonstrados so muito importantes para fixao, principalmente para quem os est vendo pela primeira vez.

11

LPI-2.indb 11

09/01/2014 11:23:29

Introduo quarta edio


Esta nova edio do livro corresponde ao exame de certificao LPIC-2 verso
4.0, vlida a partir de novembro de 2013. Como em atualizaes anteriores, houve
uma redistribuio de alguns contedos, atualizaes, remoes e incluses de temas.
Inicialmente, h um novo tpico, Planejamento de Capacidade, que aborda conceitos e ferramentas utilizados para avaliar e dimensionar recursos de sistema. Na
realidade atual, onde a oferta sob demanda de recursos de mquina e computao
distribuda tornaram-se comuns, trata-se de um assunto de grande relevncia para
o profissional.
Em contrapartida, o antigo tpico 213 Soluo de Problemas foi removido. Seu assunto no menos importante, mas tornou-se a repetio de diversos
assuntos j abordados em outros tpicos.
Alguns tpicos conhecidos permanecem, mas perderam um pouco da importncia no exame. Compilar o kernel do Linux, por exemplo, ainda exigido, mas no
com a mesma nfase.
Das incluses pontuais, merecem destaque os carregadores de boot Grub2 e
Syslinux, a configurao de dispositivos iSCSI, um maior enfoque na LDAP e a
incluso do servidor Web Nginx. Este ltimo cresceu vertiginosamente nos ltimos
anos, tornando-se um forte competidor ao Apache. Por esse motivo, agora ambos
so os protagonistas do tpico Servios Web.
Temas como udev, OpenVPN, etc. foram remanejados para captulos mais apropriados. Todos os objetivos oficiais para a Certificao LPIC-2 verso 4.0 podem
ser encontrados no apndice do livro, traduzidos para o portugus.

LPI-2.indb 12

09/01/2014 11:23:29

Peso total do tpico


na prova: 8

Tpico 200:
Planejamento de
capacidade
Principais temas abordados:

LPI-2.indb 13

Monitorar recursos de hardware e rede


Prever necessidades futuras de recursos

09/01/2014 11:23:29

Certicao LPI-2

200.1 Avaliar e Resolver Problemas no Uso de Recursos


Peso 6

A infraestrutura de computao atual apresenta uma tendncia semelhante quela


dos primrdios da computao, onde mquinas de grande capacidade eram utilizadas por equipamentos de pouca ou nenhuma capacidade computacional. A principal
diferena, alm da bvia evoluo geral da tecnologia, est na maneira que essas
mquinas de maior capacidade so compartilhadas.
Hoje, os recursos compartilhados processamento, memria, armazenamento,
transmisso de dados no so necessariamente utilizados diretamente por um usurio num terminal, mas utilizados por outras mquinas (provavelmente mquinas
virtuais) cujos recursos so redimensionados sob demanda.
Essa oferta flexvel de recursos torna possvel alocar a quantidade certa de capacidade
computacional a cada necessidade. Para isso, muito importante conseguir identificar onde
h subutilizao de recursos e onde os recursos no so suficientes para determinadas tarefas.
Existem diversas ferramentas Linux para monitorar a utilizao de recursos e tambm
so teis para identificar gargalos em servidores mais simples e computadores domsticos.

Carga de Entrada/Sada
Alguns comandos para monitoramento da atividade do processador e da comunicao entre dispositivos so parte do pacote sysstat. O pacote sysstat est disponvel nas
principais distribuies e pode ser instalado com o comando apt-get install sysstat
ou yum install sysstat. Ele contm ferramentas para monitorar o uso e performance
do sistema, que podem ser utilizadas diretamente ou agendadas para gerar relatrios.
Destacam-se dois desses comandos: iostat e sar.
O comando iostat gera um relatrio com estatstica de uso da CPU e de entrada/sada de
dispositivos e parties. Para exibir um relatrio simplificado sobre a utilizao de CPU, dispositivos e parties desde o ltimo incio do sistema, basta executar iostat sem argumentos:
# iostat
Linux 3.2.0-4-amd64 (debian)

11/24/13

_x86_64_

(1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle


0.11
0.05 0.14
0.44
0.01
99.25
Device
vda
sda
sdb
dm-0
dm-1

tps
4.10
0.02
0.02
5.49
0.60

kB_read/s
55.34
0.08
0.08
52.30
0.54

kB_wrtn/s
21.75
0.00
0.00
19.89
1.86

kB_read
525551
800
800
496613
5172

kB_wrtn
206521
0
0
188884
17628

14

LPI-2.indb 14

09/01/2014 11:23:30

Tpico 200: Planejamento de capacidade

Na poro avg-cpu est o relatrio referente utilizao do CPU. Os campos so:


%user
Exibe o percentual de uso da CPU durante a execuo no nvel de usurio (aplicaes).
%nice
Exibe o percentual de uso da CPU durante a execuo no nvel de usurio com
prioridade modificada.
%system
Exibe o percentual de uso da CPU durante a execuo no nvel de sistema (kernel).
%iowait
Exibe o percentual de tempo em que a CPU estava ociosa aguardando resposta
de entrada/sada de disco.
%steal
Exibe o percentual de tempo que a CPU virtual estava ociosa devido ao hipervisor estar servindo outra CPU virtual.
%idle
Exibe o percentual de tempo em que a CPU estava ociosa e no aguardava por
entrada/sada de disco.
Abaixo das informaes de CPU exibida a utilizao dos dispositivos de armazenamento. Os campos so:
Device
O nome do dispositivo ou partio localizado em /dev.
tps
O nmero de transferncias por segundo realizadas no dispositivo. Uma transferncia uma operao de entrada ou sada, mas mais de uma operao pode ser
includa numa transferncia. O tamanho de uma transferncia indeterminado.
kB_read/s e kB_wrtn/s
Quantidade de dados lidos e gravados no dispositivo por segundo.
kB_read e kB_wrtn
Quantidade de dados lidos e gravados no dispositivo no intervalo.
Para gerar o relatrio em intervalos de tempo especficos, utilizada a opo -d. Assim, para um intervalo de dois segundos:

15

LPI-2.indb 15

09/01/2014 11:23:30

Certicao LPI-2

# iostat -d 2
Linux 3.2.0-4-amd64 (debian)

11/24/13

_x86_64_

(1 CPU)

Device:
vda
sda
sdb
dm-0
dm-1

tps kB_read/s
3.98
53.73
0.02
0.08
0.02
0.08
5.33
50.77
0.58
0.53

kB_wrtn/s
21.12
0.00
0.00
19.32
1.80

kB_read
525551
800
800
496613
5172

kB_wrtn
206577
0
0
188940
17628

Device:
vda
sda
sdb
dm-0
dm-1

tps kB_read/s
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.0
0.00

kB_wrtn/s
0.00
0.00
0.00
0.00
0.00

kB_read
0
0
0
0
0

kB_wrtn
0
0
0
0
0

A primeira listagem mostra o uso desde o ltimo incio do sistema e as listagens


seguintes o uso nos ltimos dois segundos.
Todas as informaes so tomadas de arquivos no diretrio /proc/ e /sys/, portanto, necessrio que esses diretrios estejam montados e seus contedos disponveis.
O comando sar utilizado para gerar relatrios com as mesmas informaes do iostat.
As informaes lidas pelo sar so aquelas armazenadas por agendamentos de outros comandos do pacote sysstat. Portanto, importante verificar se o servio de coleta de dados
ser ativado no incio do sistema. No Debian, o arquivo /etc/default/sysstat deve conter a
linha ENABLED=true. Em distribuies que usam systemd (como Fedora), o servio deve
ser ativado para incio automtico com systemctl enable sysstat.service.
Os arquivos com os dados coletados so armazenados em /var/log/sysstat/ ou /var/
log/sa/, cada arquivo corresponde a um dia. Para ler as informaes de um arquivo
especfico, utiliza-se a opo -f:
sar -f /var/log/sysstat/sa24

Os relatrios podem ser gerais ou para uma rea especfica do sistema:


sar
Sem opes, exibe dados de uso da CPU
sar -b
Resumo da entrada/sada de dados.
sar -d
Entrada e sada de dados, por dispositivo.
sar -B
Informao sobre a paginao feita pelo sistema.
sar -r
Utilizao da memria RAM.
16

LPI-2.indb 16

09/01/2014 11:23:30

Tpico 200: Planejamento de capacidade

sar -S
Utilizao do espao de swap.
sar -n DEV
Estatsticas de trfego de dados em todas interfaces de rede do sistema.
Diversas outras informaes podem ser geradas pelo sar. Em man sar esto listadas
todas as opes possveis de relatrios.
Os comandos do pacote sysstat no so os nicos que podem exibir relatrios de
uso de recursos no Linux. Comandos tradicionais do Linux tambm oferecem opes de inspeo e anlise.
Semelhante ao sar -n DEV, o comando netstat -i lista as interfaces de rede e suas
respectivas estatsticas de trfego. O comando netstat -s exibe estatsticas de trfego
para cada protocolo de rede.
J o vmstat praticamente uma alternativa ao iostat. Ele informa sobre atividade de
processos, memria, paginao, entrada/sada de blocos, falhas, discos e cpu.
O primeiro relatrio informa as mdias desde o ltimo incio do sistema. Relatrios adicionais fornecem informaes de amostras num intervalo de tempo. Relatrios de processos e memrias so gerados instantaneamente.
Podem ser fornecidos ao vmstat o intervalo de atualizao e o nmero de repeties
de cada informa. Por exemplo, gerar informes do ltimos dois segundos, dez vezes:
$ vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---r b swpd free
buff cache
si so bi bo in cs us sy id wa
0 0 49264 121396 27796 2229236 0 0 53 51 252 238 5 3 91 1
0 0 49264 121296 27804 2229268 0 0 0 20 512 678 1 1 99 0
0 0 49264 121172 27812 2229276 0 0 0 6 518 660 1 1 98 1
0 0 49264 121048 27812 2229276 0 0 0 0 479 651 1 1 98 0
0 1 49264 120768 27812 2229376 0 0 0 62 501 681 1 1 99 0
0 0 49264 120768 27812 2229396 0 0 0 2 562 723 1 1 98 1
0 0 49264 120644 27812 2229396 0 0 0 0 449 612 0 1 99 0
0 0 49264 120520 27820 2229396 0 0 0 18 530 687 1 1 98 0
0 0 49264 120396 27820 2229396 0 0 0 0 464 633 1 1 99 0
0 1 49264 120272 27820 2229496 0 0 0 60 517 689 1 1 98 0

O modo de exibio padro do vmstat o modo VM, cujos campos e subcampos


so detalhados a seguir:
procs
r: Nmero de processo executveis (executando ou aguardando execuo).
b: Nmero de processos dormindo ininterruptveis.
memory
swpd: Total de memria virtual utilizada.
free: Total de memria livre.
buff: Total de memria utilizada como buffer.
17

LPI-2.indb 17

09/01/2014 11:23:30

Certicao LPI-2

cache: Total de memoria utilizada como cache.


inact: Total de memria inativa (opo -a).
active: Total de memria ativa (opo -a).
swap
si: Quantidade de memria carregada do disco (por segundo).
so: Quantidade de memria movida para o disco (por segundo).
io
bi: Blocos recebidos de um dispositivo de bloco (blocos/s).
bo: Blocos enviados para um dispositivo de bloco (blocos/s).
system
in: O nmero de interrupes por segundo, incluindo o clock.
cs: O nmero de mudanas de contexto por segundo.
cpu, percentuais do total do tempo da CPU.
us: Tempo gasto executando cdigo no-kernel (tempo de usurio, incluindo
tempo nice).
sy: Tempo gasto executando cdigo do kernel (tempo do sistema).
id: Tempo ocioso.
wa: Tempo gasto aguardando por entrada/sada.
st: Tempo roubado de uma mquina virtual.

O vmstat oferece outros modos de exibio. Um deles modo disco, iniciado com
a opo -d:
$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO-----total
merged
sectors
ms
total
merged sectors ms cur sec
loop0
0
0
0
0
0 0
0
0
0
0
loop1
0
0
0
0
0 0
0
0
0
0
loop2
0
0
0
0
0 0
0
0
0
0
loop3
0
0
0
0
0 0
0
0
0
0
loop4
0
0
0
0
0 0
0
0
0
0
loop5
0
0
0
0
0 0
0
0
0
0
loop6
0
0
0
0
0 0
0
0
0
0
loop7
0
0
0
0
0 0
0
0
0
0
sda 306268 19859 15038540
2268632 180738
96537
12733376 11353793 0 1230
sr0
0
0
0
0
0
0
0
0
0
0

Os campos do modo disco indicam:


Reads
total: Total de leituras com sucesso
merged: Leituras agrupadas (resultando em uma E/S)
sectors: Setores lidos com sucesso
ms: Milissegundos gastos lendo
18

LPI-2.indb 18

09/01/2014 11:23:30

Tpico 200: Planejamento de capacidade

Writes
total: Total de escritas completadas com sucesso
merged: Escritas agrupadas (resultando em uma E/S)
sectors: Setores escritos com sucesso
ms: Milissegundos gastos escrevendo
IO
cur: Entrada/sada em progresso
s: Segundo gastos com E/S
Para exibir informaes de uma partio especfica, basta iniciar no modo partio
informando seu caminho com a opo -p:
$ vmstat -p /dev/sda1
sda1

reads
120428

read sectors writes


5559754

52566

requested writes
4181088

Os campos no modo partio representam:


reads: Nmero total de leituras realizadas nessa partio
read sectors: Total de setores lidos para a partio
writes : Nmero total de escritas realizadas nessa partio
requested writes: Nmero total de requisies de escrita feitas nessa partio

Carga de processamento
Se o objetivo inspecionar processos e atividade dos usurios, os comandos a seguir so
indicados:
ps
Mostra os processos ativos de maneira detalhada.
top
Monitora continuamente os processos, mostrando informaes como uso de
memria e CPU de cada processo. A tecla [H] fornece ajuda sobre o uso do
programa. Pode ser usado para alterar a prioridade de um processo.
pstree
Mostra processos ativos em formato de rvore genealgica (processos filhos
ligados aos respectivos processos pais).
w
Mostra quais usurios esto utilizando o sistema e suas atividades em execuo.
Estes comandos, especialmente em conjunto com os comandos de estatsticas de
uso, podem ajudar a identificar possveis gargalos prejudicando o desempenho do
sistema. Por exemplo, se os comandos iostat ou vmstat mostrarem que muito do tem19

LPI-2.indb 19

09/01/2014 11:23:30

Certicao LPI-2

po da CPU gasto apenas aguardando requisies de entrada/sada de dispositivo,


possvel que exista alguma falha no dispositivo ou no processo est executando
gerando as requisies.
Processos aguardando por requisies de E/S ficam no estado chamado dormindo ininterruptvel. Esses processos podem ser identificados pela letra D na sada do
comando ps -ely:
# ps -ely|grep ^D
D

18

2 0 80

0-

00:00:00 kswapd0

As opes -ely determinam a exibio dos processos em formato longo, mais detalhado. A primeiro campo indica o estado do processo e o terceiro campo indica seu
nmero PID, entre outros. Num sistema sem problemas, normal que eventualmente
um ou outro processo esteja muito rapidamente no estado D. Num sistema com problemas de E/S, o processo responsvel pode ser rastreado dessa forma.
Para investigar quem ou quais processos esto utilizando um determinado arquivo, usado o comando lsof . Na medida que, em ambientes Unix, praticamente
todos os recursos podem ser acessados a partir de arquivos ou pseudo-arquivos, o lsof
uma ferramenta de investigao bastante poderosa.
Por exemplo, possvel listar todos os arquivos abertos por um determinado processo utilizando o comando:
lsof -p PID

Neste cdigo, PID representa o PID do programa em questo. Para verificar todos os
arquivos sendo utilizados por processos disparados por um usurio em particular, utiliza-se a
opo -u usurio . Para checar quais processos esto utilizando um arquivo, basta executar o
comando lsof fornecendo como argumento o caminho completo para o arquivo:
# lsof /dev/net/tun
COMMAND

PID

USER

FD

openvpn

661

openvpn

5u

CHR 10,200

0t0 9859 /dev/net/tun

20649

qemu

24u

CHR 10,200

0t0 9859 /dev/net/tun

qemu-syst

TYPE DEVICE SIZE/OFF NODE NAME

A sada deste comando mostra vrias informaes teis sobre o(s) processo(s) a
acessar o arquivo /dev/net/tun (interface de rede TUN). Este uso especialmente til
para checar processos bloqueando dispositivos ou pontos de montagem.

20

LPI-2.indb 20

09/01/2014 11:23:31

Tpico 200: Planejamento de capacidade

Outro comando til para identificar o consumo geral de recursos da mquina o uptime:
# uptime
13:31:00 up 36 days, 21:03, 3 users, load average: 0.05, 0.19, 1.27

exibido quanto tempo desde que o sistema foi ligado pela ltima vez e a quantidade de usurios atualmente no sistema. Os valores finais, load average, referem-se
a mdia de carga do sistema nos ltimos 1, 5 e 15 minutos, respectivamente. As mdias so calculadas a partir do total de processos que esto rodando ou ininterruptveis no intervalo de tempo em questo. Um processo rodando aquele utilizando ou
aguardando para utilizar o processador. Um processo ininterruptvel est tentando
acessar um dispositivo de entrada/sada, como um disco rgido.
Os valores devem ser interpretados de acordo com o nmero de processadores presentes
no sistema. Numa mquina com apenas um processador, uma mdia prxima a 1 significa
que a praticamente todo momento havia um processo rodando ou ininterruptvel. J numa
mquina com quatro processadores, a mdia prxima a 1 significa que o fato ocorreu em
apenas um dos processadores. Portanto, para supor que havia um processo rodando ou
ininterruptvel nos quatro processadores, um valor prximo a 4 deve ser a mdia.

200.2 Prever Necessidades Futuras de Recursos


Peso 2

Um mtodo eficiente para prever se a capacidade instalada ser suficiente para


atender demandas futuras analisar a curva ascendente em grficos de utilizao
de recursos. Existem algumas ferramentas Linux para criao de grficos a partir do
monitoramento de mquinas e redes que auxiliam nessa tarefa.
Existem diversas ferramentas Linux para monitorar a utilizao de recursos e tambm
so teis para identificar gargalos em servidores mais simples e computadores domsticos.

Collectd
O collectd um pequeno daemon (servio) escrito em C para ganho de performance.
Ele l diversas estatsticas de sistema e atualiza arquivos RRD, criando-os se necessrio. Como o daemon no precisa iniciar toda vez que precisa atualizar os arquivos,
torna-se muito rpido e discreto no sistema. As estatsticas so muito detalhadas e os
arquivos atualizados a cada dez segundos. O collectd est disponvel nos repositrios
de todas as principais distribuies Linux.

21

LPI-2.indb 21

09/01/2014 11:23:31

Certicao LPI-2

RDD
RRD o acrnimo de Round Robin Database. O RRD um sistema para armazenar
e exibir dados em srie (como largura de banda de rede, temperatura do ambiente,
carga mdia do servidor, etc). Ele armazena os dados de um modo muito compacto
que no aumenta ao longo do tempo. Pode ser utilizado por scripts ou por interfaces
que consultam o dispositivo e montam uma interface grfica para o usurio.

O collectd pode monitorar praticamente quaxlquer aspecto do sistema. Sua


arquitetura de plugins o torna muito personalizvel, o que especialmente til
para uso em equipamentos limitados, como roteadores. A lista completa de
plugins pode ser vista em https://collectd.org/wiki/index.php/ Table_of_Plugins. A
configurao geral do collectd e a ativao e configurao de seus plugins
feita no arquivo /etc/collectd/collectd.conf.
As informaes colhidas podem ser utilizadas para encontrar gargalos de performance (anlise de performance) e prever a carga futura do sistema (planejamento de capacidade). No o foco do collectd gerar os grficos, mas apenas
recolher as informaes e grav-las em arquivos RRD. Por padro, os arquivos
so armazenados no diretrio /var/lib/collectd/, mas isso pode ser modificado no
arquivo /etc/collectd/collection.conf. Essa informaes podem ser transmitidas via
rede por plugins especficos e consultadas por programas especializados, como
o rrdtool.
Contudo, operar diretamente com os dados RRD pode ser muito trabalhoso. Existem interfaces que tornam a tarefa de monitorar e gerar os grficos mais
simples, como a interface web Cacti.

Cacti
O Cacti uma interface completa para o RRDTool. Ele armazenam todas as informaes necessrias para gerar grficos e preench-los com dados de em um banco
de dados MySQL. A interface feita em PHP. Alm de manter grficos, fontes de
dados e os arquivos round robin no banco de dados, o cacti tambm responsvel
pela coleta dos dados.

22

LPI-2.indb 22

09/01/2014 11:23:31

Tpico 200: Planejamento de capacidade

Figura 1. A interface Web do Cacti facilita a coleta e criao de dados RRD.

Na mquina onde foi realizada a instalao, a interface do Cacti poder ser aberta
pelo navegador Web no endereo http://localhost/cacti. O Cacti tambm oferece suporte s SNMP para criao de grficos com MRTG.

MRTG
O MRTG (Multi Router Trafc Grapher) uma ferramenta para monitorar a carga de trfego em conexes de rede. O MRTG cria pginas HTML contendo imagens
com uma representao em tempo real do trfego.
O MRTG utiliza o protocolo SNMP (Simple Network Management Protocol),
que via de regra est disponvel no roteador da rede, possibilitando monitorar todo o
trfego passando pelo roteador.
O MRTG um programa simples e est disponvel nos repositrios de todas as
principais distribuies. Depois de instalado, necessrio editar o arquivo /etc/mrtg/
mrtg.cfg. A seguir, um exemplo mnimo do contedo de mrtf.cfg:

23

LPI-2.indb 23

09/01/2014 11:23:31

Você também pode gostar