Ngganti Drive Gagal ing Array mdadm ing Ubuntu
Diterbitake: 15 Februari 2025 ing 22:03:25 UTC
Yen sampeyan ana ing kahanan dreaded gadhah Gagal drive ing mdadm RAID array, artikel iki nerangake carane bener ngganti ing sistem Ubuntu.
Replacing a Failed Drive in an mdadm Array on Ubuntu
Informasi ing kirim iki adhedhasar Ubuntu 18.04 lan versi mdadm kalebu ing repositori; ing wektu nulis v4.1-rc1. Bisa uga ora bener kanggo versi liyane.
Aku bubar wis Gagal drive dadakan ing server file ngarep, kang kasusun saka sangang drive ing mdadm RAID-6 Uploaded. Sing tansah medeni, nanging aku iki bok manawa bisa cepet sumber drive panggantos sing wis dikirim dina sabanjuré supaya aku bisa miwiti mbangun maneh.
Aku iki diakoni dicokot banget mirah nalika aku Originally persiyapan server file; mung loro saka drive NAS drive nyata (Seagate IronWolf), nalika liyane iku drive desktop (Seagate Barracuda). Ora kaget, iku salah siji saka drive desktop sing wis nyerah (sawise meh telung taun layanan, sanadyan). Iku rampung mati; sawise mindhah menyang pager USB desktop kabeh aku entuk metu saka iku unnerving ngeklik swara lan ora Ubuntu 20.04 utawa Windows 10 bisa ndeteksi.
Oh uga, menyang bagean panggantos (lan ya, drive anyar sing daktuku yaiku IronWolf, pelajaran) - kaya medeni amarga kelangan drive ing array sing mlaku, luwih medeni yen sampeyan ora ngerti prosedur sing bener kanggo ngganti. Iku ora pisanan aku kudu ngganti drive gagal ing mdadm Uploaded, nanging Begjanipun iku arang banget sing biasane kudu katon munggah printah sing tepat. Iki wektu aku mutusaké kanggo mecut munggah guide sethitik dhewe kanggo referensi mangsa.
Dadi, pisanan kabeh, nalika sampeyan entuk e-mail acara gagal dreaded saka mdadm, sampeyan kudu identitas drive kang wis gagal. Manawa, bakal menehi sampeyan jeneng piranti (ing kasusku / dev / sdf), nanging mbokmenawa ora jelas drive fisik sing bener amarga jeneng kasebut bisa diganti nalika mesin wis boot.
Yen sampeyan ora yakin manawa jeneng piranti sing gagal, sampeyan bisa nggunakake printah ing ngisor iki kanggo ngerteni (ganti / dev / md0 karo piranti RAID sampeyan):
Kaya sing kasebut, ing kasusku yaiku / dev / sdf, mula ayo terusake.
Banjur, sampeyan bisa nyoba nemokake nomer seri drive sing gagal kanthi nerbitake printah iki:
(yen smartctl ora ditemokake, sampeyan kudu nginstal paket smartmontools ing Ubuntu)
Nomer serial banjur bisa dibandhingake karo nomer serial ing label fisik ing drive kanggo tokoh metu kang wis gagal.
Nanging wektu iki, aku ora dadi begja. Drive rampung mati lan malah ora gelem menehi SMART utawa data liyane, kalebu nomer seri.
Awit aku wis akses fisik kanggo server (sing pancene kudu yen sampeyan arep kanggo ngganti drive fisik dhewe, Aku ;-)) lan server iki bener mlaku nalika disk gagal (lan terus mlaku nggoleki thanks kanggo RAID-6 redundansi), Aku lunga karo tenan primitif, nanging bener banget efektif lan ketok, cara mung nyalin file gedhe kanggo server lan ora nonton kang flicker cahya HDD. Ing sawetara detik aku wis ngenali pelakune.
Saiki, sadurunge nyopot drive fisik, luwih becik menehi informasi resmi marang mdadm babagan maksud iki, kanthi nerbitake printah iki (ganti jeneng piranti nganggo jeneng sampeyan dhewe yen cocog):
Ing sukses, mdadm bakal reply karo pesen matur sing "panas dibusak" drive, ketoke amarga piranti gropyokan virtual bener mlaku ing wektu.
Yen gagal karo pesen kesalahan padha "piranti utawa sumber sibuk", bisa mdadm wis nyatane ora ndhaftar drive wis rampung gagal. Kanggo nindakake iki, ketik printah iki (maneh, elinga ngganti jeneng piranti nganggo jeneng sampeyan dhewe sing cocog):
Sawisé iku, sampeyan kudu bisa mbusak piranti saka larik karo printah sadurungé.
Saiki iku wektu kanggo bener ngganti drive. Yen sampeyan pancene, tenan - kaya, tenan - tartamtu mesin lan controller ndhukung hot swapping, sampeyan bisa nindakake iki tanpa mateni mesin. Iku bakal dadi cara kanggo pindhah ing sistem produksi kritis mlaku ing nyata, hardware server tepat sing ngerti kanggo kasunyatan bisa nangani. Server file ngarepku adhedhasar motherboard desktop kelas konsumen karo saperangan pengontrol SATA semi-noname ing slot PCIe kanggo nyedhiyani liyane bandar SATA, sanadyan.
Senajan SATA umume kudu ndhukung pertukaran panas, Aku ora bab resiko apa ing persiyapan iki, aku milih kanggo mati mesin nalika ngganti drive.
Sadurunge nindakake iku, iku apike kanggo menehi komentar metu piranti gropyokan ing / etc / fstab file supaya Ubuntu ora bakal nyoba kanggo Gunung kanthi otomatis ing boot sabanjuré, amarga bisa nyumerepi lan meksa sampeyan menyang mode Recovery amarga array RAID degradasi. Sing bisa uga ora dadi masalah gedhe yen iku sistem desktop, nanging aku mbukak server iki headless tanpa monitor utawa keyboard ditempelake, supaya iki bakal dadi dicokot saka musuhan.
Sawise booting mesin karo drive anyar mengilap diinstal, nggunakake lsblk utawa cara liya kanggo ngenali. Yen sampeyan wis ora diganti tindakan liya, iku bakal mbokmenawa (nanging ora kudu ) njaluk jeneng sing padha karo drive sing diganti. Ing kasusku, mula sing anyar uga diarani /dev/sdf.
Minangka Uploaded sandi adhedhasar sekat tinimbang piranti fisik, Aku needed kanggo nyalin tabel pemisahan saka drive digunakake kanggo drive anyar kanggo mesthekake yen padha persis padha. Yen sampeyan mbukak array ing piranti fisik, sampeyan bisa ngliwati langkah iki.
Aku nggunakake sgdisk kanggo tujuan iki, nyalin tabel partisi saka / dev / sdc menyang / dev / sdf. Priksa manawa sampeyan ngganti jeneng piranti supaya cocog karo jeneng sampeyan.
Wigati pesenan ing kene: sampeyan dhaptar drive "kanggo" dhisik! Iki rada kontra-intuisi kanggo aku, nanging priksa manawa sampeyan bener supaya sampeyan ora entuk kegagalan drive liyane ing array ;-)
Banjur kanggo ngindhari konflik UUID, gawe UUID anyar kanggo drive anyar:
Lan saiki pungkasane wis teka kanggo nambah drive anyar menyang array lan miwiti pesta mbangun maneh! (Oke, iki dudu pesta, nanging sejatine proses sing alon lan ora nyenengake amarga sampeyan pancene ora pengin drive liyane gagal ing wektu iki. Bir bisa uga mbantu)
Oalah, kanggo nambah drive anyar menyang array, ketik printah iki (maneh, priksa manawa sampeyan ngganti jeneng piranti nganggo jeneng sampeyan dhewe sing cocog):
Yen kabeh dadi apik, drive bakal ditambahake menyang array tanpa hiccups. Aku pracaya iku bener ditambahake minangka "panas spare" minangka standar, nanging wiwit Uploaded iki ilang disk (sing gagal), iku langsung sijine menyang nggunakake lan proses mbangun maneh bakal miwiti.
Sampeyan bisa ngawasi kaya mangkene:
Iki mbokmenawa bakal njupuk nalika; ing server asor sandi (adhedhasar umumé ing hardware kelas konsumen lan drive desktop, pikiran sampeyan) iku bisa kanggo tekan mung ing 100 MB / sec. Elinga yen iki RAID-6, dadi ana akeh petungan paritas melu mbangun maneh; RAID-10 mesthi luwih cepet. mesin tartamtu iki wis AMD A10 9700E kotak inti CPU (ing "E" tegese iku model efisien energi ing-clocked, IE ora super cepet), mung kanggo menehi idea saka apa nyana. Kanthi sangang 8 TB drive ing persiyapan, mbangun maneh lengkap njupuk mung liwat 24 jam.
Sajrone mbangun maneh, sampeyan bisa masang filesystem ing array lan nggunakake kaya normal yen pengin, nanging aku luwih seneng ninggalake kanggo mbangun maneh nganti rampung. Elinga yen salah siji drive gagal, liyane bakal enggal ngetutake, mula sampeyan pengin mbangun maneh kanthi cepet amarga sampeyan ora pengin drive liyane gagal sajrone wektu kasebut. Mulane, aja beban karo IO liyane sing ora perlu.
Yen wis rampung, tambahake maneh menyang file /etc/fstab, urip maneh lan nikmati file sampeyan :-)