dashdot icon indicating copy to clipboard operation
dashdot copied to clipboard

[Bug] multiple RAID arrays combined into one volume

Open jubbens opened this issue 2 years ago • 2 comments

Description of the bug

I have a RAID 0 array of two drives, and a RAID 1 array of two drives. They show up as a single storage volume.

The size listed is the size of the RAID 1 array and all four drives are listed under it.

I also have the 0% bug on this volume #292

How to reproduce

No response

Relevant log output

No response

Info output of dashdot cli

yarn run v1.22.19
$ node dist/apps/cli/main.js info
INFO
=========
Yarn: 1.22.19
Node: v18.7.0
Dash: 4.3.10

Cwd: /app
Hash: 3caa68f5ee9bfdf14dadcd5c5a0358aadadff90b
In Docker: true
In Podman: false
In Docker (env): true
Done in 0.47s.

What browsers are you seeing the problem on?

Chrome

Where is your instance running?

Linux Server

Additional context

Raw data
    yarn run v1.22.19
    $ node dist/apps/cli/main.js raw-data --storage
    Disk Layout: [
      {
        device: '/dev/sda',
        type: 'SSD',
        name: 'OCZ-VERTEX3     ',
        vendor: 'ATA',
        size: 90028302336,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '2.22',
        serialNum: '',
        interfaceType: 'SATA',
        smartStatus: 'unknown',
        temperature: null
      },
      {
        device: '/dev/sdb',
        type: 'HD',
        name: 'ST4000DM004-2CV1',
        vendor: 'Seagate',
        size: 4000787030016,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '0001',
        serialNum: '',
        interfaceType: 'SATA',
        smartStatus: 'unknown',
        temperature: null
      },
      {
        device: '/dev/sdc',
        type: 'HD',
        name: 'ST4000DM004-2CV1',
        vendor: 'Seagate',
        size: 4000787030016,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '0001',
        serialNum: '',
        interfaceType: 'SATA',
        smartStatus: 'unknown',
        temperature: null
      },
      {
        device: '/dev/sdd',
        type: 'SSD',
        name: 'ADATA SU800     ',
        vendor: 'ATA',
        size: 512110190592,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '1A',
        serialNum: '',
        interfaceType: 'SATA',
        smartStatus: 'unknown',
        temperature: null
      },
      {
        device: '/dev/sde',
        type: 'SSD',
        name: 'ADATA SU800     ',
        vendor: 'ATA',
        size: 512110190592,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '7ANR',
        serialNum: '',
        interfaceType: 'SATA',
        smartStatus: 'unknown',
        temperature: null
      },
      {
        device: '/dev/sdf',
        type: 'HD',
        name: 'DataTraveler 3.0',
        vendor: 'Kingston',
        size: 61991813632,
        bytesPerSector: null,
        totalCylinders: null,
        totalHeads: null,
        totalSectors: null,
        totalTracks: null,
        tracksPerCylinder: null,
        sectorsPerTrack: null,
        firmwareRevision: '0000',
        serialNum: '',
        interfaceType: 'USB',
        smartStatus: 'unknown',
        temperature: null
      }
    ]
    FS Size: [
      {
        fs: 'overlay',
        type: 'overlay',
        size: 71289790464,
        used: 12009525248,
        available: 55614865408,
        use: 17.76,
        mount: '/'
      },
      {
        fs: '/dev/sda1',
        type: 'ext4',
        size: 71289790464,
        used: 12009525248,
        available: 55614865408,
        use: 17.76,
        mount: '/mnt/host'
      },
      {
        fs: '/dev/md1',
        type: 'ext4',
        size: 1006691278848,
        used: 880640,
        available: 1006673620992,
        use: 0,
        mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f'
      },
      {
        fs: '/dev/sdf1',
        type: 'ext4',
        size: 60749164544,
        used: 3735523328,
        available: 56996864000,
        use: 6.15,
        mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499'
      },
      {
        fs: '/dev/md0',
        type: 'ext4',
        size: 3936780869632,
        used: 1383350038528,
        available: 2553414053888,
        use: 35.14,
        mount: '/mnt/host/srv/dev-disk-by-label-Array'
      }
    ]
    Block Devices: [
      {
        name: 'sda',
        type: 'disk',
        fsType: '',
        mount: '',
        size: 90028302336,
        physical: 'SSD',
        uuid: '',
        label: '',
        model: 'OCZ-VERTEX3     ',
        serial: '',
        removable: false,
        protocol: 'sata',
        group: undefined
      },
      {
        name: 'sdb',
        type: 'disk',
        fsType: 'linux_raid_member',
        mount: '',
        size: 4000787030016,
        physical: 'HDD',
        uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
        label: 'Joe:mirrored',
        model: 'ST4000DM004-2CV1',
        serial: '',
        removable: false,
        protocol: 'sata',
        group: undefined
      },
      {
        name: 'sdc',
        type: 'disk',
        fsType: 'linux_raid_member',
        mount: '',
        size: 4000787030016,
        physical: 'HDD',
        uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
        label: 'Joe:mirrored',
        model: 'ST4000DM004-2CV1',
        serial: '',
        removable: false,
        protocol: 'sata',
        group: undefined
      },
      {
        name: 'sdd',
        type: 'disk',
        fsType: 'linux_raid_member',
        mount: '',
        size: 512110190592,
        physical: 'SSD',
        uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
        label: 'Joe:1',
        model: 'ADATA SU800     ',
        serial: '',
        removable: false,
        protocol: 'sata',
        group: undefined
      },
      {
        name: 'sde',
        type: 'disk',
        fsType: 'linux_raid_member',
        mount: '',
        size: 512110190592,
        physical: 'SSD',
        uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
        label: 'Joe:1',
        model: 'ADATA SU800     ',
        serial: '',
        removable: false,
        protocol: 'sata',
        group: undefined
      },
      {
        name: 'sdf',
        type: 'disk',
        fsType: '',
        mount: '',
        size: 61991813632,
        physical: 'HDD',
        uuid: '',
        label: '',
        model: 'DataTraveler 3.0',
        serial: '',
        removable: true,
        protocol: 'usb',
        group: undefined
      },
      {
        name: 'sda1',
        type: 'part',
        fsType: 'ext4',
        mount: '/mnt/host',
        size: 72972500992,
        physical: '',
        uuid: '5bcd72c3-1606-4997-9ee3-6f1f088d13ed',
        label: '',
        model: '',
        serial: '',
        removable: false,
        protocol: '',
        group: undefined
      },
      {
        name: 'sda2',
        type: 'part',
        fsType: '',
        mount: '',
        size: 1024,
        physical: '',
        uuid: '',
        label: '',
        model: '',
        serial: '',
        removable: false,
        protocol: '',
        group: undefined
      },
      {
        name: 'sda5',
        type: 'part',
        fsType: 'swap',
        mount: '[SWAP]',
        size: 17052991488,
        physical: '',
        uuid: '51a5ff2c-2222-4c39-9188-87fc1b6d20ee',
        label: '',
        model: '',
        serial: '',
        removable: false,
        protocol: '',
        group: undefined
      },
      {
        name: 'sdf1',
        type: 'part',
        fsType: 'ext4',
        mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499',
        size: 61990748160,
        physical: '',
        uuid: '2422de0a-b36f-45dc-8999-edc746fb7499',
        label: 'kingston',
        model: '',
        serial: '',
        removable: true,
        protocol: '',
        group: undefined
      },
      {
        name: 'md1',
        type: 'raid0',
        fsType: 'ext4',
        mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f',
        size: 1023949144064,
        physical: '',
        uuid: 'c341fe26-6494-4e16-a530-4dc06e3c904f',
        label: '',
        model: '',
        serial: '',
        removable: false,
        protocol: '',
        group: undefined
      },
      {
        name: 'md0',
        type: 'raid1',
        fsType: 'ext4',
        mount: '/mnt/host/srv/dev-disk-by-label-Array',
        size: 4000652787712,
        physical: '',
        uuid: 'a144c5d0-11e0-4889-94ff-74748b02777d',
        label: 'Array',
        model: '',
        serial: '',
        removable: false,
        protocol: '',
        group: undefined
      }
    ]
    Done in 0.34s.
      ```
</details>

jubbens avatar Aug 21 '22 19:08 jubbens

Thank you for the issue and for providing all the necessary info. I will notify you when I find any errors.

MauriceNino avatar Aug 21 '22 22:08 MauriceNino

So I have finally found some time to fix some of the problems, but unfortunately I still couldn't fix everything.

  • The drives are now grouped in two separate raid volumes
  • The last single drive now shows correct values

But I still could not match the raids' sizes to the correct blocks.

To better understand what I mean, these two blocks are the raid blocks on your system:

{
  name: 'md1',
  type: 'raid0',
  fsType: 'ext4',
  mount:
    '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f',
  size: 1023949144064,
  physical: '',
  uuid: 'c341fe26-6494-4e16-a530-4dc06e3c904f',
  label: '',
  model: '',
  serial: '',
  removable: false,
  protocol: '',
  group: undefined,
},
{
  name: 'md0',
  type: 'raid1',
  fsType: 'ext4',
  mount: '/mnt/host/srv/dev-disk-by-label-Array',
  size: 4000652787712,
  physical: '',
  uuid: 'a144c5d0-11e0-4889-94ff-74748b02777d',
  label: 'Array',
  model: '',
  serial: '',
  removable: false,
  protocol: '',
  group: undefined,
},

And these are the relevant disks:

{
  name: 'sdb',
  type: 'disk',
  fsType: 'linux_raid_member',
  mount: '',
  size: 4000787030016,
  physical: 'HDD',
  uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
  label: 'Joe:mirrored',
  model: 'ST4000DM004-2CV1',
  serial: '',
  removable: false,
  protocol: 'sata',
  group: undefined,
},
{
  name: 'sdc',
  type: 'disk',
  fsType: 'linux_raid_member',
  mount: '',
  size: 4000787030016,
  physical: 'HDD',
  uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
  label: 'Joe:mirrored',
  model: 'ST4000DM004-2CV1',
  serial: '',
  removable: false,
  protocol: 'sata',
  group: undefined,
},
{
  name: 'sdd',
  type: 'disk',
  fsType: 'linux_raid_member',
  mount: '',
  size: 512110190592,
  physical: 'SSD',
  uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
  label: 'Joe:1',
  model: 'ADATA SU800     ',
  serial: '',
  removable: false,
  protocol: 'sata',
  group: undefined,
},
{
  name: 'sde',
  type: 'disk',
  fsType: 'linux_raid_member',
  mount: '',
  size: 512110190592,
  physical: 'SSD',
  uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
  label: 'Joe:1',
  model: 'ADATA SU800     ',
  serial: '',
  removable: false,
  protocol: 'sata',
  group: undefined,
},

But I don't know how I would find out which raid belongs to which disk.

@sebhildebrandt are you maybe aware of a way to match those? Or could this be added to systeminformation?

MauriceNino avatar Sep 16 '22 14:09 MauriceNino

Hello @jubbens - could you by any chance please post the output of the following commands?

mdadm --export --detail /dev/md0
mdadm --export --detail /dev/md1

MauriceNino avatar Nov 17 '22 16:11 MauriceNino

@MauriceNino absolutely:

:~# mdadm --export --detail /dev/md0
MD_LEVEL=raid1
MD_DEVICES=2
MD_METADATA=1.2
MD_UUID=70112d0e:8e459502:d1af2eaa:a608f693
MD_NAME=Joe:mirrored
MD_DEVICE_ev_sdc_ROLE=1
MD_DEVICE_ev_sdc_DEV=/dev/sdc
MD_DEVICE_ev_sdb_ROLE=0
MD_DEVICE_ev_sdb_DEV=/dev/sdb

:~# mdadm --export --detail /dev/md1
MD_LEVEL=raid0
MD_DEVICES=2
MD_METADATA=1.2
MD_UUID=ff12ce61:fdd1920f:fd016eb8:c668b47a
MD_NAME=Joe:1
MD_DEVICE_ev_sde_ROLE=1
MD_DEVICE_ev_sde_DEV=/dev/sde
MD_DEVICE_ev_sdd_ROLE=0
MD_DEVICE_ev_sdd_DEV=/dev/sdd

jubbens avatar Nov 17 '22 17:11 jubbens

Thanks a lot!

MauriceNino avatar Nov 17 '22 20:11 MauriceNino

Hello again @jubbens - can you please update to the newest dev image (mauricenino/dashdot:dev) and send me the output of the following command:

docker exec CONTAINER yarn cli raw-data --storage

With that, I should be able to fully fix your issues.

MauriceNino avatar Nov 20 '22 17:11 MauriceNino

Here you go!

Output
yarn run v1.22.19
$ node dist/apps/cli/main.js raw-data --storage
Disk Layout: [
  {
    device: '/dev/sda',
    type: 'SSD',
    name: 'OCZ-VERTEX3     ',
    vendor: 'ATA',
    size: 90028302336,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '2.22',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdb',
    type: 'HD',
    name: 'ST4000DM004-2CV1',
    vendor: 'Seagate',
    size: 4000787030016,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0001',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdc',
    type: 'HD',
    name: 'ST4000DM004-2CV1',
    vendor: 'Seagate',
    size: 4000787030016,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0001',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdd',
    type: 'SSD',
    name: 'ADATA SU800     ',
    vendor: 'ATA',
    size: 512110190592,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '1A',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sde',
    type: 'SSD',
    name: 'ADATA SU800     ',
    vendor: 'ATA',
    size: 512110190592,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '7ANR',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdf',
    type: 'HD',
    name: 'DataTraveler 3.0',
    vendor: 'Kingston',
    size: 61991813632,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0000',
    serialNum: '',
    interfaceType: 'USB',
    smartStatus: 'unknown',
    temperature: null
  }
]
FS Size: [
  {
    fs: 'overlay',
    type: 'overlay',
    size: 71289790464,
    used: 12283789312,
    available: 55340601344,
    use: 18.16,
    mount: '/'
  },
  {
    fs: '/dev/sda1',
    type: 'ext4',
    size: 71289790464,
    used: 12283789312,
    available: 55340601344,
    use: 18.16,
    mount: '/mnt/host'
  },
  {
    fs: '/dev/md1',
    type: 'ext4',
    size: 1006691278848,
    used: 4702208,
    available: 1006669799424,
    use: 0,
    mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f'
  },
  {
    fs: '/dev/sdf1',
    type: 'ext4',
    size: 60749164544,
    used: 3757428736,
    available: 56974958592,
    use: 6.19,
    mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499'
  },
  {
    fs: '/dev/md0',
    type: 'ext4',
    size: 3936780869632,
    used: 1591186407424,
    available: 2345577684992,
    use: 40.42,
    mount: '/mnt/host/srv/dev-disk-by-label-Array'
  }
]
Block Devices: [
  {
    name: 'sda',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 90028302336,
    physical: 'SSD',
    uuid: '',
    label: '',
    model: 'OCZ-VERTEX3     ',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: undefined
  },
  {
    name: 'sdb',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: undefined
  },
  {
    name: 'sdc',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: undefined
  },
  {
    name: 'sdd',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800     ',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: undefined
  },
  {
    name: 'sde',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800     ',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: undefined
  },
  {
    name: 'sdf',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 61991813632,
    physical: 'HDD',
    uuid: '',
    label: '',
    model: 'DataTraveler 3.0',
    serial: '',
    removable: true,
    protocol: 'usb',
    group: undefined
  },
  {
    name: 'sda1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host',
    size: 72972500992,
    physical: '',
    uuid: '5bcd72c3-1606-4997-9ee3-6f1f088d13ed',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: undefined
  },
  {
    name: 'sda2',
    type: 'part',
    fsType: '',
    mount: '',
    size: 1024,
    physical: '',
    uuid: '',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: undefined
  },
  {
    name: 'sda5',
    type: 'part',
    fsType: 'swap',
    mount: '[SWAP]',
    size: 17052991488,
    physical: '',
    uuid: '51a5ff2c-2222-4c39-9188-87fc1b6d20ee',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: undefined
  },
  {
    name: 'sdf1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499',
    size: 61990748160,
    physical: '',
    uuid: '2422de0a-b36f-45dc-8999-edc746fb7499',
    label: 'kingston',
    model: '',
    serial: '',
    removable: true,
    protocol: '',
    group: undefined
  },
  {
    name: 'md1',
    type: 'raid0',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f',
    size: 1023949144064,
    physical: '',
    uuid: 'c341fe26-6494-4e16-a530-4dc06e3c904f',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: undefined
  },
  {
    name: 'md0',
    type: 'raid1',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-label-Array',
    size: 4000652787712,
    physical: '',
    uuid: 'a144c5d0-11e0-4889-94ff-74748b02777d',
    label: 'Array',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: undefined
  }
]

jubbens avatar Nov 20 '22 18:11 jubbens

@jubbens I am so sorry, I forgot to add the tool to the container (mdadm), therefore the output doesnt contain the new fields. I have updated the image now - could you please pull and send that output again?

MauriceNino avatar Nov 21 '22 00:11 MauriceNino

@MauriceNino I pulled the container at the latest tag but I still get the same output as before.

jubbens avatar Nov 23 '22 03:11 jubbens

@MauriceNino @jubbens Just an idea: maybe we should try the output of the underlying package first directly on the machine ... so if you can pull the systeminformation package and run it locally:

mkdir sysinfo
cd sysinfo
npm install systeminformation

and then have the following code disk.js:

const si = require('systeminformation');

const diskInformation = async () => {
	const resDL = await si.diskLayout();
	const resFS = await si.fsSize();
	const resBD = await si.blockDevices();

	console.log('Disk Layout');
	console.log(resDL);
	console.log('\n\nfsSize');
	console.log(resFS);
	console.log('\n\nBlock Defices');
	console.log(resBD);
}

diskInformation();

And then run node disk.js. Can you please also add once again the output of

mdadm --export --detail /dev/md0
mdadm --export --detail /dev/md1

Then we should see if the underlying package would spit out the correct output. Would that make sense?

sebhildebrandt avatar Nov 23 '22 05:11 sebhildebrandt

@jubbens The latest tag is not up-to-date. You would need to pull the latest dev tag (so mauricenino/dashdot:dev). Did you do that, or did you mean latest dev? And if so, are you absolutely positive that the output is the same? Because only a single field would change.

@sebhildebrandt Yeah that makes a lot of sense, but it's not easily automatable and assumes that @jubbens has node/npm installed. Also, you tested the output of his host with your newest package, so I assumed it would work on the host. The question for me was if the container actually has the necessary info available also.

@jubbens maybe you can also run the following commands?

docker exec CONTAINER_NAME /bin/sh -c "mdadm --export --detail /dev/md0"
docker exec CONTAINER_NAME /bin/sh -c "mdadm --export --detail /dev/md1"

This would run the same set of commands that @sebhildebrandt posted, on your docker container.

MauriceNino avatar Nov 23 '22 08:11 MauriceNino

@MauriceNino I tried the dev branch, and I just get the new field "group: undefined" for every drive. The mdadm output is the same as before.

jubbens avatar Nov 24 '22 00:11 jubbens

@jubbens @MauriceNino thank you for your tests! One last thing: can you provide also the output of:

lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,TRAN,SERIAL,LABEL,MODEL,OWNER

Then I can mock my test to take your data as input and I would see why the group is undefined. Thank you in advance.

sebhildebrandt avatar Nov 24 '22 04:11 sebhildebrandt

@sebhildebrandt sure, here you go:

NAME="sda" TYPE="disk" SIZE="90028302336" FSTYPE="" MOUNTPOINT="" UUID="" ROTA="0" RO="0" RM="0" TRAN="sata" SERIAL="" LABEL="" MODEL="OCZ-VERTEX3     " OWNER="root"
NAME="sda1" TYPE="part" SIZE="72972500992" FSTYPE="ext4" MOUNTPOINT="/mnt/host" UUID="5bcd72c3-1606-4997-9ee3-6f1f088d13ed" ROTA="0" RO="0" RM="0" TRAN="" SERIAL="" LABEL="" MODEL="" OWNER="root"
NAME="sda2" TYPE="part" SIZE="1024" FSTYPE="" MOUNTPOINT="" UUID="" ROTA="0" RO="0" RM="0" TRAN="" SERIAL="" LABEL="" MODEL="" OWNER="root"
NAME="sda5" TYPE="part" SIZE="17052991488" FSTYPE="swap" MOUNTPOINT="[SWAP]" UUID="51a5ff2c-2222-4c39-9188-87fc1b6d20ee" ROTA="0" RO="0" RM="0" TRAN="" SERIAL="" LABEL="" MODEL="" OWNER="root"
NAME="sdb" TYPE="disk" SIZE="4000787030016" FSTYPE="linux_raid_member" MOUNTPOINT="" UUID="70112d0e-8e45-9502-d1af-2eaaa608f693" ROTA="1" RO="0" RM="0" TRAN="sata" SERIAL="" LABEL="Joe:mirrored" MODEL="ST4000DM004-2CV1" OWNER="root"
NAME="md0" TYPE="raid1" SIZE="4000652787712" FSTYPE="ext4" MOUNTPOINT="/mnt/host/srv/dev-disk-by-label-Array" UUID="a144c5d0-11e0-4889-94ff-74748b02777d" ROTA="1" RO="0" RM="0" TRAN="" SERIAL="" LABEL="Array" MODEL="" OWNER="root"
NAME="sdc" TYPE="disk" SIZE="4000787030016" FSTYPE="linux_raid_member" MOUNTPOINT="" UUID="70112d0e-8e45-9502-d1af-2eaaa608f693" ROTA="1" RO="0" RM="0" TRAN="sata" SERIAL="" LABEL="Joe:mirrored" MODEL="ST4000DM004-2CV1" OWNER="root"
NAME="md0" TYPE="raid1" SIZE="4000652787712" FSTYPE="ext4" MOUNTPOINT="/mnt/host/srv/dev-disk-by-label-Array" UUID="a144c5d0-11e0-4889-94ff-74748b02777d" ROTA="1" RO="0" RM="0" TRAN="" SERIAL="" LABEL="Array" MODEL="" OWNER="root"
NAME="sdd" TYPE="disk" SIZE="512110190592" FSTYPE="linux_raid_member" MOUNTPOINT="" UUID="ff12ce61-fdd1-920f-fd01-6eb8c668b47a" ROTA="0" RO="0" RM="0" TRAN="sata" SERIAL="" LABEL="Joe:1" MODEL="ADATA SU800     " OWNER="root"
NAME="md1" TYPE="raid0" SIZE="1023949144064" FSTYPE="ext4" MOUNTPOINT="/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f" UUID="c341fe26-6494-4e16-a530-4dc06e3c904f" ROTA="0" RO="0" RM="0" TRAN="" SERIAL="" LABEL="" MODEL="" OWNER="root"
NAME="sde" TYPE="disk" SIZE="512110190592" FSTYPE="linux_raid_member" MOUNTPOINT="" UUID="ff12ce61-fdd1-920f-fd01-6eb8c668b47a" ROTA="0" RO="0" RM="0" TRAN="sata" SERIAL="" LABEL="Joe:1" MODEL="ADATA SU800     " OWNER="root"
NAME="md1" TYPE="raid0" SIZE="1023949144064" FSTYPE="ext4" MOUNTPOINT="/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f" UUID="c341fe26-6494-4e16-a530-4dc06e3c904f" ROTA="0" RO="0" RM="0" TRAN="" SERIAL="" LABEL="" MODEL="" OWNER="root"
NAME="sdf" TYPE="disk" SIZE="61991813632" FSTYPE="" MOUNTPOINT="" UUID="" ROTA="1" RO="0" RM="1" TRAN="usb" SERIAL="" LABEL="" MODEL="DataTraveler 3.0" OWNER="root"
NAME="sdf1" TYPE="part" SIZE="61990748160" FSTYPE="ext4" MOUNTPOINT="/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499" UUID="2422de0a-b36f-45dc-8999-edc746fb7499" ROTA="1" RO="0" RM="1" TRAN="" SERIAL="" LABEL="kingston" MODEL="" OWNER="root"

jubbens avatar Nov 25 '22 00:11 jubbens

@jubbens Thank you ... will try to work with this!

sebhildebrandt avatar Nov 25 '22 00:11 sebhildebrandt

@jubbens @MauriceNino I now mocked my code with the data provided and I got proper results:

Output
[
  {
    name: 'sda',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 90028302336,
    physical: 'SSD',
    uuid: '',
    label: '',
    model: 'OCZ-VERTEX3',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sdb',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: 'md0'
  },
  {
    name: 'sdc',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: 'md0'
  },
  {
    name: 'sdd',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: 'md1'
  },
  {
    name: 'sde',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: 'md1'
  },
  {
    name: 'sdf',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 61991813632,
    physical: 'HDD',
    uuid: '',
    label: '',
    model: 'DataTraveler 3.0',
    serial: '',
    removable: true,
    protocol: 'usb',
    group: ''
  },
  {
    name: 'sda1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host',
    size: 72972500992,
    physical: '',
    uuid: '5bcd72c3-1606-4997-9ee3-6f1f088d13ed',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sda2',
    type: 'part',
    fsType: '',
    mount: '',
    size: 1024,
    physical: '',
    uuid: '',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sda5',
    type: 'part',
    fsType: 'swap',
    mount: '[SWAP]',
    size: 17052991488,
    physical: '',
    uuid: '51a5ff2c-2222-4c39-9188-87fc1b6d20ee',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sdf1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499',
    size: 61990748160,
    physical: '',
    uuid: '2422de0a-b36f-45dc-8999-edc746fb7499',
    label: 'kingston',
    model: '',
    serial: '',
    removable: true,
    protocol: '',
    group: ''
  },
  {
    name: 'md1',
    type: 'raid0',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f',
    size: 1023949144064,
    physical: '',
    uuid: 'c341fe26-6494-4e16-a530-4dc06e3c904f',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'md0',
    type: 'raid1',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-label-Array',
    size: 4000652787712,
    physical: '',
    uuid: 'a144c5d0-11e0-4889-94ff-74748b02777d',
    label: 'Array',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  }
]

As you can see on e.g. sdb, sdc, sdd and sde we see group is filled correctly. To check this natively without the dashdot image I suppose to test the systeminformation directly on the machine. You would need to have nodejs installed for that. Hope that helps.

Basically this is what you need to do:

mkdir sysinfo
cd sysinfo
npm install systeminformation

And then have the following code index.js:

const si = require('systeminformation');
si.blockDevices().then(data => console.log(data));

Then run

node index.js

sebhildebrandt avatar Nov 25 '22 16:11 sebhildebrandt

@jubbens Please run the following commands on your container running on the latest dev image (mauricenino/dashdot:dev) and post the output:

docker exec CONTAINER yarn cli info
docker exec CONTAINER /bin/sh -c "mdadm --export --detail /dev/md0"
docker exec CONTAINER yarn cli raw-data --storage

This way, we actually know what breaks the information gathering inside the container.

MauriceNino avatar Nov 25 '22 17:11 MauriceNino

@MauriceNino here you go:

yarn run v1.22.19
$ node dist/apps/cli/main.js info
INFO
=========
Yarn: 1.22.19
Node: v19.1.0
Dash: 0.0.0-dev

Cwd: /app
Hash: f3f863c3c525ddd524a69d3d78fcc424b06a61fc
In Docker: true
In Podman: false
In Docker (env): true
MD_LEVEL=raid1
MD_DEVICES=2
MD_METADATA=1.2
MD_UUID=70112d0e:8e459502:d1af2eaa:a608f693
MD_DEVNAME=Joe:mirrored
MD_NAME=Joe:mirrored
MD_DEVICE_dev_sdc_ROLE=1
MD_DEVICE_dev_sdc_DEV=/dev/sdc
MD_DEVICE_dev_sdb_ROLE=0
MD_DEVICE_dev_sdb_DEV=/dev/sdb
Storage info
Disk Layout: [
  {
    device: '/dev/sda',
    type: 'SSD',
    name: 'OCZ-VERTEX3     ',
    vendor: 'ATA',
    size: 90028302336,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '2.22',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdb',
    type: 'HD',
    name: 'ST4000DM004-2CV1',
    vendor: 'Seagate',
    size: 4000787030016,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0001',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdc',
    type: 'HD',
    name: 'ST4000DM004-2CV1',
    vendor: 'Seagate',
    size: 4000787030016,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0001',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdd',
    type: 'SSD',
    name: 'ADATA SU800     ',
    vendor: 'ATA',
    size: 512110190592,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '1A',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sde',
    type: 'SSD',
    name: 'ADATA SU800     ',
    vendor: 'ATA',
    size: 512110190592,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '7ANR',
    serialNum: '',
    interfaceType: 'SATA',
    smartStatus: 'unknown',
    temperature: null
  },
  {
    device: '/dev/sdf',
    type: 'HD',
    name: 'DataTraveler 3.0',
    vendor: 'Kingston',
    size: 61991813632,
    bytesPerSector: null,
    totalCylinders: null,
    totalHeads: null,
    totalSectors: null,
    totalTracks: null,
    tracksPerCylinder: null,
    sectorsPerTrack: null,
    firmwareRevision: '0000',
    serialNum: '',
    interfaceType: 'USB',
    smartStatus: 'unknown',
    temperature: null
  }
]
FS Size: [
  {
    fs: 'overlay',
    type: 'overlay',
    size: 71289790464,
    used: 12443779072,
    available: 55180611584,
    use: 18.4,
    mount: '/'
  },
  {
    fs: '/dev/sda1',
    type: 'ext4',
    size: 71289790464,
    used: 12443779072,
    available: 55180611584,
    use: 18.4,
    mount: '/mnt/host'
  },
  {
    fs: '/dev/md1',
    type: 'ext4',
    size: 1006691278848,
    used: 7987200,
    available: 1006666514432,
    use: 0,
    mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f'
  },
  {
    fs: '/dev/sdf1',
    type: 'ext4',
    size: 60749164544,
    used: 3757428736,
    available: 56974958592,
    use: 6.19,
    mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499'
  },
  {
    fs: '/dev/md0',
    type: 'ext4',
    size: 3936780869632,
    used: 1618029203456,
    available: 2318734888960,
    use: 41.1,
    mount: '/mnt/host/srv/dev-disk-by-label-Array'
  }
]
Block Devices: [
  {
    name: 'sda',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 90028302336,
    physical: 'SSD',
    uuid: '',
    label: '',
    model: 'OCZ-VERTEX3',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sdb',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sdc',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 4000787030016,
    physical: 'HDD',
    uuid: '70112d0e-8e45-9502-d1af-2eaaa608f693',
    label: 'Joe:mirrored',
    model: 'ST4000DM004-2CV1',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sdd',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sde',
    type: 'disk',
    fsType: 'linux_raid_member',
    mount: '',
    size: 512110190592,
    physical: 'SSD',
    uuid: 'ff12ce61-fdd1-920f-fd01-6eb8c668b47a',
    label: 'Joe:1',
    model: 'ADATA SU800',
    serial: '',
    removable: false,
    protocol: 'sata',
    group: ''
  },
  {
    name: 'sdf',
    type: 'disk',
    fsType: '',
    mount: '',
    size: 61991813632,
    physical: 'HDD',
    uuid: '',
    label: '',
    model: 'DataTraveler 3.0',
    serial: '',
    removable: true,
    protocol: 'usb',
    group: ''
  },
  {
    name: 'sda1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host',
    size: 72972500992,
    physical: '',
    uuid: '5bcd72c3-1606-4997-9ee3-6f1f088d13ed',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sda2',
    type: 'part',
    fsType: '',
    mount: '',
    size: 1024,
    physical: '',
    uuid: '',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sda5',
    type: 'part',
    fsType: 'swap',
    mount: '[SWAP]',
    size: 17052991488,
    physical: '',
    uuid: '51a5ff2c-2222-4c39-9188-87fc1b6d20ee',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'sdf1',
    type: 'part',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-2422de0a-b36f-45dc-8999-edc746fb7499',
    size: 61990748160,
    physical: '',
    uuid: '2422de0a-b36f-45dc-8999-edc746fb7499',
    label: 'kingston',
    model: '',
    serial: '',
    removable: true,
    protocol: '',
    group: ''
  },
  {
    name: 'md1',
    type: 'raid0',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-uuid-c341fe26-6494-4e16-a530-4dc06e3c904f',
    size: 1023949144064,
    physical: '',
    uuid: 'c341fe26-6494-4e16-a530-4dc06e3c904f',
    label: '',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  },
  {
    name: 'md0',
    type: 'raid1',
    fsType: 'ext4',
    mount: '/mnt/host/srv/dev-disk-by-label-Array',
    size: 4000652787712,
    physical: '',
    uuid: 'a144c5d0-11e0-4889-94ff-74748b02777d',
    label: 'Array',
    model: '',
    serial: '',
    removable: false,
    protocol: '',
    group: ''
  }
]

jubbens avatar Nov 26 '22 17:11 jubbens

Hm, that's really weird. The mdadm call returns some reasonable data, but there is no group set inside the container. @sebhildebrandt do you have any idea how that could happen?

MauriceNino avatar Nov 26 '22 18:11 MauriceNino

@MauriceNino @jubbens ... yes that is weird ... could be on my side. May I ask once again to run the code I proposed above.

More easier would maybe be (after installing nodejs - see here https://nodejs.org/en/download/package-manager/ to get installation hints):

mkdir sysinfo
cd sysinfo
git clone https://github.com/sebhildebrandt/systeminformation.git
npm run test

then just type on key e and grab the output Key q quits the test.

If we see still the same, I may ask to place some console.log(...) in the file lib/filesystem.js...

Thank you in advance

sebhildebrandt avatar Nov 26 '22 19:11 sebhildebrandt

@jubbens is this still relevant for you? Because we would need more info to get the desired result.

MauriceNino avatar Dec 31 '22 15:12 MauriceNino

@MauriceNino apologies, I was a little confused and then I forgot about this. Would you like me to run the procedure in this comment again? I'd rather not install extra things outside of the docker container.

jubbens avatar Jan 01 '23 18:01 jubbens

Hm okay, I think I will need to close this then though, because if @sebhildebrandt can't get the necessary information, we can't help you with this bug.

If you decide to change your mind, please look into the latest comment from @sebhildebrandt.

MauriceNino avatar Jan 01 '23 22:01 MauriceNino

:tada: This issue has been resolved in version 5.0.0

Please check the changelog for more details.

MauriceNino avatar Mar 08 '23 19:03 MauriceNino