Drbd

計算 DRBD 元大小

  • March 10, 2018

我已經閱讀了http://www.drbd.org/users-guide/ch-internals.html#s-meta-data-size提供的文件以建立 DRBD 元大小,但我很難關聯實際磁碟大小和文件系統大小。

有沒有一種方法可以檢索扇區中的文件系統大小(以及塊設備),以獲得元數據的正確值。

我們使用內部腳本來計算DRBDLVM 分區的元大小。

這是一個僅將塊設備作為參數的腳本。

例如。metacalc.sh /dev/vg1/root

這是腳本的內容……(它也恰好給出了調整DRBD磁碟上文件系統大小的命令)。

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"

唯一的先決條件bc已安裝

  1. 百——yum install bc
  2. Debian / Ubuntu -apt-get install bc

引用自:https://serverfault.com/questions/433999