Hi, all, next question, sorry. I just created a fresh 10.1 installation with ZFS. With the last reboot after adding dedicated SSD based l2arc and zil, the underlying devices are referred to by "diskid" instead of the GPT labels I have first been using: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 gpt/disk0 ONLINE 0 0 0 gpt/disk1 ONLINE 0 0 0 logs diskid/DISK-BTTV334403R7200GGNp2 ONLINE 0 0 0 cache diskid/DISK-BTTV334403R7200GGNp1 ONLINE 0 0 0 I can live with that, but I do not understand why the ada2 device changed from gpt/* to diskid/* while the others did not? /dev/gpt entries are not even present for ada2, neither are ada2p? At least the system could try to be consistent ;-) Thanks Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 info at punkt.de http://www.punkt.de Gf: J?rgen Egeling AG Mannheim 108285
Now it's getting decidedly weird:> Am 19.11.2014 um 16:40 schrieb Patrick M. Hausen <hausen at punkt.de>: > > Hi, all, > > next question, sorry. I just created a fresh 10.1 installation > with ZFS. With the last reboot after adding dedicated SSD > based l2arc and zil, the underlying devices are referred to > by "diskid" instead of the GPT labels I have first been using: > > NAME STATE READ WRITE CKSUM > zroot ONLINE 0 0 0 > mirror-0 ONLINE 0 0 0 > gpt/disk0 ONLINE 0 0 0 > gpt/disk1 ONLINE 0 0 0 > logs > diskid/DISK-BTTV334403R7200GGNp2 ONLINE 0 0 0 > cache > diskid/DISK-BTTV334403R7200GGNp1 ONLINE 0 0 0 > > I can live with that, but I do not understand why the ada2 device > changed from gpt/* to diskid/* while the others did not? > > /dev/gpt entries are not even present for ada2, neither are ada2p? > > At least the system could try to be consistent ;-)gnop create -S 4096 /dev/diskid/DISK-BTTV334403R7200GGNp3 zpool create ssd /dev/diskid/DISK-BTTV334403R7200GGNp3.nop zpool export ssd gnop destroy /dev/diskid/DISK-BTTV334403R7200GGNp3.nop zpool import ssd zpool status pool: ssd state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM ssd ONLINE 0 0 0 gpt/ssd ONLINE 0 0 0 errors: No known data errors WTF? Now it's referring to ada2p3 as gpt/ssd again. Of course the first 2 partitions are still diskid/DISK-BTTV334403R7200GGNp1 and p2, since I have not changed anything about the "zroot" pool. OK, reboot ... zpool status ... NAME STATE READ WRITE CKSUM ssd ONLINE 0 0 0 diskid/DISK-BTTV334403R7200GGNp3 ONLINE 0 0 0 Now all 3 partitions on the SSD are addressed by diskid. The two mirror vdevs by GPT label, and, needless to say, the two components of my swap gmirror by legacy devices: root at seleniumhub:~ # gmirror status Name Status Components mirror/swap COMPLETE ada0p2 (ACTIVE) ada1p2 (ACTIVE) Although I created the mirror using /dev/gpt/swap0 and swap1, of course ;-) Please do not consider this a major complaint. As long as everything works, I'm perfectly happy. But I'd like to understand what is going on here. All the recent Ubuntu installs I run refer to disks exclusively by UUID and here we have three different kinds of devices in a single install. That *might* scare away someone some time ... Kind regards Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 info at punkt.de http://www.punkt.de Gf: J?rgen Egeling AG Mannheim 108285
On Wed, Nov 19, 2014 at 8:40 AM, Patrick M. Hausen <hausen at punkt.de> wrote:> Hi, all, > > next question, sorry. I just created a fresh 10.1 installation > with ZFS. With the last reboot after adding dedicated SSD > based l2arc and zil, the underlying devices are referred to > by "diskid" instead of the GPT labels I have first been using: > > NAME STATE READ WRITE CKSUM > zroot ONLINE 0 0 0 > mirror-0 ONLINE 0 0 0 > gpt/disk0 ONLINE 0 0 0 > gpt/disk1 ONLINE 0 0 0 > logs > diskid/DISK-BTTV334403R7200GGNp2 ONLINE 0 0 0 > cache > diskid/DISK-BTTV334403R7200GGNp1 ONLINE 0 0 0 > > I can live with that, but I do not understand why the ada2 device > changed from gpt/* to diskid/* while the others did not? > > /dev/gpt entries are not even present for ada2, neither are ada2p? > > At least the system could try to be consistent ;-)When ZFS imports a pool, it tries to open each vdev by name. If it can't find the vdev's name, or if that devname now refers to some other provider, then ZFS searches through every geom provider to find the ones with the right label. Sometimes it finds /dev/da* first, sometimes it finds /dev/gpt/* first, and sometimes it finds /dev/diskid/* first. That's why it seems inconsistent. If you want to force some consistency, you can set these tunables in /boot/loader.conf.local. That way ZFS will only be able to use the /dev/da* and /dev/ada* devnames. kern.geom.label.disk_ident.enable=0 kern.geom.label.gptid.enable=0 Or, if you specify the /dev/diskid/* or /dev/gpt/* devnames in the zpool create command, then those devnames should get written to the label, and ZFS will always use them when it imports a pool. At least, I think that it will. I haven't tested it myself. -Alan