Instalação e uso do mdadm

Publicado por aguamole (última atualização em 21/05/2019)

[ Hits: 2.653 ]

Download 6986.mdadm-gui

Download 1558051602.mdadm-gui (versão 2)




O script vai instalar o mdadm no sistema e possui as seguintes características:

- Capacidade de detectar RAID com mdadm
- Criar RAID simples com mdadm
- Criar e formatar o RAID após criação em Btrfs ou Ext4
- Suporta RAID com 2 a 6 dispositivo
- Criação de um log

  



Versões atualizadas deste script

Versão 2 - Enviado por aguamole em 16/05/2019

Changelog: Removed sensitivity in "S" or "s" in confirmation.
Bug fix: Linhas 222 e 226
Other small changes.

Download 1558051602.mdadm-gui


Esconder código-fonte

#!/bin/bash

echo "================================"
echo "#                 CREDITO                #"                        #
echo "#    Autor: João Cláudio de Alcântara    #"#
echo "#     E-mail: joaoclaudio63@gmail.com     #"
echo "================================"
sleep 5

# Variáveis
LOG=/var/log/mdadm-gui.log

echo "Arquivo de "log" esta sendo criado."
sleep 3
touch /var/log/mdadm-gui.log
echo "O arquivo de "log" foi criado em"
echo /var/log/mdadm-gui.log
date >> $LOG

sleep 3

echo "O mdadm sera instalado no sistema!"
echo "Instalando mdadm"
dpkg --configure -a >> $LOG
apt install -f >> $LOG
apt update >> $LOG
apt install mdadm -y >> $LOG

echo "Detectando RAID com o mdadm"
mdadm --assemble --scan >> $LOG
sleep 3

echo "Visualizar o arquivo mdadm.conf"
mdadm --detail --scan >> /etc/mdadm.conf
cat /etc/mdadm.conf
rm /etc/mdadm.conf >> $LOG ; sleep 3

echo "O que você deseja fazer?"
echo "Digite uma das opções a seguir."
echo "1 - Para criar um novo RAID"
echo "2 - Para cancelar"
read Criar

if [ "$Criar" = 1 ]
   then echo "Digite quantos discos tera no novo RAID?"
   read NDisc

   echo "Digite o nível do Raid a ser criado!"
   echo "Exemplo: Para RAID0 digite "0" ou para RAID1 digite "1" ou para RAID5 digite "5""
   read Raid

   echo "Digite o dispositivo RAID a ser criado"
   echo "Exemplo: "/dev/md0" ou "/dev/md1""
   read md

   else echo "Saindo" ; exit
fi

if [ "$NDisc" -eq 2 ]
   then echo "Agora digite as entradas de todos os discos serem adicionado no RAID"
   echo "Exemplo 1: /dev/sda exemplo 2: /dev/sdb"
   echo "Disco 1"
   read Disc1

   echo "Disco 2"
   read Disc2

   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc1 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc2 >> $LOG

   echo "O RAID esta sendo criado"
   mdadm -C $md -a yes -v -l $Raid -n $NDisc "$Disc1"1 "$Disc2"1 >> $LOG

   echo "O mdadm-gui termino de criar o RAID verificando o aquivo "mdadm.conf""
   mdadm --detail --scan >> /etc/mdadm.conf
   cat /etc/mdadm.conf
   rm /etc/mdadm.conf >> $LOG
fi

if ["$NDisc" -eq 3 ]
   then echo "Agora digite as entradas de todos os discos serem adicionado no RAID"
   echo "Exemplo 1: /dev/sda exemplo 2: /dev/sdb exemplo 3: /dev/sdc"
   echo "Disco 1"
   read Disc1

   echo "Disco 2"
   read Disc2

   echo "Disco 3"
   read Disc3

   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc1 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc2 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc3 >> $LOG

   echo "O RAID esta sendo criado"
   mdadm -C $md -a yes -v -l $Raid -n $NDisc "$Disc1"1 "$Disc2"1 "$Disc3"1 >> $LOG

   echo "O mdadm-gui termino de criar o RAID verificando o aquivo "mdadm.conf""
   mdadm --detail --scan >> /etc/mdadm.conf
   cat /etc/mdadm.conf
   rm /etc/mdadm.conf >> $LOG
fi

if ["$NDisc" -eq 4 ]
   then echo "Agora digite as entradas de todos os discos serem adicionado no RAID"
   echo "Exemplo 1: /dev/sda exemplo 2: /dev/sdb exemplo 3: /dev/sdc"
   echo "Disco 1"
   read Disc1

   echo "Disco 2"
   read Disc2

   echo "Disco 3"
   read Disc3

   echo "Disco 4"
   read Disc4

   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc1 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc2 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc3 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc4 >> $LOG

   echo "O RAID esta sendo criado"
   mdadm -C $md -a yes -v -l $Raid -n $NDisc "$Disc1"1 "$Disc2"1 "$Disc3"1 "$Disc4"1 >> $LOG

   echo "O mdadm-gui termino de criar o RAID verificando o aquivo "mdadm.conf""
   mdadm --detail --scan >> /etc/mdadm.conf
   cat /etc/mdadm.conf
   rm /etc/mdadm.conf >> $LOG
fi

if ["$NDisc" -eq 5 ]
   then echo "Agora digite as entradas de todos os discos serem adicionado no RAID"
   echo "Exemplo 1: /dev/sda exemplo 2: /dev/sdb exemplo 3: /dev/sdc"
   echo "Disco 1"
   read Disc1

   echo "Disco 2"
   read Disc2

   echo "Disco 3"
   read Disc3

   echo "Disco 4"
   read Disc4

   echo "Disco 5"
   read Disc5

   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc1 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc2 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc3 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc4 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc5 >> $LOG

   echo "O RAID esta sendo criado"
   mdadm -C $md -a yes -v -l $Raid -n $NDisc "$Disc1"1 "$Disc2"1 "$Disc3"1 "$Disc4"1 >> $LOG

   echo "O mdadm-gui termino de criar o RAID verificando o aquivo "mdadm.conf""
   mdadm --detail --scan >> /etc/mdadm.conf
   cat /etc/mdadm.conf
   rm /etc/mdadm.conf >> $LOG
fi

if ["$NDisc" -eq 6 ]
   then echo "Agora digite as entradas de todos os discos serem adicionado no RAID"
   echo "Exemplo 1: /dev/sda exemplo 2: /dev/sdb exemplo 3: /dev/sdc"
   echo "Disco 1"
   read Disc1

   echo "Disco 2"
   read Disc2

   echo "Disco 3"
   read Disc3

   echo "Disco 4"
   read Disc4

   echo "Disco 5"
   read Disc5

   echo "Disco 6"
   read Disc6

   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc1 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc2 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc3 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc4 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc5 >> $LOG
   echo -e ',,A19D880F-05FC-4D3B-A006-743F0F84911E,' | sfdisk --label=GPT $Disc6 >> $LOG

   echo "O RAID esta sendo criado"
   mdadm -C $md -a yes -v -l $Raid -n $NDisc "$Disc1"1 "$Disc2"1 "$Disc3"1 "$Disc4"1 >> $LOG

   echo "O mdadm-gui termino de criar o RAID verificando o aquivo "mdadm.conf""
   mdadm --detail --scan >> /etc/mdadm.conf
   cat /etc/mdadm.conf
   rm /etc/mdadm.conf >> $LOG
fi

echo "Deseja Formatar o disco RAID criado?(s/n)"
read Format

if [ "$Format" = s ]
   then echo "Criando partição."
   echo -e ',,,' | sfdisk --label=gpt $md >> $LOG
   echo "Partição criada."
      
   else exit
fi

echo "Qual filesystem deseja usar?"
echo "1 - Para Btrfs"
echo "2 - Para ext4"
read Fs

if [ "$Fs" -eq 1 ]
   then echo "Criando o filesystem"
   mkfs.btrfs "$md"1 >> $LOG
   echo "Terminado"

   else echo "Criando o filesystem"
   mkfs.ext4 "$md"1 >> $LOG
   echo "Terminado"
fi

echo " " >> $LOG
echo "Fim" >> $LOG
echo "------------------------------------" >> $LOG

Scripts recomendados

Expect-Bash

envia-bakcup

Select tempfiles - Database Oracle

Script com dialog

Criar usuários com ponto (nome.usuario) no Slackware


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts