{"id":257,"date":"2015-08-03T01:28:46","date_gmt":"2015-08-03T04:28:46","guid":{"rendered":"http:\/\/www.fernandosimon.com\/blog\/?p=257"},"modified":"2015-08-03T08:39:31","modified_gmt":"2015-08-03T11:39:31","slug":"patch-storage-server-e-ibs","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/","title":{"rendered":"Patch Storage Server e Infiniband"},"content":{"rendered":"<p style=\"text-align: justify;\">O procedimento descrito aqui contempla a atualiza\u00e7\u00e3o da imagem 11.2.3.3.0 para a imagem 12.1.2.1.2 do Oracle Exadata. Aqui est\u00e3o descritos os procedimentos para o update do Storage Server e Switch Inifiband.<\/p>\n<h2 style=\"text-align: justify;\"><strong>Primeiro Passo Principal<\/strong><\/h2>\n<p style=\"text-align: justify;\">O primeiro passo de qualquer update para Oracle Exadata \u00e9 ler o Readme da vers\u00e3o e ler o t\u00f3pico \u201cKnow Issues\u201d que lista todos os poss\u00edveis erros que voc\u00ea pode encontrar. Isso n\u00e3o quer dizer que outros erros n\u00e3o podem acontecer, mas voc\u00ea tem um local com a solu\u00e7\u00e3o dos erros conhecidos. Ent\u00e3o leia a Nota 2014306.1.<\/p>\n<p style=\"text-align: justify;\"><!--more Continue lendo...--><\/p>\n<h2 style=\"text-align: justify;\"><strong>Segundo Passo Principal<\/strong><\/h2>\n<p style=\"text-align: justify;\">Depois de ler a nota da vers\u00e3o voc\u00ea pode seguir com o download do patch do Storage Server. Os procedimentos de atualiza\u00e7\u00e3o est\u00e3o descritos no Readme do patch e devem ser lidos (mais de uma vez). \u00c9 aqui que o processo de update come\u00e7a efetivamente. Os passo descritos abaixo seguem o Readme do patch (alguns adicionais que sempre utilizo).<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 1<\/strong><\/p>\n<p style=\"text-align: justify;\">O primeiro passo do update \u00e9 executar um Exacheck no ambiente. N\u00e3o entrarei em detalhes sobre o que ele \u00e9, mas a execu\u00e7\u00e3o dele garante que diversas verifica\u00e7\u00f5es ser\u00e3o feitas no seu Exadata e um relat\u00f3rio ser\u00e1 gerado no final.<\/p>\n<p style=\"text-align: justify;\">Aqui, fiz download do Exacheck na pasta \/tmp do n\u00f3 1 do Database Server e executei ele. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-1.txt\" target=\"_blank\">aqui<\/a>. Revise o resultado e corrija poss\u00edveis erros.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 2<\/strong><\/p>\n<p style=\"text-align: justify;\">Para o processo de update precisamos de um arquivo com a lista de todos os Storage Servers, aqui criei um arquivo chamado de \u201ccell_group\u201d, o seu conte\u00fado pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-2.txt\" target=\"_blank\">aqui<\/a>. Observe que somente o hostname da rede de ger\u00eancia \u00e9 necess\u00e1rio. Tamb\u00e9m criei um arquivo \u201cdbs_group\u201d com todos os meus Database Servers.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 3<\/strong><\/p>\n<p style=\"text-align: justify;\">Este n\u00e3o \u00e9 um passo que est\u00e1 listado no processo de update mas pode ajudar muito. Segundo o processo descrito no Readme do patch voc\u00ea n\u00e3o deve iniciar o procedimento via ssh nem ilom. Mesmo conectando em um Database server e disparando o patch de l\u00e1 (que \u00e9 o modo correto) voc\u00ea pode ter problemas com a comunica\u00e7\u00e3o entre o seu computador e o servidor (ela ser perdida) e o processo de ser interrompido.<\/p>\n<p style=\"text-align: justify;\">Por isso, eu utilizo vnc server do Database Server e disparo o update atrav\u00e9s desta conex\u00e3o. Fa\u00e7o isso, pois se a conex\u00e3o entre o meu computador e o servidor tiver problemas, o update continua e voc\u00ea pode resgatar de onde parou. Inclusive nos primeiros updates do Oracle Exadata essa era uma das formas recomendadas.<\/p>\n<p style=\"text-align: justify;\">Para instalar o vnc server no Database server (rodando a vers\u00e3o 5 do Oracle Linux) voc\u00ea pode seguir as notas <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=1234710.1\" target=\"_blank\">MOS 123470.1<\/a> e <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocContentDisplay?id=735767.1\" target=\"_blank\">MOS 735767.1<\/a>. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-3.txt\" target=\"_blank\">aqui<\/a>. Neste log observe os rpm\u2019s (que fiz download do reposit\u00f3rio oficial da Oracle) instalados, verifique que modifiquei a resolu\u00e7\u00e3o para 1024&#215;768 (no arquivo vncservers) e que criei uma vncpassword para deixar a conex\u00e3o mais segura.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 4<\/strong><\/p>\n<p style=\"text-align: justify;\">Para que seja poss\u00edvel voc\u00ea iniciar o update a partir de um Database Server o usu\u00e1rio root deste servidor conectar em todos os Storage servers sem informar a senha. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-4.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\">Verifique no log que no primeiro momento a equival\u00eancia n\u00e3o funcionou. Para corrigir executei o comando presente o Readme para ajustar a equival\u00eancia e que ap\u00f3s isso o teste funcionou.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 5<\/strong><\/p>\n<p style=\"text-align: justify;\">Antes de parar qualquer servi\u00e7o ou processo verifique se o seu Grid est\u00e1 com o <em>repair time<\/em> correto (3.6 horas ou mais), que n\u00e3o est\u00e1 fazendo qualquer opera\u00e7\u00e3o e t\u00eam todos os discos presentes. Caso tenha qualquer disco faltando n\u00e3o continue, se alguma opera\u00e7\u00e3o estiver em andamento voc\u00ea deve esperar ela terminar. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-5.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 6 <\/strong><\/p>\n<p style=\"text-align: justify;\">Verifique se n\u00e3o existe qualquer erro de hardware em qualquer Storage Server. Se voc\u00ea tiver algum n\u00e3o continue, abra uma chamado para substitui\u00e7\u00e3o do hardware. Caso seja obrigat\u00f3rio o update abra uma SR com a Oracle e verifique se o update pode ser aplicado.<\/p>\n<p style=\"text-align: justify;\">Utilizei o comando \u201c<em>list alerthistory<\/em>\u201d para verificar isso e o log da execu\u00e7\u00e3o pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-6.txt\" target=\"_blank\">aqui<\/a>. No meu caso, todos os alertas estavam sanados.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 7<\/strong><\/p>\n<p style=\"text-align: justify;\">Com os requisitos b\u00e1sicos supridos podemos copiar o patch para uma pasta do Database Server e descompactar, no Readme este passo estava mais adiante mas adiantei ele. Aqui utilizei a pasta \u201c\/u01\/patch\u201d como local do arquivo, nesta pasta tamb\u00e9m copiei os arquivos com a lista de host de Storage Server e Database Server. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-7.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 8<\/strong><\/p>\n<p style=\"text-align: justify;\">Um update do Storage Server pode ser aplicado de duas formas: <em>rolling<\/em> ou <em>non-rolling<\/em>. No modo <em>rolling<\/em> os seus bancos de dados podem estar online e o update \u00e9 aplicado de forma serial em cada Storage Server. No modo <em>non-rolling<\/em> todos os bancos e Grid deve estar desligados e o update \u00e9 aplicado de forma paralela em todos os Storager Server, consequentemente \u00e9 bem mais r\u00e1pido mas voc\u00ea tem downtime do ambiente.<\/p>\n<p style=\"text-align: justify;\">Aqui eu apliquei o patch no modo \u201cnon-rolling\u201d e por isso todo o cluster Grid (em todos os n\u00f3s) foi desligado. O log da parada do grid (<em>stop cluster \u2013all<\/em>) e do crs (<em>stop crs<\/em>) pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-8.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 9<\/strong><\/p>\n<p style=\"text-align: justify;\">Depois de desligar o Grid recomendo realizar um reset do Ilom de todos os Storage Servers com o comando \u201c<em>ipmitool bmc reset cold<\/em>\u201d. Sempre fa\u00e7o isso pois o processo de update tem um timer de controle para o reboot do Storage Server e caso a sua Ilom esteja muito tempo sem reboot ela pode demorar um pouco para voltar e o script de update \u201cacreditar\u201d que ocorreu um travamento. Isso n\u00e3o est\u00e1 descrito Readme, mas n\u00e3o influencia no processo de update. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-9.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage passo 10<\/strong><\/p>\n<p style=\"text-align: justify;\">Como estou aplicando em modo \u201cnon-rolling\u201d desliguei os servi\u00e7os do Exadata software em todos os n\u00f3s. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-10.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 11<\/strong><\/p>\n<p style=\"text-align: justify;\">Este passo serve para verificar se as vers\u00f5es m\u00ednimas para update est\u00e3o presentes, o retorno tem que ser maior que 11.2.2.2.0. Para verificar quais as vers\u00f5es das imagens dos Storage Servers e Database Servers do seu ambiente com os comandos \u201cimagehistory\u201d e \u201cimageinfo\u201d. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-11.txt\" target=\"_blank\">aqui<\/a>. Neste mesmo log observe que verifiquei se nos Database Servers existe alguma vers\u00e3o do OFA instalado.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 12<\/strong><\/p>\n<p style=\"text-align: justify;\">O procedimento de patch \u00e9 realizado atrav\u00e9s de um script que faz todos o trabalho de conectar em cada Storage Server e aplicar os comandos de update. Nas primeiras vers\u00f5es todos esses passos eram feitos manualmente e eram bem mais demorados e suscet\u00edveis a erros. O script \u00e9 chamado de \u201cpatchmgr\u201d e est\u00e1 localizado dentro do arquivo do patch.<\/p>\n<p style=\"text-align: justify;\">O primeiro passo efetivo do procedimento de patch \u00e9 realizar um reset de todos os Storage Servers com o comando \u201creset_force\u201d. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-12.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\">Observe que por padr\u00e3o o script n\u00e3o executa o comando imediatamente, voc\u00ea tem 60 segundos para cancelar. Depois de disparar o comando o patchmgr somente retorna ao console quando todos os n\u00f3s estiverem online novamente.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 13<\/strong><\/p>\n<p style=\"text-align: justify;\">\u00c9 importante limpar o ambiente antes de iniciar o patch. Com este passo qualquer arquivo de patches passados (como arquivos ocultos que ficam na pasta \/boot dos Storage Server) s\u00e3o limpos. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-13.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 14<\/strong><\/p>\n<p style=\"text-align: justify;\">Antes de apresentar o resultado da execu\u00e7\u00e3o cabe uma explica\u00e7\u00e3o sobre alguns arquivos de log. Existem dois arquivos que podem ser acompanhados e nos d\u00e3o informa\u00e7\u00f5es da evolu\u00e7\u00e3o do patch, s\u00e3o os \u201cpatchmgr.stdout\u201d e \u201cpatchmgr.stderr\u201d.<\/p>\n<p style=\"text-align: justify;\">O primeiro arquivo armazena todas as sa\u00eddas em console que o patchmgr faz, \u00e9 um arquivo bem extenso mas para quem gosta de saber o que acontece ele \u00e9 uma boa fonte de informa\u00e7\u00e3o. O segundo arquivo armazena qualquer erro que ocorreu.<\/p>\n<p style=\"text-align: justify;\">Neste passo utiliza-se o patchmgr com a op\u00e7\u00e3o \u201cpatch_check_prereq\u201d para verificar se todos os requisitos est\u00e3o ok. Ele faz verifica\u00e7\u00f5es mais profundas do que a que fizemos previamente, como parti\u00e7\u00f5es e espa\u00e7o em disco em cada Storage Servers. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-14_1.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\">Se verificarmos o arquivo \u201cpatchmgr.stdout\u201d podemos observar o que foi feito pelo \u201cpatchmg\u201d. Voc\u00ea pode ver um exemplo deste arquivo <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-14_2.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 15<\/strong><\/p>\n<p style=\"text-align: justify;\">Basicamente aplicamos o patch agora. O script patchmgr \u00e9 executado com o comando o par\u00e2metro \u201cpatch\u201d, observe que fiz este procedimento atrav\u00e9s da tela do VNC.<\/p>\n<p style=\"text-align: justify;\">Pode parecer simples mas o procedimento de patch \u00e9 complexo e apesar de apresentar somente 5 etapas o que acontece internamente \u00e9 interessante. De forma bem resumida o que ocorre automaticamente durante o procedimento \u00e9:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Verifica\u00e7\u00f5es s\u00e3o feitas (o precheck) e os servidores s\u00e3o reiniciados.<\/li>\n<li>Os arquivos de patch s\u00e3o copiados para cada Storage Server.<\/li>\n<li>O Linux \u00e9 atualizado (j\u00e1 que este patch atualiza do OEL5 para o OEL6) em uma parti\u00e7\u00e3o separada.<\/li>\n<li>O Exadata Software \u00e9 atualizado e scripts s\u00e3o executados.<\/li>\n<li>Scripts finais s\u00e3o executados e o Storage Server \u00e9 reiniciado.<\/li>\n<li>Durante o reboot todos os firmwares s\u00e3o verificados e atualizados caso necess\u00e1rio: Ilom, discos, controladoras de discos, placas de rede, placas infiniband e placas Flash.<\/li>\n<li>O Storage Server reinicia na vers\u00e3o correta da imagem com todos os servi\u00e7os operacionais.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Nesta galeria voc\u00ea pode ver as imagens deste procedimento. Observe que ao fundo deixei o log do patchmgr (stdout e stderr) e nas primeiras imagens pode ver que os arquivos est\u00e3o sendo copiados e os servidores reiniciados. Depois disso o arquivo de \u201cpatchmgr.stdout\u201d nos mostra que o \u201cinstall.sh \u2013nohup\u201d foi disparado e o reboot ocorre. Por fim se voc\u00ea acompanhar na Ilom dos Storage Servers ver\u00e1 que o reboot acontece. Se voc\u00ea acompanhar a Ilom dos Storage Server (recomendo, e pode abrir de todos os Storage Servers) prepare-se para reconectar v\u00e1rias vezes pois como ela \u00e9 atualizada cada um causa o reboot e revoga\u00e7\u00e3o de qualquer conex\u00e3o.<\/p>\n<p style=\"text-align: justify;\">\t<div class='ngg-imagebrowser default-view'\n\t\tid='ngg-imagebrowser-afe02aa7faf7fbb1284c3c0ebef29d09-257'\n\t\tdata-nextgen-gallery-id=\"afe02aa7faf7fbb1284c3c0ebef29d09\"\n\t\tdata-gallery-id=\"4\">\n\n\t\t<h3>Exa-Patch-10<\/h3>\n\n\t\t<div id=\"ngg-image-0\" class=\"pic\" \n\t\t\t\t\t>\n\t\t\t\t<a href='https:\/\/www.fernandosimon.com\/blog\/wp-content\/gallery\/storage-server-patch-12-1-2-1-2\/Exa-Patch-10.png'\n\t\t\ttitle=' '\n\t\t\tdata-src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/gallery\/storage-server-patch-12-1-2-1-2\/Exa-Patch-10.png\"\n\t\t\tdata-thumbnail=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/gallery\/storage-server-patch-12-1-2-1-2\/thumbs\/thumbs_Exa-Patch-10.png\"\n\t\t\tdata-image-id=\"20\"\n\t\t\tdata-title=\"Exa-Patch-10\"\n\t\t\tdata-description=\" \"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"ngg-fancybox\" rel=\"afe02aa7faf7fbb1284c3c0ebef29d09\">\n\t\t\t\t\t\t<img title='Exa-Patch-10'\n\t\t\t\talt='Exa-Patch-10'\n\t\t\t\tsrc='https:\/\/www.fernandosimon.com\/blog\/wp-content\/gallery\/storage-server-patch-12-1-2-1-2\/Exa-Patch-10.png'\/>\n\t\t<\/a>\n\n\t\t<\/div>\n\t\t<div class='ngg-imagebrowser-nav'>\n\n\t\t\t<div class='back'>\n\t\t\t\t<a class='ngg-browser-prev'\n\t\t\t\t\tid='ngg-prev-13'\n\t\t\t\t\thref='https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/nggallery\/image\/exa-patch-02\/'>\n\t\t\t\t\t<i class=\"fa fa-chevron-left\" aria-hidden=\"true\"><\/i>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<div class='next'>\n\t\t\t\t<a class='ngg-browser-next'\n\t\t\t\t\tid='ngg-next-28'\n\t\t\t\t\thref='https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/nggallery\/image\/exa-patch-18\/'>\n\t\t\t\t\t<i class=\"fa fa-chevron-right\" aria-hidden=\"true\"><\/i>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<div class='counter'>\n\t\t\t\tImage\t\t\t\t1\t\t\t\tof\t\t\t\t17\t\t\t<\/div>\n\n\t\t<\/div>\n\n\t\t<div class='ngg-imagebrowser-desc'>\n\t\t\t<p> <\/p>\n\t\t<\/div>\n\n\t<\/div>\t\t<\/div>\n\t<\/div>\n<\/p>\n<p style=\"text-align: justify;\">Durante o procedimento n\u00e3o se assuste pela quantidade de reboot\u2019s que ver\u00e1, eles s\u00e3o necess\u00e1rios. Posso dizer que s\u00e3o os 120 minutos mais longos que vi. Aqui o processo de update de todos os Storage Server demorou em torno de 60 minutos. No fim voc\u00ea ver\u00e1 a seguinte imagem se tido ocorrer com sucesso.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 16<\/strong><\/p>\n<p style=\"text-align: justify;\">Depois do update ter sucesso \u00e9 fundamental realizar o \u201ccleanup\u201d do patch. Basta chamar o patchmgr com o par\u00e2metro \u201ccleanup\u201d.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Exa-Patch-19.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-314 size-medium\" src=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Exa-Patch-19-300x242.png\" alt=\"Cleanup of patch 12.1.2.1.2.150617.1\" width=\"300\" height=\"242\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Exa-Patch-19-300x242.png 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Exa-Patch-19-1024x825.png 1024w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Exa-Patch-19.png 1039w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 17 <\/strong><\/p>\n<p style=\"text-align: justify;\">Esta passo n\u00e3o est\u00e1 descrito no Readme mas eu sempre realizo (antes e depois) em cada patch, \u00e9 o reboot do servidor e da Ilom. Fa\u00e7o isso para garantir que n\u00e3o ir\u00e1 ocorrer um rollback da vers\u00e3o (uma vez uma c\u00e9lula ficou com o arquivo na pasta \/boot e em um reboot posterior ela fez rollback). O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-17.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Storage Passo 18<\/strong><\/p>\n<p style=\"text-align: justify;\">Este \u00e9 uma simples confer\u00eancia e voc\u00ea pode ver que a imagem \u201c12.1.2.1.2.150617.1\u201d foi aplicada com sucesso. Tamb\u00e9m pode verificar que a imagem \u201c11.2.3.3.0\u201d est\u00e1 marcada como poss\u00edvel rollback. Por fim verifique que todas as c\u00e9lulas est\u00e3o operacionais. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Storage-Server-Update-Step-18.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<h2 style=\"text-align: justify;\"><strong>Terceiro Passo Principal<\/strong><\/h2>\n<p style=\"text-align: justify;\">Ap\u00f3s aplicar com sucesso o patch dos Storage Servers basta aplicar o patch nos Switchs Infiniband. Aqui como estou aplicando em um Exadata V2 Half tenho 2 para aplicar. Como o arquivo de atualiza\u00e7\u00e3o j\u00e1 est\u00e1 dentro do mesmo patch basta chamar o patchmgr.<\/p>\n<p style=\"text-align: justify;\">O arquivo de Readme do patch n\u00e3o tem os passos de update e voc\u00ea tem que ler o manual do Oracle Exadata para os procedimentos de update.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Switch Passo 1<\/strong><\/p>\n<p style=\"text-align: justify;\">O primeiro passo \u00e9 criar um arquivo com as lista switchs a serem atualizados, basta informar o hostname deles. Aqui criei o arquivo \u201cibs_group\u201d como pode ser visto neste <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-1.txt\" target=\"_blank\">log<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Switch Passo 2<\/strong><\/p>\n<p style=\"text-align: justify;\">O segundo passo \u00e9 uma simples verifica\u00e7\u00e3o da vers\u00e3o que est\u00e1 rodando no switch. Esse passo \u00e9 importante pois a vers\u00e3o do patch \u201c12.1.2.1.2\u201d deve ser aplicada somente sobre as vers\u00f5es \u201c2.1.3-4\u201d ou \u201c1.3.3-2\u201d. Caso voc\u00ea n\u00e3o esteja rodando alguma destas vers\u00f5es deve atualizar para elas antes de prosseguir. Isso est\u00e1 descrito na nota MOS 888828.1.<\/p>\n<p style=\"text-align: justify;\">Para verificar basta logar via ssh no switch e executar o comando \u201cversion\u201d. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-2.txt\" target=\"_blank\">aqui<\/a>. Recomendo realizar o reboot de cada switch antes de prosseguir (n\u00e3o fa\u00e7a em ambos ao mesmo tempo).<\/p>\n<p style=\"text-align: justify;\"><strong>Update Switch Passo 3<\/strong><\/p>\n<p style=\"text-align: justify;\">Antes de efetivamente aplicar o patch rodamos o patchmgr com o par\u00e2metro \u201cibswitch_precheck\u201d para verificar os requisitos. Se o resultado for positivo o patch pode prosseguir. O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-3.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Switch Passo 4<\/strong><\/p>\n<p style=\"text-align: justify;\">Depois do sucesso das verifica\u00e7\u00f5es basta executar o patchmgr com o par\u00e2metro \u201cupgrade\u201d. Observe no log dispon\u00edvel <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-4.txt\" target=\"_blank\">aqui<\/a> que o patch \u00e9 executado em um switch de cada vez.<\/p>\n<p style=\"text-align: justify;\">Ao fazer ssh em um switch durante o processo podemos ver o que est\u00e1 acontecendo. Observe neste log que o comando \u201cinstallfw\u201d est\u00e1 rodando e aplicando um arquivo e o script \u201cspfw_upgrade_2.1.5-1.sh\u201d aplicando alguns pacotes. O log da pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-4_2.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\">Durante o processo de update o patchmgr gera um log espec\u00edfico chamado \u201cupgradeIBSwitch.log\u201d na pasta \u201c\/var\/log\/cellos\/\u201d do servidor que disparou o patch. Ele pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-4_3.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<p style=\"text-align: justify;\"><strong>Update Switch Passo 5 <\/strong><\/p>\n<p style=\"text-align: justify;\">Por fim basta logar atrav\u00e9s de ssh no switch e verificar se a vers\u00e3o foi aplicada com sucesso com o comando \u201cversion\u201d.\u00a0 O log da execu\u00e7\u00e3o deste passo pode ser visto <a href=\"http:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2015\/08\/Ibs-Update-Step-5.txt\" target=\"_blank\">aqui<\/a>.<\/p>\n<h2 style=\"text-align: justify;\"><strong>Conclus\u00e3o<\/strong><\/h2>\n<p style=\"text-align: justify;\">Com os passos descrito acima o update de todos os Storage Servers foi realizado com sucesso. Partindo da imagem \u201c11.2.3.3.0\u201d para a imagem \u201c12.1.2.1.2\u201d. O Switch Infiniband foi atualizado da \u201c2.1.3-4\u201d para a \u201c2.1.5-1\u201d.<\/p>\n<p style=\"text-align: justify;\">Voc\u00ea pode ver que existem alguns passos importantes a serem seguidos e que o procedimento de atualiza\u00e7\u00e3o somente deve prosseguir se todos os pr\u00e9-requisitos estiverem ok. Nas vers\u00f5es mais antigas o procedimento de update era bem mais complexo e dependia de muito mais interven\u00e7\u00e3o manual, por isso n\u00e3o existe muito o que demonstrar al\u00e9m de log\u2019s de execu\u00e7\u00e3o dos comandos.<\/p>\n<p style=\"text-align: justify;\">O importante aqui \u00e9 compreender o fluxo. Veja todos os comando executados e todos os logs com os resultados.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O procedimento descrito aqui contempla a atualiza\u00e7\u00e3o da imagem 11.2.3.3.0 para a imagem 12.1.2.1.2 do Oracle Exadata. Aqui est\u00e3o descritos os procedimentos para o update do Storage Server e Switch Inifiband. Primeiro Passo Principal O primeiro passo de qualquer update para Oracle Exadata \u00e9 ler o Readme da vers\u00e3o e ler o t\u00f3pico \u201cKnow Issues\u201d [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30,29,6,5,9],"tags":[],"class_list":["post-257","post","type-post","status-publish","format-standard","hentry","category-banco-de-dados","category-database","category-exadata","category-oracle","category-storage-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Patch Storage Server e Infiniband - Fernando Simon<\/title>\n<meta name=\"description\" content=\"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Patch Storage Server e Infiniband - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-03T04:28:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-03T11:39:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313\" \/>\n<meta name=\"author\" content=\"Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"Patch Storage Server e Infiniband\",\"datePublished\":\"2015-08-03T04:28:46+00:00\",\"dateModified\":\"2015-08-03T11:39:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\"},\"wordCount\":2485,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313\",\"articleSection\":[\"Banco de Dados\",\"Database\",\"Exadata\",\"Oracle\",\"Storage Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\",\"name\":\"Patch Storage Server e Infiniband - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313\",\"datePublished\":\"2015-08-03T04:28:46+00:00\",\"dateModified\":\"2015-08-03T11:39:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage\",\"url\":\"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313\",\"contentUrl\":\"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Patch Storage Server e Infiniband\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/\",\"name\":\"Fernando Simon\",\"description\":\"Have you hugged your backup today?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\",\"name\":\"Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"caption\":\"Simon\"},\"sameAs\":[\"http:\/\/www.fernandosimon.com\"],\"url\":\"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Patch Storage Server e Infiniband - Fernando Simon","description":"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/","og_locale":"en_US","og_type":"article","og_title":"Patch Storage Server e Infiniband - Fernando Simon","og_description":"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata","og_url":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/","og_site_name":"Fernando Simon","article_published_time":"2015-08-03T04:28:46+00:00","article_modified_time":"2015-08-03T11:39:31+00:00","og_image":[{"url":"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"Patch Storage Server e Infiniband","datePublished":"2015-08-03T04:28:46+00:00","dateModified":"2015-08-03T11:39:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/"},"wordCount":2485,"commentCount":0,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage"},"thumbnailUrl":"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313","articleSection":["Banco de Dados","Database","Exadata","Oracle","Storage Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/","url":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/","name":"Patch Storage Server e Infiniband - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage"},"thumbnailUrl":"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313","datePublished":"2015-08-03T04:28:46+00:00","dateModified":"2015-08-03T11:39:31+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"Aplicando o patch 12.1.2.1.2.150617.1 no Storage Server e Swicth Infiniband do Oracle Exadata","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#primaryimage","url":"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313","contentUrl":"http:\/\/www.fernandosimon.com\/blog\/nextgen-attach_to_post\/preview\/id--313"},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/patch-storage-server-e-ibs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Patch Storage Server e Infiniband"}]},{"@type":"WebSite","@id":"https:\/\/www.fernandosimon.com\/blog\/#website","url":"https:\/\/www.fernandosimon.com\/blog\/","name":"Fernando Simon","description":"Have you hugged your backup today?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9","name":"Simon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","caption":"Simon"},"sameAs":["http:\/\/www.fernandosimon.com"],"url":"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5ofTp-49","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/comments?post=257"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/257\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}