diff --git a/Workflows/Linux/Expand iSCSI-Based ZFS Filesystem.md b/Workflows/Linux/Expand iSCSI-Based ZFS Filesystem.md new file mode 100644 index 0000000..6eecb30 --- /dev/null +++ b/Workflows/Linux/Expand iSCSI-Based ZFS Filesystem.md @@ -0,0 +1,29 @@ +**Purpose**: +The purpose of this workflow is to illustrate the process of expanding storage for a Linux server that uses an iSCSI-based ZFS storage. We want the VM to have more storage space, so this document will go over the steps to expand that usable space. + +!!! info "Assumptions" + It is assumed you are using an Ubuntu based operating system, as these commands may not be the same on other distributions of Linux. + + This document also assumes you did not enable Logical Volume Management (LVM) when deploying your server. If you did, you will need to perform additional LVM-specific steps after increasing the space. + +## Increase iSCSI Disk Size +This part should be fairly straight-forward. Using whatever hypervisor/storage appliance hosting the iSCSI target, expand the disk space of the LUN to the desired size. + +## Extend ZFS Pool +This step goes over how to increase the usable space of the ZFS pool within the server itself after it was expanded. + +``` sh +iscsiadm -m session --rescan # (1) +parted /dev/sdX # (2) +unit TB # (3) +resizepart 1 XXTB # (4) +zpool online -e /dev/sdX # (5) +zpool scrub # (6) +``` + +1. Re-scan iSCSI targets for changes. +2. Open partitioning utility on the ZFS volume / LUN / iSCSI disk. Replace `dev/sdX` with the actual device name. +3. Self-explanatory storage measurement. +4. Resizes whatever partition is given to fit the new storage capacity. Replace `XXTB` with a valid value, such as `10TB`. +5. Brings the ZFS Pool back online. Replace `` with the actual name of the ZFS pool. +6. This tells the system to scan the ZFS pool for any errors or corruption and correct them. Think of it as a form of housekeeping. \ No newline at end of file