2020-03-11 13:54:46 |
Kevin Menard |
bug |
|
|
added bug |
2020-03-11 13:55:20 |
Kevin Menard |
description |
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grup`. Instead of botoing, I'm thrown into the grub command line. |
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grub`. Instead of botoing, I'm thrown into the grub command line. |
|
2020-03-11 15:15:33 |
Kevin Menard |
tags |
|
zfs |
|
2020-03-27 14:34:21 |
Jean-Baptiste Lallement |
affects |
grub2 (Ubuntu) |
zfs-linux (Ubuntu) |
|
2020-03-27 14:34:21 |
Jean-Baptiste Lallement |
zfs-linux (Ubuntu): importance |
Undecided |
Medium |
|
2020-03-27 14:34:21 |
Jean-Baptiste Lallement |
zfs-linux (Ubuntu): status |
New |
Triaged |
|
2020-03-27 14:35:05 |
Jean-Baptiste Lallement |
summary |
ZFS won't boot if multiple rpools found |
zfs-initramfs fails with multiple rpool on separate disks |
|
2020-03-27 14:43:43 |
Jean-Baptiste Lallement |
description |
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grub`. Instead of botoing, I'm thrown into the grub command line. |
== Test Case ==
1. On a multi disks setup, install Ubuntu with ZFS on disk 1
2. Reboot and make sure everything works as expected
3. Do a second installation and install Ubuntu with ZFS on disk 2
4. Reboot
* Expected Result *
GRUB should display all the machines available and let the user select which installation to boot
* Actual result *
- Only one machine is listed
- initramfs crashes because there are several pool with the same name but different IDs and import the pools by name
- Same problem in the systemd generator which will try to import all the rpools.
== Original Description ==
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grub`. Instead of botoing, I'm thrown into the grub command line. |
|
2020-03-27 14:43:54 |
Jean-Baptiste Lallement |
bug task added |
|
grub2 (Ubuntu) |
|
2020-03-27 14:44:22 |
Jean-Baptiste Lallement |
grub2 (Ubuntu): status |
New |
Triaged |
|
2020-03-27 14:44:27 |
Jean-Baptiste Lallement |
grub2 (Ubuntu): importance |
Undecided |
Medium |
|
2020-03-27 14:46:36 |
Jean-Baptiste Lallement |
bug |
|
|
added subscriber Jean-Baptiste Lallement |
2020-03-27 15:34:08 |
Kevin Menard |
description |
== Test Case ==
1. On a multi disks setup, install Ubuntu with ZFS on disk 1
2. Reboot and make sure everything works as expected
3. Do a second installation and install Ubuntu with ZFS on disk 2
4. Reboot
* Expected Result *
GRUB should display all the machines available and let the user select which installation to boot
* Actual result *
- Only one machine is listed
- initramfs crashes because there are several pool with the same name but different IDs and import the pools by name
- Same problem in the systemd generator which will try to import all the rpools.
== Original Description ==
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grub`. Instead of botoing, I'm thrown into the grub command line. |
== Test Case ==
1. On a multi disks setup, install Ubuntu with ZFS on disk 1
2. Reboot and make sure everything works as expected
3. Do a second installation and install Ubuntu with ZFS on disk 2
4. Reboot
* Expected Result *
GRUB should display all the machines available and let the user select which installation to boot
* Actual result *
- Only one machine is listed
- initramfs crashes because there are several pool with the same name but different IDs and import the pools by name
- Same problem in the systemd generator which will try to import all the rpools.
== Original Description ==
I had an Ubuntu old installation that used a ZFS root, using the layout described in the ZFS on Linux docs. Consequently, the pool name for my Ubuntu installation was "rpool". I'm currently encountering an issue with that pool that only allows me to mount it read-only. So, I'd like to replicate the datasets from there to a new device.
On the new device, I've set up a ZFS system using the Ubuntu 20.04 daily installer (March 9, 2020). This setup creates a new pool named "rpool". So, with both devices inserted, I have two distinct pools each named "rpool", one of which will kernel panic if I try to mount it read-write.
ZFS is fine with having multiple pools with the same name. In these cases, you use `zfs import` with the pool's GUID and give it a distinct pool name on import. However, the grub config for booting from ZFS doesn't appear to handle multiple pools with the same rpool name very well. Rather than using the pool's GUID, it uses the name, and as such, it's unable to boot properly when another pool with the name "rpool" is attached to the system.
I think it'd be better if the config were written in such a way that `update-grub` generated boot config bound to whatever pool it found at the time of its invocation, and not start searching through all pools dynamically upon boot. Just to be clear, I have an Ubuntu 20.04 system with a ZFS root that boots just fine. But, the moment I attach the old pool, also named "rpool", I'm no longer able to boot up my system even though I haven't removed the good pool and I haven't re-run `update-grub`. Instead of booting, I'm thrown into the grub command line. |
|
2020-03-31 06:55:48 |
Didier Roche-Tolomelli |
bug task added |
|
systemd (Ubuntu) |
|
2020-03-31 09:32:01 |
Launchpad Janitor |
zfs-linux (Ubuntu): status |
Triaged |
Fix Released |
|
2020-03-31 09:54:16 |
Balint Reczey |
systemd (Ubuntu): status |
New |
Incomplete |
|
2020-03-31 10:09:34 |
Didier Roche-Tolomelli |
systemd (Ubuntu): status |
Incomplete |
Confirmed |
|
2020-03-31 10:09:40 |
Didier Roche-Tolomelli |
systemd (Ubuntu): status |
Confirmed |
Triaged |
|
2020-03-31 13:14:06 |
Balint Reczey |
systemd (Ubuntu): importance |
Undecided |
Medium |
|
2020-06-03 22:51:07 |
Brian Murray |
tags |
zfs |
rls-ff-incoming zfs |
|
2020-06-18 15:40:30 |
Dimitri John Ledkov |
bug |
|
|
added subscriber Ubuntu Desktop |
2020-06-18 15:41:29 |
Steve Langasek |
grub2 (Ubuntu): assignee |
|
Didier Roche (didrocks) |
|
2020-06-18 17:20:36 |
Didier Roche-Tolomelli |
systemd (Ubuntu): importance |
Medium |
Low |
|
2020-06-18 17:20:38 |
Didier Roche-Tolomelli |
grub2 (Ubuntu): importance |
Medium |
Low |
|
2020-06-25 15:30:33 |
Brian Murray |
tags |
rls-ff-incoming zfs |
rls-ff-notfixing zfs |
|
2021-06-30 22:31:48 |
Dan Streetman |
systemd (Ubuntu): status |
Triaged |
Invalid |
|
2022-06-01 15:43:48 |
Didier Roche-Tolomelli |
grub2 (Ubuntu): assignee |
Didier Roche (didrocks) |
|
|