Skip to main content

How to Replace a Failing Hard Drive in a ZFS System

I ordered a new Seagate Skyhawk 4TB hard drive. While waiting for it to arrive, I thought I could write a post about how to replace a failing old  drive in a ZFS system like mine. 

The first thing to do is get as much information about the system hard drives. I'll need information on the drives.

#ls -la /dev/disk/by-id        #to list all my drives with their model and numbers


donato@donato-ubuntu:~$ ls -la /dev/disk/by-id  total 0  drwxr-xr-x 2 root root 720 Aug  3 12:34 .  drwxr-xr-x 8 root root 160 Aug  3 12:34 ..  lrwxrwxrwx 1 root root   9 Aug  3 12:34 ata-Crucial_CT240M500SSD1_14210C259405 -> ../../sda  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-Crucial_CT240M500SSD1_14210C259405-part1 -> ../../sda1  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-Crucial_CT240M500SSD1_14210C259405-part2 -> ../../sda2  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-Crucial_CT240M500SSD1_14210C259405-part3 -> ../../sda3  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-Crucial_CT240M500SSD1_14210C259405-part4 -> ../../sda4  lrwxrwxrwx 1 root root   9 Aug  3 12:34 ata-ST2000DM001-1CH164_W1E8B1ZS -> ../../sdc  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST2000DM001-1CH164_W1E8B1ZS-part1 -> ../../sdc1  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST2000DM001-1CH164_W1E8B1ZS-part9 -> ../../sdc9  lrwxrwxrwx 1 root root   9 Aug  3 12:34 ata-ST2000DM001-1ER164_Z5600J73 -> ../../sde  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST2000DM001-1ER164_Z5600J73-part1 -> ../../sde1  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST2000DM001-1ER164_Z5600J73-part9 -> ../../sde9  lrwxrwxrwx 1 root root   9 Aug  3 12:34 ata-ST3000DM008-2DM166_Z50520KD -> ../../sdb  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST3000DM008-2DM166_Z50520KD-part1 -> ../../sdb1  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST3000DM008-2DM166_Z50520KD-part9 -> ../../sdb9  lrwxrwxrwx 1 root root   9 Aug  3 12:34 ata-ST31000524AS_5VP9CZC8 -> ../../sdd  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST31000524AS_5VP9CZC8-part1 -> ../../sdd1  lrwxrwxrwx 1 root root  10 Aug  3 12:34 ata-ST31000524AS_5VP9CZC8-part9 -> ../../sdd9  donato@donato-ubuntu:~$     

#zpool status dpool -v     #to get the status of the pool

#fdisk -l                  #list your disks

You can set the pool properties to automatically use replacement disk or expand to a larger size with:

# zpool set autoreplace=on poolname      #to set any new disk to replace old disk
# zpool set autoexpand=on poolname	 #to expand size of pool automatically 

Then:

# zpool offline poolname device  	 #to set old device offline

Remove the old / failed disk. 

Insert the replacement disk.

Run the replacement command:

# zpool replace poolname device

Bring the disk online with:

# zpool online poolname device

NOTE: that if you set the autoreplace property of the pool any new device found on the location will be formatted and used as replacement, but this might not work on your particular hardware.  Also, having the autoreplace property "off" is a good check whenever you make a mistake in naming the device.  That is why it is good practice to use the disk ID instead of the location. 


Comments

Popular posts from this blog

ZFS Unable to System Snapshot, bpool is Full?

I first encountered the problem after a routine update / upgrade of the system. Well there was a kernel upgrade and I have not checked how many old kernels are still left for backups in /boot. Apparently, there was a few and the partition is 85% full. Every software update included a warning because of the restriction in disk space. Also, zfs could not create snapshots. It is also full. This is not very clear to me. Snapshots were suppose to be diff copies so why would it take up a large space. Most of the snapshots are less than 2MB. Or 0MB. Another problem that popped up is the constant freezing of Rhythmbox. I don't know if the config files are corrupted. The CPU cycles from one to the next. Peaks for 5-6 seconds then on to the next CPU. This forced me to download Clementine and Audacious. But both applications do not find the zfs pool or don't show the zfs structure. Why not? My final solution is to reinstall Rhythmbox via snaps. I re-scanned the music libr

Renter's ID and Business Licensing 2023

Last year's business permit application involved an undertaking of submitting lessee list to the Barangay in order to get them ID's including one for the lessor himself. I received a letter of notification just before New Year's Day. It informed me that I might be denied renewal of permits because I did not comply with this undertaking. So the Renter's ID is a serious thing now. When I went ahead and applied for a business permit renewal at the local government office everything went well except they want my list of lessee. So I had to backtrack and go to the Barangay and submit the list. They produced the ID's and I provided the photo ID's and of course have it signed by the lessee. After that, they pointed me to the cashier to pay the taxes and permit fees which totaled php15,305.00 ($280.33) During the payment of Fire and Safety department, they reminded me to bring my fire extinguisher official receipts of payment. I can pick up my new pe

Check rkhunter warnings For Deleted Files

logfile- /var/log/rkhunter.log starts [partial starts] [19:18:58] Info: Starting test name 'malware' [19:18:58] Performing malware checks [19:18:58] [19:18:58] Info: Starting test name 'deleted_files' [19:19:35]   Checking running processes for deleted files    [ Warning ] [19:19:35] Warning: The following processes are using deleted files: [19:19:35]          Process: /usr/bin/pulseaudio    PID: 784    File: /memfd:pulseaudio [19:19:35]          Process: /usr/bin/gnome-shell    PID: 1151    File: /tmp/mutter-shared-67ER4Y [19:19:35]          Process: /usr/bin/pulseaudio    PID: 1173    File: /memfd:pulseaudio [19:19:35]          Process: /usr/lib/evolution-data-server/evolution-source-registry    PID: 1194    File: /home/donato/.local/share/gvfs-metadata/home [19:19:35]          Process: /usr/bin/python2.7    PID: 1472    File: /tmp/vteZY4V4Y [19:19:35]          Process: /usr/bin/megasync    PID: 1484    File: /run/user/1000/wayland-cursor-shared-t6KVCM [19:19:35]