LINUX.ORG.RU
решено ФорумAdmin

mdadm --bitmap=internal - как она работает?

 , ,


0

1

For larger drives or write-intensive drives, you should also look at the --bitmap-chunk=NNN argument. This can often be as small as 4KB to 128KB by default which causes lots of bitmap updates. Increasing this value to 4096 (4MB) or 16384 (16MB) or 65536 (64MB) can help out with write performance, while still giving you fairly fast rebuilds.

Не ясно, куда девать write-intent-bitmap, если места для него нет (суперблок находится в конце диска)...

Если я при создании массива попрошу сделать мелкий размер chunk-size (например 4 килобайта), значит ли это, что mdadm зарезервирует место рядом с суперблоком (в случае версии 1.0 - перед суперблоком? "This is a Signed value which allows the bitmap to appear physically before the superblock on the disk") и уменьшит размер данных? Или тупо обломится и увеличит размер chunk-size?

For 1.x it is 3K. As this is unused disk space, bitmaps can be added to an existing md device without the risk to take away space from an existing filesystem on that device.

Или ВСТРОЕННЫЙ bitmap не бывает другого размера кроме как 3K?

Нижний рейд навернется и все похоронит, включая все журналы.

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

Ок, как сделать зеркалирование всех данных устройства целиком, и при этом заиметь журнал (без дополнительных дисков)?

Можно ли записать на каждый диск по два суперблока (один под данные, один под журнал) ?

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

Купи уже себе рейд-контроллер.

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

на твои деньги и с доставкой за твой счёт - я согласен, согласен (уже писал это). А, да, обучение пользованию железом - тоже за твой счёт.

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)

Попробовал создать зеркало из двух 16 ТБ дисков. Суперблок 1.0, битмап есть (чанки по 64 MB), занимает 64 сектора (64*512*8=262144 бита), расположен за 80 секторов до суперблока. Как видишь, mdadm сам выбрал, где расположить битмап и чанки какого размера использовать.

# mdadm --create /dev/md/mirror -l 1 -b internal -n 2 --metadata=1.0 --assume-clean /dev/sdc /dev/sdd
mdadm: array /dev/md/mirror started.
# mdadm --examine /dev/sdc
/dev/sdc:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : edb9ce77:67e5142e:1bfab74f:5fcc4cfa
           Name : localhost:mirror  (local to host localhost)
  Creation Time : Fri Aug 10 17:15:56 2018
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 34359738272 (16384.00 GiB 17592.19 GB)
     Array Size : 17179868992 (16384.00 GiB 17592.19 GB)
  Used Dev Size : 34359737984 (16384.00 GiB 17592.19 GB)
   Super Offset : 34359738352 sectors
   Unused Space : before=0 sectors, after=288 sectors
          State : clean
    Device UUID : ff56c32f:65cd777f:665a6a7c:dc19017c

Internal Bitmap : -80 sectors from superblock
    Update Time : Fri Aug 10 17:15:56 2018
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : 6e3c5b66 - correct
         Events : 0


   Device Role : Active device 0
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
# mdadm --examine /dev/sdd
/dev/sdd:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : edb9ce77:67e5142e:1bfab74f:5fcc4cfa
           Name : localhost:mirror  (local to host localhost)
  Creation Time : Fri Aug 10 17:15:56 2018
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 34359738272 (16384.00 GiB 17592.19 GB)
     Array Size : 17179868992 (16384.00 GiB 17592.19 GB)
  Used Dev Size : 34359737984 (16384.00 GiB 17592.19 GB)
   Super Offset : 34359738352 sectors
   Unused Space : before=0 sectors, after=288 sectors
          State : clean
    Device UUID : fce8122d:aad5698c:4a6ea028:7caf3e58

Internal Bitmap : -80 sectors from superblock
    Update Time : Fri Aug 10 17:15:56 2018
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : f19f2d - correct
         Events : 0


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
# mdadm --examine-bitmap /dev/sdc
        Filename : /dev/sdc
           Magic : 6d746962
         Version : 4
            UUID : edb9ce77:67e5142e:1bfab74f:5fcc4cfa
          Events : 0
  Events Cleared : 0
           State : OK
       Chunksize : 64 MB
          Daemon : 5s flush period
      Write Mode : Normal
       Sync Size : 17179868992 (16384.00 GiB 17592.19 GB)
          Bitmap : 262144 bits (chunks), 0 dirty (0.0%)
# mdadm --examine-bitmap /dev/sdd
        Filename : /dev/sdd
           Magic : 6d746962
         Version : 4
            UUID : edb9ce77:67e5142e:1bfab74f:5fcc4cfa
          Events : 0
  Events Cleared : 0
           State : OK
       Chunksize : 64 MB
          Daemon : 5s flush period
      Write Mode : Normal
       Sync Size : 17179868992 (16384.00 GiB 17592.19 GB)
          Bitmap : 262144 bits (chunks), 0 dirty (0.0%)
iliyap ★★★★★ ()
Ответ на: комментарий от iliyap

Спасибо тебе, что не ты поленился запостить.

зеркало из двух 16 ТБ дисков. Суперблок 1.0

Если бы не я, ты бы не стал таким заниматься.
И солнце б утром не вставало б, когда бы не было б меня!

Einstok_Fair ★★☆ ()
Ответ на: комментарий от iliyap

288 sectors
-80 sectors from superblock

Казалось бы, зачем резервировать 80 секторов «перед», если «после» есть втрое больше?

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от iliyap

Какую версию mdadm ты используешь? У меня
[ebuild R ] sys-fs/mdadm-3.4::gentoo USE="-static" 0 KiB

и она даёт другой вывод

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

После обновления версии стало показывать так же:

# mdadm --version
mdadm - v4.1-rc2 - 2018-08-02
# mdadm --examine /dev/sda
/dev/sda:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : 73f0a0ba:5beadbfd:17566aeb:aeddd4c1
           Name : localhost:raid1  (local to host localhost)
  Creation Time : Sat Aug 18 22:09:31 2018
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 1953525136 (931.51 GiB 1000.20 GB)
     Array Size : 976761344 (931.51 GiB 1000.20 GB)
  Used Dev Size : 1953522688 (931.51 GiB 1000.20 GB)
   Super Offset : 1953525152 sectors
   Unused Space : before=0 sectors, after=2448 sectors
          State : clean
    Device UUID : 7bea160d:f44fd485:ba7aca4c:ff1c36f6

Internal Bitmap : -16 sectors from superblock
    Update Time : Sat Aug 18 22:09:31 2018
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : 2f95184b - correct
         Events : 0


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
# mdadm --detail /dev/md/raid1
/dev/md/raid1:
           Version : 1.0
     Creation Time : Sat Aug 18 22:09:31 2018
        Raid Level : raid1
        Array Size : 976761344 (931.51 GiB 1000.20 GB)
     Used Dev Size : 976761344 (931.51 GiB 1000.20 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sat Aug 18 22:09:31 2018
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : localhost:raid1  (local to host localhost)
              UUID : 73f0a0ba:5beadbfd:17566aeb:aeddd4c1
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8        0        1      active sync   /dev/sda

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.