Calculando o tamanho do DRBD Meta

4

Li toda a documentação fornecida em link para estabelecer o meta-tamanho do DRBD, mas estou tentando correlacioná-lo aos tamanhos reais do disco e do sistema de arquivos.

Existe uma maneira de recuperar o tamanho do sistema de arquivos em setores (junto com o dispositivo de bloco) para obter o valor correto para os metadados.

    
por Fran 02.10.2012 / 13:25

1 resposta

8

Nós usamos um script internamente para calcular DRBD meta tamanhos para partições LVM.

Este é um script que apenas considera o dispositivo de bloco como um argumento.

metacalc.sh /dev/vg1/root

Este é o conteúdo do script ... (também acontece de dar o comando para redimensionar o sistema de arquivos no disco DRBD também).

metacalc.sh

#!/bin/bash

which bc >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
    echo "Error: bc is not installed"
    exit 1
fi

if [ $# -lt 1 ]; then
    echo "Error: Please supply block device path"
    echo "Eg. /dev/vg1/backups"
    exit 1
fi

DEVICE=$1

SECTOR_SIZE=$( blockdev --getss $DEVICE )
SECTORS=$( blockdev --getsz $DEVICE )
MD_SIZE=$( echo "((($SECTORS + (2^18)-1) / 262144 * 8) + 72)" | bc )
FS_SIZE=$( echo "$SECTORS - $MD_SIZE" | bc )

MD_SIZE_MB=$( echo "($MD_SIZE / 4 / $SECTOR_SIZE) + 1" | bc )
FS_SIZE_MB=$( echo "($FS_SIZE / 4 / $SECTOR_SIZE)" | bc )

echo "Filesystem: $FS_SIZE_MB MiB"
echo "Filesystem: $FS_SIZE Sectors"
echo "Meta Data:  $MD_SIZE_MB MiB"
echo "Meta Data:  $MD_SIZE Sectors"
echo "--"
echo "Resize commands: resize2fs -p "$DEVICE $FS_SIZE_MB"M; drbdadm create-md res"

O único pré-requisito é que bc esteja instalado

  1. Centos - yum install bc
  2. Debian / Ubuntu - apt-get install bc
por 02.10.2012 / 13:29

Tags