Raid no Linux

Criação de um raid 5 via software:

Instalar:

# apt-get install mdadm

ver discos:

# fdisk -l

Examinar os discos:

deve dizer ” no md superblock detected on /dev/sdX” qualquer coisa estranha a isso pode ser disco com falha

# mdadm -E /dev/sd[b-d]

Particionar os discos (onde X é a unidade de disco):

digite “n” para criar nova partição, va dando entrer para defaults até acabar.

digite “t” para mudar o tipo de partição e então digite “fd” para marcar como tipo Raid

digite “p” para vefiricar se a partição esta correta.

Digite “w” para salvar as mudanças.

# fdisk /dev/sdX

Para examinar os discos( MBR Magic: aa55):

# mdadm -E /dev/sd[b-c]

Criar disco:

#  mdadm -C /dev/md127 -v -l 5 -n 4 /dev/{sdb,sdc,sdd,sde}

Verificar andamento da criação:

# cat /proc/mdstat

Para ficar mostrando a cada 1 segundo:

# watch -n1 cat /proc/mdstat

Depois de criado vericiar raid nos discos:

# mdadm -E /dev/sd[b-d]1

Detalhemento do disco raid(state: celan, sem disco com falha):

# mdadm –detail /dev/md127

Criar sistema de arquivos na partição raid:

# mkfs.ext4 /dev/md127

Criar pasta para montar disco:

# mkdir /mnt/raid5

# mount /dev/md127 /mnt/raid5/

Montar automaticamente no boot:

# nano /etc/fstab :

/dev/md0                /mnt/raid5              ext4    defaults        0 0

Salvar a configuração do raid 5:

# mdadm –detail –scan –verbose >> /etc/mdadm.conf

Pronto só rebootar e ser feliz com o raid 5

 

Comandos mdadm:

salvar configuração feita do mdadm:

# mdadm –examine –scan >> /etc/mdadm/mdadm.conf

montar discos criados:

# mdadm –assemble –scan

Para volume raid:

# mdadm –stop /dev/md0

remover volume raid

# mdadm –remove /dev/md0

limpar super blocos dos discos do raid:

# mdadm –zero-superblock /dev/sda (fazer para todos)

Detalhes do volume raid:

mdadm –detail /dev/md0

Exemplo criar Raid 5:

# mdadm -C /dev/md127 -v -l 5 -n 4 /dev/{sdb,sdc,sdd,sde}

Ver estado dos volumes atuais:

# cat /proc/mdstat

para ver volumes criados:

# mdadm –detail –scan

 

 

Raid no Linux:

Melhor tutorial:

Creating RAID 5 (Striping with Distributed Parity) in Linux – Part 4

Software RAID 5 in Linux Mint / Ubuntu

http://ensinalinux.blogspot.com.br/2012/10/trabalhando-com-raid-via-software-no.html

 

http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-um-sistema-RAID-1-no-Debian-Lenny/?pagina=6

http://www.vivaolinux.com.br/artigo/Como-fazer-RAID-0-com-mdadm-no-Debian?pagina=3

Sistemas Raid:

http://www.hardware.com.br/comunidade/raid5-limite/909527/

http://www.hardware.com.br/termos/raid-5

http://www.youtube.com/watch?v=0QynsHQU1Ec

 

 

Backup Linux

Considero essa forma a mais eficiente e elegante de se fazer um backup. Pois é um backup automático incremental com controle de versão e gera logs para controle/monitoramento.

Utilizo para isso os softwares LIVRES: SSH, CRON, RSYNC. A ideia é ter dois servidores o de produção e o de backup, o servidor de backup deve fazer semanalmente uma copia de varias pastas do servidor da produção. Cada copia deve ser datada e ter um arquivo do log da copia também datado. Essas copias são na verdade copias com hardlink do Linux a ideia é copiar o conteúdo do ultimo backup para um nova pasta com “cp -l ” e depois atualizar ela com o servidor usando o rsync, assim teremos um backup incremental e versionado por data! Sem falar que economizamos muito espaço em disco, banda de rede e tempo de backup com esse procedimento.

ver : http://www.vivaolinux.com.br/artigo/Backups-remotos-com-rSync-e-chaves-SSH

Por partes:

1 – SSH com autenticação via chaves publica/privada:

http://ramonrdm.wordpress.com/2011/08/16/autenticacao-com-chaves-publicaprivada-no-ssh/

2 – Instalação do Rsync:

4 – Criação do script de backup

bkp incremental hardlinks:

#!/usr/bin/env bash
#
# Faz backups incrementais de diretorios em um servidor remoto utilizando rsync e
# hardlinks para economia de banda e espaço em disco.
#
# Por Vinicius Figueiredo <viniciusfs [arroba] gmail.com>
# Dominio Publico
#

SERVER="servidor.com.br"
DIRS_TO_COPY="/var/www /etc"
BACKUP_DIR="/backup"
RETENTION=15

DATE=`date +%Y%m%d`
LOG="${0}_${DATE}.log"

CURRENT_BACKUP="${BACKUP_DIR}/${DATE}"

echo "Iniciando script em `date`" > ${LOG}

if [ -e ${BACKUP_DIR}/last ]; then
    LAST_BACKUP=`cat ${BACKUP_DIR}/last`

    if [ -d ${LAST_BACKUP} ]; then
        echo "Ultimo backup encontrando, linkando arquivos..." >> ${LOG}
        cp -la ${LAST_BACKUP} ${CURRENT_BACKUP} >> ${LOG} 2>&1
    fi
else
    echo "Nenhum backup anterior encontrado, criando diretorio para backup atual..." >> ${LOG}
    mkdir ${CURRENT_BACKUP} >> ${LOG} 2>&1
fi

for dir in ${DIRS_TO_COPY}; do
    echo "Iniciando backup de ${SERVER}:${dir}" >> ${LOG}
    rsync -av --delete ${SERVER}:${dir} ${CURRENT_BACKUP} >> ${LOG} 2>&1
done

echo ${CURRENT_BACKUP} > ${BACKUP_DIR}/last

for dir in `find ${BACKUP_DIR} -maxdepth 1 -type d -mtime +${RETENTION}`; do
    echo "Removendo backup ${dir}" >> ${LOG}
    rm -rf ${dir} >> ${LOG} >> ${LOG} 2>&1
done

5 – Automatizando o backup com o Cron

http://ramonrdm.wordpress.com/2011/09/06/cron-agendando-tarefas/

Usando rsync:

http://servidorlinux.wordpress.com/2008/02/02/backup-com-rsync-sem-senha/

http://www.dicas-l.com.br/arquivo/como_programar_backup_com_rsync_e_cron_de_maneira_rapida_e_simples.php

http://www.vivaolinux.com.br/artigo/Backup-com-Rsync

http://www.vivaolinux.com.br/artigo/Sistema-de-backup-com-rsyncd

Incremental:

http://www.ultrav.com.br/2008/11/11/backup-incremental-com-rsync-e-hardlinks/

http://blog.liquuid.net/2008/05/11/time-machine-no-linux-com-rsync/

outra opcao:

http://www.dicas-l.com.br/arquivo/script_shell_de_backup_incremental.php

http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20070130.php

http://www.vivaolinux.com.br/script/Backup-Remoto-com-rsync-automatico-para-varias-maquinas-sem-senha./

http://www.jveweb.net/en/archives/2011/02/using-rsync-and-cron-to-automate-incremental-backups.html

Acesso root iomega ix4-d200

Oi! A baixo como consegui acesso root a esse equipamento de NAS ix4-d200 da iomega.

Instalei o htop para monitorar a atividade tbm entre outras coisas 🙂

vc pode habilitar o ssh caso não esteja habilitado em?

ip-nas-iomega/diagnostics.html

ou ainda se for uma versão antiga:

ip-nas-iomega/support.html

depois é só acessar via ssh com:

user: root

senha: soho+sua senha admin

exemplo: senha admin=1234, senha root será: soho1234

Fontes:

http://vincesoft.blogspot.com.br/2012/01/how-to-ssh-into-your-iomega-storcenter.html

http://ubuntu4us.corp.eng.br/artigos/configuracao-de-hardware/network-attached-storage/acesso-ssh-ao-iomega-ix2-200-cloud-edition

http://blog.vuksan.com/linux/2010/04/28/customizing-iomega-storcenter-ix4-200d-with-ipkg/

http://vincesoft.blogspot.com.br/2012/01/how-to-install-software-into-your.html

 

 

 

Syncthing compartilhando e sincronizando arquivos

Para quem já usou o BTsync e agora procura uma nova solução gratuita aqui vai o syncthing!

Página oficional:

https://syncthing.net/

Instalar(like deb):

http://apt.syncthing.net/

Start:

Em aplicativos de sessão coloque o comando:

  • Command: /path/to/syncthing/binary -no-browser -home="/home/your_user/.config/syncthing"

fonte: http://docs.syncthing.net/intro/getting-started.html

Caso use um servidor deb para syncar faça isso:

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-syncthing-to-synchronize-directories-on-ubuntu-14-04

Inicio automático nos derivados do Ubuntu:

http://docs.syncthing.net/users/autostart.html#linux

 

Abraços!

 

Criando um HD inicializavel a partir de uma ISO

descobri a pouco tempo um comando bom pra criar um disco de inicialização pra instalar o linux via um hd ou pendrive.
Os programas só servem pra instalar em pendrive mas eu tava com problema pra botar o ISO num hd pra instalação.

Comando:

$ sudo dd if=/home/usuario/Downloads/linuxmint-17-cinnamon-64bit-v2.iso of=/dev/sdc oflag=direct bs=1048576

o sdc era o meu hd externo, só que ele apaga tudo que ta dentro dele

 

Fonte:

Anselmo Junior

$grep -n 'texto' arquivo -r

grep é um aplicativo para linha de comando de sistemas Unix/Linux que faz buscas no conteúdo dos arquivos

-Wikipedia

Exemplos

Busca simples:

$ grep ‘joao’ arquivo.txt

Recursiva

$ grep ‘texto’ /etc/* -r

Mostrando as linhas:

$ grep -n ‘joao’ arquivo.txt

fontes:

http://www.vivaolinux.com.br/artigo/Usando-grep-e-egrep?pagina=2

http://ndvo.blog.br/pt-br/gnulinux/como-procurar-por-uma-string-em-v%C3%A1rios-arquivos/

Instalando servidor de e-mail postfix, imap, dovecot

Tutorial básico para criar um servidor de e-mails com postfix, imap, pop, mysql, devecot e cliente de e-mails web roundcube.

opção rápida: http://www.iredmail.org

Estou utilizando o GNU/Linux Debian amd64

instalar o postfix:

# apt-get install postfix

Continuar lendo Instalando servidor de e-mail postfix, imap, dovecot

iptables

Uma configuração de iptables

Você pode aprender tudo sobre Iptables aqui: http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html

Compartilha a rede externa com a interna e liberar as principais portas do servidor:

#!/bin/bash
#################### Inicio Firewall #################################

modprobe ip_nat
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe iptable_mangle
modprobe ipt_state
modprobe ipt_limit
modprobe ipt_multiport
modprobe ipt_mac
modprobe ipt_string
## Limpando as Regras existentes #######
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -Z

## Definindo politica padrão (Nega entrada e permite saida)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

## Estabelece relação de confiança entre maquinas da rede local eth0(rede local)
iptables -A INPUT -i eth1 -s 10.1.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth1 -m state –state NEW -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

############################ Compartilhamento Internet #########################
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

### SSH
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
### HTTP
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
### HTTPS
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
### SMPT
iptables -A INPUT -p tcp –dport 25 -j ACCEPT
### IMAP
iptables -A INPUT -p tcp –dport 143 -j ACCEPT
### IMAPS
iptables -A INPUT -p tcp –dport 993 -j ACCEPT
### POP
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 465 -j ACCEPT
### ???
iptables -A INPUT -p tcp –dport 587 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 995 -j ACCEPT
### ICMP e ping
iptables -A INPUT -p icmp  -j ACCEPT

######################################## Fim ###################################

 

Fontes:

http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html

http://deangerber.com/blog/2011/09/10/basic-iptables-firewall-configuration/

http://www.rackspace.com/knowledge_center/article/mail-server-opening-ports-in-the-linux-firewall

Instalando grub no Debian GNU/Linux com raid 1

Precisei instalar o Debian em um sistema com raid 1 e descobri que simplesmente o grub dava falha.

Depois de muito googlear, descobri que é necessário instalar o Debian, optar por não instalar o iniciador de boot. Reiniciar o instalador e entrar no modo rescuse, depois escolher o mapeamento correto para instalar o grub no /

procedimentos podem ser encontrados aqui:

https://wiki.debian.org/DebianInstaller/SataRaid

Use the following method only if you want to have a dual-boot system with Debian and the other operating system on the same Serial ATA RAID:

  1. Set up your fake RAID in the BIOS (see owners manual).
  2. Boot from a Debian installation media.
  3. Move the cursor to the Install boot menu entry (do not hit Enter yet):
    1. Press Tab to edit the kernel boot line.
    2. Add dmraid=true to the end of the line.
    3. Press Enter.
  4. Install Debian as usual, until you get to the disk partitioner. You will see your fake RAID as one disk with a confusing long name. Use it as if it were a single disk and configure your partitions any way you want, including LVM and friends.
  5. Complete the installation. The installation of GRUB may fail, but that is OK; GRUB needs to be reinstalled either way. If GRUB installation fails, select “continue without bootloader” to complete the Debian installation.
  6. Reboot as instructed by Debian Installer.
  7. Boot using the Debian installation media again.
  8. In the boot menu, go to Advanced Options, and move the cursor to “Rescue system” (do not hit Enter yet):
    1. Press Tab to edit the kernel boot line.
    2. Add “dmraid=true” without quotes to the end of the line.
    3. Press Enter.
  9. You will be presented with screens similar to the installation screens. Go through with them until you are asked to choose a root filesystem to mount and use.
  10. Choose the first /dev/dm-? (? is a number). You will get a command prompt.
  11. (Optional) Type bash into the prompt, for easier command line editing and command history.
  12. Modify /etc/default/grub (e.g. nano /etc/default/grub) and uncomment GRUB_DISABLE_LINUX_UUID=true (699437). Save the file and exit the editor.
  13. Type update-grub and press enter. This is very important, because otherwise the GRUB boot menu later wont be able to display your freshly installed kernel!
  14. Type grub-install /dev/mapper/ and press tab and tab again, you will get the names of the fake raid partitions.
    1. Complete grub-install /dev/mapper/ with the name of your whole fake disk.

      For example grub-install /dev/mapper/isw-jggdha7s-SYS (Note that there is no number at the end of the name). You may have something like /dev/mapper/isw-jggdha7s-SYS and /dev/mapper/isw-jggdha7s-SYS1, or /dev/mapper/isw-jggdha7s-Volume and /dev/mapper/isw-jggdha7s-Volume1. Choose the one without the partition number and press enter.

    2. Everything should install now without an error.
  15. Type exit (twice if you did step 11). Now you should be back in the rescue system menu. Choose the Reboot system option. Now boot off your fake RAID and see GRUB starting your new Debian installation.

 

Por fim precisei editar na hora do boot o local correto de boot, vc consegue isso com digitando “e” no menu de boot.

Depois de bootar entrei em /boot/grub/grub.cfg, e alterei ali o local de boot tbm para o mapeamento do Raid correto.

Ainda é necessário fazer o sistema sempre apontar para o mapeamento certo do raid, mas isso eu não fiz ainda 😀