Byta ut disk i ZFS
Sedan några år tillbaka kör jag filsystemet ZFS både på arbetsdatorn och servrar.
ZFS har många bra funktioner. Och det är byggt för att förhindra dataförlust.
ZFS kollar om data är intakt genom "check-sum" tester.
För några dagar sedan började ZFS upptäcka läs-fel på en av diskarna i min server.
Detta kändes både hemskt och spännande! Hemskt då jag riskerar att förlora data
och spännande då detta är första gången jag får ett disk-fel!
På min server kör jag spegling av varje hårddisk. Detta ger bästa prestanda och bästa säkerhet: Data kan läsas från båda diskarna samtidigt och om en disk går sönder finns data'n kvar på den andra.
Guide för att byta ut disk i ZFS
1. Kolla status
Börja med att kolla status för disk-poolen. Skriv in följande kommando i "terminalen":
NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-35000c50058861e77 ONLINE 0 0 0 scsi-35000c50058878dab ONLINE 852 0 328 mirror-1 ONLINE 0 0 0 wwn-0x5000c50066b4fe86 ONLINE 0 0 0 wwn-0x5000c50066b4ff00 ONLINE 0 0 0
Det verkar vara problem med disk id scsi-35000c50058878dab.
(Använd alltid disk-id när du lägger till diskar, alltså inte sda, sdb, sdc etc.)
2. Sätt i ny disk
Sätt in den nya disken i datorn.
Här är det bra om du har så kallade "hot-swap" platser så du ej behöver stänga av datorn.
Samt lampor dom indikerar när hårddisken används ...
3. Hitta id för den nya disken
lrwxrwxrwx 1 root root 9 Jan 25 10:17 scsi-35000c50058861e77 -> ../../sdc lrwxrwxrwx 1 root root 10 Jan 25 10:17 scsi-35000c50058861e77-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 scsi-35000c50058861e77-part9 -> ../../sdc9 lrwxrwxrwx 1 root root 9 Jan 25 10:17 scsi-35000c50058878dab -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 25 10:17 scsi-35000c50058878dab-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 scsi-35000c50058878dab-part9 -> ../../sdb9 lrwxrwxrwx 1 root root 9 Jan 25 10:17 wwn-0x5000c50058861e77 -> ../../sdc lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50058861e77-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50058861e77-part9 -> ../../sdc9 lrwxrwxrwx 1 root root 9 Jan 25 10:17 wwn-0x5000c50058878dab -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50058878dab-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50058878dab-part9 -> ../../sdb9 lrwxrwxrwx 1 root root 9 Jan 25 10:17 wwn-0x5000c50066b4fe86 -> ../../sde lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50066b4fe86-part1 -> ../../sde1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50066b4fe86-part9 -> ../../sde9 lrwxrwxrwx 1 root root 9 Jan 25 10:17 wwn-0x5000c50066b4ff00 -> ../../sdd lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50066b4ff00-part1 -> ../../sdd1 lrwxrwxrwx 1 root root 10 Jan 25 10:17 wwn-0x5000c50066b4ff00-part9 -> ../../sdd9 lrwxrwxrwx 1 root root 9 Feb 21 09:27 wwn-0x5000c500a5054a65 -> ../../sdf lrwxrwxrwx 1 root root 9 Feb 19 21:46 wwn-0x50015179594e9c88 -> ../../sda lrwxrwxrwx 1 root root 10 Feb 19 21:46 wwn-0x50015179594e9c88-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 Feb 19 21:46 wwn-0x50015179594e9c88-part2 -> ../../sda2 lrwxrwxrwx 1 root root 10 Feb 19 21:46 wwn-0x50015179594e9c88-part5 -> ../../sda5
Det bör vara någon av diskarna som ännu inte har några partitioner.
I mitt fall är wwn-0x5000c500a5054a65 den nya disken.
Dubbelkolla så att det är den nya disken genom att läsa från den - så att led-lamporna tänds:
4. Tala om för ZFS att byta ut den gamla disken mot den nya
Om det är en ny disk kommer den förmodligen sakna partitions-tabell (GPT). Och ZFS kommer att klaga på detta:
invalid vdev specification use '-f' to override the following errors: new-disk does not contain an EFI label but it may contain partition information in the MBR.
Så vi måste skapa en GPT:
GNU Parted 3.2 Using /dev/sdf Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel GPT (parted) q Information: You may need to update /etc/fstab.
Försök sedan igen:
5. För över data till nya disken
ZFS kommer automatiskt att föra över data till den nya disken. Och när det är klart kommer ZFS automatiskt att ta bort den gamla/dåliga disken från disk-poolen.
6. Ta bort den gamla disken
Vänta tills ZFS är klar med "resilvering"
NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-35000c50058861e77 ONLINE 0 0 0 replacing-1 ONLINE 0 0 0 scsi-35000c50058878dab ONLINE 852 0 328 wwn-0x5000c500a5054a65 ONLINE 0 0 0 (resilvering) mirror-1 ONLINE 0 0 0 wwn-0x5000c50066b4fe86 ONLINE 0 0 0 wwn-0x5000c50066b4ff00 ONLINE 0 0 0
Identifiera sedan vilken disk som är den gamla/dåliga genom att få led-lamporna att lysa:
Blogginlägg skrivet av Johan Zetterberg