{"id":259,"date":"2018-12-23T20:11:14","date_gmt":"2018-12-23T19:11:14","guid":{"rendered":"http:\/\/slackware.pt\/?p=259"},"modified":"2018-12-24T04:46:20","modified_gmt":"2018-12-24T03:46:20","slug":"converter-o-disco-de-sistema-em-raid-1","status":"publish","type":"post","link":"http:\/\/slackware.pt\/?p=259","title":{"rendered":"Converter o disco de sistema em RAID 1"},"content":{"rendered":"<p>Numa das m\u00e1quinas, talvez a mais antiga, o disco de sistema (boot) n\u00e3o est\u00e1 em <a href=\"https:\/\/en.wikipedia.org\/wiki\/RAID\">RAID<\/a>. \u00c9 a \u00fanica onde isso acontece, e vou tentar convert\u00ea-lo hoje para RAID 1.<\/p>\n<p>Li v\u00e1rios <a href=\"https:\/\/www.google.com\/search?q=linux+convert+boot+to+raid\">artigos na net@<\/a> &#8211; principalmente <a href=\"https:\/\/wiki.archlinux.org\/index.php\/Convert_a_single_drive_system_to_RAID\">este<\/a> &#8211;  para ver se havia uma forma expedita de fazer isto, mas parece que tem mesmo que ser feito &#8220;\u00e0 unha&#8221;. A solu\u00e7\u00e3o que vou descrever abaixo \u00e9 muito pr\u00f3xima da que imaginei <em>a priori<\/em>.<\/p>\n<p>Arranjar um disco de tamanho igual ao do disco de boot.<br \/>\nCriar parti\u00e7\u00f5es iguais.<\/p>\n<p>No meu caso, o disco de boot tinha as parti\u00e7\u00f5es seguintes:<\/p>\n<p><code>Device     Boot   Start       End   Sectors   Size Id Type<br \/>\n\/dev\/sda1          2048   4196351   4194304     2G 82 Linux swap<br \/>\n\/dev\/sda2       4196352   8390655   4194304     2G 82 Linux swap<br \/>\n\/dev\/sda3       8390656 488397167 480006512 228.9G 83 Linux<\/code><\/p>\n<p>Com o fdisk, criei tamb\u00e9m duas parti\u00e7\u00f5es de SWAP com 2GB cada e uma de Linux RAID, no disco novo:<\/p>\n<p><code>Device     Boot   Start       End   Sectors   Size Id Type<br \/>\n\/dev\/sdb1          2048   4196351   4194304     2G 82 Linux swap<br \/>\n\/dev\/sdb2       4196352   8390655   4194304     2G 82 Linux swap<br \/>\n\/dev\/sdb3       8390656 488397167 480006512 228.9G fd Linux raid autodetect<\/code><\/p>\n<p>Adicionei as parti\u00e7\u00f5es de SWAP ao fstab:<\/p>\n<p><code>\/dev\/sdb1        swap             swap        defaults         0   0<br \/>\n\/dev\/sdb2        swap             swap        defaults         0   0<\/code><\/p>\n<p>Para copiar a parti\u00e7\u00e3o sda3 para a sdb3, desliguei a m\u00e1quina, e arranquei com o DVD de instala\u00e7\u00e3o de uma vers\u00e3o recente do Slackware.<\/p>\n<p>Depois, criei o array do RAID. De notar o atributo <em>missing<\/em> que indica que h\u00e1 um disco em falta, que ir\u00e1 ser adicionado mais tarde:<\/p>\n<p><code>mdadm --create --metadata=0.90 \/dev\/md0 --level=1 --raid-devices=2 missing \/dev\/sdb3<\/code><\/p>\n<p>O par\u00e2metro <code>--metadata=0.90<\/code> \u00e9 necess\u00e1rio porque este volume vai ser um volume de arranque e o <code>lilo<\/code> precisa disso.<\/p>\n<p>Para confirmar se o RAID foi bem criado, corri o comando <code>cat \/proc\/mdstat<\/code><\/p>\n<p><code>Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]<br \/>\nmd0 : active raid1 sdb3[1]<br \/>\n      239871104 blocks super 1.2 [2\/1] [_U]<br \/>\n      bitmap: 0\/2 pages [0KB], 65536KB chunk<\/code><\/p>\n<p>Depois formatei o RAID:<\/p>\n<p><code>mkfs.ext4 \/dev\/md0<\/code><\/p>\n<p>E copiei os ficheiros<\/p>\n<p><code>mount \/dev\/sda3 \/mnt\/d1<br \/>\nmount \/dev\/md0 \/mnt\/d2<br \/>\ncp -rp \/mnt\/d1\/* \/mnt\/d2<\/code><\/p>\n<p>Nota: experimentei v\u00e1rias outras formas de copiar os ficheiros, mas esta foi a \u00fanica que funcionou. Tentei copiar a parti\u00e7\u00e3o inteira (com <strong>dd<\/strong>), tentei tamb\u00e9m usar o <strong>rsync<\/strong>, mas n\u00e3o estava instalado no sistema base de instala\u00e7\u00e3o do Slackware.<\/p>\n<p>Como a c\u00f3pia pode demorar muito tempo, pode verificar-se o andamento da c\u00f3pia, noutra janela de consola (CTRL+ALT+F2), onde <PID> \u00e9 o <b>process ID<\/b> do comando <b>cp<\/b>:<\/p>\n<p><code>cat \/proc\/<PID>\/io<\/code><\/p>\n<p>No meu caso, para 176GB, demorou 1h26m.<\/p>\n<p>Depois da c\u00f3pia feita, \u00e9 necess\u00e1rio preparar o RAID para o arranque.<\/p>\n<p><code>cp \/mnt\/d2\/etc\/mdadm.conf \/mnt\/d2\/etc\/mdadm.conf.ori<br \/>\necho 'DEVICES \/dev\/sd[abcdefgh]3' > \/mnt\/d2\/etc\/mdadm.conf<br \/>\nmdadm --detail --scan >> \/mnt\/d2\/etc\/mdadm.conf<\/code><\/p>\n<p>No lilo.conf, tenho que colocar, no in\u00edcio:<\/p>\n<p><code>boot = \/dev\/md0<br \/>\nraid-extra-boot=\"\/dev\/sda,\/dev\/sdb\"<\/code><\/p>\n<p>e, mais abaixo:<\/p>\n<p><code>root = \/dev\/md0<\/code><\/p>\n<p>Para isso:<\/p>\n<p><code>vi \/mnt\/d2\/etc\/lilo.conf<\/code><\/p>\n<p>Como o ficheiro \/proc\/partitions n\u00e3o existe no disco do RAID, porque s\u00f3 existe no disco do sistema ativo, mas como preciso dele para correr o lilo, fa\u00e7o o seguinte:<\/p>\n<p><code>cp \/proc\/partitions \/mnt\/d2\/proc<\/code><\/p>\n<p>Depois, corri o <code>lilo<\/code>, com a op\u00e7\u00e3o -H, porque um dos discos do RAID n\u00e3o est\u00e1 ainda ativo.<\/p>\n<p><code>chroot \/mnt\/d2<br \/>\nlilo -H<br \/>\nexit<\/code><\/p>\n<p>No ficheiro <code>\/mnt\/d2\/etc\/fstab<\/code> corrigi o caminho para o boot:<\/p>\n<p><code>\/dev\/md0   \/   ext4    defaults    1   1<\/code><\/p>\n<p>Desliguei a m\u00e1quina. Retirei o DVD. No arranque, pedi para arrancar com o disco novo, aquele onde est\u00e1 o RAID.<\/p>\n<p>Confirmei que o sistema tinha arrancado com o disco novo, com o comando <code>cat \/proc\/mdstat<\/code>.<\/p>\n<p>Com o comando <code>fdisk \/dev\/sda<\/code> transformei a parti\u00e7\u00e3o <code>\/dev\/sda3<\/code> em Linux RAID.<br \/>\nDepois, adicionei o disco <code>\/dev\/sda3<\/code> ao RAID.<\/p>\n<p><code>mdadm --manage \/dev\/md0 --add \/dev\/sda3<\/code><\/p>\n<p>E depois executei o comnando <code>cat \/proc\/mdstat<\/code> para verificar o estado do RAID.<\/p>\n<p><code>Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]<br \/>\nmd0 : active raid1 sda3[2] sdb3[1]<br \/>\n      240003136 blocks [2\/1] [_U]<br \/>\n      [>....................]  recovery =  0.3% (810240\/240003136) finish=68.8min speed=57874K\/sec<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Numa das m\u00e1quinas, talvez a mais antiga, o disco de sistema (boot) n\u00e3o est\u00e1 em RAID. \u00c9 a \u00fanica onde isso acontece, e vou tentar convert\u00ea-lo hoje para RAID 1. Li v\u00e1rios artigos na net@ &#8211; principalmente este &#8211; para ver se havia uma forma expedita de fazer isto, mas parece que tem mesmo que &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/slackware.pt\/?p=259\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;Converter o disco de sistema em RAID 1&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/259"}],"collection":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=259"}],"version-history":[{"count":4,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/259\/revisions"}],"predecessor-version":[{"id":263,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/259\/revisions\/263"}],"wp:attachment":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}