[Bug 2052846] [NEW] Addressing disk via values in /dev/disk/by-id fails.
Peter Mattingly
2052846 at bugs.launchpad.net
Fri Feb 9 22:43:16 UTC 2024
Public bug reported:
Hello,
Quoting the documentation [1]:
```
serial: <serial number>
In order to uniquely identify a disk on the system its serial number
should be specified. This ensures that even if additional storage
devices are added to the system during installation, or udev rules cause
the path to a disk to change curtin will still be able to correctly
identify the disk it should be operating on using /dev/disk/by-id.
This is the preferred way to identify a disk and should be used in all production environments as it is less likely to point to an incorrect device.
```
However, this approach did not work correctly when attempting to use
either serial or path information from `/dev/disk/by-id`. What did work
was addressing the disk through its device designation (i.e., /dev/sda).
Then also, a serial number that did work appeared to be a part of the
SCSI identification information. For example, if the SCSI identification
information is:
`scsi-nnn`
Then a working "serial number" that could identify the disk in curtin
would be: `nnn`. In addition, `wwn` identification numbers also did not
work correctly to uniquely identify the disk. The full disk option:
```
- {ptable: gpt, wipe: superblock-recursive, preserve: false, grub_device: false, layout: false, PATH OR SERIAL, type: disk, id: disk-vgdata}
```
Curtin version being used is 22.1.
Relevant cloud configuration:
```
#cloud-config
# this creates a bios partition, /boot partition, and root(/) lvm volume
storage:
config:
- {ptable: gpt, wipe: superblock-recursive, preserve: false, grub_device: true, wwn: <Redacted>, type: disk, id: disk-sda}
- {type: partition, wipe: superblock-recursive, preserve: false, number: 1, device: disk-sda, flag: bios_grub, size: 1M, id: bios-grub}
- {type: partition, wipe: superblock, preserve: false, number: 2, device: disk-sda, flag: boot, size: 1G, id: sda-boot}
- {type: partition, wipe: superblock, preserve: false, number: 3, device: disk-sda, size: -1 , id: sda-lvm}
- {type: lvm_volgroup, name: vgsys, devices: [sda-lvm], id: vgsys}
- {type: lvm_partition, volgroup: vgsys, id: lvroot, name: lvroot, size: 10G}
- {type: lvm_partition, volgroup: vgsys, id: lvswap, name: lvswap, size: 1G}
- {type: lvm_partition, volgroup: vgsys, id: lvhome, name: lvhome, size: 1G}
- {type: lvm_partition, volgroup: vgsys, id: lvtmp, name: lvtmp, size: 4G}
- {type: lvm_partition, volgroup: vgsys, id: lvopt, name: lvopt, size: 10G}
- {type: lvm_partition, volgroup: vgsys, id: lvvar, name: lvvar, size: 10G}
- {type: format, fstype: ext4, volume: sda-boot, id: sda-boot-fs}
- {type: format, fstype: ext4, volume: lvroot, id: lv-root-fs}
- {type: format, fstype: swap, volume: lvswap, id: lv-swap-fs}
- {type: format, fstype: ext4, volume: lvhome, id: lv-home-fs}
- {type: format, fstype: ext4, volume: lvtmp, id: lv-tmp-fs}
- {type: format, fstype: ext4, volume: lvopt, id: lv-opt-fs}
- {type: format, fstype: ext4, volume: lvvar, id: lv-var-fs}
- {type: mount, path: /boot, id: m-boot, device: sda-boot-fs}
- {type: mount, path: /, id: m-root, device: lv-root-fs}
- {type: mount, path: '', id: m-swap, device: lv-swap-fs}
- {type: mount, path: /home, id: m-home, device: lv-home-fs}
- {type: mount, path: /tmp, id: m-tmp, device: lv-tmp-fs}
- {type: mount, path: /opt, id: m-opt, device: lv-opt-fs}
- {type: mount, path: /var, id: m-var, device: lv-var-fs}
```
Installation was done using the pxe-booted live server ISO for Ubuntu
22.04.3.
[1] https://curtin.readthedocs.io/en/latest/topics/storage.html#disk-
command
** Affects: curtin
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to curtin.
https://bugs.launchpad.net/bugs/2052846
Title:
Addressing disk via values in /dev/disk/by-id fails.
Status in curtin:
New
Bug description:
Hello,
Quoting the documentation [1]:
```
serial: <serial number>
In order to uniquely identify a disk on the system its serial number
should be specified. This ensures that even if additional storage
devices are added to the system during installation, or udev rules
cause the path to a disk to change curtin will still be able to
correctly identify the disk it should be operating on using
/dev/disk/by-id.
This is the preferred way to identify a disk and should be used in all production environments as it is less likely to point to an incorrect device.
```
However, this approach did not work correctly when attempting to use
either serial or path information from `/dev/disk/by-id`. What did
work was addressing the disk through its device designation (i.e.,
/dev/sda). Then also, a serial number that did work appeared to be a
part of the SCSI identification information. For example, if the SCSI
identification information is:
`scsi-nnn`
Then a working "serial number" that could identify the disk in curtin
would be: `nnn`. In addition, `wwn` identification numbers also did
not work correctly to uniquely identify the disk. The full disk
option:
```
- {ptable: gpt, wipe: superblock-recursive, preserve: false, grub_device: false, layout: false, PATH OR SERIAL, type: disk, id: disk-vgdata}
```
Curtin version being used is 22.1.
Relevant cloud configuration:
```
#cloud-config
# this creates a bios partition, /boot partition, and root(/) lvm volume
storage:
config:
- {ptable: gpt, wipe: superblock-recursive, preserve: false, grub_device: true, wwn: <Redacted>, type: disk, id: disk-sda}
- {type: partition, wipe: superblock-recursive, preserve: false, number: 1, device: disk-sda, flag: bios_grub, size: 1M, id: bios-grub}
- {type: partition, wipe: superblock, preserve: false, number: 2, device: disk-sda, flag: boot, size: 1G, id: sda-boot}
- {type: partition, wipe: superblock, preserve: false, number: 3, device: disk-sda, size: -1 , id: sda-lvm}
- {type: lvm_volgroup, name: vgsys, devices: [sda-lvm], id: vgsys}
- {type: lvm_partition, volgroup: vgsys, id: lvroot, name: lvroot, size: 10G}
- {type: lvm_partition, volgroup: vgsys, id: lvswap, name: lvswap, size: 1G}
- {type: lvm_partition, volgroup: vgsys, id: lvhome, name: lvhome, size: 1G}
- {type: lvm_partition, volgroup: vgsys, id: lvtmp, name: lvtmp, size: 4G}
- {type: lvm_partition, volgroup: vgsys, id: lvopt, name: lvopt, size: 10G}
- {type: lvm_partition, volgroup: vgsys, id: lvvar, name: lvvar, size: 10G}
- {type: format, fstype: ext4, volume: sda-boot, id: sda-boot-fs}
- {type: format, fstype: ext4, volume: lvroot, id: lv-root-fs}
- {type: format, fstype: swap, volume: lvswap, id: lv-swap-fs}
- {type: format, fstype: ext4, volume: lvhome, id: lv-home-fs}
- {type: format, fstype: ext4, volume: lvtmp, id: lv-tmp-fs}
- {type: format, fstype: ext4, volume: lvopt, id: lv-opt-fs}
- {type: format, fstype: ext4, volume: lvvar, id: lv-var-fs}
- {type: mount, path: /boot, id: m-boot, device: sda-boot-fs}
- {type: mount, path: /, id: m-root, device: lv-root-fs}
- {type: mount, path: '', id: m-swap, device: lv-swap-fs}
- {type: mount, path: /home, id: m-home, device: lv-home-fs}
- {type: mount, path: /tmp, id: m-tmp, device: lv-tmp-fs}
- {type: mount, path: /opt, id: m-opt, device: lv-opt-fs}
- {type: mount, path: /var, id: m-var, device: lv-var-fs}
```
Installation was done using the pxe-booted live server ISO for Ubuntu
22.04.3.
[1] https://curtin.readthedocs.io/en/latest/topics/storage.html#disk-
command
To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/2052846/+subscriptions
More information about the foundations-bugs
mailing list