Mudanças entre as edições de "GER20706-2014-1"
Linha 170: | Linha 170: | ||
Criação de um volume RAID no Linux: | Criação de um volume RAID no Linux: | ||
− | # Usar o comando ''mdadm --create --verbose /dev/md0 --level=NIVEL_RAID --raid-devices=NUM_PARTICOES PARTICAO_1 PARTICAO_2 ...'' | + | # Usar o comando ''mdadm --create --verbose /dev/md0 --level=NIVEL_RAID --raid-devices=NUM_PARTICOES PARTICAO_1 PARTICAO_2 ...'' |
#*NIVEL_RAID pode ser ''linear'', ''0'', ''1'', ''4'', ''5'', ''6'', ''10'', ''mp'', ''faulty'' (mais comuns são 0, 1 e 5). | #*NIVEL_RAID pode ser ''linear'', ''0'', ''1'', ''4'', ''5'', ''6'', ''10'', ''mp'', ''faulty'' (mais comuns são 0, 1 e 5). | ||
#*NUM_PARTICOES é a quantidade de partições usadas no volume. | #*NUM_PARTICOES é a quantidade de partições usadas no volume. | ||
Linha 183: | Linha 183: | ||
'''''Atividade:''''' | '''''Atividade:''''' | ||
+ | # Dica: crie um snapshot (cópia) de sua máquina virtual antes de executar o roteiro, caso dê problemas a recuperação é muito simples. | ||
# Crie duas partições de mesmo tamanho no disco /dev/sdb usando o cfdisk. Marque-as como sendo do tipo Linux RAID (fdisk t = "fd"). | # Crie duas partições de mesmo tamanho no disco /dev/sdb usando o cfdisk. Marque-as como sendo do tipo Linux RAID (fdisk t = "fd"). | ||
# Crie um volume RAID nível 1 com essas partições. Formate-o e monte-o em /mnt. Qual o tamanho total dele ? | # Crie um volume RAID nível 1 com essas partições. Formate-o e monte-o em /mnt. Qual o tamanho total dele ? |
Edição das 09h28min de 20 de fevereiro de 2014
Gerência de Redes: Diário de Aula 2013-2
Professor: Odilson Tadeu Valle
Encontros: 5ª feira 7h30 às 11h30
Atendimento paralelo: 4ª feira das 14h20 às 16h20. Local: Lab. de Desenvolvimento.
Cronograma de Atividades | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Referências adicionais
- Valle, Odilson Tadeu. Gerência de Redes. IFSC - Unidade São José. 2009.
- Guia Foca Linux (intermediário ou avançado)
- Demais referências contidas na página principal de GER.
Aula 01 (13/02): Apresentação da Disciplina, Processo de Boot e Instalação de Software
Apresentação da Disciplina
Roteiro |
---|
|
O boot
Roteiro |
---|
O processo de inicialização do sistema operacional, chamado de boot. Tradicionalmente no Unix System V isto se faz com a definição de níveis de execução (runlevels) e uma tabela que descreve que processos ou serviços devem existir em cada nível. Os níveis de execução são:
As distribuições Linux em geral adotam a inicialização no estilo Unix System V. No entanto, o Ubuntu usa um outro processo chamado de upstart. Esse serviço de inicialização confere maior flexibilidade e mesmo simplicidade à definição de que serviços devem ser executados. O upstart não usa o conceito de níveis de execução, mas devido à sua flexibilidade ele pode emular esse estilo de inicialização. Para o upstart, um serviço deve ser iniciado ou parado dependendo de uma combinação de eventos, sendo que um evento indica a ocorrência de uma etapa da inicialização. O upstart é implementado pelo processo init (programa /sbin/init), que é o primeiro processo criado pelo sistema operacional. Quer dizer, logo após terminar a carga e inicialização do kernel, este cria um processo que executa o programa /sbin/init. O upstart lista o subdiretório /etc/init e procura arquivos com extensão .conf. Cada arquivo desses descreve um serviço a ser controlado pelo upstart. Por exemplo, o serviço tty2 é escrito no arquivo tty2.conf: # tty2 - getty
#
# This service maintains a getty on tty2 from the point the system is
# started until it is shut down again.
start on runlevel [23]
start on runlevel [!23]
respawn
exec /sbin/getty -8 38400 tty2
Abaixo segue o significado de cada linha:
Em linhas gerais, a descrição do serviço informa quando ele deve ser ativado (start), quando deve ser parado (stop), o tipo de execução (respawn para reinício automático, ou task para uma única execução), e que ação deve ser executada para ativar o serviço (exec para executar um programa, ou script .. end script para executar uma sequência de comandos de shell). Maiores detalhes podem ser lidos na página de manual do init. Um exemplo de criação de serviço no upstart Atividade
|
Instalação de software
Roteiro |
---|
A instalação de software pode ser feita de diversas formas, dentre as quais serão destacadas três:
Exemplo de uso do apt-get:
lynx http://www.ifsc.edu.br/
Exemplo de uso:
wget ftp://ftp.cn.debian.org/ubuntu-old-releases/ubuntu/pool/main/l/lynx-cur/lynx_2.8.7pre6-1_all.deb wget ftp://mirror.linux.org.au/ubuntu/pool/main/l/lynx-cur/lynx-cur_2.8.7pre6-1_i386.deb
lynx ...
|
20/02: RAID
Roteiro |
---|
RAID (Redundant Array of Independent Disks) se destina a combinar discos de forma a incrementar o desempenho de entrada e saída e, principalmente, segurança dos dados contra defeitos em discos. RAID pode ser provido via software ou hardware (melhor este último). O Linux possui implementação por software em seu kernel, e neste HOWTO há uma descrição resumida. Há vários níveis RAID, que correspondem a diferentes combinações de discos e partições. São eles:
Criação de um volume RAID no Linux:
Para ativar um volume já criado, basta executar mdadm --assemble caminho_do_volume. Ex: mdadm --assemble /dev/md0, mdadm --assemble /dev/md1. Atividade:
Desafio
|
23/09: LVM
Roteiro |
---|
Armazenamento com Gerenciador de Volumes Lógicos (LVM). Ver páginas 57 e 58 da apostila. Há um HOWTO com informação adicional sobre LVM no Linux, e outro com uma definição mais geral na Wikipedia. LVM combina volumes físicos (ou PV, de Physical Volume), tais como discos, partições e volumes RAID, em uma abstração chamada grupo de volumes (ou VG, de Volume Group). Um VG funciona como um grande disco virtual, que pode ser dividido em volumes lógicos (LV, de Logical Volume). Cada LV pode ser usado para conter um sistema de arquivos, memória virtual (área de swap), ou qualquer outra finalidade de armazenamento (ex: área de dados de um banco de dados Oracle). A figura abaixo mostra a relação entre esses componentes, com exemplos de utilização dos LV:
Um resumo dos componentes do LVM segue abaixo:
Em sua estrutura interna, o LVM divide cada PV em pequenas partições chamadas de PE (Physical Extent). Um tamanho típico para as PE é de 4 MB. Essas PE são usadas para alocar espaço para os LV, porém não há nenhuma relação entre a ordem física das PE nos PV e a ordem em que elas são alocadas aos LV - é normal inclusive PE de diferentes PV serem alocadas ao mesmo LV. Dentro de cada LV cada PE é chamada de LE (Logical Extent). A figura abaixo relaciona as PE com as LE dos LV:
Criação do LVM no LinuxA sequência de criação de um VG e seus LV é a seguinte:
Abaixo segue um exemplo de uma sequência de comandos relacionados com LVM, desde o particionamento de um disco até o redimensionamento de um LV existente: # Prepara as partições (devem ser do tipo 8E (Linux LVM)
fdisk /dev/sdb
# Prepara essas duas partições para serem usadas como volumes físicos
lvm pvcreate /dev/sdb1
lvm pvcreate /dev/sdb2
# Cria o volume group "vg"
lvm vgcreate vg /dev/sdb1 /dev/sdb2
# Cria dentro do volume group "vg" um volume lógico "dados" com 512 MB iniciais
lvm lvcreate vg -L 512M -n dados
# Cria dentro do volume group "vg" um volume lógico "teste" com 256 MB iniciais
lvm lvcreate vg -L 256M -n teste
# Mostra informações sobre todos os volumes lógicos
lvm lvs
# Mostra detalhes sobre o volume lógico "dados", que pertence ao volume group "vg"
lvm lvdisplay /dev/vg/dados
# Formata o volume lógico "dados" com sistema de arquivos do tipo "ext4"
mkfs.ext4 -j /dev/vg/dados
# Formata o volume lógico "teste" com sistema de arquivos do tipo "xfs"
mkfs.xfs /dev/vg/teste
# Monta o Volume Lógico dados em /mnt
mount /dev/vg/dados /mnt
# Confererência
df -h
# Aumenta em 100 MB o tamanho do volume lógico "dados"
lvm lvresize -L +100M /dev/vg/dados
# Aumenta o sistema de arquivos contido no volume lógico "dados", para adaptá-lo ao seu novo tamanho
resize2fs /dev/vg/dados
Questões importantes:
|