Upgrade to 9.0: How to convert zpool from adX to adaX?
Jeremy Chadwick
freebsd at jdc.parodius.com
Wed Jan 4 17:23:53 UTC 2012
On Wed, Jan 04, 2012 at 04:47:42PM +0100, Martin Birgmeier wrote:
> I'll be upgrading a server from 8.2 to 9.0 soon. On it, I currently
> have the following zpool:
>
> ----------
> [0]# zpool status
> pool: hal.1
> state: ONLINE
> status: The pool is formatted using an older on-disk format. The pool can
> still be used, but some features are unavailable.
> action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
> pool will no longer be accessible on older software versions.
> scrub: none requested
> config:
>
> NAME STATE READ WRITE CKSUM
> hal.1 ONLINE 0 0 0
> raidz2 ONLINE 0 0 0
> ad10p3 ONLINE 0 0 0
> ad12p3 ONLINE 0 0 0
> ad14p3 ONLINE 0 0 0
> ad16p3 ONLINE 0 0 0
> ad18p3 ONLINE 0 0 0
> ad20p3 ONLINE 0 0 0
>
> errors: No known data errors
> [0]#
> ----------
>
> I would like to do two things:
>
> 1) Wire the ATA CAM disks such that ad10 -> ada0, ad12 -> ada1, etc.
>
> 2) Change the zpool to use the then newly available ada0p3, ada1p3,
> ..., ada5p3 gparts.
>
> Ultimately, I want to set sysctl kern.cam.ada.legacy_aliases=0.
>
> Please advise on how best to achieve this.
>
> Regards,
>
> Martin
>
> p.s. The following information relates to the current ata attachments:
>
> ----------
> [0]# egrep 'ad[0-9]|ata[0-9]|atapci[0-9]' /var/run/dmesg.boot
> atapci0: <JMicron JMB361 UDMA133 controller> port
> 0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc807,0xc480-0xc483,0xc400-0xc40f
> mem 0xfe8fe000-0xfe8fffff irq 18 at device 0.0 on pci3
> atapci0: [ITHREAD]
> atapci1: <AHCI SATA controller> on atapci0
> atapci1: [ITHREAD]
> atapci1: AHCI v1.00 controller with 2 3Gbps ports, PM supported
> ata2: <ATA channel 0> on atapci1
> ata2: [ITHREAD]
> ata3: <ATA channel 1> on atapci1
> ata3: [ITHREAD]
> ata4: <ATA channel 0> on atapci0
> ata4: [ITHREAD]
> atapci2: <ATI IXP700/800 SATA300 controller> port
> 0xa000-0xa007,0x9000-0x9003,0x8000-0x8007,0x7000-0x7003,0x6000-0x600f
> mem 0xfe4ffc00-0xfe4fffff irq 19 at device 17.0 on pci0
> atapci2: [ITHREAD]
> atapci2: AHCI v1.20 controller with 6 3Gbps ports, PM supported
> ata5: <ATA channel 0> on atapci2
> ata5: [ITHREAD]
> ata6: <ATA channel 1> on atapci2
> ata6: [ITHREAD]
> ata7: <ATA channel 2> on atapci2
> ata7: [ITHREAD]
> ata8: <ATA channel 3> on atapci2
> ata8: [ITHREAD]
> ata9: <ATA channel 4> on atapci2
> ata9: [ITHREAD]
> ata10: <ATA channel 5> on atapci2
> ata10: [ITHREAD]
> ad10: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata5-master
> UDMA100 SATA 3Gb/s
> ad12: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata6-master
> UDMA100 SATA 3Gb/s
> ad14: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata7-master
> UDMA100 SATA 3Gb/s
> ad16: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata8-master
> UDMA100 SATA 3Gb/s
> ad18: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata9-master
> UDMA100 SATA 3Gb/s
> ad20: 1907729MB <WDC WD2001FASS-00W2B0 01.00101> at ata10-master
> UDMA100 SATA 3Gb/s
> [0]#
You can try doing this on 8.2 already, and always revert if need be.
All you need to do is add ahci_load="yes" to /boot/loader.conf and see
how things behave after that. This will make use of the AHCI-to-CAM
translation layer (which is now default in 9.0).
There isn't much you need to do with ZFS either: it should "taste"
the disks and find them on boot. If it doesn't, try "zpool import",
then when it shows the pool, do "zpool import {poolid}".
It should automatically refer to everything as adaX going forward.
No need to bother with kern.cam.ada.legacy_aliases.
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-fs
mailing list