Ubuntu系统重启后因/dev/sd*设备名重排导致ZFS存储池丢失的问题求助
Ubuntu系统重启后因/dev/sd*设备名重排导致ZFS存储池丢失的问题求助
大家好,我在Ubuntu系统上碰到了一个ZFS存储池的棘手问题,折腾半天没找到解决办法,特意来求助各位大佬。
事情的经过是这样的:
我一开始用下面的命令创建了一个raidz2类型的ZFS存储池:
$ sudo zpool create -f data raidz2 sda sdb sdc sdd
创建完成后,用zpool status查看状态,显示存储池完全正常在线,具体输出如下:
$ sudo zpool status pool: data state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM data ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 sda ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 errors: No known data errors
此时我用lsblk查看磁盘设备状态,输出如下:
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 55M 1 loop /snap/core18/1880 loop1 7:1 0 71.3M 1 loop /snap/lxd/16099 loop2 7:2 0 29.9M 1 loop /snap/snapd/8542 sda 8:0 0 2.7T 0 disk ├─sda1 8:1 0 2.7T 0 part └─sda9 8:9 0 8M 0 part sdb 8:16 0 2.7T 0 disk ├─sdb1 8:17 0 2.7T 0 part └─sdb9 8:25 0 8M 0 part sdc 8:32 0 2.7T 0 disk ├─sdc1 8:33 0 2.7T 0 part └─sdc9 8:41 0 8M 0 part sdd 8:48 0 2.7T 0 disk ├─sdd1 8:49 0 2.7T 0 part └─sdd9 8:57 0 8M 0 part sde 8:64 1 961M 0 disk ├─sde1 8:65 1 914M 0 part └─sde2 8:66 1 3.9M 0 part sdf 8:80 0 111.8G 0 disk ├─sdf1 8:81 0 512M 0 part /boot/efi └─sdf2 8:82 0 111.3G 0 part └─md0 9:0 0 111.2G 0 raid1 └─md0p1 259:3 0 111.2G 0 part / nvme0n1 259:0 0 111.8G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part └─nvme0n1p2 259:2 0 111.3G 0 part └─md0 9:0 0 111.2G 0 raid1 └─md0p1 259:3 0 111.2G 0 part /
但重启系统后,问题突然出现了:/dev/sd*的设备名完全重排了——原本的系统盘sdf变成了sda,之前用来搭建ZFS的sda/sdb/sdc/sdd则变成了sdc/sdd/sde/sdf。这时我再运行zpool status,结果直接显示没有可用的存储池:
$ zpool status no pools available
重启后的lsblk输出如下:
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 55M 1 loop /snap/core18/1880 loop1 7:1 0 71.3M 1 loop /snap/lxd/16099 loop2 7:2 0 29.9M 1 loop /snap/snapd/8542 sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 111.3G 0 part └─md0 9:0 0 111.2G 0 raid1 └─md0p1 259:3 0 111.2G 0 part / sdb 8:16 1 961M 0 disk ├─sdb1 8:17 1 914M 0 part └─sdb2 8:18 1 3.9M 0 part sdc 8:32 0 2.7T 0 disk ├─sdc1 8:33 0 2.7T 0 part └─sdc9 8:41 0 8M 0 part sdd 8:48 0 2.7T 0 disk ├─sdd1 8:49 0 2.7T 0 part └─sdd9 8:57 0 8M 0 part sde 8:64 0 2.7T 0 disk ├─sde1 8:65 0 2.7T 0 part └─sde9 8:73 0 8M 0 part sdf 8:80 0 2.7T 0 disk ├─sdf1 8:81 0 2.7T 0 part └─sdf9 8:89 0 8M 0 part nvme0n1 259:0 0 111.8G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part └─nvme0n1p2 259:2 0 111.3G 0 part └─md0 9:0 0 111.2G 0 raid1 └─md0p1 259:3 0 111.2G 0 part /
现在我想请教两个问题:
- 怎么才能恢复这个丢失的ZFS存储池?
- 以后再创建ZFS存储池时,怎么避免因为设备名重排导致的这种问题?
麻烦各位大佬帮忙指点一下,非常感谢!
备注:内容来源于stack exchange,提问作者monkincloud




