ZFS - Skapa mirror från enskild disk

Permalänk
Medlem

ZFS - Skapa mirror från enskild disk

Hej!

Har en enskild disk med zfs. Dock så saknar denna redundans i dagsläget vilket jag hade tänkt att försöka åtgärda genom att skapa en mirror.

Utgångspunkten är följande (massa kod):

$ zpool status pool: ncdata state: ONLINE scan: scrub repaired 0B in 0 days 00:03:50 with 0 errors on Sun Sep 13 00:27:52 2020 config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 8439916330605280079 ONLINE 0 0 0 $ zdb ncdata: version: 5000 name: 'ncdata' state: 0 txg: 2044834 pool_guid: 8439916330605280079 errata: 0 hostid: 183228725 hostname: 'nextcloudsthlm' com.delphix:has_per_vdev_zaps vdev_children: 1 vdev_tree: type: 'root' id: 0 guid: 8439916330605280079 create_txg: 4 children[0]: type: 'disk' id: 0 guid: 8226824548892140475 path: '/dev/disk/by-uuid/8439916330605280079' devid: 'scsi-350014ee2b707b6bb-part1' phys_path: 'pci-0000:0b:00.0-sas-phy6-lun-0' whole_disk: 1 metaslab_array: 68 metaslab_shift: 34 ashift: 12 asize: 4000771997696 is_log: 0 DTL: 2304 create_txg: 4 com.delphix:vdev_zap_leaf: 66 com.delphix:vdev_zap_top: 67 features_for_read: com.delphix:hole_birth com.delphix:embedded_data

Dold text

Där efter körde jag följande kommando där jag tänkte att det skulle skapas en mirror

$ sudo zpool add ncdata /dev/sdc

vilket gav följande resultat (längre utskrict):

$ zpool status ncdata pool: ncdata state: ONLINE scan: scrub repaired 0B in 0 days 00:03:50 with 0 errors on Sun Sep 13 00:27:52 2020 config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 8439916330605280079 ONLINE 0 0 0 sdc ONLINE 0 0 0 $ zdb ncdata: version: 5000 name: 'ncdata' state: 0 txg: 2379493 pool_guid: 8439916330605280079 errata: 0 hostid: 183228725 hostname: 'nextcloudsthlm' com.delphix:has_per_vdev_zaps vdev_children: 2 vdev_tree: type: 'root' id: 0 guid: 8439916330605280079 create_txg: 4 children[0]: type: 'disk' id: 0 guid: 8226824548892140475 path: '/dev/disk/by-uuid/8439916330605280079' devid: 'scsi-350014ee2b707b6bb-part1' phys_path: 'pci-0000:0b:00.0-sas-phy6-lun-0' whole_disk: 1 metaslab_array: 68 metaslab_shift: 34 ashift: 12 asize: 4000771997696 is_log: 0 DTL: 2304 create_txg: 4 com.delphix:vdev_zap_leaf: 66 com.delphix:vdev_zap_top: 67 children[1]: type: 'disk' id: 1 guid: 7012011183503106809 path: '/dev/sdc1' devid: 'scsi-350014ee261b1a756-part1' phys_path: 'pci-0000:0b:00.0-sas-phy7-lun-0' whole_disk: 1 metaslab_array: 114 metaslab_shift: 34 ashift: 12 asize: 4000771997696 is_log: 0 create_txg: 2379491 com.delphix:vdev_zap_leaf: 112 com.delphix:vdev_zap_top: 113 features_for_read: com.delphix:hole_birth com.delphix:embedded_data

Dold text

Dock förefaller inte detta vara någon mirror som jag hade tänkte mig så nu är jag öppen för förslag för att se hur jag ska lyckas med att åstadkomma detta!

Tack för hjälpen.

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem

Det är nog "zpool attach" du skulle använda för att göra en mirror/lägga till fler lagringsenheter till en mirror, men hur man ogör det där du redan gjort är däremot mer än jag vet.

Visa signatur

Desktop: Ryzen 5800X3D || MSI X570S Edge Max Wifi || Sapphire Pulse RX 7900 XTX || Gskill Trident Z 3600 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Proxmox server: Ryzen 5900X || Asrock Rack X570D4I-2T || Kingston 64GB ECC || WD Red SN700 1TB || Blandning av WD Red / Seagate Ironwolf för lagring || Fractal Node 304

Permalänk
Medlem

Man bygger om sin pool om man måste göra om något, med andra ord, gör inte fel.

Men ovan är korrekt

Syntax
Zpool attach poolnamn uuid1 uuid2

Typo
Visa signatur

Nätverksnörd

Permalänk
Medlem
Skrivet av evil penguin:

Det är nog "zpool attach" du skulle använda för att göra en mirror/lägga till fler lagringsenheter till en mirror, men hur man ogör det där du redan gjort är däremot mer än jag vet.

Skrivet av moire:

Man bygger om sin pool om man måste göra om något, med andra ord, gör inte fel.

Men ovan är korrekt

Syntax
Zpool attach poolnamn uuid1 uuid2

Tack för att ni lägger ner lite tid på att putta mig i rätt riktning!

Japp det var ett misstag! Dock funkade det fint att med

$ zpool remove ncdata sdc $ zpool status pool: ncdata state: ONLINE scan: scrub repaired 0B in 0 days 00:03:50 with 0 errors on Sun Sep 13 00:27:52 2020 remove: Removal of vdev 1 copied 960K in 0h0m, completed on Mon Sep 21 17:13:37 2020 2.51K memory used for removed device mappings config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 8439916330605280079 ONLINE 0 0 0 errors: No known data errors

Men nu fastnar jag i den ursprungliga frågan, hur omvandlar jag detta till en mirror?

$ zpool attach ncdata 8439916330605280079 /dev/sda cannot attach /dev/sda to 8439916330605280079: can only attach to mirrors and top-level disks

Detta försöket indikerar att jag gör på fel sätt nämligen. Några fler förslag?

Edit: Nu blev det lite för spännande. Insåg i en tråd långt bort på internet att jag kanske använder fel GUID, det vill säga poolens GUID istället för disken GUID.

Så jag uppdaterade mitt försök

$ zpool status pool: ncdata state: ONLINE scan: scrub repaired 0B in 0 days 00:03:50 with 0 errors on Sun Sep 13 00:27:52 2020 remove: Removal of vdev 1 copied 960K in 0h0m, completed on Mon Sep 21 17:13:37 2020 2.51K memory used for removed device mappings config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 8439916330605280079 ONLINE 0 0 0 errors: No known data errors $ zpool attach ncdata 8226824548892140475 /dev/sdc $ zpool status pool: ncdata state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Mon Sep 21 17:53:03 2020 248M scanned at 237K/s, 696K issued at 664B/s, 23.5G total 0B resilvered, 0.00% done, no estimated completion time remove: Removal of vdev 1 copied 960K in 0h0m, completed on Mon Sep 21 17:13:37 2020 2.51K memory used for removed device mappings config: NAME STATE READ WRITE CKSUM ncdata DEGRADED 0 0 0 mirror-0 DEGRADED 408K 0 0 8439916330605280079 FAULTED 0 0 0 corrupted data sdc ONLINE 0 0 408K errors: 5102 data errors, use '-v' for a list

Så något gick uppenbarligen på tok? Någon som har koll på vad som gick fel? Klart det är lite jobbigt men jag ska ha en backup på min data.
/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem

Använd uuidt för resp disc

Visa signatur

Nätverksnörd

Permalänk
Medlem
Skrivet av moire:

Använd uuidt för resp disc

Insåg det och bytte! Men om du kollar i min edit gick det inte enligt plan.

Någon idé om varför hastigheten är 400 kb/s resilver?

mvh
/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem

OS-kärnor brukar trottla farten för att det inte skall påverka 'övrig verksamhet' för mycket - men 400 kB/s verkar onekligen lite. Har du SMR-diskar på någon av diskarna, i så fall vet du orsaken då ZFS och SMR-diskar kan gå väldigt illa ihop.

Fans någon grafisk illustration i annan tråd där man jämförde PMR-diskar och SMR-diskar i en resilveringsprocess i ZFS - det var typ en faktor 13 gånger långsammare med SMR-disk i jämförlse med en PMR-disk (med mdadm-RAID i RAID5 så är resynktiden typisk dubbla tiden med SMR-disk i jämförelse med en PMR-disk).

Permalänk

@zonar: det tar lite tid i början men sen brukar hastigheten gå upp.

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem
Skrivet av xxargs:

OS-kärnor brukar trottla farten för att det inte skall påverka 'övrig verksamhet' för mycket - men 400 kB/s verkar onekligen lite. Har du SMR-diskar på någon av diskarna, i så fall vet du orsaken då ZFS och SMR-diskar kan gå väldigt illa ihop.

Fans någon grafisk illustration i annan tråd där man jämförde PMR-diskar och SMR-diskar i en resilveringsprocess i ZFS - det var typ en faktor 13 gånger långsammare med SMR-disk i jämförlse med en PMR-disk (med mdadm-RAID i RAID5 så är resynktiden typisk dubbla tiden med SMR-disk i jämförelse med en PMR-disk).

Detta är ett par äldre 4 Tb diskar, någon Hitach och något Seagate tror jag och jag har för mig att SMR dök upp senare.

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem
Skrivet av knorrrhane:

@zonar: det tar lite tid i början men sen brukar hastigheten gå upp.

hehe, nu är jag nere i 56.6 kb/s, 2000-talet nästa? Får kolla hur det går i morgon och se om det har fått upp farten lite i alla fall.

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk

@zonar: aj då min resilvering brukar börja lågt och sen komma upp i maxhastighet för diskarna.. får se imorgon då!

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem

@knorrhane: Hastigheten fortsätter ner och är nu under 20 kb/s... Min pool innehöll bara 23 Gb data men med denna farten börjar det bli löjligt!

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk

@zonar: ja det verkar som om det är något som är fel. det var inget fel på diskarna du satte i? om det är många dåliga sektors så tar det tid för ZFS att gå igenom och märka upp de. sen vet jag inte vad det är för dator du har, är det cpu som inte räcker till?

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem

@knorrrhane:

Maskinen som detta kör på är en virtualiserad maskin. Ett HBA kort är monterat i datorn vilket är utdelat till den specifika maskinen med passthrough. Processorn är en Xeon E5-2667 v3 och minnet är av ECC typ.

Maskinen kör i vanliga fall resilvering varje vecka och den kördes i helgen. Den "nya" disken som jag lade till har jag inte kollat närmare på ett tag men den funkade fint i en annan zfs-pool tidigare.

Det jag tycker är lite märkligt är att med kommandot zpool status får jag följande utskrift.

NAME STATE READ WRITE CKSUM ncdata DEGRADED 0 0 0 mirror-0 DEGRADED 1.90M 0 0 8439916330605280079 FAULTED 0 0 0 corrupted data sdc ONLINE 0 0 1.90M

Disken 8439916330605280079 är den ursprungliga disken medans sdc är den nya disken. Det märkliga är att den gamla blir corrupted när jag stoppade in den nya samt att den nya är "online". Om det hade varit tvärt om hade jag förtstått mer. Datan låg på den gamla disken och måste speglas över till den nya. Därför inbildar jag mig att den nya borde varit corrupt eller waiting for data etc. på den nya?

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem

Gissar att det är ett Linux system, Ubuntu Server?

Disken som enbart får ett nummer ser ut att inte vara mountad/raderad på rätt vis, kanske innehåller gamla partitioner eller signaturer fortfarande?
-I såfall kan det vara idé att radera disken grundligt, helst i ett annat system som inte försöker starta/mounta de ev. befintliga partitionerna på disken. Kanske även köra något SMART-test på den.
-Kan även hända att disken är kass eller att passthrough/HBA ställer till med bekymmer.

OSB! Nedan anvisningar skall du endast utföra om du har backup på ALL känslig information, då det kommer att radera båda diskarna.

(-Förutsatt att dina diskar som skall ingå i poolen är mountade som sdc och sdd)

Steg 1.
Skulle säga att du enklast flyttar/kopierar datan (23GB) från den aktiva/fungerande disken till annan säker plats, tillfälligt, sedan kör en:

sudo wipefs -a /dev/sdc /dev/sdd

*För att rensa diskarna från gamla partitionssignaturer.

Steg 2.

Sedan skapar du om ZFS-poolen som "mirror" med:

sudo zpool create ncdata mirror /dev/sdc /dev/sdd

alt.

sudo zpool create -f ncdata mirror /dev/sdc /dev/sdd för att tvinga fram skapandet.

Efter det skall du se en felfri ZFS-pool i mirrored mode.

sudo zpool status

Kopiera tillbaka datan som du tog backup på. i 1:a steget.

Visa signatur

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 20.04 LTS
-Numera titulerad: "dator-hipster" då jag har en AMD GPU och dessutom kör Linux.

Permalänk
Medlem

@krigelkorren:

Ett stort tack för hjälpen!

Japp, jag tror det är dags att göra något drastiskt då hastigheten ständigt sjunker...

Eftersom detta är ett nextcloud storage finns all data på clienterna sedan har jag en off-site backup också som jag kan återställa ifrån så jag tror det bara är att kavla upp ärmarna och rocka loss! Inget är bättre än praktisk erfarenhet av att det skiter sig på riktigt!

/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem

@krigelkorren: Så nu kavlade jag upp armarna och började skyffla!

Kontentan var att något hade nog riktigt spårat ur och zpool kommandona hängde sig. Det slutade med att jag jag fick testa den virtuella restknappen....

När den då hoppade igång igen efter reboot startade allt upp i ett mycket bättre skick helt magiskt och resilver gick med 150 Mb/s och blev klart på ett par minuter.

Använde kommandot, för att lägga till en till disk till mirror:

zpool attach ncdata /dev/sdc /dev/sda

Lät resilverprocessen avsluta och sedan tog jag bort /dev/sdb som föreföll konstigt monterad,

zpool detatch ncdata 8226824548892140475

Rensade disken med:

wipefs -a /dev/sdb

La tillbaka disken till poolen

zpool attach ncdata /dev/sda /dev/sdb

# zpool status pool: ncdata state: ONLINE scan: resilvered 23.6G in 0 days 00:04:36 with 0 errors on Tue Sep 22 11:31:24 2020 remove: Removal of vdev 1 copied 960K in 0h0m, completed on Mon Sep 21 17:13:37 2020 2.51K memory used for removed device mappings config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sdc ONLINE 0 0 0 sda ONLINE 0 0 0 sdb ONLINE 0 0 0 errors: No known data errors

Körde min rsync baklänges och jämförde den återskapade lokala datan vilken var identisk med min backup!

Så jag for nog anse att mitt problem löste sig på något magiskt sätt med en hård reset!

Tack alla för hjälpen!
/z

Visa signatur

C2D E6300 @ 3.2HGz 1.2V | Thermalright 120 Extr. | Gainward 8800 GT Golden Sample |Samsung 2x500Gb | Corsair VX 550V | Antec P182 [img]http://valid.x86-secret.com/cache/banner/421648.png[/img]

Permalänk
Medlem
Skrivet av zonar:

@krigelkorren: Så nu kavlade jag upp armarna och började skyffla!

Kontentan var att något hade nog riktigt spårat ur och zpool kommandona hängde sig. Det slutade med att jag jag fick testa den virtuella restknappen....

När den då hoppade igång igen efter reboot startade allt upp i ett mycket bättre skick helt magiskt och resilver gick med 150 Mb/s och blev klart på ett par minuter.

Använde kommandot, för att lägga till en till disk till mirror:

zpool attach ncdata /dev/sdc /dev/sda

Lät resilverprocessen avsluta och sedan tog jag bort /dev/sdb som föreföll konstigt monterad,

zpool detatch ncdata 8226824548892140475

Rensade disken med:

wipefs -a /dev/sdb

La tillbaka disken till poolen

zpool attach ncdata /dev/sda /dev/sdb

# zpool status pool: ncdata state: ONLINE scan: resilvered 23.6G in 0 days 00:04:36 with 0 errors on Tue Sep 22 11:31:24 2020 remove: Removal of vdev 1 copied 960K in 0h0m, completed on Mon Sep 21 17:13:37 2020 2.51K memory used for removed device mappings config: NAME STATE READ WRITE CKSUM ncdata ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sdc ONLINE 0 0 0 sda ONLINE 0 0 0 sdb ONLINE 0 0 0 errors: No known data errors

Körde min rsync baklänges och jämförde den återskapade lokala datan vilken var identisk med min backup!

Så jag for nog anse att mitt problem löste sig på något magiskt sätt med en hård reset!

Tack alla för hjälpen!
/z

"-Have you tried turning it OFF and ON?"

Ibland kan även de simplaste lösningarna vara de bästa!

Visa signatur

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 20.04 LTS
-Numera titulerad: "dator-hipster" då jag har en AMD GPU och dessutom kör Linux.

Permalänk
Medlem

Norsk reset skall man inte skämta om... ibland är det den enda lösning att ta till för att saker skall hoppa igång igen.