Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Jan 2012 16:56:46 -0500
From:      Boris Kochergin <spawk@acm.poly.edu>
To:        Martin Birgmeier <Martin.Birgmeier@aon.at>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: Upgrade to 9.0: How to convert zpool from adX to adaX?
Message-ID:  <4F076E1E.4040908@acm.poly.edu>
In-Reply-To: <4F058075.1020108@aon.at>
References:  <4F04749E.9020301@aon.at> <20120104172351.GA42855@icarus.home.lan> <4F05586B.9060109@aon.at> <4F056EEB.3050902@gmail.com> <4F058075.1020108@aon.at>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/05/12 05:50, Martin Birgmeier wrote:
> On 01/05/12 10:35, Volodymyr Kostyrko wrote:
>> 05.01.2012 09:59, Martin Birgmeier wrote:
>>> In 9.0, if I keep kern.cam.ada.legacy_aliases=1, there will be two 
>>> paths
>>> to each device, one through adX, the other through adaX. Which one will
>>> zfs use, and show with 'zpool status'?
>>
>> You are partially incorrect here:
>> [torn] ~> ls -la /dev | grep ad
>> lrwxr-xr-x   1 root  wheel            4  5 jan 08:22 ad6@ -> ada0
>> lrwxr-xr-x   1 root  wheel            5  5 jan 08:22 ad6a@ -> ada0a
>> lrwxr-xr-x   1 root  wheel            5  5 jan 08:22 ad6b@ -> ada0b
>> lrwxr-xr-x   1 root  wheel            5  5 jan 08:22 ad6d@ -> ada0d
>> lrwxr-xr-x   1 root  wheel            5  5 jan 08:22 ad6e@ -> ada0e
>> lrwxr-xr-x   1 root  wheel            5  5 jan 08:22 ad6f@ -> ada0f
>> lrwxr-xr-x   1 root  wheel           13  5 jan 08:22 ad6f.journal@ -> 
>> ada0f.journal
>> crw-r-----   1 root  operator    0,  64  5 jan 08:22 ada0
>> crw-r-----   1 root  operator    0,  66  5 jan 08:23 ada0a
>> crw-r-----   1 root  operator    0,  68  5 jan 08:22 ada0b
>> crw-r-----   1 root  operator    0,  70  5 jan 08:23 ada0d
>> crw-r-----   1 root  operator    0,  72  5 jan 08:23 ada0e
>> crw-r-----   1 root  operator    0,  74  5 jan 08:22 ada0f
>> crw-r-----   1 root  operator    0,  79  5 jan 08:23 ada0f.journal
>>
>>> Also, I understand that I will have to wire down the various ATA 
>>> CAMs to
>>> obtain the old numbering. How can I do this? Again, which path would 
>>> zfs
>>> use if I did not wire down the ATA CAMs? Will I have half of my devices
>>> go through adX and the other through adaX, or will zfs even believe 
>>> that
>>> it has a multipath connectivity to each device?
>>
>> Not at all, ad6 would be a symlink to correct ada device, I haven't 
>> yet changed the fstab on this machine and it reads:
>>
>> # Device                Mountpoint      FStype  Options         Dump 
>> Pass#
>> /dev/ad6b               none            swap    sw              
>> 0       0
>> /dev/ad6a               /               ufs     rw              
>> 1       1
>> /dev/ad6e               /tmp            ufs     rw              
>> 2       2
>> /dev/ad6f.journal               /usr            ufs     rw,async 
>>         2       2
>> /dev/ad6d               /var            ufs     rw              
>> 2       2
>> /dev/cd0                /cdrom          cd9660  ro,noauto       
>> 0       0
>>
> Sigh... I get only half the answers, and these are not so helpful either.
>
> First of all, I *am* correct in saying that there are two paths to the 
> same device, because the purpose of a (sym-)link precisely is to have 
> an alternate path to the same object in the filesystem. So if someone 
> tells me that zfs somehow (how?) excludes devices reached through 
> symlinks, *that* would be an information I would find useful.
>
> Second, the whole purpose of the kern.cam.ada.legacy_aliases is to 
> have backwards compatibility for fstab etc by installing symlinks in 
> /dev. I know this very well but want to prepare for the day when I 
> want to get rid of the necessity for this compatibility.
>
> Third, I have now asked twice how to wire the ATA CAM devices, without 
> anybody even referring to that question. Well, I guess I'll have to 
> find that out myself.
>
> I do appreciate all answers, even more so as I perfectly understand 
> they are *free* answers, and maybe the above is even helpful to 
> someone else (and does not confuse them instead), but I'd appreciate 
> it even more if they were real answers.
>
> Regards,
>
> Martin
>
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
I've recently had to move a raidz2 pool from a /dev/ad* system to a 
/dev/ada* system. I, too, desired the disk numbers in the output of 
"zpool status" to stay the same. I'll assume that the problem is similar 
enough.

First, I exported the pool on the /dev/ad* system with "zpool export". 
Then, I connected the disks, in random order, to the /dev/ada* system 
and ran "zpool import". "zpool import" does not consult the 
/boot/zfs/zpool.cache file, which is what has the preconceived notions 
of what pools contain what disks. The output of "zpool import" was my 
old pool, with all its disks, now in /dev/ada* form, albeit in random 
order. I then swapped disks between controllers until I got the order 
desired, and imported the pool.

-Boris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F076E1E.4040908>