{"id":378,"date":"2012-10-17T14:33:29","date_gmt":"2012-10-17T12:33:29","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=378"},"modified":"2013-10-10T13:02:37","modified_gmt":"2013-10-10T11:02:37","slug":"recupero-del-raid1","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=378","title":{"rendered":"Recupero del raid1"},"content":{"rendered":"<p>Adesso che abbiamo finito e che abbiamo verificato che il raid 1 funziona giusto per capire come recuperare un raid in caso di degrado &#8220;ammazziamo&#8221; \/dev\/sdb.<\/p>\n<p>Spegniamo la macchina ed estraiamo \/dev\/sda quindi ripartiamo con una live (io ho usato una\u00a0 knoppix )\u00a0 e\u00a0 con un cfdisk \/dev\/sda (il disco sano lo abbiamo tolto quindi questo automaticamente diventa sda) togiamo le partizioni sino ad avere totale spazio libero.<br \/>\nPer essere assolutamente sicuri che il disco sia pulito del tutto cancelliamo anche l&#8217;MBR con un dd if=\/dev\/zero of=\/dev\/sda bs=512 count=1<br \/>\nRipartiamo con il disco del raid sano e se facciamo cat \/proc\/mdstat troveremo un qualcosa del tipo:<\/p>\n<p>root@crm:\/home\/clark# cat \/proc\/mdstat<br \/>\nPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br \/>\nmd2 : active raid1 sdb3[2] sda3[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [U_]<\/p>\n<p>md5 : active raid1 sdb7[2] sda7[0]<br \/>\n975296 blocks super 1.2 [2\/1] [U_]<\/p>\n<p>md4 : active raid1 sdb6[2] sda6[0]<br \/>\n117120896 blocks super 1.2 [2\/1] [U_]<\/p>\n<p>md3 : active raid1 sdb5[2] sda5[0]<br \/>\n19513216 blocks super 1.2 [2\/1] [U_]<\/p>\n<p>md6 : active raid1 sdb8[2] sda8[0]<br \/>\n1674176 blocks super 1.2 [2\/1] [U_]<\/p>\n<p>md0 : active raid1 sdb1[2] sda1[0]<br \/>\n96128 blocks super 1.2 [2\/2] [U_]<\/p>\n<p>md1 : active raid1 sdb2[2] sda2[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [U_]<\/p>\n<p>unused devices: &lt;none&gt;<br \/>\nCopiamo le partizioni da \/dev\/sda a \/dev\/sdb con<\/p>\n<p>sfdisk -d \/dev\/sda | sfdisk \/dev\/sdb<\/p>\n<p>Assicuriamoci di cancellare del tutto da \/dev\/sdb qualsiasi traccia del precedente raid con:<\/p>\n<p>root@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb1<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb2<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb3<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb4<br \/>\nmdadm: Unrecognised md component device &#8211; \/dev\/sdb4<br \/>\nSVEGLIA!!!!!!!!!! la 4 \u00e8 la logica che contiene le altre!!!!<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb5<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb6<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb7<br \/>\nroot@crm:\/home\/clarki# mdadm &#8211;zero-superblock \/dev\/sdb8<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;zero-superblock \/dev\/sdb9<br \/>\ne successivamente aggiungiamo le partizioni ai device md con<\/p>\n<p>root@crm:\/home\/clark# mdadm &#8211;add \/dev\/md0 \/dev\/sdb1<br \/>\nmdadm: added \/dev\/sdb1<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md1 \/dev\/sdb2<br \/>\nmdadm: added \/dev\/sdb2<br \/>\nroot@crm:\/home\/clarki# mdadm &#8211;add \/dev\/md2 \/dev\/sdb3<br \/>\nmdadm: added \/dev\/sdb3<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md3 \/dev\/sdb5<br \/>\nmdadm: added \/dev\/sdb5<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md4 \/dev\/sdb6<br \/>\nmdadm: added \/dev\/sdb6<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md5 \/dev\/sdb7<br \/>\nmdadm: added \/dev\/sdb7<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md6 \/dev\/sdb8<br \/>\nmdadm: added \/dev\/sdb8<\/p>\n<p>teniamo sotto controllo il processo con un cat \/proc\/mdstat e troveremo un qualcosa del tipo:<\/p>\n<p>root@crm:\/home\/clark# cat \/proc\/mdstat<br \/>\nPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br \/>\nmd2 : active raid1 sdb3[2] sda3[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md5 : active raid1 sdb7[2] sda7[0]<br \/>\n975296 blocks super 1.2 [2\/1] [U_]<br \/>\nresync=DELAYED<\/p>\n<p>md4 : active raid1 sdb6[2] sda6[0]<br \/>\n117120896 blocks super 1.2 [2\/1] [U_]<br \/>\n[============&gt;&#8230;&#8230;..]\u00a0 recovery = 64.6% (75675520\/117120896) finish=10.6min speed=64932K\/sec<\/p>\n<p>md3 : active raid1 sdb5[2] sda5[0]<br \/>\n19513216 blocks super 1.2 [2\/1] [U_]<br \/>\nresync=DELAYED<\/p>\n<p>md6 : active raid1 sdb8[2] sda8[0]<br \/>\n1674176 blocks super 1.2 [2\/1] [U_]<br \/>\nresync=DELAYED<\/p>\n<p>md0 : active raid1 sdb1[2] sda1[0]<br \/>\n96128 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md1 : active raid1 sdb2[2] sda2[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>unused devices: &lt;none&gt;<\/p>\n<p>il progresso della ricostruzione del raid \u00e8 visibile e una volta finito avremo una situazione come questa:<br \/>\nroot@crm:\/home\/clark# cat \/proc\/mdstat<br \/>\nPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br \/>\nmd2 : active raid1 sdb3[2] sda3[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md5 : active raid1 sdb7[2] sda7[0]<br \/>\n975296 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md4 : active raid1 sdb6[2] sda6[0]<br \/>\n117120896 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md3 : active raid1 sdb5[2] sda5[0]<br \/>\n19513216 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md6 : active raid1 sdb8[2] sda8[0]<br \/>\n1674176 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md0 : active raid1 sdb1[2] sda1[0]<br \/>\n96128 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>md1 : active raid1 sdb2[2] sda2[0]<br \/>\n1951680 blocks super 1.2 [2\/2] [UU]<\/p>\n<p>unused devices: &lt;none&gt;<\/p>\n<p>il nostro raid1 \u00e8 ricostruito reinstalliamo grub su entrambi i dischi tanto per non sbagliare con un:<\/p>\n<p>grub-install \/dev\/sda<br \/>\nInstallation finished. No error reported<br \/>\ngrub-install \/dev\/sdb<br \/>\nInstallation finished. No error reported<\/p>\n<p>spegniamo il nostro server ed estraiamo sda per vedere se con solo sdb parte regolarmente.<br \/>\nSe tutto ok e il server riparte avremo una situazione del tipo:<\/p>\n<p>root@crm:\/home\/guenzi# cat \/proc\/mdstat<br \/>\nPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br \/>\nmd2 : active raid1 sda3[2]<br \/>\n1951680 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md4 : active raid1 sda6[2]<br \/>\n117120896 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md1 : active (auto-read-only) raid1 sda2[2]<br \/>\n1951680 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md6 : active raid1 sda8[2]<br \/>\n1674176 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md0 : active raid1 sda1[2]<br \/>\n96128 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md5 : active raid1 sda7[2]<br \/>\n975296 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>md3 : active raid1 sda5[2]<br \/>\n19513216 blocks super 1.2 [2\/1] [_U]<\/p>\n<p>unused devices: &lt;none&gt;<br \/>\ne quindi tutto a posto, rispegniamo la macchina rimettiamo sda e ripetiamo alla rovescia la sincronia aggiungendo sda ai device md<\/p>\n<p>root@crm:\/home\/clark# mdadm &#8211;add \/dev\/md0 \/dev\/sda1<br \/>\nmdadm: added \/dev\/sda1<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md1 \/dev\/sda2<br \/>\nmdadm: added \/dev\/sda2<br \/>\nroot@crm:\/home\/clarki# mdadm &#8211;add \/dev\/md2 \/dev\/sda3<br \/>\nmdadm: added \/dev\/sda3<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md3 \/dev\/sda5<br \/>\nmdadm: added \/dev\/sda5<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md4 \/dev\/sda6<br \/>\nmdadm: added \/dev\/sda6<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md5 \/dev\/sda7<br \/>\nmdadm: added \/dev\/sda7<br \/>\nroot@crm:\/home\/clark# mdadm &#8211;add \/dev\/md6 \/dev\/sda8<br \/>\nmdadm: added \/dev\/sda8<\/p>\n<p>e il nostro server in raid1 \u00e8 a posto.<\/p>\n<p>Tutta questa procedura pu\u00f2 di primo acchito sembrare inutile e farraginosa,\u00a0 vi assicuro che non lo \u00e8 mi \u00e8 capitato in passato di fidarmi e una volta che il disco principale \u00e8 andato a $donnine ero fermo e con una macchina critical mission\u00a0 (ovviamente) quindi da allora i rad1 software li provo sempre prima di metterli in produzione anche se a volte il giro dura mezza giornata.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Adesso che abbiamo finito e che abbiamo verificato che il raid 1 funziona giusto per capire come recuperare un raid in caso di degrado &#8220;ammazziamo&#8221; \/dev\/sdb. Spegniamo la macchina ed estraiamo \/dev\/sda quindi ripartiamo con una live (io ho usato una\u00a0 knoppix )\u00a0 e\u00a0 con un cfdisk \/dev\/sda (il disco sano lo abbiamo tolto quindi [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,7,6],"tags":[],"class_list":["post-378","post","type-post","status-publish","format-standard","hentry","category-linux","category-sistemi-operativi","category-work"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=378"}],"version-history":[{"count":9,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/378\/revisions"}],"predecessor-version":[{"id":948,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/378\/revisions\/948"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=378"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}