Configure sua própria rede privada com o OpenVPN
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
O GlusterFS é um sistema de arquivos conectados à rede que permite compartilhar duas unidades em vários dispositivos da rede. Esse sistema de arquivos é perfeito para a oferta de armazenamento em bloco do Vultr, pois você pode compartilhar uma unidade pela rede, o que não é possível imediatamente.
Em termos de recursos, extensibilidade e confiabilidade, o GlusterFS provou ser um dos sistemas de arquivos mais sofisticados e estáveis disponíveis.
Quando são feitas alterações na unidade em um servidor, elas serão automaticamente replicadas para o outro servidor em tempo real. Para conseguir isso e seguir este guia, você precisará de:
Depois de encomendar essas duas unidades de armazenamento em bloco, você deve conectá-las à VM 1 e VM 2. Como usaremos as duas unidades de armazenamento em bloco para o mesmo sistema de arquivos, dividir o tamanho total de ambas as unidades por dois fornecerá a quantidade utilizável de GB. Por exemplo, se você tiver duas unidades de 100 GB, 100 GB serão utilizáveis (100 * 2/2).
Além disso, as duas VMs precisam estar no mesmo local para estarem na mesma rede privada. Estaremos nos conectando aos servidores usando seus endereços IP internos. Observe que limparemos os dados na unidade de armazenamento em bloco. Verifique se eles são novos e não formatados.
Neste guia, usaremos storage1
e storage2
, respectivamente, os endereços IP privados 10.0.99.10 e 10.0.99.11. Seus nomes de servidor e endereços IP provavelmente serão diferentes, portanto, altere-os no processo de configuração do GlusterFS.
Este guia foi escrito com o CentOS / RHEL 7 em mente. No entanto, o GlusterFS é relativamente compatível em várias distribuições Linux.
/etc/hosts
arquivoPara podermos nos conectar rapidamente às instâncias respectivas, devemos adicionar nomes fáceis de lembrar ao hosts
arquivo. Abra o /etc/hosts
arquivo e adicione as seguintes linhas na parte inferior:
10.0.99.10 storage1
10.0.99.11 storage2
storage1
SSH storage1
e execute os seguintes comandos. Por padrão, as unidades de armazenamento em bloco conectadas são montadas como /dev/vdb
. Se isso diferir no seu caso por qualquer motivo, altere-o nos comandos abaixo.
Formate o disco:
fdisk /dev/vdb
Pressione "enter" para as três perguntas a seguir (em relação ao tamanho da partição e similares, queremos usar todo o espaço disponível nas unidades de armazenamento em bloco) e escreva "w" para gravar essas alterações no disco. Depois que isso for concluído com êxito, escreva:
/sbin/mkfs.ext4 /dev/vdb1
Fomos em frente e criamos um sistema de arquivos agora, pois o Vultr não cria nenhum sistema de arquivos no armazenamento em bloco por padrão.
Em seguida, criaremos a pasta na qual armazenaremos nossos arquivos. Você pode alterar esse nome, mas não o verá muito; portanto, para eliminar a complexidade, recomendo deixá-lo em paz.
mkdir /glusterfs1
Para montar automaticamente a unidade na inicialização, abra /etc/fstab
e adicione a seguinte linha na parte inferior do arquivo:
/dev/vdb1 /glusterfs1 ext4 defaults 1 2
Por fim, monte a unidade:
mount -a
A montagem permanecerá persistente durante as reinicializações; portanto, quando você reinicia o servidor, a unidade será montada automaticamente novamente.
storage2
Agora que adicionamos e montamos o disco storage1
, precisamos criar o disco storage2
também. Os comandos mal diferem. Para fdisk
, siga os mesmos passos acima.
fdisk /dev/sdb
/sbin/mkfs.ext4 /dev/sdb1
mkdir /glusterfs2
Edite /etc/fstab
e adicione a seguinte linha:
/dev/vdb1 /glusterfs2 ext4 defaults 1 2
Assim como storage1
a unidade será montada automaticamente nas reinicializações.
Monte a unidade:
mount -a
Finalmente, vamos verificar se podemos ver a partição aparecer:
df -h
Você deve ver sua unidade aparecer aqui. Caso contrário, tente seguir as etapas acima.
storage1
estorage2
Precisamos instalar o GlusterFS a seguir. Adicione o repositório e instale o GlusterFS:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/CentOS/glusterfs-epel.repo
yum -y install glusterfs glusterfs-fuse glusterfs-server
É possível que você receba um erro yum
porque a assinatura do repositório não está correta. Nesse caso, é seguro forçar a não verificação da assinatura GPG:
yum -y install glusterfs glusterfs-fuse glusterfs-server --nogpgcheck
Nos dois servidores, execute os seguintes comandos para iniciar o GlusterFS agora e iniciá-lo automaticamente após uma reinicialização:
systemctl enable glusterd.service
systemctl start glusterd.service
Se você usa uma versão mais antiga do CentOS, pode usar os comandos service
e chkconfig
:
chkconfig glusterd on
service glusterd start
storage1
estorage2
Embora não seja a melhor solução em si, é uma boa ideia desativar o firewall para eliminar possíveis conflitos com portas bloqueadas. Se você não se sentir à vontade para fazer isso, sinta-se à vontade para alterar as regras ao seu gosto, mas devido à natureza do GlusterFS, recomendo desabilitar o firewall. Considerando que uma rede privada é realmente privada no Vultr (e você não precisa fazer firewall para outros clientes), você pode simplesmente bloquear todo o tráfego de entrada da Internet e restringir as conexões permitidas à rede privada. No entanto, desligar o firewall e não alterar outras configurações do sistema também seria suficiente:
systemctl stop firewalld.service
systemctl disable firewalld.service
Caso você use uma versão anterior do CentOS que não suporta systemctl
, use os comandos service
e chkconfig
:
service firewalld stop
chkconfig firewalld off
Caso você não use firewalld
, tente desativar iptables
:
service iptables stop
chkconfig iptables off
Após desligar o firewall, podemos adicionar os dois servidores ao pool de armazenamento. Este é um pool que consiste em todo o armazenamento disponível. Execute o seguinte comando em storage1
:
gluster peer probe storage2
O que esse comando faz é adicionar storage2
ao seu próprio conjunto de armazenamentos. Ao executar o seguinte comando storage2
, as duas unidades estarão sincronizadas:
gluster peer probe storage1
Depois de executar isso nos dois servidores, devemos verificar o status nos dois servidores:
gluster peer status
Ambos os servidores devem mostrar um estado de "Pares: 1". Um erro comum são as pessoas que esperam ver Peers: 2
, mas como storage1
estarão observando storage2
e vice-versa, elas não observam consigo mesmas. Portanto, Peers: 1
é o que precisamos.
storage1
Agora que os dois servidores podem se conectar através do GlusterFS, vamos criar uma unidade compartilhada.
Em storage1
, execute:
gluster volume create mailrep-volume replica 2 storage1:/glusterfs1/files storage2:/glusterfs2/files force
O volume agora foi criado. No GlusterFS, você precisa "iniciar" um volume para que ele seja compartilhado ativamente entre vários dispositivos. Vamos começar:
gluster volume start mailrep-volume
Em seguida, escolha uma pasta que deve estar no volume e replicada nos dois servidores. Neste tutorial vamos usar a pasta /var/files
. Naturalmente, isso pode ser o que você quiser. Crie storage1
apenas :
mkdir /var/files
Em seguida, monte-o:
mount.glusterfs storage1:/mailrep-volume /var/files/
Atualize /etc/fstab
para que a unidade seja montada automaticamente na inicialização. Adicione o seguinte:
storage1:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
Remonte a unidade:
mount -a
storage2
Agora que criamos uma unidade compartilhada storage1
, precisamos criar uma storage2
também. Crie uma pasta com o mesmo local / caminho e nome:
mkdir /var/files
mount.glusterfs storage2:/mailrep-volume /var/files/
Assim como em storage1
, adicione a seguinte linha a /etc/fstab
:
storage2:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
Remonte a unidade:
mount -a
Navegue até a /var/files
pasta storage1
e crie um arquivo:
cd /var/files
touch created_on_storage1
Em seguida, vá para o storage2
servidor. Execute ls -la
e você deverá ver o arquivo created_on_storage1
aparecer.
Em storage2
, navegue até a /var/files
pasta e crie um arquivo:
cd /var/files
touch created_on_storage2
Volte para storage1
e execute ls -la /var/files
. Você deve ver o arquivo created_on_storage2
aparecer aqui.
Para verificar se sua configuração permanecerá persistente durante as reinicializações, como prática recomendada, você deve reiniciar todos os servidores. Como mencionado, você deve aguardar a inicialização de um servidor e, em seguida, reiniciar o outro para que a unidade compartilhada seja montada automaticamente.
Reinicialize storage1
primeiro, aguarde até que ele ative e depois reinicie storage2
. Agora faça login e execute nos dois servidores:
cd /var/files
ls -la
Agora você deve ver os dois arquivos aparecerem. Certifique-se de começar sem nenhum arquivo no volume; remova os arquivos de teste que criamos. Você pode fazer isso storage1
, storage2
ou ambos. As alterações serão replicadas instantaneamente:
cd /var/files
rm created_on_storage1
rm created_on_storage2
Você deve ter um volume compartilhado idêntico nos dois servidores, independentemente das ações nos dois volumes.
Agora você configurou uma instalação completa do GlusterFS com 100 GB (ou mais) de espaço utilizável. Caso você precise de mais no futuro, a configuração é facilmente escalável para adicionar mais capacidade e / ou mais servidores, caso sua carga de trabalho exija isso.
Obrigado pela leitura!
O GlusterFS permite manter seus dados atualizados em duas unidades. No entanto, observe que, quando os dois servidores são reinicializados ao mesmo tempo , você precisará forçar a montagem das unidades nos dois servidores. Você deve forçar a montagem manualmente executando o seguinte comando:
gluster volume start mailrep-volume force
Isso ocorre porque um dos servidores atua como servidor e o outro como cliente. Embora a diferença não seja notada com muita facilidade na prática, isso significa que, quando precisar reiniciar os dois servidores, reinicie um, aguarde até que ele ative e, em seguida, inicialize o outro.
Mesmo que seus dados sejam replicados em duas unidades, você deve replicá-los pelo menos três vezes. Embora seus dados estejam mais bem protegidos contra corrupção de dados e similares, observe que as alterações são instantâneas e você nunca será protegido contra erros humanos. Quando você remove todos os arquivos em uma unidade, essas alterações são replicadas imediatamente na outra unidade, o que significa que seus dados serão limpos em ambas as instâncias.
Felizmente, existem várias abordagens para evitar isso. Primeiro, recomendo ativar os backups na própria instância da nuvem. Embora esses backups não incluam dados no armazenamento em bloco, eles protegerão os dados na própria instância.
Quando se trata de fazer backup dos dados no próprio armazenamento em bloco, recomendo criar uma instância separada (por exemplo, um plano SATA) para que você possa executar um backup de um dos dois servidores conectados todas as noites, por exemplo. Dessa forma, seus dados estarão seguros em outro dispositivo separado.
Você pode aumentar o tamanho do armazenamento em bloco no painel de controle do Vultr. Você deve redimensionar o disco dentro do sistema operacional depois, mas isso está fora do escopo deste artigo.
Embora este guia tenha sido escrito para dois servidores (portanto, duas unidades de armazenamento em bloco conectadas aos dois servidores), é possível pegar este guia e usá-lo também por mais de dois servidores. Uma configuração com mais de dois servidores / unidades pode ter esta aparência para 6 servidores, por exemplo:
VM: storage1
VM: storage2
VM: storage3
VM: storage4
Block Storage: attached to storage1
Block Storage: attached to storage2
Block Storage: attached to storage3
Block Storage: attached to storage4
Dado que todas as unidades de armazenamento em bloco têm capacidade de, por exemplo, 200 GB, você receberá 200 * 4 / 4. Em outras palavras, o espaço utilizável é sempre a capacidade de uma única unidade de armazenamento em bloco. Isso ocorre porque um servidor com armazenamento em bloco conectado é tratado como "mestre" pelo GlusterFS e é replicado nos outros servidores. No entanto, a configuração foi criada para poder sobreviver sem um servidor mestre, o que a torna uma solução estável, redundante e confiável.
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi
Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim
Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade
Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud
Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens
Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i
Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece
Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.
Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:
Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta
Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos
Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo
O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi
O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você
Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa
Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo
Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL
Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece
Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.