Recentemente a Digital Ocean começou a ofertar Block Storage para os Droplets possibilitando aumentar a capacidade de armazenamento dos servidores sem necessidade de fazer upgrade do VPS inteiro, o que era muito expensivo.
Block Storages são unidades de armazenamento que podem ser acopladas a um servidor, e o melhor é que, além de ser possivel customizar o tamanho variando entre 1Gb e 16Tb, também podemos fazer resize da unidade ou adicionar outra ao mesmo Droplet (a Digital Ocean permite acoplar até 5 unidades de armazenamento para cada VPS).
Eu testei a novidade e posso dizer que podemos tirar grande proveito se soubermos como aplicar em nosso site ou projeto pois o custo por Gb em SSD é de apenas $ 0,10 ao mês.
Imagine um cenário onde o seu site tem muitos arquivos e fotos, digamos milhares de fotos. Neste caso você teria que alugar um servidor maior, que nunca é barato, ou migrar o site para uma hospedagem compartilhada retornando aos dias de sofrimento com suporte e site offline. Com o Block Storage e alguns truques podemos linkar a nova partição com a pasta de fotos.
Em outro diferente cenário podemos usar a unidade montada para manter backup de um projeto ou de todo o servidor, usando rsync e o cron pode-se facilmente criar uma rotina agendada para isso. E ainda, num terceiro cenário de exemplo, poderíamos instalar o OwnCloud e linkar o diretório de armazenamento de arquivos para a unidade acoplada, desta maneira quando o volume de arquivos crescer é só fazer o resize para o tamanho que desejar criando o seu próprio Dropbox escalonável.
Uma outra vantagem de se usar armazenamento acoplado é que, se destruirmos o servidor por qualquer motivo, a unidade continuará no painel da conta com todos os arquivos, aguardando para ser adicionada à um Droplet novamente, e quando montarmos a partição os arquivos estarão lá.
Se você ainda não é assinante da Digital Ocean clique neste link e ganhe um bônus de $10 dólares para gastar em hospedagem. *O bônus é real e imediato após o primeiro depósito de pelo menos $5. (Algumas empresas oferecem bônus mas para usá-lo é necessário cumprir vários requisitos).
* Este tutorial foi testado em nosso servidor Debian 8 Jessie com ISPConfig 3 e NginX, clique aqui e veja como instalar.
A Acesse o painel da sua conta na Digital Ocean e clique em um Droplet que esteja em NYC1 ou SFO2. Neste mês de lançamento eles ofertam o novo serviço somente nesses datacenters. *Caso o seu VPS não esteja nos datacenters que ofertam Block Storage pode-se migrá-lo para um que tenha.
B Clique no menu Volumes e no botão “Attach a volume“.. Na tela que abrirá pode usar o nome padrão para a unidade (deixe o padrão para seguir o tutorial), e no espaço a adicionar digite um número (em Gb), exemplo 50. Com isso criaremos uma unidade de 50Gb em SSD que custará apenas $5 por mês. Note que logo abaixo do volume há um checkbox marcado indicando que a nova unidade será acoplada ao Droplet automaticamente. Clique em “Create“.
Para podermos usar a unidade é necessário montar e formatá-la. Acesse o console SSH como superusuário root para digitar os comandos abaixo (ou se tiver adicionado um usuário operador com permissões elevadas pode acessar com ele mas não esqueça de adicionar “sudo” ao início dos comandos)
Logo após clicarmos no botão para criar o Block Storage uma janela popup exibe os comandos que teremos que digitar para montar a unidade, vou relacioná-los abaixo:
*Irei negritar em vermelho o nome da partição caso você tenha alterado o nome padrão ou criado uma segunda partição.
A Neste exemplo vamos formatar o volume usando o sistema de arquivos “ext4“. ATENÇÃO: Todos os arquivos da unidade adicionada serão apagados, se estiver vinculando um Block Storage que já havia sido desvinculado de outro servidor NÃO execute este comando pulando para o passo 2B
ssh# mkfs.ext4 -F /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01
B Para montar o volume formatado digite os seguintes comandos (note que montaremos no diretório /mnt mas poderia ser em qualquer lugar do sistema. Posso explicar melhor isso nos comentários caso haja dúvidas)
ssh# mkdir -p /mnt/volume-nyc1-01 ssh# mount -o discard,defaults /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 /mnt/volume-nyc1-01
C Temos ainda que adicionar a partição ao fstab para que seja montada automaticamente quando o sistema reiniciar
ssh# echo '/dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 /mnt/volume-nyc1-01 ext4 defaults,nofail,discard 0 0' | tee -a /etc/fstab
D Verifique se a partição foi adicionada corretamente. Caso apresente erro reveja os passos acima:
ssh# cat /etc/fstab ssh# mount -a ssh# df -h -x tmpfs -x devtmpfs
* Após executar todos os passos o volume poderá ser acessado em /mnt/volume-nyc1-01 e poderemos usá-lo normalmente como uma pasta do sistema.
** Dentro do diretório montado há um subdiretório chamado “lost+found“, ele é usado pelo fsck em caso de problemas com arquivos na incialização. O fsck faz a verificação do sistema quando há desligamento incorreto do servidor ou falhas na partição. Não delete esse subdiretório.
Explicarei nesta parte do artigo como fazer um resize de um Block Storage. Isso pode ser usado para casos em que a partição foi adicionada mas terá que ser redimensionada para servir mais espaço. *Como eu disse anteriormente você pode também adicionar outra partição, o limite é de 5 partições por Droplet.
Siga os passos abaixo tendo em mente que somente é possível fazer o resize aumentando o espaço da partição, não há como reduzir o tamanho.
A No painel da Digital Ocean, na linha do Block Storage, há um menu de ação para aquele Block, clique nele e selecione “Resize Volume“. Digite a nova capacidade para o volume e clique no botão de Resize.
B No console SSH, logado como root, digite os comandos abaixo:
# Este comando irá redimensionar automaticamente o volume caso o sistema de arquivos seja ext4 ssh# resize2fs /dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 # Para listar a partição e verificar o novo tamanho digite ssh# df -h -x tmpfs -x devtmpfs
Para excluir, desvincular ou simplesmente destruir o Block Storage siga os passos abaixo.
A Liste os volumes montados
ssh# df -h -x tmpfs -x devtmpfs
B Verifique se existe algum processo gravando arquivos na partição, se houver interrompa o programa ou aguarde o fim da gravação
ssh# lsof +f -- /mnt/volume-nyc1-01
C Desmonte a unidade
ssh# cd /root ssh# umount /mnt/volume-nyc1-01
D Edite o arquivo /etc/fstab e remova a linha que adicionamos no passo 2C para que a unidade seja montada automaticamente na reinicialização do sistema
#/dev/disk/by-id/scsi-0DO_Volume_volume-nyc1-01 /mnt/volume-nyc1-01 ext4 defaults,nofail,discard 0 0
E No painel da conta da Digital Ocean desvincule o Block Storage do Droplet. Se não for usá-lo, e tiver certeza de que não precisa dos arquivos da partição, então destrua-o.
Observação: O espaço vinculado ao Droplet não será incluido à rotina de backup daquele VPS. Se quiser manter cópia de segurança dos arquivos da partição a melhor opção é criar outro Block Storage do mesmo tamanho e fazer um rsync.
Feito! Agora você já pode criar aquele mega site cheio de fotografias e outras tolices.. 🙂
Índice do Tutorial:
- Tutorial Debian 8 x64 com ISPConfig e NginX: Índice
- Tutorial Debian 8 x64 com ISPConfig e NginX: Servidor de Email
- Tutorial Debian 8 x64 com ISPConfig e NginX: Tabela DNS
- Tutorial Debian 8 x64 com ISPConfig e NginX: Instalação do Site
- Tutorial Debian 8 x64 com ISPConfig e NginX: Configurações Adicionais
- SMTP Relay com Postfix e SparkPost
- DigitalOcean Block Storage: Aprenda como adicionar mais espaço ao servidor
- Tutorial SSL com Lets Encrypt: Certificado gratuito e homologado para lojas virtuais
- Tutorial Debian 8 x64 com ISPConfig e NginX: Deploy do Linux
- Tutorial Debian 8 x64 com ISPConfig e NginX: ISPConfig 3
- Tutorial Debian 8 x64 com ISPConfig e NginX: Otimizando a Instalação
- Tutorial Debian 8 x64 com ISPConfig e NginX: Firewall