惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
小众软件
小众软件
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
Recorded Future
Recorded Future
雷峰网
雷峰网
WordPress大学
WordPress大学
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
T
Tor Project blog
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Spread Privacy
Spread Privacy
G
Google Developers Blog
Security Latest
Security Latest
MongoDB | Blog
MongoDB | Blog
T
Threatpost
I
InfoQ
T
Tenable Blog
T
The Exploit Database - CXSecurity.com
S
Security Affairs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
C
Cisco Blogs
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
D
Docker
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
PCI Perspectives
PCI Perspectives
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
Cloudbric
Cloudbric
A
About on SuperTechFans
F
Fortinet All Blogs

Danb Blog

Cheaper Sodastream Gas with a Big Tank June 2026: What I've Been Working On · Danb Blog Running Snyk On Forgejo/Codeberg Actions · Danb Blog Tuta & Proton: An Open Source Client Does Not Result in an Open Source Service · Danb Blog May 2026: What I've Been Working On · Danb Blog 3D Printing Parts for my Greenhouse, Round 2 · Danb Blog Great Devices: Nexus 7 2013 · Danb Blog R36S Console RetroArch Stuck Menu Issue · Danb Blog April 2026: What I've Been Working On · Danb Blog Basic OpenCode Sandboxing with Docker · Danb Blog Games Played in 2025 · Danb Blog March 2026: What I've Been Working On · Danb Blog Shivam Mathur's "node-docker" Images are Awesome for PHP CI · Danb Blog February 2026: What I've Been Working On · Danb Blog Your BookStackApp project was assigned as a project for my Software Architecture course · Danb Blog My Sovol SV08 3D Printer Setup in 2026 · Danb Blog January 2026: What I've Been Working On · Danb Blog Epson Printer: The administrator password you entered was not recognized · Danb Blog Pressure to Follow Process · Danb Blog Online Shopping Email Notifications · Danb Blog My HomeLab Setup in 2026 · Danb Blog Linux Label Printing with the Phomemo D30 · Danb Blog Reporting to the CMA: Google Android Developer Verification · Danb Blog OPNsense & Dnsmasq: Responding with specific DNS servers · Danb Blog Experience with UK Medical Cannabis for Ankylosing Spondylitis · Danb Blog Copyright Takedown for Linking to the "State of Open Source" Report · Danb Blog No, Gumroad Did Not Become Open Source Today · Danb Blog Scripting Monitors (KDE on Fedora) · Danb Blog Amber flags in Open Source & Self-Hosted Projects · Danb Blog LLMs are Directing Open Source Licensing · Danb Blog Games Played in 2024 · Danb Blog Beware of Poison in the Source · Danb Blog Common Misconceptions of the AGPL · Danb Blog Adapting GitHub action PHPUnit tests for Codeberg/Forgejo · Danb Blog Lessons from the Allotment · Danb Blog Futo, Please don't attempt to create your own Open Source Definition · Danb Blog Material You (Dynamic/Adaptive) Colors in Legacy Android Apps · Danb Blog Scripting Monitors (Gnome & Wayland on Fedora) · Danb Blog Retaining a Greenhouse Roof with 3d Printing · Danb Blog Games Played in 2023 · Danb Blog Lessons From Growing Food Indoors · Danb Blog Why the Distinction Between "Open Source" and "Source Available" is Important · Danb Blog Raspberry Pi Camera Module 3 Timelapse · Danb Blog Removing the Rear Seats on a Volvo C30 · Danb Blog Reporting Google's WEI to the CMA · Danb Blog Controlling Default GRUB Boot Option via USB · Danb Blog Creating a Video Home for FOSS Projects · Danb Blog Paying for Search · Danb Blog My Favourite Static Site Deploy Method · Danb Blog PhpStorm (JetBrains IDE) 2023 Linux Scaling · Danb Blog Synology Hibernation with Active Backup for Business and Tailscale · Danb Blog My 2023 HomeLab Setup · Danb Blog Redefining Open Source via "Commercial Open Source" · Danb Blog Moving to Mastodon · Danb Blog Gaining Sponsors · Danb Blog "This is a Low Maintenance Project" · Danb Blog Upgrading my CPU, Ryzen 2600 to 5800x · Danb Blog Migrating Google Photos to my Personal NAS · Danb Blog Scheduling Proxmox Storage to Reduce Disk Activity · Danb Blog Why the Term "Open Source" is Important · Danb Blog Lessons From Working for Myself (9 Months In) · Danb Blog Misrepresenting Open Source for Business Benefit · Danb Blog Cat Images in WebP · Danb Blog My 2022 Workstation Setup · Danb Blog Leaving my Job to Focus on Open Source (For a bit) · Danb Blog Quickly Getting Placeholder Images With Unsplash Source · Danb Blog A Thanks to Laravel for the LTS Releases · Danb Blog A Quick Overview of Unix-Style Permissions · Danb Blog The Power of currentColor · Danb Blog Dealing With Ankylosing Spondylitis Flareups · Danb Blog Hugo Verbose Dates With Suffixes · Danb Blog
An Impromptu Introduction to ZFS Drive Replacement at 1am · Danb Blog
2025-08-20 · via Danb Blog

Last night at 1 minute past midnight, just before heading to bed, I received the following notification from my main production Proxmox system:

SMART error (Health) detected on host: chonk

Chonk is where I host everything intended to be publicly accessible, including the BookStack site & infrastructure, among many other sites and applications. It’s a dedicated Hetzner server which has two Samsung NVME SSDs combined in a ZFS mirror for redundancy.

For some context, I have little prior experience with the failure patterns of NVME SSDs. I also have little prior experience with the specifics of ZFS, only having done some research years ago along with basic creation/setup tasks. I have never delved into the handling of live pool handling & drive replacements. Now was the time to quickly get educated on both. I do have solid off-system daily backups, in multiple locations, of all machines on the Proxmox system so restoring would always be possible, but it would still be a pain in the backside and more work to re-set-up everything again from blank drives & backups.

The first step was to understand if the detected drive errors were problematic. The drive seemed to be working okay, and the zpool didn’t report any errors. SMART tests were reporting a failure though, stating that “NVM subsystem reliability has been degraded”. It was also reporting 4 “Media and Data Integrity Errors”. While I was not sure if these could be signs of a temporary issue of some kind, I decided it was not worth the risk and that I should contact Hetzner support.

My urgency to replace the drive increased when looking the at the other good drive. The drive model was the same, and the SMART usage stats were similar. My fear being that continued use and future needed mirror rebuilds may risk that other drive producing issues too, resulting in an issue snowball.

At 1am, I submitted my support request with Hetzner, which had a dedicated option for disk failures with inputs for the drive serial number and SMART output. I chose the option to replace the drive ASAP, which indicated this may typically be within 2-4 hours of submitting the request. My plan now was to stay up and get this done quick, during the night where downtime isn’t so considerable & stressful. I also chose for the machine to be powered off for the replacement, which was required for NVME drives.

After submitting the request, I started a fresh backup run of VMs/containers since the existing ones were a day old, with the usual daily backup scheduled an hour later from now. With that ongoing I started to educate myself on ZFS, and in particular drive replacements, watching YouTube guides and reading up documentation.

Luckily, I found Proxmox themselves have great ZFS documentation including the steps for replacing a drive. Without this, I’m sure that I would have ended up with a problematic boot scenario as most of the content I consumed, including Proxmox specific ZFS drive replacement videos, did not factor in the scenario of mirrored bootable drives.

Just one hour later my monitoring systems alerted me that my sites had gone down, a sign the drive replacement was in progress. I waited a while until I regained SSH and web access, and there I could see the new healthy drive!

I started carefully following the Proxmox guidance. I copied the partition table across with re-issued GUIDs. While I was double checking some factors for the main ZFS zpool replace command, more monitor alerts sounded. The system was down again. Oh dear!

A minute later I received the following from Hetzner:

We have replace the the fault NVMe and start our rescue-system because the OS was not start.

Ah, so it looks like they didn’t detect the system as being up for some reason, and rebooted it into recovery while I was attempting to fix things! I felt lucky this was between commands, and that I wasn’t in the middle of an ongoing restoration action. A login & reboot later, my Proxmox system was back up.

Accessing once again, I ran the last few commands to replace the partition in the zpool mirror, and to re-install the bootloader. This was the only trouble I had following the Proxmox guide, since I originally misidentified my bootloader as plain grub instead of grub via their proxmox-boot-tool, but luckily they have safeguards in place which stopped my wrong commands from taking action.

The rebuild of the mirror (resilvering) was surprisingly quick. I was expecting this to take hours, but it had completed the 353GB of used data in just under 8 minutes. I guess that’s the benefit of fast modern NVME SSDs.

All seems to be good now. Overall this was an interesting impromptu lesson into ZFS and drive failure handling. Maybe I should have been more prepared for this, and trialled such scenarios before hand, but you can never be ready for everything. Upon the experience, I have gained extra respect and interest into ZFS, and the value of drive redundancy. I have redundant drives for my personal NAS, but now they’re probably going to be a more significant factor in regards to my other homelab systems also.