Jafner.net/homelab/local-hosts/barbarian/DISKSHELFMAP.md

63 lines
3.0 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 | VJG1NP9X | 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/10/21*: Replaced 2EKATR2X with VJG1NP9X at Y5/X3
- *2024/09/09*: Replaced VLKV9N8V with VKH3XR2X at Y6/X1
- *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