Primeiro, baixe o arquivo ISO completo do CentOS 7.9:
https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/
Recomenda-se o download do arquivo CentOS-7-x86_64-Everything-2207-02.iso, que representa a versão final clássica do CentOS 7.
Para este guia, estamos utilizando o VMware Workstation 16.1 com uma configuração básica de 2 núcleos de CPU, 4GB de RAM e 40GB de disco.
Para o sistema de arquivos, sugere-se:
- /boot com 512MB (sda1)
- Usar LVM para gerenciar / e swap
- Criar sda2 como volume físico ocupando os 39.5GB restantes
- vg00 como o único grupo de volumes
- swap de 2GB
- / de 10GB
Selecione o fuso horário de Xangai, China.
Desabilite o KDump, que não possui utilidade prática.
Instale usando a opção de software mínimo. Após a instalação, o diretório / ocupará cerca de 1.3GB. Geralmente, a interface gráfica não é necessária.
A rede e o nome do host podem ser configurados após a instalação.
Configurações
1. Configuração de Rede
Edite o arquivo de configuração da placa de rede:
vi /etc/sysconfig/network-scripts/ifcfg-ens32
Para modo NAT+DHCP:
TIPO=Ethernet
DISPOSITIVO=ens32
NOME=ens32
INICIALIZAR=sim
ROTA_PADRAO=sim
FALHA_IPV4=falso
IPV6INICIALIZAR=não
PROTOCOLO_INICIALIZ=DHCP
Para modo NAT+IP estático:
TIPO=Ethernet
DISPOSITIVO=ens32
NOME=ens32
INICIALIZAR=sim
ROTA_PADRAO=sim
FALHA_IPV4=falso
IPV6INICIALIZAR=não
PROTOCOLO_INICIALIZ=nenhum
ENDERECO_IP=192.168.124.11
MASCARA_REDE=255.255.255.0
PORTA=192.168.124.1
Para modo bridge, os parâmetros são semelhantes ao NAT, mas é necessário configurar manualmente o DNS:
vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
Para aplicar as alterações de rede:
Reiniciar o serviço NetworkManager:
systemctl restart NetworkManager.service
Reiniciar a placa de rede:
nmcli c reload && nmcli c down ens32; nmcli c up ens32
2. Configuração do Nome do Host
Para definir o nome do host de forma estática e permanente:
hostnamectl --static set-hostname meu_servidor
3. Configuração do Repositório Yum
Além da rede e do nome do host, a maioria das configurações subsequentes requer a instalação de pacotes RPM. Primeiro, configure os repositórios yum.
O CentOS vem com um conjunto de repositórios yum que se conectam à comunidade, com velocidades lentas. Vamos alterar para os repositórios completos da Alibaba.
cd /etc/yum.repo.d
mkdir backup
mv *.repo backup
touch CentOS-Base.repo
Conteúdo do CentOS-Base.repo:
# CentOS-Base.repo
#
# O sistema de espelhos usa o endereço IP de conexão do cliente e o
# status de atualização de cada espelho para selecionar espelhos atualizados
# e geograficamente próximos ao cliente. Você deve usar isso para atualizações do CentOS
# a menos que esteja selecionando manualmente outros espelhos.
#
# Se o mirrorlist= não funcionar para você, como alternativa, você pode tentar
# a linha baseurl= comentada como fallback.
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#atualizações lançadas
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#pacotes adicionais que podem ser úteis
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#pacotes adicionais que estendem a funcionalidade de pacotes existentes
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - pacotes por Usuários Centos
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
Adicione também os repositórios comuns para docker e k8s:
docker-ce.repo:
#docker-ce.repo
#repositorio docker da aliyun
[docker-ce-estavel]
name=Docker CE Estavel - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/estavel
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-estavel-debuginfo]
name=Docker CE Estavel - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/estavel
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-estavel-fonte]
name=Docker CE Estavel - Fontes
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/fonte/estavel
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-teste]
name=Docker CE Teste - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/teste
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-teste-debuginfo]
name=Docker CE Teste - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/teste
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-teste-fonte]
name=Docker CE Teste - Fontes
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/fonte/teste
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-noturno]
name=Docker CE Noturno - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/noturno
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-noturno-debuginfo]
name=Docker CE Noturno - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/noturno
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-noturno-fonte]
name=Docker CE Noturno - Fontes
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/fonte/noturno
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
kubernetes.repo:
#kubernetes.repo
#kubernetes el7 da aliyun
[kubernetes]
name=Kubernetes el7
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
Após configurar os repositórios, limpe e cache o conteúdo:
yum clean all
yum makecache
yum repolist
4. Instalação de Software Comum
Com os repositórios yum domésticos, a instalação de software é mais conveniente. Aqui, instalamos software de servidor e ferramentas comuns:
yum install wget chrony iproute net-tools telnet vim samba-client sysstat nmap-ncat tree psmisc lsof iputils
5. Desabilitar Firewall, SELinux e Configurar Sincronização de Tempo
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
systemctl start chronyd
systemctl enable chronyd
Nota: Para desabilitar o SELinux, é necessário reiniciar o sistema operacional para que as alterações entrem em vigor.
6. Verificar o Fuso Horário
timedatectl status
Verifique se o resultado mostra:
Fuso horário: Asia/Shanghai (CST, +0800)
Sinrconização NTP habilitada: sim
NTP sincronizado: sim
Se necessário para modificar o fuso horário:
timedatectl set-timezone Asia/Shanghai
7. Configurações de Log e Histórico
Adicionar timestamp ao histórico de comandos:
vim /etc/profile
Adicione a linha:
export HISTTIMEFORMAT="%F %T "
Saia do vim e execute:
source /etc/profile
Agora o resultado do comando history incluirá timestamps
(Opcional) Configurar journalctl:
Crie manualmente o diretório journal para armazenar os logs:
mkdir /var/log/journal
Para evitar que o journal seja limpo após a reinicialização do sistema, descomente Storage no arquivo de configuração principal e configure como:
vim /etc/systemd/journald.conf
Storage=persistent
Reinicie o serviço journald para aplicar as alterações:
systemctl restart systemd-journald
Clonagem do Sistema Operacional
O CentOS 7.9 instalado e configurado pode servir como modelo. Mantenha-o desligado e clone para criar outras instâncias.
Após a clonagem, apenas o nome do host precisa ser modificado. Se for necessário alterar a configuração de rede, faça isso apenas no sistema clonado.