One place for hosting & domains

      Servidores

      Cómo configurar de un clúster de Galera con MySQL en servidores de Ubuntu 18.04


      El autor seleccionó la Free and Open Source Fund para recibir una donación como parte del programa Write for DOnations.

      Introducción

      El uso de clústeres añade una alta disponibilidad a su base de datos mediante la distribución de cambios en servidores diferentes. En caso de que una de las instancias no se produzca, otras están rápidamente disponibles para continuar con el servicio.

      Los clústeres vienen con dos configuraciones generales: activo-pasivo y activo-activo. En los clústeres activo-pasivo, todo lo que escribe queda en un único servidor activo y luego se copia a uno o más servidores pasivos que están preparados para tomar el control solo en caso de que se produzca una falla en el servidor activo. Algunos clústeres activo-pasivo también permiten operaciones SELECT en nodos pasivos. En un clúster activo, todos los nodos son de lectura-escritura y cualquier cambio que se haga en uno de ellos se replica en el resto.

      MySQL es un sistema de administración de bases de datos relacionales de código abierto que representa una opción popular para bases de datos SQL. Galera es una solución de clústeres de bases de datos que le permite configurar clústeres multimaestro mediante reproducción sincrónica. Galera administra de forma automática la sincronización de los datos sobre diferentes nodos y le permite enviar consultas de lectura y escritura a cualquiera de los nodos del clúster. Puede obtener más información sobre Galera en la página de documentación oficial.

      A lo largo de esta guía, configurará un clúster de Galera de MySQL activo-activo. A modo de prueba, confgurará y probará tres Droplets de Ubuntu 18.04 que funcionarán como nodos del clúster. Esta cantidad de nodos es el clúster configurable más pequeño.

      Requisitos previos

      Para continuar, necesitará una cuenta de DigitalOcean y lo siguiente:

      • Tres Droplets de Ubuntu 18.04 con redes privadas habilitadas, cada uno con un usuario no root con privilegios sudo.

      Aunque los pasos de este tutorial se escribieron y probaron con Droplets de DigitalOcean, gran parte de ellos también serán aplicables a servidores que no pertenezcan a DigitalOcean y tengan redes privadas habilitadas.

      Paso 1: Añadir los repositorios de MySQL a todos los servidores

      En este paso, agregará los repositorios de paquetes de MySQL y Galera pertinentes a cada uno de sus tres servidores para poder instalar las versiones correctas de MySQL y Galera que se utilizan en este tutorial.

      Nota: Codership, la empresa responsable de Galera Cluster, se encarga del mantenimiento del repositorio de Galera. Sin embargo, deber tener en cuenta que no todos los repositorios externos son confiables. Asegúrese de realizar la instalación únicamente desde fuentes confiables.

      En este tutorial, usará la versión 5.7 de MySQL. Comenzará añadiendo el repositorio externo de Ubuntu, cuyo mantenimiento está a cargo del proyecto de Galera, a sus tres servidores.

      Una vez que los repositorios se actualicen en los tres servidores, estará listo para instalar MySQL junto con Galera.

      Primero, en sus tres servidores, añada la clave del repositorio de Galera con el comando apt-key que el administrador de paquetes APT usará para verificar que el paquete sea auténtico:

      • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA

      Después de unos segundos, verá el siguiente resultado:

      Output

      Executing: /tmp/apt-key-gpghome.RG5cTZjQo0/gpg.1.sh --keyserver keyserver.ubuntu.com --recv BC19DDBA gpg: key D669017EBC19DDBA: public key "Codership Oy <info@galeracluster.com>" imported gpg: Total number processed: 1 gpg: imported: 1

      Una vez que tenga la clave de confianza en la base de datos de todos los servidores, podrá añadir los repositorios. Para hacerlo, cree un nuevo archivo llamado galera.list dentro del directorio /etc/apt/sources.list.d/ en cada servidor:

      • sudo nano /etc/apt/sources.list.d/galera.list

      En el editor de texto, añada las siguientes líneas. Con esto, los repositorios correspondientes quedarán a disposición del administrador de paquetes de APT:

      /etc/apt/sources.list.d/galera.list

      deb http://releases.galeracluster.com/mysql-wsrep-5.7/ubuntu bionic main
      deb http://releases.galeracluster.com/galera-3/ubuntu bionic main
      

      Guarde y cierre los archivos en cada servidor (presione CTRL + X, Y y luego ENTER).

      Los repositorios de Codership ahora están disponibles para sus tres servidores. Sin embargo, es importante que indique a apt priorizar los repositorios de Codership por sobre los otros para asegurarse de que instale las versiones parcheadas del software necesario para crear un clúster de Galera. Para hacer esto, cree otro archivo nuevo llamado galera.pref dentro del directorio /etc/apt/preferences.d/ de cada servidor:

      • sudo nano /etc/apt/preferences.d/galera.pref

      Añada las siguientes líneas al editor de texto:

      /etc/apt/preferences.d/galera.pref

      # Prefer Codership repository
      Package: *
      Pin: origin releases.galeracluster.com
      Pin-Priority: 1001
      

      Guarde y cierre ese archivo, y luego ejecute el siguiente comando en cada servidor para incluir los manifiestos de paquetes desde los repositorios nuevos:

      Ahora que añadió correctamente el repositorio de paquetes en sus tres servidores, estará listo para instalar MySQL en la siguiente sección.

      Paso 2: Instalar MySQL en todos los servidores

      Durante este paso, instalará el paquete de MySQL en sus tres servidores.

      Ejecute el siguiente comando en los tres servidores para instalar una versión de MySQL parcheada a fin de trabajar con Galera y el paquete de Galera.

      • sudo apt install galera-3 mysql-wsrep-5.7

      Se le solicitará confirmar si desea continuar con la instalación. Introduzca Y para hacerlo. Durante la instalación, también se le solicitará que establezca una contraseña para el usuario administrativo de MySQL. Establezca una contraseña segura y presione ENTER para continuar.

      Una vez que MySQL esté instalado, desactive el perfil de AppArmor predeterminado para asegurarse de que Galera funcione correctamente, según la documentación oficial de Galera. AppArmor es un módulo de kernel para Linux que ofrece funciones de control de acceso para los servicios a través de los perfiles de seguridad.

      Desactive AppArmor ejecutando lo siguiente en cada servidor:

      • sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/

      Este comando añade un enlace simbólico del perfil de MySQL al directorio disable, lo que deshabilita el perfil en el inicio.

      A continuación, ejecute el siguiente comando para eliminar la definición de MySQL que ya se cargó en el kernel

      • sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

      Una vez que haya instalado MySQL y desactivado el perfil AppArmor en su primer servidor, repita estos pasos para sus otros dos servidores.

      Ahora que instaló MySQL correctamente en cada uno de los tres servidores, puede continuar con el paso de configuración de la siguiente sección.

      Paso 3: Configurar el primer nodo

      En este paso, configurará su primer nodo. Cada nodo del clúster tiene que tener una configuración casi idéntica. Por eso, hará toda la configuración en su primera máquina y luego la copiará a los otros nodos.

      De forma predeterminada, MySQL está configurado para verificar el directorio /etc/mysql/conf.d a fin de obtener ajustes de configuración adicionales desde los archivos que terminan en .cnf. En su primer servidor, cree un archivo en este directorio con todas sus directivas específicas por clúster:

      • sudo nano /etc/mysql/conf.d/galera.cnf

      Añada la siguiente configuración al archivo. En la configuración se especifican diferentes opciones de clústeres, detalles sobre el servidor actual y los otros servidores del clúster, además de ajustes relacionados con la replicación. Tenga en cuenta que las direcciones IP de la configuración son las direcciones privadas de sus servidores respectivos; sustituya las líneas resaltadas por las direcciones IP correspondientes.

      /etc/mysql/conf.d/galera.cnf

      [mysqld]
      binlog_format=ROW
      default-storage-engine=innodb
      innodb_autoinc_lock_mode=2
      bind-address=0.0.0.0
      
      # Galera Provider Configuration
      wsrep_on=ON
      wsrep_provider=/usr/lib/galera/libgalera_smm.so
      
      # Galera Cluster Configuration
      wsrep_cluster_name="test_cluster"
      wsrep_cluster_address="gcomm://First_Node_IP,Second_Node_IP,Third_Node_IP"
      
      # Galera Synchronization Configuration
      wsrep_sst_method=rsync
      
      # Galera Node Configuration
      wsrep_node_address="This_Node_IP"
      wsrep_node_name="This_Node_Name"
      
      • La primera sección modifica o vuelve a confirmar la configuración de MySQL que permitirá que el clúster funcione correctamente. Por ejemplo, Galera no funcionará con MyISAM ni con motores de almacenamiento no transaccional similares y mysqld no debe estar vinculado a la dirección IP de localhost. Puede obtener más información sobre la configuración en la página de configuración del sistema Galera Cluster.
      • En la sección “Configuración de proveedor de Galera” configura los componentes de MySQL que ofrecen una API de reproducción WriteSet. Esto significa Galera, en su caso, ya que es un proveedor *wsrep *(replicación WriteSet). Usted especifica los parámetros generales para configurar el entorno de reproducción inicial. Esto no requiere personalización, pero puede obtener más información sobre las opciones de configuración de Galera en la documentación.
      • La sección “Configuración de Galera Cluster” define el clúster e identifica los miembros del clúster por dirección IP o nombre de dominio resoluble y crean un nombre para el clúster, a fin de garantizar que los miembros se unan al grupo correcto. Puede cambiar wsrep_cluster_name a algo más significativo que test_cluster, o dejarlo como está, pero debe actualizar wsrep_cluster_address con las direcciones IP privadas de sus tres servidores.
      • En la sección Configuración de sincronización de Galera se define la forma en que el clúster se comunicará y sincronizará los datos entre los miembros. Esto se utiliza solo para la transferencia del estado que sucede cuando se conecta un nodo. Para su configuración inicial, utilizará rsync porque suele estar disponible y hace lo que necesitará por ahora.
      • En la sección Configuración de nodos de Galera, se aclaran la dirección IP y el nombre del servidor actual. Esto es útil al tratar de diagnosticar problemas en registros y hacer referencia a cada servidor de varias formas. La wsrep_node_address debe coincidir con la dirección de la máquina que utilice, pero puede elegir cualquier nombre que desee para poder identificar el nodo en los archivos de registro.

      Cuando esté satisfecho con su archivo de configuración de clúster, copie el contenido al portapapeles y, luego, guarde y cierre el archivo.

      Ahora que configuró correctamente su primer nodo, puede configurar los nodos restantes en la siguiente sección.

      Paso 4: Configurar los nodos restantes

      Durante este paso, configurará los dos nodos restantes. En su segundo nodo, abra el archivo de configuración:

      • sudo nano /etc/mysql/conf.d/galera.cnf

      Pegue la configuración que copió del primer nodo y luego actualice la Configuración de nodos de Galera para usar la dirección IP o el nombre de dominio resoluble para el nodo específico que configurará. Finalmente, actualice su nombre. Podrá elegir cualquiera que le sirva para identificar el nodo en sus archivos de registro:

      /etc/mysql/conf.d/galera.cnf

      . . .
      # Galera Node Configuration
      wsrep_node_address="This_Node_IP"
      wsrep_node_name="This_Node_Name"
      . . .
      
      

      Guarde el archivo y ciérrelo.

      Una vez completados estos pasos, repítalos en el tercer nodo.

      Ya casi está listo para configurar el clúster. No obstante, antes de hacerlo, asegúrese de que los puertos correspondientes estén abiertos en su firewall.

      Paso 5: Abrir el firewall en todos los servidores

      A lo largo de este paso, configurará su firewall a fin de que se abran los puertos necesarios para la comunicación entre nodos. En cada servidor, compruebe el estado del firewall ejecutando lo siguiente:

      En este caso, solo se permite usar SSH:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

      Debido a que solo se permite el tráfico SSH en este caso, deberá añadir reglas para el tráfico de MySQL y Galera. Si intentara iniciar el clúster, se produciría un error debido a estas reglas firewall.

      Galera puede usar cuatro puertos:

      • 3306: para conexiones de clientes de MySQL y transferencia de imagen de estado, que utilizan el método mysqldump.
      • 4567: para tráfico de reproducción de Galera Cluster. La reproducción de multidifución utiliza tanto el transporte UDP como el TCP en este puerto.
      • 4568: para transferencia de estado incremental.
      • 4444: para todas las demás transferencias de imagen de estado.

      En este ejemplo, abrirá los cuatro puertos mientras procede con la configuración. Una vez que confirme que la reproducción funciona, debe cerrar los puertos que no esté usando y restringir el tráfico de modo que solo sea posible para servidores del clúster.

      Abra los puertos con los siguientes comandos:

      • sudo ufw allow 3306,4567,4568,4444/tcp
      • sudo ufw allow 4567/udp

      Nota: Según los demás procesos que estén en ejecución en sus servidores, es posible que le convenga restringir el acceso de inmediato. La guía Nociones básicas de UFW: Comandos y reglas de firewall comunes puede ser útil para esto.

      Después de configurar su firewall en el primer nodo, cree la misma configuración de firewall en el segundo y el tercero.

      Ahora que configuró los firewalls correctamente, estará listo para iniciar el clúster en el siguiente paso.

      Paso 6: Iniciar el clúster

      En este paso, iniciará su clúster de Galera de MySQL. Sin embargo, primero habilitará el servicio systemd de MySQL para que MySQL se inicie de forma automática cuando se reinicie el servidor.

      Habilitar MySQL para que se cargue en el inicio en los tres servidores

      Use el siguiente comando en los tres servidores para habilitar el servicio systemd de MySQL:

      • sudo systemctl enable mysql

      Verá el siguiente resultado, que muestra que el servicio se vinculó correctamente a la lista de servicios de inicio:

      Output

      Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.

      Ahora que habilitó mysql para cargarse en el inicio en todos los servidores, estará listo para continuar con la activación del clúster.

      Configure el primer nodo

      Para configurar el primer nodo, deberá usar una secuencia de comandos de inicio especial. Por la manera en que configuró su clúster, cada nodo que se conecte intentará establecer conexión con al menos otro nodo especificado en su archivo galera.cnf para obtener su estado inicial. Sin usar la secuencia de comandos mysqld_bootstrap que permite que systemd pase el parámetro --wsrep-new-cluster, un systemctl start mysql normal fallaría porque no hay en ejecución nodos con los que el primer nodo se pueda conectar.

      Ejecute lo siguiente en su primer servidor:

      Con este comando no se mostrará un resultado tras una ejecución correcta. Cuando esta secuencia de comandos es exitosa, el nodo se registra como parte del clúster y puede verlo con el siguiente comando:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      Después de ingresar su contraseña, verá el siguiente resultado, que indica que hay un nodo en el clúster:

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 1 | +--------------------+-------+

      En los nodos restantes, puede iniciar mysql de forma normal. Buscarán cualquier integrante de la lista de clústeres que esté en línea y, cuando lo encuentren, se sumarán a él.

      Activar el segundo nodo

      Ahora, puede activar el segundo nodo. Inicie mysql:

      • sudo systemctl start mysql

      No se mostrará ningún resultado tras una ejecución correcta. Verá que aumenta el tamaño de su clúster a medida que cada nodo se vuelve disponible en línea:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      Verá el siguiente resultado que indica que el segundo nodo se ha sumó al clúster y que hay dos nodos en total.

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 2 | +--------------------+-------+

      Active el tercer nodo

      Ahora, es el momento de activar el tercer nodo. Inicie mysql:

      • sudo systemctl start mysql

      Ejecute el siguiente comando para encontrar el tamaño del clúster:

      • mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

      Verá el siguiente resultado, que indica que el tercer nodo se sumó al clúster y que la cantidad total de nodos del clúster es tres.

      Output

      +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 3 | +--------------------+-------+

      En este punto, todo el clúster se encuentra en línea y se comunica de forma correcta. A continuación, puede confirmar la configuración de trabajo probando la replicación en la siguiente sección.

      Paso 7: Probar la replicación

      Siguió los pasos hasta este punto para que su clúster pueda realizar la replicación de cualquier nodo a cualquier nodo, conocida como “replicación activo-activo”. En este paso, probará y verá si la replicación funciona de la forma prevista.

      Escribir el primer nodo

      Comenzará por realizar cambios en la base de datos de su primer nodo. Con los siguientes comandos se crearán una base de datos denominada playground y, dentro de esta, una tabla llamada equipment.

      • mysql -u root -p -e 'CREATE DATABASE playground;
      • CREATE TABLE playground.equipment ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(50), quant INT, color VARCHAR(25), PRIMARY KEY(id));
      • INSERT INTO playground.equipment (type, quant, color) VALUES ("slide", 2, "blue");'

      En el comando anterior, la instrucción CREATE DATABASE crea una base de datos denominada playground. La instrucción CREATE genera dentro de la base de datos playground una tabla denominada equipment, que tiene una columna de identificación llamada id que se incrementa de forma automática además de otras columnas. Las columnas type, quant y color están definidas para almacenar el tipo, la cantidad y el color del equipo respectivamente. La instrucción INSERT introduce un registro de tipo slide, cantidad 2 y color blue.

      Ahora, tiene un valor en su tabla.

      Leer y escribir en el segundo nodo

      A continuación, consulte el segundo nodo para verificar que la replicación funcione:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      Los datos que ingresó en el primer nodo serán visibles aquí, en el segundo, lo cual demuestra que la replicación funciona:

      Output

      +----+-------+-------+-------+ | id | type | quant | color | +----+-------+-------+-------+ | 1 | slide | 2 | blue | +----+-------+-------+-------+

      Desde este mismo nodo, escriba datos en el clúster:

      • mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("swing", 10, "yellow");'

      Leer y escribir en el tercer nodo

      Desde el tercer nodo, puede leer todos estos datos consultando la tabla de nuevo:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      Verá el siguiente resultado que muestra las dos filas:

      Output

      +----+-------+-------+--------+ | id | type | quant | color | +----+-------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | +----+-------+-------+--------+

      De nuevo, puede añadir otro valor desde este nodo:

      • mysql -u root -p -e 'INSERT INTO playground.equipment (type, quant, color) VALUES ("seesaw", 3, "green");'

      Leer el primer nodo

      Al regresar al primer nodo, puede verificar que sus datos estén disponibles en todos los lugares:

      • mysql -u root -p -e 'SELECT * FROM playground.equipment;'

      Verá el siguiente resultado, que indica que las filas están disponibles en el primer nodo.

      Output

      +----+--------+-------+--------+ | id | type | quant | color | +----+--------+-------+--------+ | 1 | slide | 2 | blue | | 2 | swing | 10 | yellow | | 3 | seesaw | 3 | green | +----+--------+-------+--------+

      De esta forma, habrá verificado correctamente que puede escribir en todos los nodos y que la replicación se realiza de forma adecuada.

      Conclusión

      En este punto, dispondrá de un clúster de prueba de Galera de tres nodos activo configurado. Si planea usar un clúster de Galera en para producción, se le recomienda comenzar con al menos cinco nodos.

      Antes de la aplicación en producción, es posible que desee ver algunos de los otros agentes de transferencia de imagen de estado (sst) como xtrabackup, que le permite configurar nuevos nodos de forma rápida y sin grandes interrupciones en sus nodos activos. Esto no afecta la replicación real, pero es un factor que debe tenerse en cuenta cuando se inicializan los nodos.

      También podrían interesarle otras soluciones de clústeres para MySQL, en cuyo caso puede verificar nuestro tutorial Cómo crear un clúster de MySQL de varios nodos en Ubuntu 18.04. Si desea probar una solución de base de datos administrada, consulte nuestra documentación sobre Bases de datos gestionadas de DigitalOcean.



      Source link

      Etapas Adicionais Recomendadas para Novos Servidores CentOS 7


      Introdução

      Depois de definir a configuração mínima para um novo servidor, existem algumas etapas adicionais que são altamente recomendadas na maioria dos casos. Neste guia, continuaremos a configuração de nossos servidores, abordando alguns procedimentos recomendados, mas opcionais.

      Pré-requisitos e Objetivos

      Antes de iniciar este guia, você deve passar pelo guia de Configuração Inicial do Servidor com o CentOS 7. Isso é necessário para configurar suas contas de usuário, configurar a elevação de privilégios com o sudo e bloquear o SSH por segurança.

      Depois de concluir o guia acima, você pode continuar com este artigo. Neste guia, nos concentraremos na configuração de alguns componentes opcionais, mas recomendados. Isso envolverá a configuração do nosso sistema com um firewall e um arquivo de swap, e configurar a sincronização do Network Time Protocol.

      Configurando um Firewall Básico

      Os firewalls fornecem um nível básico de segurança para o seu servidor. Esses aplicativos são responsáveis por negar tráfego a todas as portas do servidor com exceções das portas/serviços que você aprovou. O CentOS vem com um firewall chamado firewalld. Uma ferramenta chamada firewall-cmd pode ser usada para configurar suas políticas de firewall. Nossa estratégia básica será bloquear tudo o que não tivermos uma boa razão para manter em aberto. Primeiro instale o firewalld:

      • sudo yum install firewalld

      O serviço firewalld tem a capacidade de fazer modificações sem perder as conexões atuais, assim podemos ativá-lo antes de criar nossas exceções:

      • sudo systemctl start firewalld

      Agora que o serviço está funcionando, podemos usar o utilitário firewall-cmd para obter e definir informações de política para o firewall. O aplicativo firewalld usa o conceito de “zonas” para rotular a confiabilidade dos outros hosts em uma rede. Essa rotulagem nos dá a capacidade de atribuir regras diferentes, dependendo de quanto confiamos em uma rede.

      Neste guia, estaremos ajustando somente as políticas para a zona padrão ou default. Quando recarregarmos nosso firewall, essa será a zona aplicada às nossas interfaces. Devemos começar adicionando exceções ao nosso firewall para serviços aprovados. O mais essencial deles é o SSH, já que precisamos manter o acesso administrativo remoto ao servidor.

      Se você não modificou a porta em que o daemon SSH está sendo executado, é possível ativar o serviço pelo nome digitando:

      • sudo firewall-cmd --permanent --add-service=ssh

      Se você alterou a porta SSH do seu servidor, você terá que especificar a nova porta explicitamente. Você também precisará incluir o protocolo que o serviço utiliza. Somente digite o seguinte caso seu servidor SSH já tenha sido reiniciado para usar a nova porta:

      • sudo firewall-cmd --permanent --remove-service=ssh
      • sudo firewall-cmd --permanent --add-port=4444/tcp

      Isso é o mínimo necessário para manter o acesso administrativo ao servidor. Se você planeja executar serviços adicionais, também precisa abrir o firewall para esses serviços.

      Se você planeja executar um servidor web HTTP convencional, você precisará habilitar o serviço http:

      • sudo firewall-cmd --permanent --add-service=http

      Se você planeja executar um servidor web com SSL/TLS ativado, você também deve permitir o tráfego de https:

      • sudo firewall-cmd --permanent --add-service=https

      Se você precisar que o email SMTP esteja ativado, você pode digitar:

      • sudo firewall-cmd --permanent --add-service=smtp

      Para ver quaisquer serviços adicionais que você possa ativar por nome, digite:

      • sudo firewall-cmd --get-services

      Quando terminar, você poderá ver a lista das exceções que serão implementadas digitando:

      • sudo firewall-cmd --permanent --list-all

      Quando você estiver pronto para implementar as mudanças, recarregue o firewall:

      • sudo firewall-cmd --reload

      Se, após o teste, tudo funcionar conforme o esperado, você deverá certificar-se de que o firewall será iniciado na inicialização:

      • sudo systemctl enable firewalld

      Lembre-se de que você terá que abrir explicitamente o firewall (com serviços ou portas) para quaisquer serviços adicionais que você venha a configurar posteriormente.

      Configurar Fuso Horário e Sincronização do Network Time Protocol

      O próximo passo é ajustar as configurações de localização do seu servidor e configurar a sincronização do Network Time Protocol (NTP).

      O primeiro passo garantirá que seu servidor esteja operando no fuso horário correto. O segundo passo configurará seu servidor para sincronizar o relógio do sistema com o horário padrão mantido por uma rede global de servidores NTP. Isso ajudará a evitar algum comportamento inconsistente que pode surgir com relógios fora de sincronia.

      Configurar Fusos Horários

      Nosso primeiro passo é definir o fuso horário do nosso servidor. Este é um procedimento muito simples que pode ser realizado usando o comando timedatectl:

      Primeiro, dê uma olhada nos fusos horários disponíveis digitando:

      • sudo timedatectl list-timezones

      Isto lhe dará uma lista dos fusos horários disponíveis para o seu servidor. Quando você encontrar a configuração de região/fuso horário que estiver correta para o seu servidor, defina-a digitando:

      • sudo timedatectl set-timezone região/fuso_horário

      Por exemplo, para configurá-lo para o horário do leste dos Estados Unidos, você pode digitar:

      • sudo timedatectl set-timezone America/New_York

      Seu sistema será atualizado para usar o fuso horário selecionado. Você pode confirmar isso digitando:

      Configurar a Sincronização NTP

      Agora que você tem o seu fuso horário definido, devemos configurar o NTP. Isso permitirá que seu computador fique em sincronia com outros servidores, levando a uma maior previsibilidade nas operações que dependem da hora correta.

      Para a sincronização NTP, usaremos um serviço chamado ntp, que podemos instalar a partir dos repositórios padrão do CentOS:

      Em seguida, você precisa iniciar o serviço para esta sessão. Também habilitaremos o serviço para que ele seja iniciado automaticamente sempre que o servidor for inicializado:

      • sudo systemctl start ntpd
      • sudo systemctl enable ntpd

      Seu servidor agora corrigirá automaticamente o relógio do sistema para se alinhar aos servidores globais.

      Criar um Arquivo de Swap

      Adicionar "swap" a um servidor Linux permite que o sistema mova as informações acessadas por um programa em execução com menos frequência da RAM para um local no disco. Acessar os dados armazenados no disco é muito mais lento do que acessar a RAM, mas ter o swap disponível pode ser a diferença entre o aplicativo permanecer ativo e a falha. Isso é especialmente útil se você planeja hospedar bancos de dados em seu sistema.

      Conselhos sobre o melhor tamanho para um espaço de swap variam significativamente dependendo da fonte consultada. Geralmente, um valor igual ou o dobro da quantidade de RAM do seu sistema é um bom ponto de partida.

      Aloque o espaço que você deseja usar para o seu arquivo de swap usando o utilitário fallocate. Por exemplo, se precisarmos de um arquivo de 4 Gigabytes, podemos criar um arquivo de swap localizado em /swapfile digitando:

      • sudo fallocate -l 4G /swapfile

      Depois de criar o arquivo, precisamos restringir o acesso a ele para que outros usuários ou processos não consigam ver o que é gravado lá:

      Agora temos um arquivo com as permissões corretas. Para dizer ao nosso sistema para formatar o arquivo para swap, podemos digitar:

      Agora, diga ao sistema que ele pode usar o arquivo de swap digitando:

      Nosso sistema está usando o arquivo de swap para esta sessão, mas precisamos modificar um arquivo de sistema para que nosso servidor faça isso automaticamente na inicialização. Você pode fazer isso digitando:

      • sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

      Com essa adição, seu sistema deve usar seu arquivo de swap automaticamente a cada inicialização.

      Para Onde Ir a partir Daqui?

      Agora você tem uma configuração inicial muito decente para o seu servidor Linux. A partir daqui, existem alguns lugares que você pode ir. Primeiro, você pode querer tirar um instantâneo ou snapshot do seu servidor em sua configuração atual.

      Tirando um Snapshot da sua Configuração atual

      Se você está satisfeito com sua configuração e deseja usar isso como uma base para futuras instalações, você pode tirar um snapshot do seu servidor através do painel de controle da DigitalOcean. A partir de outubro de 2016, os snapshots custam $0.05 por gigabyte por mês, com base na quantidade de espaço utilizado no sistema de arquivos.

      Para fazer isso, desligue seu servidor pela linha de comando. Embora seja possível fazer um snapshot de um sistema em execução, o desligamento garante que os arquivos no disco estejam todos em um estado consistente:

      Agora, no painel de controle da DigitalOcean, você pode tirar um snapshot visitando a guia "Snapshots" do seu servidor:

      DigitalOcean snapshot

      Depois de tirar seu snapshot, você poderá usar essa imagem como base para instalações futuras, selecionando o snapshot a partir da guia "My Snapshots" para imagens durante o processo de criação:

      DigitalOcean use snapshot

      Recursos Adicionais e Próximos Passos

      A partir daqui, o seu caminho depende inteiramente do que você deseja fazer com o seu servidor. A lista de guias abaixo não é de forma alguma exaustiva, mas representa algumas das configurações mais comuns que os usuários recorrem:

      Conclusão

      Nesse ponto, você deve saber como configurar uma base sólida para seus novos servidores. Espero que você também tenha uma boa ideia para os próximos passos. Sinta-se à vontade para explorar o site para mais ideias que você pode implementar em seu servidor.



      Source link