mdstat中位图的含义是什么

Lin*_*eak 21 linux software-raid mdadm

不久前,mdadm在 RAID6 中创建了具有 4 个驱动器的新软件 RAID 阵列 ( )。它似乎工作得很好。mdstat如下:

Personalities : [raid6] [raid5] [raid4] 
md0 : active raid6 sda1[0] sde1[3] sdd1[2] sdb1[1]
      1953260544 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>
Run Code Online (Sandbox Code Playgroud)

困扰我的是bitmap: 0/8 pages我不明白的部分。

问题是:这是一个潜在的问题吗?请详细说明位图的实际含义。

此数组的完整详细信息如下:

/dev/md0:
        Version : 1.2
  Creation Time : Tue Nov  1 13:44:13 2016
     Raid Level : raid6
     Array Size : 1953260544 (1862.77 GiB 2000.14 GB)
  Used Dev Size : 976630272 (931.39 GiB 1000.07 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Fri Dec  2 13:05:18 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : backup-server:0  (local to host backup-server)
           UUID : 023f115d:212b130c:f05b072b:b14c2819
         Events : 1664

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 24

位图行/proc/mdstat指示使用了多少内存来缓存写入意向位图

基本上,在具有冗余设备的 RAID 设置中,mdadm可以使用“位图”来跟踪哪些块可能不同步(因为它们已被写入)。当一个块写入mdadm设备时,在位图中标记,然后写入底层设备;一旦块中没有活动的足够时间过去了,mdadm可以确保它已写入所有设备,则该标志将从位图中删除。在系统崩溃后或在删除并重新添加磁盘(未更改)后加快重新同步非常有用。

在您的情况下,0/8 表示没有内存用于内存位图缓存。这是一件好事:所有底层设备很有可能同步。(理论上,磁盘位图中可能存在未缓存在内存中的条目,但如果缓存完全为空,则不太可能。)

md(4) 有更多信息。