Joey Hafner
97e4cc547a
1. homelab [Gitea](https://gitea.jafner.tools/Jafner/homelab), [Github (docker_config)](https://github.com/Jafner/docker_config), [Github (wiki)](https://github.com/Jafner/wiki), [Github (cloud_tools)](https://github.com/Jafner/cloud_tools), [Github (self-hosting)](https://github.com/Jafner/self-hosting). - Rename? Jafner.net? Wouldn't that be `Jafner/Jafner.net/Jafner.net`? 2. Jafner.dev [Github](https://github.com/Jafner/Jafner.dev). 3. dotfiles [Gitea](https://gitea.jafner.tools/Jafner/dotfiles), [Github](https://github.com/Jafner/dotfiles). 4. nvgm [Gitea](https://gitea.jafner.tools/Jafner/nvgm) 5. pamidi [Gitea](https://gitea.jafner.tools/Jafner/pamidi), [Github](https://github.com/Jafner/pamidi) 6. docker-llm-amd [Gitea](https://gitea.jafner.tools/Jafner/docker-llm-amd) 7. doradash [Gitea](https://gitea.jafner.tools/Jafner/doradash) 8. clip-it-and-ship-it [Gitea (PyClipIt)](https://gitea.jafner.tools/Jafner/PyClipIt), [Github](https://github.com/Jafner/clip-it-and-ship-it). 9. razer battery led [Github](https://github.com/Jafner/Razer-BatteryLevelRGB) 10. 5etools-docker [Github](https://github.com/Jafner/5etools-docker) 11. jafner-homebrew [Github](https://github.com/Jafner/jafner-homebrew)
61 lines
2.9 KiB
Markdown
61 lines
2.9 KiB
Markdown
# Physical Disk Locations (DS4243)
|
|
*Updated 2024/02/28*
|
|
|
|
Each cell contains the serial number for the drive in the mapped bay.
|
|
| | X1 | X2 | X3 | X4 |
|
|
|:--:|:---------:|:--------:|:--------:|:--------:|
|
|
| Y1 | VJGPS30X | VK0ZD6ZY | VKH22XPX | VJG2PVRX |
|
|
| Y2 | VJGR6TNX | 2EG14YNJ | VJGJVTZX | VJG1H9UX |
|
|
| Y3 | VJGJUWNX | 2EGXD27V | VJGJAS1X | VJG2UTUX |
|
|
| Y4 | VJGRGD2X | 2EGL8AVV | 2EKA903X | VJGRRG9X |
|
|
| Y5 | VJGK56KX | 2EGNPVWV | 2EKATR2X | VKH3Y3XX |
|
|
| Y6 | VLKV9N8V | R5G4W2VV | VLKXPS1V | VKGW5YGX |
|
|
|
|
# Identify a Failing Disk
|
|
Disk Smart test errors are reported by device ID (e.g. /dev/sdw), rather than the serial number. To find the serial number associated with a particular device ID, run the following one-liner with `$dev` substituted for the device to find:
|
|
|
|
`TODO`
|
|
|
|
# Get Serial Number from part-uuid
|
|
|
|
`ls -l /dev/disk/by-partuuid`
|
|
|
|
Will return lines for each partition device and its mapping to a `/dev/sd` Linux block device.
|
|
|
|
From there, run `smartctl -a <block device> | grep Serial` where `<block device>` is like `/dev/sdw`.
|
|
|
|
Or, as a one-liner with `$DISK_UUID` set to the UUID to find:
|
|
|
|
`ls -l /dev/disk/by-partuuid | grep $DISK_UUID | cut -d' ' -f 11 | xargs basename | sed 's/^/\/dev\//' | xargs sudo smartctl -a | grep Serial | tr -s ' ' | cut -d' ' -f 3`
|
|
|
|
It might be possible to pull the part UUID from the `zpool status` command directly. An exercise for the reader.
|
|
|
|
# Offline and wipe the failing disk
|
|
|
|
0. Match the disk name (e.g. `/dev/sdw`) to the UUID (e.g. `13846695584571018356`). Use `lsblk --fs` for this.
|
|
1. Offline the disk: `zpool offline $pool $disk_id`
|
|
2. Wipe the disk: `wipefs $disklabel` (where `$disklabel` is like `/dev/sdw`)
|
|
3. Run `lsblk --fs` again to verify the wipe worked. If not, you'll need to run a full dd wipe with `dd if=/dev/zero of=$disklabel bs=1M`. This will take a long time as it writes zeroes across the entire drive.
|
|
4. Physically remove the disk.
|
|
|
|
# Replace Disk in Pool
|
|
Once the failed disk has been identified and physically replaced, you should know the old drive's UUID (via `zpool status`) and the new drive's device name (via `lsblk` and deduction)
|
|
|
|
Once the new drive is in place and you know its ID (e.g. `/dev/sdw`), run the following to begin the resilver process:
|
|
|
|
`zpool replace <pool> <part-uuid to be replace> <device id of new drive>`
|
|
|
|
E.g. `zpool replace Media d50abb30-81fd-49c6-b22e-43fcee2022fe /dev/sdx`
|
|
|
|
This will begin a new resilver operation. Good luck!
|
|
|
|
https://docs.oracle.com/cd/E19253-01/819-5461/gazgd/index.html
|
|
|
|
# Update Log
|
|
**Most recent first**
|
|
- *2024/05/26*: Replaced 2EGL8AVV with VJG2808X at Y4/X2
|
|
- *2024/04/16*: Replaced VJG1H9UX with 2EKA92XX at Y2/X4
|
|
- *2024/04/07*: Replaced VJG282NX with VKH22XPX at Y1/X3
|
|
- *2024/03/12*: Replaced VLKXPS1V with VKH40L6X at Y6/X3
|
|
- *2024/02/28*: Replaced 2EKA92XX with VLKXPS1V at Y6/X3
|
|
- *2024/02/27*: Replaced VJG2T4YX with VJG282NX at Y2/X3 |