ZPOOL: Grow a zpool by adding new device(s)


ZPOOL: Grow a zpool by adding new device(s)

# Tested on RHEL 6 & 7


# Even if ZFS can use individual slices or partitions, it is recommended to use whole disks.


# -------------------------------------------------------------------------------------
# Extending a concat zpool
# -------------------------------------------------------------------------------------

POOLNAME=c_pool
POOLMNTP=/c_pool
DEVICE01=/dev/sdd



# Given following zpool:

zpool status $POOLNAME
     pool: c_pool
    state: ONLINE
    scan: none requested
   config:

           NAME        STATE     READ WRITE CKSUM
           c_pool      ONLINE       0     0     0
             sdb       ONLINE       0     0     0
             sdc       ONLINE       0     0     0

   errors: No known data errors


zpool list $POOLNAME
   NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
   c_pool  19.9G   104K  19.9G     0%  1.00x  ONLINE  -



# Extend zpool

zpool add $POOLNAME $DEVICE01

# If you have an error like this one:

   invalid vdev specification
   use '-f' to override the following errors:
   /dev/sdd does not contain an EFI label but it may contain partition
   information in the MBR.

# you should use '-f' option to create the pool - first ensure that disk(s) are the
# right one(s):

# zpool add -f $POOLNAME $DEVICE01



# Check

zpool status $POOLNAME
     pool: c_pool
 state: ONLINE
    scan: none requested
   config:

           NAME        STATE     READ WRITE CKSUM
           c_pool      ONLINE       0     0     0
             sdb       ONLINE       0     0     0
             sdc       ONLINE       0     0     0
             sdd       ONLINE       0     0     0   <----

   errors: No known data errors


zpool list $POOLNAME
   NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
   c_pool  29.8G   166K  29.8G     0%  1.00x  ONLINE  -




# -------------------------------------------------------------------------------------
# Extending a mirrored zpool
# -------------------------------------------------------------------------------------

POOLNAME=m_pool
SUBMIRR1=/dev/sdd
SUBMIRR2=/dev/sde



# Given following zpool:

zpool status $POOLNAME
     pool: m_pool
    state: ONLINE
    scan: none requested
   config:

           NAME        STATE     READ WRITE CKSUM
           m_pool      ONLINE       0     0     0
             mirror-0  ONLINE       0     0     0
               sdb     ONLINE       0     0     0
               sdc     ONLINE       0     0     0

   errors: No known data errors

zpool list $POOLNAME
   NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
   m_pool  9.94G   100K  9.94G     0%  1.00x  ONLINE  -



# Extend zpool

zpool add $POOLNAME mirror $SUBMIRR1 $SUBMIRR2

# If you have an error like this one:

   invalid vdev specification
   use '-f' to override the following errors:
   /dev/sdd does not contain an EFI label but it may contain partition
   information in the MBR.

# you should use '-f' option to create the pool - first ensure that disk(s) are the
# right one(s):

# zpool add -f $POOLNAME mirror $SUBMIRR1 $SUBMIRR2



# Check

zpool status $POOLNAME
     pool: m_pool
    state: ONLINE
    scan: none requested
   config:

           NAME        STATE     READ WRITE CKSUM
           m_pool      ONLINE       0     0     0
             mirror-0  ONLINE       0     0     0
               sdb     ONLINE       0     0     0
               sdc     ONLINE       0     0     0
             mirror-1  ONLINE       0     0     0
               sdd     ONLINE       0     0     0   <----
               sde     ONLINE       0     0     0
   <----

   errors: No known data errors



zpool list $POOLNAME
   NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
   m_pool  19.9G   104K  19.9G     0%  1.00x  ONLINE  -


Article Number: 187
Posted: Sun, Jun 3, 2018 9:16 AM
Last Updated: Sun, Jun 3, 2018 9:16 AM

Online URL: http://kb.ictbanking.net/article.php?id=187