6

We have some old Solaris 10 servers (SunOS name 5.10 Generic_142909-17 sun4u sparc SUNW,Sun-Fire-V490) now connected to our new IBM SAN. These Solaris servers still have mostly UFS file systems. A while back, we added a new 2 TB LUN from the SAN to one of the servers and started using it as a zpool with one ZFS file system defined on it - really simple. It worked great!

Recently we found that 2 TB wasn't enough, so we extended the LUN from 2 TB to 3 TB. zpool list showed

NAME         SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT
solarisSYS  1.98T  1.84T   146G    92%  ONLINE  -

...both before and after the LUN was extended, as one would expect. luxadm display now shows

# luxadm display /dev/rdsk/c4t600507640081017A080000000000004Dd0s2
DEVICE PROPERTIES for disk: /dev/rdsk/c4t600507640081017A080000000000004Dd0s2
Vendor:               IBM     
Product ID:           2145            
Revision:             0000
Serial Num:           010020405e82XX00
Unformatted capacity: 3145728.000 MBytes
Read Cache:           Enabled
  Minimum prefetch:   0x0
  Maximum prefetch:   0x0
Device Type:          Disk device
Path(s):
/dev/rdsk/c4t600507640081017A080000000000004Dd0s2
/devices/scsi_vhci/ssd@g600507640081017a080000000000004d:c,raw

Various sources said to do these, which I did:

# zpool set autoexpand=on solarisSYS
# zpool online -e solarisSYS c4t600507640081017A080000000000004Dd0
# zpool export solarisSYS
# zpool import solarisSYS
# zpool list solarisSYS
NAME         SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT
solarisSYS  1.98T  1.84T   146G    92%  ONLINE  -

Does autoexpand not work for our old version of Solaris? Or is there something else I can try?

  • I suspect that your version of ZFS does support autoexpand, else you wouldn't have been able to set the property. What does format display for the LUN? – Andrew Henle Nov 24 '16 at 1:11
  • @AndrewHenle, It shows up as: 16. c4t600507640081017A080000000000004Dd0 <IBM-2145-0000-3.00TB> – K. McGregor Nov 24 '16 at 20:19
  • What is "zpool status solarisSYS" showing? Was the zpool created on c4t600507640081017A080000000000004Dd0 or c4t600507640081017A080000000000004Dd0s2? – Coward Nov 28 '16 at 12:00
  • <code> pool: solarisSYS state: ONLINE scrub: none requestedconfig: NAME STATE READ WRITE CKSUM solarisSYS ONLINE 0 0 0 c4t600507640081017A080000000000004Dd0 ONLINE 0 0 0` – K. McGregor Nov 28 '16 at 15:26
  • Interesting point: "Oracle Solaris 10 9/10 Release: In this Solaris release, a system event or sysevent is provided when an a disk is replaced with larger disk or the disks in the pool are replaced with larger disks. ZFS has been enhanced to recognize these events..." You're not replacing the disk, so I suspect ZFS isn't recognizing it as an "event". I wonder what happens if you "replace" the disk with itself? I'd recommend actually testing that on a non-production zpool first... – Andrew Henle Nov 29 '16 at 16:55
1

You may have export and reimport the pool or reboot and try the zpool online -e again.

This is definitely the case on Linux. But with your situation, it is worth a shot.

  • I'm trying to avoid a reboot, though. I did export and import the pool and re-ran zpool online -e @ewwhite – K. McGregor Nov 24 '16 at 20:21
1

Normally you can't increase an actual disk's size, so zfs, or your version of zfs, may not have been designed/tested with that. Maybe you need to add a new LUN, use zpool replace pool olddisk newdisk instead, and then remove the old after.

0

I don't think there's a good solution, but there are some workarounds as described in "Expand LUN from HDS-VSP on existing ZPOOL (Community Discussion ID 2921641)".

It looks like the easiest for me would be to present a new LUN of the correct size, then use "zpool replace" to replace the old LUN with the new one. At least this can be done with no downtime. I haven't tried it yet, though.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.