214 lines
7.9 KiB
Markdown
214 lines
7.9 KiB
Markdown
# Unraid Drive Replacement Plan
|
||
|
||
## Goals
|
||
|
||
- Replace the 3 worst drives (both parity + Disk 3) with enterprise CMR
|
||
- Remove the smallest drive (Disk 4, 4TB) — too small to be useful
|
||
- Keep the 4 healthiest data drives running
|
||
- Reduce from 8 to 6 HDD drives
|
||
- Stay under 20% cumulative failure risk
|
||
- Total budget: ~$440
|
||
|
||
## Current Array (as of 2026-03-28)
|
||
|
||
| Slot | Model | Serial | Size | Age | Est. AFR | Health | Action |
|
||
|------|-------|--------|------|-----|----------|--------|--------|
|
||
| Parity 1 | ST8000DM004 SMR | ZCT2K65B | 8TB | 5.3yr | ~4.5% | Had 180 GP errors (cleared) | **Replace** |
|
||
| Parity 2 | ST8000DM004 SMR | ZCT2K5PQ | 8TB | 5.3yr | ~3.5% | Had 19 GP errors (cleared) | **Replace** |
|
||
| Disk 1 | ST8000DM004 SMR | ZCT2K3FF | 8TB | 5.3yr | ~2.75% | Clean, same batch as parity | Keep |
|
||
| Disk 2 | ST8000DM004 SMR | ZCT2K51K | 8TB | 5.3yr | ~2.75% | 1 CRC error, otherwise clean | Keep |
|
||
| Disk 3 | ST8000DM004 SMR | ZCT3XAEJ | 8TB | 4.8yr | ~3.5% | Had 10 GP errors, 2 CRC, 72K load cycles | **Remove** |
|
||
| Disk 4 | WD40EFRX CMR | WD-WCC7K2YF4TDJ | 4TB | 6.6yr | ~2.5% | Pristine SMART, only 1.7TB used | **Remove** |
|
||
| Disk 5 | ST8000DM004 SMR | ZR14W632 | 8TB | 2.5yr | ~1.75% | 56C lifetime max, otherwise clean | Keep |
|
||
| Disk 6 | ST8000DM004 SMR | ZR150CVS | 8TB | 2.5yr | ~1.75% | Clean | Keep |
|
||
| Cache | Samsung 970 EVO | S5H9NS0N831296A | 1TB | — | — | 1% wear, excellent | Keep |
|
||
|
||
Total data stored: ~25TB, growing ~1TB/year
|
||
|
||
## Shopping List
|
||
|
||
| Drive | Model | Purpose | Est. Price |
|
||
|-------|-------|---------|------------|
|
||
| Seagate Exos X18 16TB | ST16000NM000J | Parity 1 | ~$220 |
|
||
| Seagate Exos X18 16TB | ST16000NM000J | Parity 2 | ~$220 |
|
||
| | | **Total** | **~$440** |
|
||
|
||
Why 16TB parity for 8TB data drives: when a data drive eventually dies or fills up (~2030), you can drop in a 16TB replacement without touching parity. Buying 8TB parity now would mean buying parity drives again later — more expensive overall. The Exos X18 should last 8-12+ years in a home NAS, outlasting multiple generations of data drives.
|
||
|
||
---
|
||
|
||
## Phase 0 — Now (free)
|
||
|
||
**Goal: Remove Disk 4 (WD Red 4TB) — too small to be useful**
|
||
|
||
Disk 4 only has 1.7TB used. Other drives have 14.5TB of free space.
|
||
|
||
1. Open **Unbalance** plugin in Unraid WebGUI
|
||
2. Source: Disk 4
|
||
3. Destination: Disk 3, Disk 5, Disk 6 (most free space)
|
||
4. Start transfer (~30 min for 1.7TB)
|
||
5. Verify Disk 4 shows 0 bytes used
|
||
6. **Stop array** (Main → Array Operations → Stop)
|
||
7. Click on Disk 4 slot → set to **No Device**
|
||
8. **Start array** → check "Yes I want to do this" → confirm
|
||
9. Parity sync runs automatically (~12-18 hrs, array is usable during sync)
|
||
10. Once sync completes: power down, physically remove the 4TB drive, power up
|
||
|
||
**Keep the WD Red 4TB as a cold backup drive** — pristine SMART despite its age. Good for periodic offline backups via USB dock.
|
||
|
||
**Result: 8 → 7 drives.**
|
||
|
||
---
|
||
|
||
## Phase 1 — April 2027
|
||
|
||
**Goal: Replace Parity 1, remove Disk 3**
|
||
|
||
Cumulative failure risk reaches ~20% around this time. First purchase.
|
||
|
||
**Buy: 1x Seagate Exos X18 16TB (~$220)**
|
||
|
||
### Step 1: Replace Parity 1
|
||
|
||
1. **Stop array**
|
||
2. Power down server
|
||
3. Locate Parity 1 drive (sdb, serial ZCT2K65B) and remove it
|
||
4. Install the new Exos X18 16TB in the same physical slot
|
||
5. Power up
|
||
6. Main page → verify new drive appears in the Parity 1 slot
|
||
7. **Start array**
|
||
8. Parity sync begins automatically (~12-18 hrs)
|
||
9. Array is fully usable during sync — avoid heavy writes for best performance
|
||
10. Wait for sync to complete (progress shown on Main page)
|
||
|
||
### Step 2: Remove Disk 3
|
||
|
||
After parity sync completes:
|
||
|
||
11. Open **Unbalance** plugin
|
||
12. Source: Disk 3 (~4.3TB after absorbing some of Disk 4's data)
|
||
13. Destination: Disk 1, Disk 2, Disk 5, Disk 6
|
||
14. Start transfer (~2-4 hrs)
|
||
15. Verify Disk 3 shows 0 bytes used
|
||
16. **Stop array**
|
||
17. Click on Disk 3 slot → set to **No Device**
|
||
18. **Start array** → confirm → parity sync runs (~12-18 hrs)
|
||
19. Once sync completes: power down, physically remove Disk 3, power up
|
||
|
||
### Disposal
|
||
|
||
- Old Parity 1 (ZCT2K65B): **Recycle** — worst error history in the array
|
||
- Old Disk 3 (ZCT3XAEJ): **Recycle** — GP errors + CRC errors + high load cycles
|
||
|
||
**Result: 7 → 6 drives.**
|
||
|
||
---
|
||
|
||
## Phase 2 — June 2027
|
||
|
||
**Goal: Replace Parity 2**
|
||
|
||
**Buy: 1x Seagate Exos X18 16TB (~$220)**
|
||
|
||
1. **Stop array**
|
||
2. Power down server
|
||
3. Locate Parity 2 drive (sdc, serial ZCT2K5PQ) and remove it
|
||
4. Install the new Exos X18 16TB in the same physical slot
|
||
5. Power up
|
||
6. Main page → verify new drive appears in the Parity 2 slot
|
||
7. **Start array**
|
||
8. Parity sync begins (~12-18 hrs)
|
||
9. Wait for completion
|
||
|
||
### Disposal
|
||
|
||
- Old Parity 2 (ZCT2K5PQ): **Recycle** — 19 GP error history
|
||
|
||
**Result: Still 6 drives. Migration complete.**
|
||
|
||
---
|
||
|
||
## Final Array (June 2027)
|
||
|
||
| Slot | Drive | Size | Used | Age | Health |
|
||
|------|-------|------|------|-----|--------|
|
||
| Parity 1 | Seagate Exos X18 (new) | 16TB | — | New | Enterprise CMR, 5yr warranty |
|
||
| Parity 2 | Seagate Exos X18 (new) | 16TB | — | New | Enterprise CMR, 5yr warranty |
|
||
| Disk 1 | ST8000DM004 (kept) | 8TB | ~6.6TB | 6.3yr | Clean |
|
||
| Disk 2 | ST8000DM004 (kept) | 8TB | ~6.5TB | 6.3yr | 1 CRC, otherwise clean |
|
||
| Disk 5 | ST8000DM004 (kept) | 8TB | ~5.2TB | 3.5yr | Clean |
|
||
| Disk 6 | ST8000DM004 (kept) | 8TB | ~5.2TB | 3.5yr | Clean |
|
||
|
||
- **Usable capacity: 29.2TB** (4 × 7.3TB)
|
||
- **Data stored: ~25TB**, ~4TB free
|
||
- **Growth runway: ~4 years** at 1TB/yr before needing bigger data drives
|
||
- **Annual failure rate: ~8%** (down from ~19%)
|
||
- **2 empty drive bays** for future expansion
|
||
|
||
## Cost Summary
|
||
|
||
| When | What | Cost |
|
||
|------|------|------|
|
||
| Now | Remove Disk 4 | $0 |
|
||
| Apr 2027 | Exos X18 16TB (Parity 1) | $220 |
|
||
| Jun 2027 | Exos X18 16TB (Parity 2) | $220 |
|
||
| **Total** | | **$440** |
|
||
|
||
---
|
||
|
||
## When a Data Drive Eventually Dies or Fills Up (~2030)
|
||
|
||
Since parity is already 16TB, just buy one replacement data drive up to 16TB. No parity upgrade needed.
|
||
|
||
**Recommended replacements** (for brand diversity):
|
||
- Toshiba MG08/MG10 16TB (~$200) — enterprise CMR
|
||
- WD Ultrastar HC550 16TB (~$230) — enterprise CMR
|
||
|
||
**Procedure:**
|
||
1. Stop array, power down
|
||
2. Swap the failed/full 8TB with the new 16TB
|
||
3. Start array → rebuild (~18-20 hrs)
|
||
4. Done — you just gained 8TB of usable space
|
||
|
||
Each time you replace an 8TB with a 16TB, your usable capacity grows:
|
||
- 1 replaced: 37.2TB usable
|
||
- 2 replaced: 45.2TB usable
|
||
- 3 replaced: 53.2TB usable
|
||
- All 4 replaced: 61.2TB usable
|
||
|
||
## Drives to Recycle
|
||
|
||
Wipe before recycling if concerned about data:
|
||
|
||
| Drive | Reason |
|
||
|-------|--------|
|
||
| Parity 1 (ZCT2K65B) | 180 GP error history |
|
||
| Parity 2 (ZCT2K5PQ) | 19 GP error history |
|
||
| Disk 3 (ZCT3XAEJ) | 10 GP + 2 CRC + 72K load cycles |
|
||
|
||
## Drives to Keep as Spares
|
||
|
||
| Drive | Use |
|
||
|-------|-----|
|
||
| Disk 4 — WD Red 4TB (WD-WCC7K2YF4TDJ) | Cold backup via USB dock. Pristine SMART. Monthly rsync of irreplaceable files (photos, documents, configs). |
|
||
|
||
## SMART Test Schedule (already running)
|
||
|
||
- Weekly short: Sundays 2:00 AM
|
||
- Monthly extended: 1st of month 3:00 AM
|
||
- Configured via User Scripts plugin
|
||
- Monitor results in Main → click any drive → SMART attributes
|
||
|
||
## Pending Config Fixes
|
||
|
||
Can be done anytime from WebGUI, no downtime needed:
|
||
|
||
- [ ] Remove compose.manager plugin (Settings → Plugins → click X next to it)
|
||
- [ ] Disable disk shares (Settings → Global Share Settings → Enable disk shares → No)
|
||
- [ ] Set user share security to Private for exported shares (Shares → isos → SMB Security → Private; repeat for any other exported shares)
|
||
- [ ] Move domains share to cache (Shares → domains → Primary storage → Cache → Cache Pool → cache)
|
||
- [ ] Set up email notifications (Settings → Notification Settings — use Gmail + App Password)
|
||
- [ ] Configure UPS auto-shutdown (Settings → UPS Settings — CyberPower CP1500, USB, battery level 20%)
|
||
- [ ] Enable XMP in BIOS at next reboot (G.Skill DDR3 running 1333 MT/s, rated 1600 MT/s)
|
||
- [ ] Verify appdata backups work — test a restore of one container
|