LINUX.ORG.RU

Mdadm bitmap ?

 , ,


0

1
md127 : active raid1 sdd1[1] sdc1[0]
      3906885632 blocks super 1.2 [2/2] [UU]
      bitmap: 1/30 pages [4KB], 65536KB chunk

Вот такое сообщение появилось после reboot сервера, подскажите что это означает простыми словами? спасибо



Последнее исправление: cetjs2 (всего исправлений: 3)

Всё нормально, просто одна из тридцати страниц битмапа находится в кэше.

https://raid.wiki.kernel.org/index.php/Mdstat#bitmap_line

На зеркале из двух дисков наверное можно вообще выключить битмап. По крайней мере, я не могу представить ситуацию, при которой он может тут пригодиться.

Deleted
()
Ответ на: комментарий от Deleted

Предположим после неудачного сбоя, когда на одной половине данные обновились, а на другой нет, как выяснить на какой половине данные более актуальные и с какой надо синхронизироваться после рестарта?

Viper
()
Ответ на: комментарий от Viper

Все будет плохо, и битмап тут никак не поможет. Можно поставить элементарный эксперимент:

#!/bin/bash

testmirror() {
	echo "bitmap: $1"
	dd if=/dev/zero of=loop0.img bs=1M count=100 > /dev/null 2>&1
	dd if=/dev/zero of=loop1.img bs=1M count=100 > /dev/null 2>&1

	losetup /dev/loop0 loop0.img > /dev/null 2>&1
	losetup /dev/loop1 loop1.img > /dev/null 2>&1

	mdadm --create --metadata 1.2 /dev/md10 --level=1 --raid-devices=2 /dev/loop0 /dev/loop1 > /dev/null 2>&1 
	mdadm -G /dev/md10 -b $1 > /dev/null 2>&1

	mkfs.ext4 /dev/md10 > /dev/null 2>&1
	mkdir testmnt
	mount /dev/md10 testmnt/

	dd if=/dev/urandom of=testmnt/testfile bs=1M count=50 > /dev/null 2>&1
	FOO=`md5sum testmnt/testfile`

	sleep 10
	sync
	umount testmnt/

	mdadm --stop /dev/md10 > /dev/null 2>&1

	dd if=/dev/urandom of=/dev/loop1 bs=1M seek=10 count=40 > /dev/null 2>&1
	mdadm -A /dev/md10 /dev/loop0 /dev/loop1 > /dev/null 2>&1
	sleep 10
	mount /dev/md10 testmnt/

	echo $FOO
	md5sum testmnt/testfile

	umount testmnt/
	mdadm --stop /dev/md10 > /dev/null 2>&1
	losetup -d /dev/loop0
	losetup -d /dev/loop1
	rm loop* testmnt/ -r
	echo
}

testmirror none 
testmirror internal

Результат:

bitmap: none
f8e2d75fcac80b0d051b012324067fee testmnt/testfile
57bab25d268f5ff1ac01b0e670541e6f  testmnt/testfile

bitmap: internal
fc4aeb1304e7a4a3eee4b8c5334ea0bd testmnt/testfile
1e231aced6c20299e6615b34aabe0efa  testmnt/testfile

Такие дела.

Deleted
()
Ответ на: комментарий от Deleted

Этот эксперимент ни о чём. Вы меняете содержимое диска вне массива, bitmap в этой ситуации совсем не используется. Если вы измените данные на loop1 и соответственно измените bitmap, то данные перенесутся и на второй диск после его запуска (то есть ситуация, когда перед сбоем на одном диске изменились данные, на втором ещё не успели, но после сбоя перенесутся). Bitmap не защитит вас от изменений на втором диске вне массива.

Viper
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.