segunda-feira, 29 de dezembro de 2014

ANDROID - Tablet Microboard Ultimate - Só que não!!!



Boa noite pessoal, tudo bem? Espero que sim...
Espero também que todos tenham tido um natal maravilhoso.

Bem, hoje na verdade vou registrar aqui um pouco da minha indignação em relação a um tablet da Microboard modelo Ultimate com Android.
Recentemente recebi um para tentar recupera-lo, pois ele está com um comportamento um tanto quanto estranho.
Antes ele acessava normalmente a internet e os aplicativos do Google, como Gmail, Google Drive, etc.
Agora toda vez que tentamos acessar algum aplicativo do Google, ele informa que não pode acessar e que o problema pode estar relacionado a uma intermitência do Google ou do aparelho e que o mesmo não tem uma conexão segura...
Sendo mais especifico é a mensagem abaixo:


Depois de muito pesquisar, parece que alguma atualização alterou no tablet a opção no /etc/hosts para que fosse feito a busca em um endereço específico que não é o correto.
Porém, pra variar, para conseguir alterar isso é necessário fazer o root do aparelho.
Pesquisando na internet algo sobre o root do Microboard Ultimate não encontrei nada, tentei fazer um hardware reset nos moldes botão home + Volume alto + volume baixo, nada, esse tablet não aceita isso. Ele até tem um botão de Reset, porém não faz muita coisa a não ser rebootar o aparelho.
Entrei no site da Microboard e encontrei um procedimento para reinstalar o SO ... baixei tudo que estava solicitando, resolvi alguns problemas que para variar essas ferramentas apresentam e consegui fazer com que ela abrisse, porém não consegue reconhecer o aparelho para iniciar a reinstalação. O Windows tem problema com o driver USB, não funciona corretamente e não tem no site outra opção de driver para download. As imagens no procedimento são diferentes do modelo respectivos do tablet ... enfim parece um pouco caso com o usuário ou pessoa que está tentando arrumar o problema.

Vou continuar tentando mais um pouco e aguardando a resposta da Microboard para o e-mail que mandei solicitando auxilio. Porém quero só ver a qualidade do suporte.

Fica aqui registrado este problema, quem tiver algo que possa ajudar eu agradeço.

Vamos agora para contagem regressiva de um ano novo cheio de esperança e que o ano que se inicia seja melhor!!!

Sucesso à todos!

Abraço.

sexta-feira, 12 de dezembro de 2014

Aliexpress - Como rastrear?

Boa noite galera.

 Essa é uma dica para quem curte fazer umas comprinhas pela internet.
 Recentemente depois de tanto me falarem do site Aliexpress, onde podemos comprar produtos por um preço muito mais em conta e tendo fornecedores de diversos locais, sendo principalmente da china, resolvi fazer umas comprinhas para teste.

 Pois bem, o site é bem legal e intuitivo, fácil navegação, produtos bem explicados e com imagens de qualidade para termos algumas idéias de como é o produto.

 Fiz a compra e o pagamento na opção boleto.
 Após a confirmação do pagamento, recebi as confirmações e após alguns dias que meu produto estava sendo enviado.

 Pois bem ... Aqui começaram as dúvidas de como rastrear meus produtos.

 Vários sites que procurei passaram o procedimento para usar vários sites terceiros, porém o site dos correios do Brasil é possível fazer essa busca e acompanhar onde seu produto se encontra.

 Vamos ao procedimento de como fazer isso:

1.o - Entre no site:
http://www2.correios.com.br/sistemas/rastreamento/resultado.cfm

2.o - Clique em rastreamento de objetos em outros países

3.o - Ele irá direcionar para outro site. No meu caso foi para este site:
http://globaltracktrace.ptc.post/gtt.web/Search.aspx

4.o - Clicando em Meus pedidos no site do Aliexpress, abaixo dos produtos teremos uma opção chamada informações logísticas, que irá mostrar o seu número para rastreamento.

5.o - Insira este número no site que foi aberto pelos Correios e clique em search

 Pronto, com isso ele irá mostrar onde está o seu pedido.

 Claro que podemos ter um certo tempo desatualizado em relação ao pedido, porém é muito útil para conseguirmos ter uma idéia de onde está o pedido.

Até a próxima.

sábado, 29 de novembro de 2014

EMC VNX5300 - Problemas com LUN Off-line

Boa tarde pessoal!!!

Hoje excepcionalmente um post do Rio de Janeiro.
Estou em um cliente acompanhando o evento do Black Friday ....

Mas vamos que vamos.

Recentemente passei por um problema em um VNX modelo 5300 do fabricante EMC onde uma das LUNS ficou off-line.
Pensando em um padrão "normal" do ambiente bastaria clicar com o botão direto na LUN e on-line ou bring online.
Porém não tinha essa opção ...

Tentei encontrar alguma opção em algum fórum, documentação e nada.
Como estava no meio de um incidente, entrei em contato com o fornecedor e devido a versão do flare code 7.1.55-3, essa opção de colocar a LUN on-line novamente não existe.

A solução foi um reboot em cada uma das SPs.

Isso mesmo, foi necessário um reboot para que a LUN ficasse on-line novamente.

Agora estou providenciando junto ao fornecedor o upgrade desse box, inclusive em relação a outros problemas de bug que podemos ter nessa versão de código.

Aqui fica mais uma questão de um problema que resolve com um reboot como solução paliativa e o upgrade como solução definitiva.

Abs

quinta-feira, 20 de novembro de 2014

EMC Celerra - Configurando file system e exportando NFS via linha de comando

Galera, boa noite.

Segue abaixo os comandos para criarmos um FS no celerra através da linha de comando e como exportá-lo via NFS para que os hosts possam montá-lo:

[nasadmin@localhost ~]$nas_pool -l


[nasadmin@localhost ~]$nas_fs -name nome_filesystem -create size=50G pool=clar_r5_performance

[nasadmin@localhost ~]$server_mount server_2 -o rw nome_filesystem /nome_mountpoint

[nasadmin@localhost ~]$ server_export server_2 -Protocol nfs -option rw=10.0.0.1/24:10.1.1.0/24 /filesystem

Caso não queira liberar por rede, pode ser feita a liberação apenas para um Ip ou alguns Ips em especifíco.

Agora você pode realizar a mount do share criado no host liberado.

Abs
EMC - Celerra - Falha ao tentar criar nova replicação



Boa noite pessoal.

 Encontrei esse problema quando precisei criar um novo share NFS e replicá-lo para outro site.
 Eu recebia uma mensagem de erro informando que não era possível criar a replicação.

Para variar, verifiquei a comunicação entre os sites, verifiquei como estavam configuradas as replicações já ativas e inclusive se já estavam replicando, logs, etc. Resumindo, aquela peregrinação até realmente encontrar o problema.

O problema era que o horário da control station do site source estava diferente do horário da control station do site target.
Com o horário diferente, no meu caso cerca de 10 minutos, ele não conseguia atribuir uma confiabilidade dos sistemas para poder criar a replicação.

O print abaixo mostra como setar a data manualmente lembrando que é possível sincronizar a control station por um servidor NTP.


Você deve fazer essa alteração em ambas as control station.

Lembrando que essa mudança não interfere em nada nos Data Movers ou mesmo nas replicações já existentes.

Espero que ajude!!!

Abs

domingo, 28 de setembro de 2014

Netapp - Acessando pelo Winscp



Fala galera, beleza?

Essa semana passei um aperto ao tentar fazer o upload de arquivos para upgrade do DataOntap de um Netapp que faço administração.
O problema era que ele não aceitava conexão através do Winscp para fazer o upload dos arquivos necessários para o ugrade.
Abaixo compartilho o que foi necessário fazer para conseguir conectar no Netapp com o Winscp e poder fazer o upload dos arquivos.

No DataOntap executar os seguintes comandos:


options sftp.enable on
options security.admin.authentication nsswitch

Com esses comandos foi possível conectar e fazer o upload dos arquivos para upgrade.

Espero que seja útil para vocês.

Forte abraço.

terça-feira, 8 de julho de 2014

AIX - Renomear um VG

Boa noite pessoal.

Essa dica é rápida e objetiva.
Recentemente precisei efetuar a alteração do nome dado à um VG no AIX pois o mesmo estava com o nome errado.
Bem vamos lá.

Executar o comando lspv para listarmos os disccos e os VGs que temos:

#lspv
hdisk0 002322fa97605ea2 rootvg active
hdisk1 002322fa0f8c3457 DADOS active
hdisk2 002322fa84e6f325 DADOS active

Desativando o VG:

#varyoffvg DADOS

Exportar o VG:
#exportvg DADOS

Agora podemos ver que o VG nem aparece, ele está com o status de none:

#lspv
hdisk0 002322fa97605ea2 rootvg active
hdisk1 002322fa0f8c3457 none active
hdisk2 002322fa84e6f325 none active

Importando o novo VG com os discos e os dados que estavam no antigo VG com o nome errado:

#importvg -y oracle hdisk1 (ou hdisk2)
oracle

Listando nosso novo VG:

#lspv
hdisk0 002322fa97605ea2 rootvg active
hdisk1 002322fa0f8c3457 ORACLE active
hdisk2 002322fa84e6f325 ORACLE active

quarta-feira, 18 de junho de 2014

NAS - Falha com replication manager

Boa noite pessoal.

 Essa semana me deparei com um problema ao tentar criar uma replicação de filesystem no NAS Celerra da EMC.
 Ao tentar criar a sessão de replicação eu recebia a seguinte mensagem:

Warning 17716815878: HTTP communication not permitted: Time skew between local and remote system NAS_SITE2 may exceed 10 minutes OR nas_cel passphrase mismatch exists.
Error 10248: HTTP communication problem: Time skew between local and remote system NAS_SITE2 may exceed 10 minutes OR nas_cel passphrase mismatch OR network issue.

 Tentei também criar a replicação pela interface gráfica para ver se alguma coisa mudava, no entanto, sem sucesso. A mensagem era a mesma.
 Solicitei então uma verificação por parte do time de redes se estávamos com algum problema de comunicação com o link site-to-site e esse ser o causador do problema.
 Recebi a confirmação do time de redes de que estava tudo ok.

 Comecei então a investigar o que poderia ser.
 Validei as interfaces utilizadas para replicação, se a VLAN estava setada, teste de ping, tudo funcionando da melhor forma possível.

 Pesquisando em um fórum da EMC entrei um report sobre o mesmo problema e no mesmo fórum a informação ou dica, para verificar o horário em ambas as control station (site source, site target).
 Dito e feito, estavam com aproximadamente 40 minutos de diferença.
 Ajustei ambos os horários manualmente com o seguinte comando:

 # Como root
/nas/http/webui/bin/datetime.pl -s 2014-06-18T10:50:00

Segue o link do fórum da EMC com este caso:
https://community.emc.com/thread/116816

Fica aí mais uma dica.

Abs

quinta-feira, 3 de abril de 2014

STORAGE - Como descobrir o ID do disco do storage?




Hoje vou falar de uma ferramenta fornecida pela EMC que é fantástica. Essa ferramenta chama-se inq.

O mesmo pode ser baixado no ftp:
ftp://ftp.emc.com/pub/symm3000/inquiry/v7.2.1.0/

Ele abrange muitos tipos de sistemas operacionais como Linux, Solaris, AIX, Windows, etc.

Em muito ambientes existe um problema para coletar e visualizar as informações do storage que está configurado para o ambiente, como vendor, equipamento, lun ID e size.

Com o inq é possível tudo isso.

Recomendo o uso do mesmo quando não temos instalado no servidor o powerpath como gerenciador de multipath.

Feito o download, basta fazer o upload para o servidor correspondente e executá-lo pelo terminal ou pelo DOS.

Existe um help com todos os parâmetros e explicações para que serve:

[root@centos-srv01 ~]# ./inq.linux -help
Inquiry utility, Version V7.3-1159 (Rev 1.0)      (SIL Version V7.2.1.0 (Edit Level 1159)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.



ERROR: -help is an invalid option.

                                                                               
Usage: inquiry <options>                                                       
                                                                               
    display types:                                                             
       -h               : display this help screen                             
       -et              : display emulation and type info   (Symmetrix only)   
       -ckd             : display CKD device info           (Symmetrix only)   
       -page0           : display detailed page0 (only valid with -dev option) 
       -pagec0          : display detailed pagec0 (only valid with -dev option 
                          and on CLARiiON devices)                             
       -parent          : display both PowerPath and OS device relationships   
       -celerra         : display Celerra lable devices                        
       -sid             : display Symmetrix Serial Number                      
       -sym_wwn         : display Symmetrix device wwn and Serial Number       
       -clariion        : display CLARiiON device information                  
       -clar_wwn        : display CLARiiON WWN and Serial Number               
       -showvol         : display Symmetrix Volume Number.                     
       -compat          : display old format                                   
       -btl             : display Bus Target and Lun                           
       -sw_wwn          : display StorageWorks WWN and Serial Id               
       -hds_wwn         : display HDS WWN and Serial Id                        
       -s80_wwn         : display S80 WWN and Serial Id                        
       -invista_wwn     : display Invista WWN and Serial Id                    
       -shark_wwn       : display IBM Shark WWN and Serial Id                  
       -compaq_wwn      : display Compaq WWN and Serial Id                     
       -netapp_wwn      : display Netapp WWN and Serial Id                     
       -hba             : display HBA info only. See options below             
       -identifier <device_name | nice_name | hp_id | vms_id>                  
                        : display device identifier info (EMC devices only)    
       -mapinfo         : display target mapping information                   
       -wwn             : display devices WWN                                  
       -native          : display the real device identity                     
                                                                               
    filter options:                                                            
       -no_filters      : show every device even if no data available          
       -f_powerpath     : filter -  only powerpath devices                     
       -f_pseudo        : filter -  only pseudo devices                        
       -f_real          : filter -  only real devices                          
       -f_emc           : filter -  only EMC devices                           
       -f_ckd           : filter -  only ckd devices                           
       -f_celerra       : filter -  only Celerra devices                       
       -f_4k            : filter -  only Symmetrix volumes < 4096              
       -f_clariion      : filter -  only CLARiiON devices                      
       -f_storwrks      : filter -  only Compaq StorageWorks devices           
       -f_hds           : filter -  only Hitachi HDS devices           
       -f_s80           : filter -  only Fujitsu Siemens S80 devices           
       -f_invista       : filter -  only EMC Invista devices                   
       -f_shark         : filter -  only IBM SHARK devices                     
       -f_size <size>   : filter -  only show devices with <= size in kbytes   
                                                                               
    query options:                                                             
       -skipread        : do not request Read Capacity                         
       -skipinq         : do not request Inquiry data                          
       -skipboth        : do not request Read Capacity or Inquiry data         
                                                                               
    device options:                                                            
       -dev  <device>   : do inquiry on specified device                       
       -symmvol <vol#>  : show devices with Symm HEX volume #= <vol#>          
       -clar_file <file-name>: show clariion devices in file                   
                                                                               
    other options:                                                             
       -no_dots         : do not display status dots                           
       -sortoff         : do not perform ANY sorting                           
       -sortsymm        : sort by Symmetrix serial number   (Symmetrix only)   
                                                                               
    sym_wwn options:                                                           
       -sid_wwn <sid>   : the 12 digit SID of the symm for which you want wwn's 
       -symdev  <dev>   : the device for which you want the wwn                
                                                                               
    HBA specific options:                                                      
       -hba               : display HBA info only                              
       -fibre             : display FC HBA info only                           
       -iscsi             : display ISCSI HBA info only                        
       -scsi              : display SCSI HBA info only                         
       -hba_file <file>   : external HBA file to use. -fibre only              
       -create            : create external HBA file specified by -hba_file    
      Usage :                                                                 
       inquiry -hba [-fibre [-hba_file <file>] [-create]] [-scsi] [-iscsi]      
                                                                               
Release notes:                                                                 
     Only options listed above are supported, although other options           
     may continue to work, they are subject to change or removal.              
                                                                               
     the following parameter changes have occurred                             
       -nodots              ->  -no_dots                                       
       -c                   ->  -ckd                                           
       -v                   ->  -page0                                         
       -r <devicename>      ->  -dev <devicename>                              
       -s SymmVolumeNumber  ->  -symmvol SymmVolumeNumber                      
       -xr                  ->  -f_pseudo                                      
       -xps                 ->  -f_real                                        
       -system              ->  no longer exists                               


[root@centos-srv01 ~]# 



Aqui um exemplo de execução do inq:

[root@centos-srv01 ~]# ./inq.linux 
Inquiry utility, Version V7.3-1159 (Rev 1.0)      (SIL Version V7.2.1.0 (Edit Level 1159)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.

..

--------------------------------------------------------------------------
DEVICE          :VEND    :PROD            :REV   :SER NUM    :CAP(kb)     
--------------------------------------------------------------------------
/dev/sda        :ATA     :VBOX HARDDISK   :1.0   :           :    10485760
[root@centos-srv01 ~]# 
[root@centos-srv01 ~]# 

Neste exemplo, não apareceu nenhum storage pois este servidor é virtual, mas serve como exemplo para execução do inq.

domingo, 9 de março de 2014

STORAGE - Symmetrix - Passo-a-passo

Pessoal, boa noite.

Vamos lá, hoje vou passar uma passo-a-passo de como criar objetos no Symmetrix do ponto de vista da criação de devices, formação de meta lun se necessário, adição dos devices no pool e por fim "amarrar"todos os objetos para o host poder enxergar os discos.

Bem vou partir do seguinte cenário:

- No storage temos o pool com o nome POOL_FC;
- SID 54987001

Criando os devices/Hypers:

Adicionar a seguinte entrada em um arquivo txt, neste caso vou chamado este arquivo de create_devs.txt: create dev count=10, size=5 GB emulation=FBA, config=TDEV;

Onde count é a quantidade de devices que você precisa cirar para formar a meta lun ou mesmo a quantidade de devices simples.
size é o tamanho destes devices.
emulation é o tipo de arquitetura de bloco
config tipo de device

Iremos criar um disco de 500GB para entrar para um cluster linux. Então para utilizarmos os recursos de symmetrix, redundância e performance iremos criar os hypers de 50GB.

Então para podermos chegar ao valor de 500GB temos que criar 10 devices/hypers de 50GB:
create dev count=10, size=50 GB emulation=FBA, config=TDEV;

Então vamos criar os devices:
symconfigure -sid -001 -file create_devs.txt preview|commit

O preview temos como ver se o processo irá finalizar com sucesso ou se já teremos algum problema com a criação dos devices.

Ao final ele irá aparecer os ID dos devices criados:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

Agora vamos criar a meta lun para chegarmos ao valor de 1 disco de 500GB.

Para isso vamos criar o arquivo form_meta.txt contendo os devices e a seguinte estrutura:

form meta from dev 0001, config=STRIPED, stripe_size=1920;
add dev 0002:0010 to meta 0001;

Onde config é como estamos criando a distribuição destes devices, sendo striped cada ponto, ou cada pedaço sendo gravado em um HD diferente e o concatenated é forma sequencial.
Aqui temos dois pontos importantes para cada um destes casos. 
Criando como striped você tem uma melhor performance e segue uma recomendação da EMC dentro das melhores práticas para este tipo de equipamento. Porém não existe a possibilidade de crescimento da meta lun.
Já no outro tipo, o concatenated temos como crescer a meta lun, porém não é tão performatico pois trabalha de forma sequencial e não fica dentro das melhores práticas da EMC.

Bem entendido isso vamos criar a meta lun:
symconfigure -sid 001 -file form_meta.txt preview|commit

Feito isso vamos ter o meta device 0001 criado com seus 500GB, adequado para as melhores funcionalidades da estrutura do symmetrix.

Agora vamos adicionar este device no pool TP_FC:

Criamos o arquivo add_dev_pool.txt com o seguinte conteúdo: bind tdev metaID to pool nomedopool;

No nosso caso ficaria assim:
bind tdev 0001 to pool TP_FC;

Pronto depois destes passos nosso disco de 500GB está pronto.

Vamos criar os objetos necessários para que este disco seja acessados por nosso servidor linux:

srv_lnx01
hba0 = 10:00:00:00:00:00:00:01
hba1 = 10:00:00:00:00:00:00:02

Criando o initiator group com as HBAs do host:

symaccess -sid 001 -type initiator -name IG_SRV_LNX01 create -wwn 1000000000000001

symaccess -sid 001 -type initiator -name IG_SRV_LNX01 add -wwn 1000000000000002

Agora vamos suporte que as FA's que atendem nossa SAN onde está este host seja as FA's 1g1, 2g1, 3g1 e 4g1. Vamos criar o port group:

symaccess -sid 001 -type port -name PG_SAN01 -dirport 1g:1, 2g:1, 3g:1, 4g1

Criando o storage group e adicionando o disco criado:

symaccess -sid 001 -type storage -name SG_SRV_LNX01 create devs 0001

E por último o masking view que faz com que o host tenha acesso ao disco:

symaccess -sid 001 create view -name MV_SRV_LNX01 -pg PG_SAN01 -ig IG_SRV_LNX01 -sg SG_SRV_LNX01

Alguns erros comuns neste processo que fazem o processo não dar certo:

- Espaço no POOL. Se não tivermos espaço no pool não temos como adicionar o device para que ele tenha acesso para escrita pelo host, caso contrário o host terá apenas condições de leitura;
- Ao criar o port group adicionarmos as FA's erradas das que fizemos o zone;

Obs: no SID eu coloquei apenas 001, pois tenho apenas um storage com esse ID. Caso eu tivesse mais de um storage com o final 001 eu teria que colocar a informação do ID correspondente ao symmetrix que eu vou utilizar.

Ao término deste procedimento, precisamos fazer os procedimentos de rescan e de configuração deste device no servidor.

Até a próxima.

Abs

João!!!

quinta-feira, 13 de fevereiro de 2014

WINDOWS - Como descobrir o WWN do servidor


Boa noite pessoal, tudo bem?

Bom a dica de hoje é referente a um problema que temos quando alguém nos solicita algumas informações que não são muito corriqueiras.
Hoje vou mostrar como capturar o WWN das interfaces HBA de um servidor com Windows.
Vale lembrar que, para toda HBA (Emulex ou Qlogic) existe um driver do fabricante com um utilitário para este tipo de atividade inclusice rescan de devices, verificação do status do link, etc e que com certeza é o mais adequado.

Primeiro, acesse o site: http://www.microsoft.com/en-us/download/details.aspx?id=17530

Acessando o link você terá acesso no Download Center da Microsoft no item: Fibre Channel Information (FCINFO).





Baixando este utilitário em qualquer pasta do servidor, você deve navegar até ele pelo command (CMD):

E executá-lo.

Ele irá trazer a informação da seguinte forma:
c:\fcinfo
There are 2 adapters:
com.emulex-LP1015-HP-0: PortWWN: 10:00:00:00:12:13:23:6a
com.emulex-LP1015-HP-1: PortWWN: 10:00:00:00:12:13:23:6b

Pronto aqui está os WWNs do servidor.

Abraços e até a próxima.

quarta-feira, 12 de fevereiro de 2014

LINUX - Bash history com data e hora macarda!



Boa noite pessoal, tudo bem?

Em muitas empresas, escolas ou mesmo em casa, temos uma difícil tarefa de compartilhar um computador, um notebook, um tablet, enfim, temos hoje em dia que aprender a compartilhar praticamente tudo. (Espaço no ônibus, trem e metrô nem estou considerando ok? rs)...

Brincadeiras à parte, uma rotina muito comum em ambiente de informática é termos a administração de servidores e serviços/aplicações compartilhadas e isso não é muitas das vezes fácil.

Quando temos um ambiente ok, funcionando corretamente e não tendo impacto em nada, ótimo todos estamos felizes.
Agora imagina quando acontece algum problema?
Seja ele um load alto, um espaço em disco que acabou do nada, uma parametrização que fez minha aplicação ficar estranha e por aí vai.

Bem, de quem é a culpa? Quando foi que isso começou? Que comando executaram que fez isso??

Bom aqui mora o problema, pois vem a passagem de bastão do:
- Ahhhhhh foi você!!!
- Não, só pode ter sido o cara da aplicação!!!! Ele que ativa os debugs e acaba com tudo.
- Nada disso. Deve ter sido aquela empresa de tunning no ambiente que pediu a senha de root.

E isso vai se prolonga até resolver o problema com todo mundo colocando a mão no servidor, até acontecer tudo novamente e virar um ciclo.

Lembrando que em servidores o legal e correto é termos usuários específicos para cada rotina, cada usuário ou grupo de trabalho, permissões apropriadas, etc. Temos um recurso muito legal no bash que é a opção de colocarmos data e hora para saber quando um comando foi executado. Isso ajuda muito, pois ao bater o olho em um comando podemos saber e filtrar o estrago que ele fez e ter um tempo menos de problema no servidor e talvez internamente.

Vamos lá:

Edite o .bashrc:
vim $HOME/.bashrc

Adicionar as seguintes linhas:
export HISTTIMEFORMAT= %h/%d - %H:%M:%S

Feito isso, com o comando history podemos ter uma saída do tipo:
11 Sep/08 – 12:26:13 grep error /var/log/messages

Hummmm legal, mas se eu precisar exportar esta lista de sequências e o cara ficou digitando várias vezes o mesmo comando e eu preciso da evidência de apenas um?

Basta adicionar a linha:
export HISTCONTROL=ignoreboth

Mas ainda não "tá"legal ... Preciso de um histórico maior. Tem como?

Sim tem.

export HISTSIZE=1000

Espero que essa dica ajude na auditoria de vocês quando necessário.

Abraços! 

SAN - Timeout ssh brocade

Fala ae pessoal, tudo bem?
Espero que sim.

Hoje dando sequência numa dica rápida e objetiva, vou mostrar como alterar o paramêtro de timeout SSH em switches FC Brocade.

É realmente desagrádavel quando você precisar fazer alguma ativação, configuração ou mesmo análise e precisa deixar vários terminais abertos, ou sessões das mais diversas abertas e quando você precisa voltar em uma que ficou lá um tempo esperando e fechou.

Bem recentemente passei isso com um switch Brocade.

Então vamos lá, esta mudança pode ser feita on-line e sem gerar nenhum impacto.

Logar no switch via SSH ou telnet como root:

ssh root@switch01

switch01:root> timeout 90 
IDLE Timeout Changed to 90 minutes The modified IDLE Timeout will be in effect after NEXT login
switch01:root> 

Neste exemplo eu alterei para 90 minutos, mas você pode colocar um valor ainda maior.

Deixar sem um timeout, pode ser uma falha de segurança muito grande. 

Fica a dica!

Abraços.

sábado, 8 de fevereiro de 2014

LINUX - Quando um servidor foi instalado?

Bom dia pessoal.

Um tempo atrás um analista me perguntou como ele fazia para descobrir quando um servidor foi instalado.

Bem esta pergunta saiu de um problema um tanto quanto estranho.
O dono do servidor em questão afirmava que o servidor era Windows, porém como ele nunca mais precisou administrar o servidor e este ficou parado supostamente ninguém havia feito nada com ele.
Quando o dono do servidor decidiu colocá-lo novamente para funcionar e não estava mais conseguindo acesso, solicitou a verificação para este analista.
Ao colocar uma console no servidor eis que um terminal linux apareceu.

O dono do servidor deveria ter ficado era feliz :D

Mas como ele estava garantindo que não havia alterado nada no servidor o analista também dizendo que eles não haviam instalado nada no servidor, levantou-se uma questão:

- Quando este servidor foi instalado?

Segue um comando para você fazer este tipo de auditoria em servidores com Linux:

sudo dumpe2fs /dev/sda1 | grep 'Filesystem create'



















Com isso foi possível enviar ao dono do servidor e quem sabe fazer ele lembrar se nesta data ele mesmo ou alguém pode ter alterado alguma coisa.

Abraço e até a próxima!

STORAGE - EMC VMAX Family

Pessoal, bom dia.

Tudo bem?

O assunto de hoje é bem rápido e objetivo, mas que para mim no passado gerou uma certa dor de cabeça.
No parque em que eu administro temos equipamentos de storage EMC da linha VMAX e VMAXe.
Pois bem, o VMAX funcionando corretamente, com várias recursos ativos, porém por enquanto não tendo capacidade de crescimento, adquirimos a linha VMAXe.
Começamos então a fazer todas as novas ativações no VMAXe. Com o passar de algumas implantações começamos a ter algumas reclamações a nível de performance, sendo elas como lentidão, erros de I/O em ambiente virtual, latência, dentre outros.
Fazendo uma análise de performance e suspeitando do equipamento que não estava nem com metade dos clientes do outro VMAX, identificamos que as portas FA do equipamento estavam com processamento muito alto e que realmente estávamos tendo contenção de recursos no VMAXe.

Bem depois de abrirmos chamado na EMC para análise interna do VMAXe, e de ver que precisaríamos mudar parte da forma que o mesmo foi implementado, recebemos um comparativo de processamento do da família VMAX, o qual quero compartilhar com vocês.


Com este comparativo, podemos escolher o melhor equipamento quando tivermos a necessidade de comprar inclusive para confrontar o que nos está sendo oferecido pelo time de vendas.

Estou pensando em uma linha de posts referente a implantação do VMAX inclusive algumas coisas que foram importantes mudar para conseguir melhorar a performance do uso do storage como um todo e algumas práticas a serem seguidas.

Abraços!
Até a próxima.

sexta-feira, 7 de fevereiro de 2014

Windows - Disk part/Gerenciador de discos

Pessoal, boa noite.

Espero que esteja tudo bem com vocês.

A dica de hoje é referente a um problema que encontrei ao fazer um expand de LUN no EMC VNX5300 e ele não habilitar no gerenciador de discos do Windows 2008 a opção de extend do disco para o Sistema Operacional.

Bem, pensando que interface gráfica é sempre cheia de problemas e que muitas vezes ela deveria fazer exatamente o que se faz na linha de comando, nem sempre isso é uma verdade e funcionar.

Neste caso, segue o procedimento que funcionou e efetuou o extend do disco no SO:

Abrir o prompt de comando:

- diskpart;
- list volumes;
- select (nome do volume);
- extend

Colocando apenas extend ele irá pegar todo o espaço disponível.

Fica a dica.

Abs

quinta-feira, 6 de fevereiro de 2014

APPLE - Itunes - Problema com Toques

Pessoal, boa noite.

Tudo beleza?

Recentemente estava pensando em mudar o toque do meu Iphone, porém não estava querendo os toques padrões que vem nele.
Bem a solução era encontrar alguma música e fazer aquele trabalho de edição e sincronizar com os toques do Itunes/Iphone (trabalho esse que na minha opinião a Apple deveria repensar).

Bem encontrei a música, fiz a edição e para minha surpresa … Não estava conseguindo copiar para o Itunes na opção toques.
Achei que pudesse ser problema do Itunes, ou do procedimento que fiz errado na hora de editar a música, enfim, fucei de todas as formara e nada.

Procurei por atualizações do Itunes pensando ser algum problema com a versão, porém o meu Itunes já esta na versão mais atual: 11.1.4.
Mac os X 10.9.1.

Eu tenho uma biblioteca extensa no meu Itunes, contendo vários alguns, capas, grupos etc e antes de pensar em remover o Itunes e instalar novamente, vamos ao que resolveu o problema sem esse trabalho.

O problema na verdade foi que de tanta coisa (penso eu) na biblioteca o Itunes se perdeu e não tinha mais ponto de referencia do que era o que. Com os passos abaixo e com um aperto no coração (pois delatei minha biblioteca) o problema foi solucionado.

Selecione todos os itens de sua biblioteca (command+a) e deleite tudo, isso mesmo, delete tudo rsrsrs.

Clique em Itunes -> Preferências … -> Geral.
Chegando aqui nesta opção vocês escolhe tudo o que deseja visualizar/mostras no Itunes. Desmarque a opção Toques e feche o Itunes por inteiro.

Abra novamente o Itunes e vá em  Itunes -> Preferências … -> Geral e marque novamente Toques.
Feito isso é só arrastar a música que você deseja utilizar como toque que ele vai sincronizar.


Este comportamento aconteceu apenas no Itunes do Mac os, no Windows não tive este problema. Mas vou tentar fazer uma simulação do problema e se acontecer a mesma coisa eu posto se a mesma solução do Mac corrigi.


sexta-feira, 15 de março de 2013

Storage Area Network - SAN


 Muitas vezes estamos acostumados a vermos discos apresentados em nossos servidores, porém nem sempre lembramos de onde eles vem. Hoje em dia, muitos servidores e muitos ambientes que precisam de performance e redundância dos dados, é difícil encontramos aplicações rodando e sendo salvas em discos locais. Temos ainda outro cenário, servidores sendo inicializados com discos de boot que não são do servidor. Isso mesmo, discos que não são fisicamente do servidor. 
Mas de onde vem estes discos?
Pois bem eles vem de storage.

 Um storage nada mais é do que um hardware parrudo a nível de estrutura física, contendo controladoras, fontes de energia, portas ethernet, portas FC, portas ISCSI e o componente mais importante discos. É claro que aqui estou falando de uma forma simplificada dos componentes do storage.

 Vejam que pelos componentes que compõem um storage, ele é de certo modo uma estrutura semelhante a de um servidor. Isso mesmo, um servidor. Ele também tem um SO próprio seja ele customizado ou desenvolvido pela empresa que o comercializa. O software tem o mesmo propósito de um software de servidor como Windows ou Linux. Administrar todos os recursos da caixa e prover interfaces de administração para o administrador storage.

 Agora como um host consegue ter acesso a estes discos? Como configuro estes discos?

 Cada storage tem sua peculiaridade em termos de configuração de recursos, utilização dos discos (os storages podem conter discos SATA, FC e SSD), redundância e entrega dos recursos configurados para os hosts, que para o storage são chamados de initiators.

 Initiator nada mais é do que o seu servidor Windows, Linux, AIX, etc.

 Os initiators precisam de uma placa para ter comunicação com a estrutura SAN. É a tão famosa HBA: Host Bus Adapter.
 As HBAs podem ser dual ou single. Quando single, temos apenas um caminho de comunicação do initiator até a rede SAN, quando dual ele possui dois caminhos de comunicação com a SAN.
 Esta placa independente do SO, tem como objetivo receber e transmitir sinais infra-vermelho dos dados do inicio ao fim, ou seja, do initiator ao storage e do storage ao initiator.
 Não vou entrar em muitos detalhes neste assunto de como funciona uma placa HBA, isto pode ficar para um outro material.

 Agora que nosso servidor está com sua HBA instalada e com o seu driver funcionando corretamente (isso mesmo, as vezes é necessário a instalação de algum driver para a HBA funcionar corretamente no SO), vou mostrar um exemplo de conexão single primeiro e depois o dual.

 O initiator irá receber uma cabo de fibra que será conectados na HBA e a outra ponta será conectado em um switch de SAN. Aqui temos uma questão interessante que muitas pessoas de field acabam esquecendo ou não sabem verificar. Se a conexão do initiator com o switch está UP (com o sinal do switch verde).

 Se olharmos na HBA quando o host está ligado, veremos que nos dois canais de comunicação teremos um apagado e o outro com um lazer vermelho. Estes sinais são chamados de RX/TX.
RX/TX são os sinais de transmissão e recebimento, vamos dizer assim.
 Agora olhando na porta do switch que deve estar configurada como ˜no shut" para estar disponível a conexões, ela também ter um lado do conectar com sinal de lazer e o outro sem. Com isso é necessário que ao realizarmos a conexão, devemos faze-la de forma que a ponta que está no initiator com o sinal fique conectada no switch na entrada que não tem sinal e a porta do initiator que estiver sem sinal do lazer conectado a porta do switch que esteja com o sinal de lazer.
 Alguns fabricantes de fibra tentam ajudar e mandam as fibras com um suporte que mantêm as pontas firmes, porém as vezes temos que desmontá-lo para corrigir a conexão (eu mesmo já tive que fazer isso várias vezes).

 Agora o administrador storage pode conectar no storage e ver se a porta conectada está UP de fato, e assim ver o WWN.

WWN? Mas o que é WWN?

WWN é o World Wide Name da HBA. Uma identificação de 8 bytes (semelhante ao Mac Address de sua placa de rede).

Segue um exemplo:
21:00:00:e0:8b:05:05:04 ( este exemplo é de um WWN de uma HBA modelo Qlogic)

 Esta informação é de extrema importância em uma estrutura de SAN, pois esta é e sempre será a principal identificação do seu servidor no storage e na estrutura de SAN.
 Mas como eu vou guardar esta numeração e como vou lembrar de qual servidor ela pertence?
 Bem, cada switch de SAN proporciona que você crie um nome amigável e vincule ao initiator. É o chamado host.

 Então vamos supor que meu servidor web tenha o seguinte nome: srv_web01
 Ele pode ter o seguinte nome/host na minha SAN: srv_web01_HBA0

 Isso mesmo, eu posso mudar o nome original do servidor na SAN sem que isso tenha impacto no hostname original do servidor. Como eu falei, os switches SAN proporcionam que você configure um nome amigável ao WWN, mas nada impede que eu coloque qualquer nome.
 Nossa mas isso não pode gerar uma enorme confusão?
 Não só pode como causa e muita confusão.

 Agora como podemos ter sempre a certeza de que estamos falando do mesmo host/initiator seja para uma nova configuração ou para uma alteração?
 Vocês se lembram que eu falei que para SAN o mais importante é o WWN do servidor? Sempre que formos fazer uma alteração ou criação é necessário que tenhamos em mãos o WWN, somente com isso podemos diminuir uma falha de configuração.
 Porém eu recomendo fortemente que estes nomes sejam padronizados e que tentem ser seguidos. Mas como em um mundo corporativo estamos sempre limitados a irmos até certo ponto, nada impede que o administrador do SO altere o hostname do mesmo depois de toda uma configuração feita. Mas vejam, o WWN continua o mesmo.

 Posso mudar o WWN?
 Não. O WWN só será alterado quando mudar a placa HBA no servidor. Então logo podemos ver que o WWN sempre será único.

 Mas nada impede que o administrador de storage também mude o nome do host/initiator, certo? Isso mesmo.
 Mas vejam que uma alteração no hostname no nosso caso, administradores de storage, serve para nossa administração. 
 Ao adicionar no nome do host/initiator o final como HBA0, eu identifico na minha SAN a primeira WWN do servidor ou mesmo se está é a única que ele irá possuir.

 Então com uma única HBA, ainda é possível ter acesso ao storage por mais de um caminho?
 Sim. Isso é possível deste que toda nossa estrutura de SAN esteja ligada de forma redundante e nosso storage ligado nestas duas estruturas.

 Vou tentar exemplificar um cenário.

 Imagem que eu tenho um prédio e no meu CPD eu tenho ele como se fosse dividido em dois. Eu ficaria então com o lado A e com o lado B.
 Bem, no lado A eu tenho uma estrutura de elétrica independente da estrutura elétrica do lado B, pois vamos imaginar que eu tenha algum problema no circuito do lado A, eu ainda tenho o B para segurar o ambiente no ar ou vice-versa.

 Então eu preciso ter um switch SAN ligado do lado A e outro do lado B.
 Como meu initiator possui apenas uma fibra, eu só posso ligá-lo em um dos switches, seja ele do lado A ou do lado B.

 Porém meu storage tem uma fibra saindo de uma das SPs (storage processor) e indo para o switch A e outra fibra de outra SP indo para o switch B.

 Então aqui se minha configuração na parte lógica da SAN estiver correta, meu único caminho de falha passar a ser o host/initiator, a fibra ou o switch.
 Agora vamos imaginar que meu storage possui quatro SPs, como eu faço essa conexão de forma redundante com a SAN?

Exemplo:

SPa1
SPb1
SPa2
SPb2

 Meu storage também é dividido ao meio, fazendo assim como se o mesmo fosse duas caixas. Por isso eu tenho os nomes SPA e SPB.

 Minha conexão ficaria da seguinte forma:

SPa1 - switch do lado A
SPb1 - switch do lado A

SPa2 - switch do lado B
SPb2 - switch do lado B

 Note que se eu tiver um problema em alguma das SPs eu ainda tenho outra que irá atender as solicitações do host/initiator. Ou seja, neste modelo para que o ponto de falha seja o storage é necessário que o storage inteiro fique indisponível.

 Bom então recapitulando até aqui, nossa estrutura está ativa da seguinte forma:

- Meu initiator: srv_web01_HBA0 ligado no switch do lado A e por sua vez este switch do lado A recebe uma SP do lado A do storage e outra do lado B do storage;

 Ótimo, agora meu servidor já consegue enxergar o storage, certo? Ainda não.
 O que eu preciso fazer agora é configurar uma regra para que eu agrupe em um mesmo objeto o meu initiator e as SPs do storage disponíveis.
 Os switches sejam eles Brocades ou CISCO possuem uma interface web/java para que possamos fazer essas configurações. São os chamados Fabrics.
 Quando eu abri a interface do Fabric eu tenho acesso a praticamente todos os recursos de configuração da mesma forma que eu tenho pela linha de comando, claro, cada switch com sua peculiaridade de comandos.

 Então, para que meu initiator tenha comunição com o storage eu tenhos os seguintes passos:

Initiator do servidor: srv_web01_HBA0
Initiator do storage: stg_SPa1_SPb1

 Mas espera aí… O que compõe este initiator do storage, chamado de stg_SPa1_SPb1?
 Ele é composto pelos initiators do storage, que é nada mais nada menos do que as WWNs do storage.

 Veja que cada storage possui uma certa identificação que com o passar do tempo ao batermos o olho podemos identificar de qual storage se trata. Veja alguns exemplos:

00:50:76 IBM
00:17:38 IBM, formerly XIV.
00:A0:98 NetApp
00:05:1E Brocade Communications Systems, acquired in purchase of Rhapsody Networks
00:60:DF Brocade Communications Systems, formerly CNT Technologies Corporation
00:05:30 Cisco
00:05:73 Cisco
00:05:9b Cisco
00:E0:8B QLogic HBAs, original identifier space
00:1B:32 QLogic HBAs. new identifier space starting to be used in 2007
00:90:66 QLogic formerly Troika Networks
00:11:75 QLogic formerly PathScale, Inc
08:00:88 Brocade Communications Systems, formerly McDATA Corporation. WWIDs begin with 1000.080
00:60:B0 Hewlett-Packard - Integrity and HP9000 servers. WWIDs begin with 5006.0b0
00:11:0A Hewlett-Packard - ProLiant servers. Formerly Compaq. WWIDs begin with 5001.10a
00:01:FE Hewlett-Packard - EVA disk arrays. Formerly Digital Equipment Corporation. WWIDs begin with 5000.1fe1 or 6000.1fe1
00:17:A4 Hewlett-Packard - MSL tape libraries. Formerly Global Data Services. WWIDs begin with 200x.0017.a4
00:60:48 EMC Corporation, for Symmetrix
00:60:16 EMC Corporation, for CLARiiON/VNX
00:10:86 ATTO Technology
00:23:29 DDRdrive LLC, for DDRdrive X1
00:00:C9 Emulex
00:14:EE Western Digital

 Então vamos supor que este initiator stg_SPa1_SPb1 venha de um storage EMC Clarrion:
00:60:16:00:00:00:00:01
00:60:16:00:00:00:00:02

 É claro que no meu exemplo os últimos octetos eu iventei a fim de ilustrar como ficaria o WWN completo.

 Agora eu tenho dois objetos identificados para saber quem é meu servidor e quem é meu storage. Mas eles ainda não se comunicam.
 Eu preciso criar um zoning. Um zoning é um objeto que será composto pelos WWNs que eu quero que tenha comunição.

Nome do meu zoning: srv_web01_HBA0_stg_SPa1_SPb1

Composto por quem?

srv_web01_HBA0
stg_SPa1_SPb1

 Agora é necessário que eu habilite essa configuração e por fim salve para que caso o meu switch reboot ele não perca essa configuração.
 Feito isso e tendo o retorno de que a configuração foi ativada e salva com sucesso, efetivamente meu initiator enxerga meu storage e meu storage enxerga meu initiator. Esse enxergar é ter condições de se comunicar e propagar informações entre ambos.

 Agora eu preciso falar para meu storage quem é este initiator pois ele irá ler o initiator como sendo apenas o WWN.
 Aqui também cada storage tem sua forma de configuração para isso, que não serão abordados aqui.     Mas é de certo modo o processo é semelhante ao que fizemos com o initiator na SAN.

srv_web01:21:00:00:e0:8b:05:05:04 

 Que bom, agora depois de tudo isso posso começar a usar os discos do storage!!! Opa!!! Ainda não.

 Imagine a bagunça e o problema que seria para todo mundo se todo host conectado ao storage quisesse sair usando todos os discos ou mesmo assim, que cada host tentasse usar o mesmo disco?

 Cada storage tem um jeito de configurar essa "política" de utilização dos discos, bem como os discos são dispostos para utilização.

 Eu tenho que criar um objeto para agrupar os discos e o initiator para assim, apenas este host enxergar os discos adicionados dentro deste mesmo storage group. Então veja que seu storage group deve ser composto por initiator mais discos.

 Agora para que meu initiator possa ver os discos no SO eu preciso fazer um rescan na minha HBA e por fim realizar a formatação do(s) disco(s).

 No Windows eu posso ir no gerenciador de discos e fazer um rescan. Caso ele não reconheça, podemos baixar um aplicativo de cada fornecedor da HBA para fazer o rescan, mesmo se ele não reconhecer os discos com este procedimento, basta um reboot no servidor.

 O mesmo vale para o linux e outros SOs derivados dele ou do Unix, lembrando que eu posso forçar este rescan sem necessidade de reboot. (Em outra matéria eu mostro um pouco mais de rescan de discos).

 Agora é só executar um fdisk para podermos ver o disco apresentado. Mas espera um minuto, por que eu estou exergando dois discos?
 Cuidado, estes "dois" discos são na verdade o mesmo disco, porém com mais de uma caminho para acesso. Neste caso o que eu preciso ter instalado e configurado em meu servidor é um gerenciador de multipath como o MPIO no Windows ou o multipathd do Linux.

 Então feito isso, eu irei enxergar via fdisk um único disco, mas que na verdade tem redundância de acesso.

 Agora imaginem uma estrutura onde meu servidor possui duas HBAs (HBA dual)?
 Todo processo será exatamente o mesmo, mudando apenas que eu terei que ligar uma HBA no switch lado A e a outra no switch lado B.

 Na hora de fazer meu zoning (objeto que contem os initiators/host e wwns do storage) eu preciso fazer uma para o lado A e o outro para o lado B.

Vamos lá então:

srv_web01_HBA0 (primeira WWN ligada no switch lado A);
srv_web01_HBA1 (segued WWN ligada no switch lado B);

SPa1 - ligada no switch lado A
SPb1 - ligada no switch lado A

SPa2 - ligada no switch lado B
SPb2 - ligada no switch lado B

Zoning para o lado A:
srv_web01_HBA0_SPa1_SPb1

Zoning para o lado B:
srv_web01_HBA1_SPa2_SPb2

 Agora olha que légal, eu terri quatro canais de comunicação pois vou utilizar 4 SPs do storage.
 Então agora no meu SO sem o multipath configurado eu enxergaria 4 caminhos para o mesmo disco.

 Vejam que aqui eu tentei explicar bem superficialmente um pouco da estrutura e de como as partes se comunicam para vocês poderem entender um pouco mais de como funciona esta estrutura, que as vezes parece simples, mas que na maioria das vezes é complicada ainda mais quando temos problemas e precisamos fazer um troubleshooting.

 Eu vou tentar ao longo de algumas matérias que tenho em mente de explicar alguns pontos um pouco mais específicos, mas é claro para isso também preciso preparar melhor um conteúdo e alguns desenhos para ajudar.

Segue algumas fontes consultadas:

Até a próxima.