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  -
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
RHEL: How to change a USER/GROUP UID/GID and all owned files
Viewed 2305 times since Sat, Jun 2, 2018
LVM: Create a new Logical Volume / Filesystem
Viewed 698 times since Sat, Jun 2, 2018
How to encrypt a partition with DM-Crypt LUKS on Linux
Viewed 526 times since Fri, Jul 13, 2018
WatchDog watchdog.sh script for checking server running
Viewed 1775 times since Tue, Jul 31, 2018
RHEL: Rebuilding the initial ramdisk image
Viewed 1527 times since Sat, Jun 2, 2018
SYS: Configure a local repository. local repo
Viewed 616 times since Mon, Oct 29, 2018
linux ssh How to Hide the OpenSSH Version Details when Telnet to Port 22
Viewed 140 times since Wed, Apr 22, 2020
Configuring VLAN interfaces in Linux
Viewed 1232 times since Mon, May 21, 2018
chrt command: Set / Manipulate Real Time Attributes of a Linux Process
Viewed 318 times since Mon, Feb 17, 2020
How To Run Multiple SSH Command On Remote Machine And Exit Safely
Viewed 502 times since Tue, Aug 6, 2019