Linux

Dicas Linux

Alterar nome da interface de rede pelo grub


vi /etc/default/grub:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

Alterar o nome da interface dentro do arquivo que se encontra em 
/etc/sysconfig/network-scripts/ifcfg-<nome> e alterar o nome do arquivo.

Comandos de arquivos
ls – lista diretórios
ls -al – lista formatada com arquivos ocultos
cd dir – muda diretório para dir
cd – muda para o diretório home
pwd – mostra o diretório atual
mkdir dir – criar um diretório com o nome dir
rm arq – apaga o arq
rm -r dir – apaga o diretório dir
rm -f arq – apaga o arq forçando
rm -rf dir – apaga o diretório dir forçando *
cp arq1 arq2 – copia o arq1 para arq2
cp -r dir1 dir2 – copia dir1 para dir2; cria dir2 se ele não existir
mv arq1 arq2 – renomeia ou move arq1 para arq2 se arq2 for um diretório existente, move arq1 para dentro do diretório arq2
ln -s arq link – cria um link simbólico link para o arq
touch arq – cria ou atualiza arq
cat > arq – direciona a entrada padrão para arq
more arq – mostra o conteúdo de arq
head arq – mostra as primeiras 10 linhas de arq
tail arq – mostra as últimas 10 linhas de arq
tail -f arq – mostra o conteúdo de arq enquanto ele cresce, iniciando com as últimas 10 linhas


EXEMPLOS DE  FIND

find /usr -xdev -type f -ls |sort -n +6 |tail -20
find . -size +1000000000c -exec ls -l {} \;
find /home -xdev -size +1000000 -exec ls -larth {} \;
find /var -xdev -size +100000 -exec ls -larth {} \;
find / -xdev -size +10000 -exec ls -l {} \; | sort +4n | more
find / -size +100000000c -exec ls -l {} \; (colocar o / só tras os arquivos dentro do /)
find . -mount -size +100000 -exec ls -l {} \;
find . -mtime -1 -type f -exec ls -l {} \; = descobre quais arquivos do dia foram modificados



Gerência de processos

ps – mostra seus processos ativos atualmente
top – mostra todos os processos rodando  ( Para Visualizar outros tipos de opções de processos, após digitado o comando "top" utilize a opção "shift o", abre o menu de opções )
kill pid – mata o processo com o id pid
killall proc – mata todos os processos chamados proc *
bg – lista trabalhos parados ou em segundo plano; continua um trabalho parado em segundo plano
fg – traz o trabalho mais recente para o primeiro plano
fg n – traz o trabalho n para o primeiro plano



Permissões de arquivos

chmod octal arq – muda as permissões do arq,para octal, que pode ser achada separadamente para usuário, grupo, e outros (ugo) adicionando:
● 4 – leitura (r)
● 2 – gravação (w)
● 1 – execução (x)

Exemplos:

chmod 777 – leitura, gravação, execução para todos
chmod 755 – rwx para o dono, rx para o grupo e outros Para mais opções, veja man chmod.


Informações do sistema

date – mostra a hora e a data atual
cal – mostra o calendário deste mês
uptime – mostra o tempo em atividade atual
w – mostra quem está online
whoami – como quem você está logado
finger <usuario> – mostra informações do usuario
uname -a – mostra informações do kernel
cat /proc/cpuinfo – informações da cpu
cat /proc/meminfo – informações da memória
man <comando> – mostra o manual para o comando
df – mostra o uso do disco
du – mostra o uso de espaço do diretório
free – mostra o uso da memória e da swap
whereis <aplicacao> – mostra possíveis localizações de aplicacao
which <aplicacao> – mostra que aplicacao irá rodar por omissão



Compressão

tar cf pacote.tar arqs – cria um tar nomeado pacote.tar contendo arqs
tar xf pacote.tar – extrai os arquivos de pacote.tar
tar czf pacote.tar.gz arqs – cria um tar com compressão Gzip
tar xzf pacote.tar.gz – extrai um tar usando Gzip
tar cjf pacote.tar.bz2 – cria um tar com compressão Bzip2
tar xjf pacote.tar.bz2 – extrai um tar usando Bzip2
gzip arq – compacta arq e renomeia-o para arq.gz
gzip -d arq.gz – descompacta arq.gz para arq




Rede

ping <host> – pinga host e mostra o resultado
whois <dominio> – pega informações whois para o dominio
dig <dominio> – pega informações de DNS para o dominio
dig -x <host> – mostra o reverso de host
wget <arq> – faz download de arq
wget -c <arq> – continua um download interrompido
ifconfig - lista as interfaces de rede com suas configurações
route -n - lista a tabela de roteamento configurada no servidor
cat /etc/resolv.conf - verifica as configurações do DNS que estão no servidor


LIMPEZA DE CACHE


# echo 3 > /proc/sys/vm/drop_caches

# sysctl -w vm.drop_caches=3



CONFIGURANDO PROXY POR USUÁRIO

dentro do .bash_profile do usuário colocar as linhas:
para acesso a HTTP --> export http_proxy=<endereço_do_proxy>:<porta_do_proxy>
para acesso a FTP --> export ftp_proxy=<endereço_do_proxy>:<porta_do_proxy>




BLOQUEAR/DESBLOQUEAR USUÁRIOS

bloquear usuário - # usermod -L usuário

desbloquear usuário - # usermod -U usuário 

Verificar tamanho de todos os sub-diretórios de um diretório qualquer
# find /diretorio -maxdepth 1 -mindepth 1 -type d -exec du -sh '{}' \;


Enviar teste de mail modo texto
# mutt -s "<Subject>" -a <Arquivo> <email_destinatário>
# mail -s “Assunto do e-mail” email@provedor.com.br < /caminho/do/arquivo>

Remontar um FileSystem
mount -o remount,rw <FileSystem>


Serviço NFS
Todo servidor que utiliza nfs, deve ter o serviço nfsd iniciado.
Para isso, é necessário estar iniciado os serviços portmap


Para subir o NFS, executa os seguintes comandos:


/etc/init.d/portmap status - para verificar o status do serviço
se estiver com status "stopped", utilizar = /etc/init.d/portmap start ou service portmap start


Após iniciado o portmap, inicar os nfs = /etc/init.d/nfs start ou service nfs start


Verificar discos que estão em LUN (Storage) = powermt display dev=all

Verificar modelo do hardware = dmidecode | grep -i model

Copia arquivos via SCP do server para terminal = scp /<caminho>/<arq1> <arq2> <arqX> <usuário>@<servidor/ip>:/<caminho>





INSERINDO DATA E HORA NO COMANDO HISTORY

Para adicionar a data e hora no comando history você precisa inserir o conteúdo "%h/%d - %H:%M:%S " na variável HISTTIMEFORMAT, então faça:

# export HISTTIMEFORMAT="%h/%d - %H:%M:%S "

Quando reiniciar sua máquina, ou fizer o logoff com o seu usuário, a variável automaticamente será desativada, ou melhor, não terá conteúdo, então você precisa adicionar no .bashrc do seu usuário.

Se você estiver utilizando o usuário root, acesse:

# vim /root/.bashrc

E adicione ao final do arquivo a exportação da variável:

export HISTTIMEFORMAT="%h/%d - %H:%M:%S "







CONFIGURAÇÃO BOND


 CARREGAR O MODULO BONDING:

# modprobe bonding -o bound0 miimon=1000 mode=1

ou apenas

#modprobe bonding

   nunca deve esquecer de configurar no /etc/modprobe.conf para que o seu Linux sempre levante o determinado modulo e o seu dispositivo bond0. Apenas faça o seguinte:

#vi /etc/modprobe.conf (e adcione)

alias bond0 bonding
options bond0 miimon=1000 mode=3 ( mode 3, efetuar balanceamento entre as interfaces)


precisa editar a configuracao dos seguintes arquivos dentro de /etc/sysconfig/network-scripts/LEMBRANDO QUE NO SUSE FICA EM /etc/sysconfig/network/

#vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.0.0
NETMASK=255.255.255.0
IPADDR=10.0.0.2
USERCTL=no
NOZEROCONF=yes (em caso de dhcp)


Ajustes as configurações das interfaces eth0 e eth1:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no


Para exibir informações do dispositivo de acesso bond0 vc pode usar o proprio /proc do kernel. E então MONITORAR usando e combinando o comando com o watch -n 1.

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)


Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:19:b9:cc:d8:59


Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:19:b9:cc:d8:57


Dicas de LVM


PV = Phisical Volume : O disco em si, a partição fisica do disco.
PE = Phisical Extends : Extensões fisicas, ou seja, pequenos pedaços de um VG, um VG é dividido em varios PEs
VG = Volume Group : Como o nome já diz, grupo de volumes. Um VG é responsavel por agrupar um ou mais dicos/Partições (PV - Volumes fisicos).
LV = Logical Volume : É o volume lógico, ou seja, é uma partição (lógica) de um VG (Volume físico).
Observações importantes antes de começar a utilizar o LVM
  • Para alterar um volume ou vg, você deve verificar se o mesmo não esta montado. Se estiver montado, deve desmonta-lo antes.
  • NUNCA deixe de fazer backup antes de alterar uma configuração de LVM.
  • Você pode ter mais de um VG em um mesmo sistema (VG01, VG02, VG03), cada qual com um ou mais discos...
  • Não misture discos SCSI/SATA/IDE em um mesmo VG, isso afeta a performance visto que eles tem velocidades diferentes, se você estiver nesta situação, faça VGs distintos para cada tipo.
  • Não tenha medo de usar LVM, ele já é usado a bastante em *nix e bastante seguro, você só tem a ganhar com sua utilização.
Adicionar novo PV = pvcreate /dev/<device>
Listar os PVs = pvdisplay
Adicionar novo VG = vgcreate <nome_grupo> /dev/<device1> /dev/<device2> ... /dev/<deviceX>
Listar os VGs = vgdisplay
             . Pode ser criados mais de um grupo
Ativar um VG = vgchange -a y <nome_VG>
Desativar VG = vgchange -a n <nome_VG>

IMPORT/EXPORT dos VG´s

Antes de exportar o vg, deve-se desativá-lo

Desativar VG = vgchange -a n <caminho_nome_VG>
Exportar VG = vgexport <nome_VG>

Depois de importado o vg, deve-se ativa-lo

Importar VG = vgimport <nome_VG>
Ativar um VG = vgchange -a y <caminho_nome_VG>

Adicionar novo LV = lvcreate -L <tamanho> -n <nome LV> <nome_grupo>
            . O tamanho pode ser em Megas, Gigas e etc
            . NomeLV, pode ser qualquer nome, para identificação do LV
            . Nome_grupo é o grupo que foi criado com o "vgcreate"
            . Pois o LV esta sendo criado dentro do VG.

Listar os LVs = lvdisplay
Após criado o LV novo, deve ser formatado: mkfs.ext3 /dev/nome_grupo/nome_LV>
Para redimensionar o tamanho do LV = lvresize -l +-<tamanho> /dev/nome_grupo/nome_LV
Após formatado o LV, deve-se adicionar os arquivos de sistemas no LV = ext2online /dev/nome_grupo/nome_LV

           . O ext2online é utilizado para FS que já estão montados e estão sendo aumentados
Aumentando o tamanho de uma partição LVM:
  1. Pode-se utilizar duas ou mais maneiras de aumentar o LV de uma maquina
    1. lvextend -L+<tamnho>G ou M <caminho_completo_do_lv>
    2. resize2fs <mount_point>
  2. Segunda maneira:
    1.  Lvextend -r -L+<tamanho>G ou M <caminho_completo_do_LV>
Diminuindo o tamanho de uma partição LVM:
  1. Desmonte o sistema de arquivos;
  2. Primeiro diminua o tamanho do sistema de arquivos com o comando resize2fs para o desejado;
  3. Entre no LVM e ajuste o tamanho do volume para o configurado no passo anterior;
  4. Remonte o sistema de arquivos  



umount /FS
e2fsck -f /dev/device
resize2fs /dev/device 200G
lvreduce -L -100G /dev/device
mount /dev/device


FILTRO DO LVM

#pvcreate  /dev/sdb /dev/sd*
Device /dev/sdb not found (or ignored by filtering).

Para solucionar esse problema, deve-se editar o aruqivo LVM.CONF, na opção "FILTER"

# vi /etc/lvm/lvm.conf  (procure pelo nome "filter"

          
Va´até o final da linha e romava a string: "r/.*/" , e salve o arquivo.



EXEMPLO:


Antes de editar: filter = [ "r^/dev/mapper/.*-lv.*", "a^/dev/mapper/.*", "r/.*/" ]

Depois de editar: filter = [ "r^/dev/mapper/.*-lv.*", "a^/dev/mapper/.*"]



Comando administração de impressoras

lp                Envia arquivos para impressão.
cancel    Cancela uma ou mais filas de impressão.
enable Habilita um compartilhamento de impressão.
disable Desabilita um compartilhamento de impressão.
lpoptions Visualiza ou configura uma impressora compartilhada (tamanho de papel, qualidade de impressão, etc)
lpq             Lista as filas de impressão em processamento.
lpr             Envia arquivos para impressão.
lprm         Cancela uma fila fila de impressão.
lpstat Exibe informações dos compartilhamentos de impressora.
accept Aceita impressões vindas de um host específico.
reject Rejeita impressões vindas de um host específico.
lpadmin Administração do CUPS. Permite incluir novos compartilhamentos e outros serviços.
lpinfo Lista dispositivos e drivers de impressoras suportadas pelo CUPS.
lpmove Habilita a fila de impressão...


CIFS


Arquivo de configuração do CIFS = /etc/sysconfig/cifsmount


NTP

O NTP é um protocolo para sincronização dos relógios dos computadores baseado no UDP para sincronização do relógio de um conjunto de computadores em redes de dados com latência variável. O NTP permite manter o relógio de um computador com a hora sempre certa.

Para verificar qual servidor esta sendo feito o sincronismo da hora via ntp = ntpq -p

exemplo:

# ntpq -p
     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
*LOCAL(0)        LOCAL(0)         3 l   10   64  377     0.00    0.000   10.01
 20.36.111.1     0.0.0.0         16 -    -   64    0     0.00    0.000 16000.0

Caso queira alterar as configurações de servidores, alterar dentro do arquivo /etc/ntp.conf

server <IP ou DNS do servidor> iburst prefer
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst


Repare que o servidor esta sendo indicado com um "*"

Para efetuar o stop do processo do ntp = /etc/init.d/ntpd
Para efetuar o start do processo do ntp = /etc/init.d/ntpd


Como encontrar a WWN de uma HBA QLogic no Linux (RHEL / SLES)

- Logado como root, execute o comando abaixo:
cat /proc/scsi/qla2xxx/X
Onde:
X = número do device
Como saber o número do meu device ?
ls -ltr /proc/scsi/qla2xxx
[root@host]# ls -ltr /proc/scsi/qla2xxx
total 0
-rw-r--r--  1 root root 0 Nov  8 11:35 2
-rw-r--r--  1 root root 0 Nov  8 11:35 1
Resultado do comando:
[root@host]# cat /proc/scsi/qla2xxx/2 | grep adapter-port
scsi-qla1-adapter-port=2101001b32a73a22;
Este é o número da sua WWN: 2101001b32a73a22

Verificar discos em controladora HP

hpssacli ctrl all show config

hpssacli ctrl all show detail


Adicionar Rotas

Rota Default = route add default gw <ip_gateway>

outras rotas = route add -net <ip_destino> netmask <mascara_de_rede> gw <ip_gateway>

exemplo:
route add -net 201.30.191.160 netmask 255.255.255.240 gw 172.16.1.252



Em distribuições baseadas no Red Hat:


Vá para o diretório /etc/sysconfig/network-scripts e crie um arquivo de texto vazio com o seguinte nome route-ethX, onde ethX é a interface da rede onde queremos definir a rota. No nosso exemplo, o nome do arquivo seria route-eth1;
Adicione a rota nesse arquivo através da seguinte sintaxe: "rede" via "gateway", podem ser adicionadas várias rotas em linhas diferentes. No nosso exemplo, adicionaríamos a seguinte linha: 201.30.191.160/28 via 172.16.1.252;
Agora basta reiniciar a rede para que a rota seja criada automaticamente: service network restart ou /etc/init.d/network restart.
Em distribuições baseadas no Debian:
Edite o arquivo /etc/network/interfaces e procure a linha iface ethX inet static, onde ethX é a interface da rede onde queremos definir a rota;
logo abaixo dessa linha adicione este comando para definir da rota: post-up route add -net 201.30.191.160 netmask 255.255.255.240 gw 172.16.1.252.
Agora basta reiniciar a rede para que a rota seja criada automaticamente: invoke-rc.d networking restart.


Ajustar Data e Hora



# hwclock --set --date "99/99/9999 00:00:00" - ajusta data e hora na BIOS
# hwclock --hctosys - sincroniza data/hora da BIOS com o S.O.



Para ajustar somente a hora pode ser usado o seguinte comando 
date -s "XX:XX" 
clock -w (gravar na bios)

Para ajustar data/hora

date mmddhhmmaaaa
onde:
mm = mês
dd = dia
hh = hora
mm = minuto
aaaa = ano





GERENCIAMENTO DE PACOTES


Instalar software usando repositórios: 
CentOS / Fedora / Red Hat  = yum install pacote
Debian = apt-get install pacote


Instalar software usando arquivo de pacote: 
CentOS / Fedora / Red Hat = yum localinstall pacote.rpm ; rpm -ivh pacote.rpm
Debian = dpkg -i pacote.deb


Atualizar um software: 
CentOS / Fedora / Red Hat = yum update pacote rpm -Uvh pacote.rpm
Debian = apt-get install pacote


Remover um software:
CentOS / Fedora / Red Hat = yum erase pacote
Debian = apt-get remove pacote


Atualizando o sistema


Atualizar lista de pacotes:
CentOS / Fedora / Red Hat = yum check-update
Debian = apt-get update


Atualizar o sistema:
CentOS / Fedora / Red Hat = yum upgrade
Debian = apt-get upgrade


Procurando por pacotes


Procurar pelo nome do pacote:
CentOS / Fedora / Red Hat = yum list pacote
Debian = apt-cache search pacote


Procurar por padrão:
CentOS / Fedora / Red Hat = yum search padrão
Debian = apt-cache search padrão


Procurar pelo nome do arquivo:
CentOS / Fedora / Red Hat = yum provides arquivo
Debian = apt-file search caminho


Listar todos os pacotes instalados:
CentOS / Fedora / Red Hat = rpm -qa
Debian = dpkg -l


Configurando o acesso a repositórios de software
Listar repositórios:
CentOS / Fedora / Red Hat = yum repolist
Debian = cat /etc/apt/sources.list


Adicionar repositório:
CentOS / Fedora / Red Hat =  (adicionar à /etc/yum.repos.d/)
Debian = (editar /etc/apt/sources.list)


Remover repositório:
CentOS / Fedora / Red Hat = (remover de /etc/yum.repos.d/)
Debian = (editar /etc/apt/sources.list)


Comandos diversos


Verificar se um pacote está instalado: 
CentOS / Fedora / Red Hat = rpm -q pacote
Debian = dpkg -s pacote


Listar arquivos de um pacote instalado:
CentOS / Fedora / Red Hat = rpm -ql pacote
Debian = dpkg -L pacote


Listar arquivos de um arquivo de pacote:
CentOS / Fedora / Red Hat = rpm -qpl pacote.rpm
Debian = dpkg -c pacote.deb


Obter informações de um arquivo de pacote:
CentOS / Fedora / Red Hat = rpm -qpi pacote.rpm
Debian = dpkg -I pacote.deb


Descobrir a que pacote pertence um arquivo:
CentOS / Fedora / Red Hat = rpm -qf arquivo
Debian = dpkg -S arquivo

Enviar e-mail modo texto

Enviar e-mail texto: mail -s "Assunto Teste" seuemail@dominio.com.br

Enviar e-mail com cópia: mail -s "Assunto Teste 4" seuemail@dominio.com.br -c outroemail@dominio.com.br,maisum@dominio.com.br

Enviar e-mail texto com arquivo anexo: mutt -s "Assunto Teste 5" -a arquivo.zip seuemail@dominio.com.br


Procedimento para reconhecimento de novas luns SAN - Redhat Enterprise Linux
1)    Determinar o modelo de HBA em uso no servidor:
# lspci | grep -i fibre
Exemplo de HBA Emulex:
06:00.0 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)
06:00.1 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)
Exemplo de HBA Qlogic:
0e:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
0e:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
2)    Determinar se o servidor possui drivers de HBA nativo do redhat linux, ou se são drivers do fabricante (Emulex ou Qlogic):
Obter o arquivo de driver, e verificar se ele pertence ao pacote do Kernel, se pertence à algum pacote de terceiros ou à nenhum pacote (compilado via tar.gz)
Emulex:
brsmcclsrv77:/root: modinfo lpfc | grep filename
filename:       /lib/modules/2.6.18-274.7.1.el5/kernel/drivers/scsi/lpfc/lpfc.ko
brsmcclsrv77:/root: rpm -qif /lib/modules/2.6.18-274.7.1.el5/kernel/drivers/scsi/lpfc/lpfc.ko
Name        : kernel                       Relocations: (not relocatable)
Version     : 2.6.18                            Vendor: Red Hat, Inc.
Release     : 274.7.1.el5                   Build Date: Mon 17 Oct 2011 02:36:12 PM BRST
Install Date: Wed 02 Nov 2011 07:30:41 PM BRST      Build Host: x86-004.build.bos.redhat.com
Group       : System Environment/Kernel     Source RPM: kernel-2.6.18-274.7.1.el5.src.rpm
Size        : 100781950                        License: GPLv2
Signature   : DSA/SHA1, Tue 18 Oct 2011 12:31:46 PM BRST, Key ID 5326810137017186
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.kernel.org/
Summary     : The Linux kernel (the core of the Linux operating system)
Description :
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system.  The kernel handles the basic functions
of the operating system:  memory allocation, process allocation, device
input and output, etc.
brsmcclsrv77:/root:
Qlogic:
# modinfo qla2xxx | grep filename
filename:       /lib/modules/2.6.9-78.ELsmp/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
[root@absmclbcv001 ~]# rpm -qif /lib/modules/2.6.9-78.ELsmp/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
Name        : kernel-smp                   Relocations: (not relocatable)
Version     : 2.6.9                             Vendor: Red Hat, Inc.
Release     : 78.EL                         Build Date: Wed 09 Jul 2008 05:28:31 PM BRT
Install Date: Thu 02 Apr 2009 01:48:24 PM BRT      Build Host: ls20-bc2-14.build.redhat.com
Group       : System Environment/Kernel     Source RPM: kernel-2.6.9-78.EL.src.rpm
Size        : 38599777                         License: GPLv2
Signature   : DSA/SHA1, Wed 09 Jul 2008 07:23:01 PM BRT, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Summary     : The Linux kernel compiled for SMP machines.
Description :
This package includes an SMP version of the Linux kernel. It is
required only on machines with two or more CPUs, although it should
work on single-CPU boxes.
Compilado manualmente ou não fornecido no Kernel:
# modinfo qla2xxx | grep filename
filename:       /lib/modules/2.6.18-164.el5/extra/qlgc-qla2xxx/qla2xxx.ko
# rpm -qif /lib/modules/2.6.18-164.el5/extra/qlgc-qla2xxx/qla2xxx.ko
file /lib/modules/2.6.18-164.el5/extra/qlgc-qla2xxx/qla2xxx.ko is not owned by any package
CASO o driver em uso seja o nativo do linux (fornecido pelo pacote do Kernel), prosseguir com as recomendações abaixo da Redhat. Caso o driver não seja o nativo do Linux, utilizar ferramentas específicas da Qlogic ou da Emulex para o reconhecimento:



Qlogic: Dynamic TGT-LUN Discovery Utility for Linux




Emulex: No-Reboot Dynamic Target/LUN Discovery Tool




3)    Reconhecimento de luns pelo script  rescan-scsi-bus.sh:



Esse script é fornecido pelo pacote rpm sg3_utils e pode ser executado para reconhecer luns online em RHEL5 e RHEL6:






4)    Reconhecer luns utilizando commandos sysfs:



Além de executar o script acima, é possível realizar o reconhecimento executando comandos no filesystem /sys (sysfs). Basicamente é o que o scrtip acima faz, mas de forma automatizada. É necessário identificar a quantidade de portas em cada HBA, e executar o comando em todas a portas:



# echo "- - -" >  /sys/class/scsi_host/hostH/scan



Onde “H” é a porta da HBA em questão. Por exemplo, o servidor abaixo possui 2 portas na mesma placa HBA:



# lspci | grep -i fibre

06:00.0 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)

06:00.1 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)



Verificamos que dentro do diretório /sys/class/scsi_host/, temos 2 subdiretórios, um para cada porta:



#/sys/class/scsi_host: ls -l

total 0

drwxr-xr-x 2 root root 0 Mar  1 12:16 host0

drwxr-xr-x 2 root root 0 Mar  1 12:16 host1

#/sys/class/scsi_host:



Será necessário executar o commando listado acima nas 2 portas:

# echo "- - -" >  /sys/class/scsi_host/host0/scan

# echo "- - -" >  /sys/class/scsi_host/host1/scan



5)    Exlusivo para servidores com hardware HP : hp_rescan



Para servidores Blade e Proliant, a HP disponibiliza um pacote de drivers à ser instalado no linux que alteram alguns drivers e adicionam ferramentas. Esse pacote chama-se “Proliant Support Pack – PSP” e deve ser baixado da página da HP de acordo com o modelo do servidor:




Entre outros, o PSP fornece um pacote rpm chamado “fibreutils”, que provê o scrtip hp_rescan:



# which hp_rescan

# rpm -qif /usr/bin/hp_rescan



Name        : fibreutils                   Relocations: (not relocatable)

Version     : 3.2                               Vendor: Hewlett-Packard Company

Release     : 3                             Build Date: Wed 04 May 2011 11:34:14 PM BRT

Install Date: Tue 20 Dec 2011 07:42:52 PM BRST      Build Host: localhost.localdomain

Group       : Applications/System           Source RPM: fibreutils-3.2-3.src.rpm

Size        : 73160                            License: Proprietary

Signature   : (none)

Packager    : Hewlett-Packard Company

URL         : http://www.hp.com

Summary     : Provides complimentary programs and scripts for HP supported fibre channel HBAs

Description :

This RPM has the following components:



* Miscellaneous scripts and programs to compliment HP supported FC drivers:



lssd

lssg

adapter_info

hp_rescan

scsi_info



Podemos utilizar esse script com o parâmetro “-a” para reconhecer de forma online em servidores HP:



# hp_rescan -a

Sending rescan signal to /proc/scsi/qla2xxx/0...

Sending rescan signal to /proc/scsi/qla2xxx/1...

Adding legacy tape devices to /proc/scsi/device_info

Scanning /proc/scsi/qla2xxx/0, target 15, LUN 0

Scanning /proc/scsi/qla2xxx/1, target 20, LUN 48

  

scsi0  00 01 00 HP         Ultrium    K48W       Sequential-Access

scsi0  00 01 01 HP         Ultrium    K48W       Sequential-Access

scsi0  00 02 00 HP         Ultrium    K48W       Sequential-Access

scsi0  00 02 01 HP         Ultrium    K48W       Sequential-Access

scsi0  00 05 00 HP         HSV210     6110       RAID

scsi0  00 05 01 HP         HSV210     6110       Direct-Access

scsi0  00 05 02 HP         HSV210     6110       Direct-Access

scsi0  00 05 03 HP         HSV210     6110       Direct-Access



6)    Após reconhecimento da nova lun, configuração de multipathing



Uma vez a lun reconhecida no sistema operacional, caso o servidor possua alguma ferramenta de multipahting, ela deve ser configurada de acordo.



EMC Powerpath:

# powermt config

# powert save



IBM SDD:

# /opt/IBMsdd/bin/cfgvpath

# dmsetup create <próximo mpath disponível>



Multipath nativo Linux:

# multipath –v2

# multipath -ll

REMOÇÃO DE LUN MULTIPATH

lsof /dev/mpath/<caminho/nome multipath com problema>
multipath -f <nome multipath com problema>  
dmsetup message <nome multipath com problema> 0 "fail_if_no_path"  
dmsetup remove -f <nome multipath com problema>
multipath -ll |grep  <nome multipath com problema>



MOSTRAR O MAPPER NO LVM

Alterar  no /etc/lvm/lvm.conf

preferred_names = [ "^/dev/mapper/", "^/dev/mpath/", "^/dev/[hs]d" ]

filter = [ "a|cciss/.*|", "a|mapper/.*|","a|mpath/.*|", "r|.*|" ]

comentar as linhas que estão no arquivo e colocar as linhas de cima

Executar o pvscan

e pronto

o bom de usar o mapper tb, eh q as vezes nem precisa do kpartx

.
 



vsftpd
vsftpd (Very Secure FTP Daemon) é um servidor de FTP para sistemas UNIX-like, incluindo CentOS/RHEL/Fedora e outras distribuições Linux. Ele suporta IPv6, SSL, o bloqueio aos usuários, seus diretórios e muitos outros recursos avançados.

Neste guia você vai aprender:

1. Instalação vsftpd para fornecer serviço de FTP.
2. Configurar vsftpd.
3. Configurar firewalls para proteger o servidor de FTP.
4. Configurar vsftpd com SSL / TLS.
5. Instalação vsftpd como Download apenas Anonymous Internet Server.
6. Instalação vsftpd com usuários virtuais e muito mais.

VSFTPD oferece segurança, desempenho e estabilidade ao longo de outros servidores. Uma rápida lista de características vsftpd:

1. Configurações de IP virtual
2. Usuários virtuais
3. Executar uma operação autônoma ou inetd/xinetd
4. Configuração por usuário
5. Bandwidth Throttling
6. Per-source-IP configurabilidade
7. Per-source-IP limites
8. IPv6 ready
9. Suporte através de criptografia SSL
10. E muito mais.

Instalar o vsftpd FTP Server

Instale o pacote vsftpd via comando yum:
# Yum install vsftpd

Padrões Vsftpd

1. Porta padrão: TCP/UDP – 21 e 20
2. O principal arquivo de configuração: /etc/vsftpd/vsftpd.conf
3. Os usuários que não têm permissão para fazer login via ftp:/etc/vsftpd/ftpusers

Configurar Vsftpd Server

Abra o arquivo de configuração, digite:

# vi /etc/vsftpd/vsftpd.conf

Desligue o formato padrão de registro do ftpd xferlog:

xferlog_std_format=NO

Ligue o formato de log detalhado vsftpd. O padrão do arquivo de log vsftpd é /var/log/vsftpd.log:

log_ftp_protocol=YES

Acima do diretórios permitirá o registo de todas as transações FTP. Bloqueie os usuários a seus diretórios home:

chroot_local_user=YES

Criar faixas de advertência para todos os usuários de FTP:

banner_file=/etc/vsftpd/issue

Criar /etc/vsftpd/issue compatível com a política local ou uma declaração legal:

AVISO AOS USUÁRIOS

O uso deste sistema constitui consentimento para monitoramento de segurança e testes.
Toda atividade é registrada com o nome de host e endereço IP.


Inicie vsftpd no boot:
# Chkconfig no vsftpd

Inicie o serviço:
# service vsftpd start
# netstat-tulpn | grep: 21

 
Configurar iptables para proteger o servidor de FTP

Abrir arquivo /etc/sysconfig/iptables, digite:
# vi /etc/sysconfig/iptables

Adicione as seguintes linhas, assegurando que aparece as linhas antes do final LOG e DROP RH-Firewall-1-INPUT:

-A RH-Firewall-1-INPUT-m state – state NEW-p tcp – dport 21-j ACCEPT

Abrir arquivo /etc/sysconfig/iptables-config, digite:
# vi /etc/sysconfig/iptables-config
Assegure-se que o espaço de lista separada de módulos de conexão do FTP contém o módulo de monitoramento:

IPTABLES_MODULES=”ip_conntrack_ftp”

Salve e feche o arquivo. Reinicie o firewall:
# service iptables restart
Sugestão: Ver FTP do arquivo de log

Digite o seguinte comando:
# tail-f /var/log/vsftpd.log

Dica: Restringir o acesso ao usuário anônimo Only

Edite o arquivo de configuração do /etc/vsftpd/vsftpd.conf e adicione o seguinte:

local_enable=NO

Dica: Desativar FTP Uploads
Edite o arquivo de configuração do /etc/vsftpd/vsftpd.conf e adicione o seguinte:

write_enable=NO

Dica de segurança: Coloque o diretório FTP em sua própria partição

Separação dos arquivos do sistema operacional a partir de arquivos FTP usuários pode resultar em um sistema melhor e mais seguro. 
Restringir o crescimento de determinados sistemas de arquivos é possível usando várias técnicas. Por exemplo, usa a partição /ftp para armazenar todos os diretórios home e montar ftp com opções nosuid, nodev e noexec. Uma amostra /etc/fstab digite:

/dev/sda5/ftp ext3 defaults, nosuid, nodev, noexec, usrquota 1 2

Quota de disco deve ser ativado para impedir os usuários de encher um disco usado por serviços de FTP upload. Edite o arquivo de configuração do vsftpd. Adicionar ou corrigir as seguintes opções de configuração que representa um diretório que vsftpd vai tentar mudar para depois de um anônimo:

anon_root=/ftp/ftp/pub 




LIGAR E DESLIGAR HBA



1 – Identifique a(s) HBA(s) e o driver usado:



# lspci -k | grep -A3 -i fibre



07:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

        Subsystem: Hewlett-Packard Company Device 3262

        Kernel driver in use: qla2xxx

        Kernel modules: qla2xxx

0a:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

        Subsystem: Hewlett-Packard Company Device 3262

        Kernel driver in use: qla2xxx

        Kernel modules: qla2xxx



2 – Entre no diretório do driver (pode ser lpfc em caso de Emulex)



# /sys/bus/pci/drivers/qla2xxx]$





3 – Identifique cada placa:

# /sys/bus/pci/drivers/qla2xxx]$ ls -al

total 0

drwxr-xr-x  2 root root    0 Sep 26 15:49 .

drwxr-xr-x 36 root root    0 Sep 26 13:52 ..

lrwxrwxrwx  1 root root    0 Sep 26 15:54 0000:07:00.0 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:07:00.0

lrwxrwxrwx  1 root root    0 Sep 26 15:54 0000:0a:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.0/0000:0a:00.0
--w-------  1 root root    0 Sep 26 15:50 bind
lrwxrwxrwx  1 root root    0 Sep 26 15:47 module -> ../../../../module/qla2xxx
--w-------  1 root root 4096 Sep 26 15:47 new_id
--w-------  1 root root 4096 Sep 26 15:47 remove_id
--w-------  1 root root    0 Sep 26 15:48 unbind


4 – Para cada porta, baixe a HBA:
# /sys/bus/pci/drivers/qla2xxx]$ echo 0000:07:00.0 | sudo tee unbind
# /sys/bus/pci/drivers/qla2xxx]$ echo 0000:0a:00.0 | sudo tee unbind


5 – Valide que a HBA desligou:
# /sys/bus/pci/drivers/qla2xxx]$ dmesg | grep PCI | grep disabled
ACPI: PCI interrupt for device 0000:07:00.0 disabled
ACPI: PCI interrupt for device 0000:0a:00.0 disabled


6 – Para ligar, faça o mesmo procedimento do passo 4, trocando o arquivo “unbind” pelo “bind”.
  
RECONHECIMENTO DE LUN / PARTICIONANDO E INSERÇÃO NO LVM
EXEMPLO:
LUNS:
Servidor    Discos    Lun (Hex)    Size GB
SERVER01    0A:08   17        200
SERVER02    0A:0A   18        200
                      0A:0C   19        200

Procedimento:

Executar no SERVER01

1.    SALVAR INFORMAÇÕES DO MULTIPATH

    multipath -ll > /tmp/multipath.out

   Reconhecer os novos discos:
# scsi-rescan
# multipath -v4


2.    executar os comandos abaixo para identificar os discos.

# multipath -ll > multipath.new
# diff multipath.old multipath.new


Obs. Se preferir, voce também pode procurar o ID da LUN com o seguinte comando:
 
# multipath -ll | grep -i 0a08
# multipath -ll | grep -i 0a0a
# multipath -ll | grep -i 0a0c


3.    Criar uma partição nos discos reconhecidos
 
# parted -s /dev/mapper/disco1 mklabel msdos mkpart primary 0 100% set 1 LVM on
# parted -s /dev/mapper/disco2 mklabel msdos mkpart primary 0 100% set 1 LVM on
# parted -s /dev/mapper/disco3 mklabel msdos mkpart primary 0 100% set 1 LVM on
Exemplo: parted -s /dev/mapper/360014380125d885b0000500046180XXX0 mklabel msdos mkpart primary 0 100% set 1 LVM on

# kpartx -a /dev/mapper/disco1
# kpartx -a /dev/mapper/disco2
# kpartx -a /dev/mapper/disco3
Exemplo: kpartx -a /dev/mapper/360014380125d885b0000500046180XXX0

# partprobe

4.    Adicionar os disco ao LVM (atentar para o sufixo p1 no final do path do disco) e depois ao VG

# pvcreate /dev/mapper/disco1p1
# pvcreate /dev/mapper/disco2p1
# pvcreate /dev/mapper/disco3p1
    
# vgextend /dev/appvgprod /dev/mapper/disco1p1
# vgextend /dev/appvgprod /dev/mapper/disco2p1
# vgextend /dev/appvgprod /dev/mapper/disco3p1

5.    Com os discos no VG, fazer o resize do LV e do Filesystem

# lvresize -L +<tamanho> LV
# resize2fs /app


6.    Enviar evidências do resize do FS.

Executar no SERVER02
7.    Reconhecer os novos discos:
# scsi-rescan
# multipath -v4

8.    Reconhecer a partição criada:
# partprobe
# kpartx -a /dev/mapper/disco1
# kpartx -a /dev/mapper/disco2
# kpartx -a /dev/mapper/disco3
# pvscan
# vgscan
# lvscan



Executar no SERVER01 e SERVER02:
9.    Verificar se os lvs tem o mesmo tamanho nos dois nós e se os VGs estão com o mesmo número de pvs nos dois nós. Caso não estiver, favor me ligar:
Nó 1:
# lvdisplay /dev/mapper/appvgprod-applv|grep "LV Size"
# vgdisplay -v appvgprod|grep "PV Name"|wc –l

Nó 2:
# lvdisplay /dev/mapper/appvgprod-applv|grep "LV Size"
# vgdisplay -v appvgprod|grep "PV Name"|wc –l
 


CLUSTER

Para verificar status do cluster = clustat e/ou clustat -l

Para gerenciamento do cluster = clusvcadm

Com o comando clusvcadm, utilizar os parametros:

Enabe = clusvcadm -e <serviço>
Enable com host específico = clusvcadm -e <serviço> -m <host>

Disable = clusvcadm -d <serviço>

Relocate = clusvcadm -r <serviço> ou clusvcadm -r <serviço> -m <host>

Stop = clusvcadm -s <serviço>

Freeze =  clusvcadm -Z <serviço>

Unfreeze =  clusvcadm -U <serviço>

Migrate =  clusvcadm -M <serviço> -m <host>

Restart =  clusvcadm -R <serviço>



TABELA ARP

Verificar entradas = arp -a

Adicionar mapeamento manual =  arp -s <hostname> <MAC Address>




ETHTOOL


Alterar velocidade interface = ethtool -s <interface> speed <velocidade> duplex <multiplex> autoneg <on|off

Onde:
<interface> = a interface que deseja efetuar as alterações
<velocidade> = velocidade que a interface irá "trabalhar" (10,100,1000)M
<multiplex> = tipo de comunicação da interface (half, duplex)

Desativar TCP offload = ethtool -K <interface> rc off tx off



XFS (Aumentar FS (LVM) com sistemas de arquivos XFS)

 # lvdisplay /dev/centos/root
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                jxyjgx-veql-Hzxk-1ynz-b6i2-BQoe-xGhrCb
  LV Write Access        read/write
  LV Creation host, time jc-desk.luht.scot.nhs.uk, 2015-06-11 ...
  LV Status              available
  # open                 1
  LV Size                115.00 GiB
  Current LE             29440
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0


Deṕois de aumentado o LV do FS, não utilizar o resize2fs, pois o comando não funcionará com o XFS.

exemplo:

 # resize2fs /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open
/dev/mapper/centos-root
Couldn't find valid filesystem superblock.

 
Utilizar o comando: xfs_growfs  

xfs_ growfs /dev/mapper/centos-root 

Comentários

Postagens mais visitadas