Configure o ISCSI Storage Server no CentOS 8

Configure o ISCSI Storage Server no CentOS 8
Neste artigo, vou mostrar como configurar o ISCSI Storage Server no CentOS 8. Então vamos começar.

Noções básicas de ISCSI:

O ISCSI Storage Server é usado para compartilhar dispositivos de bloco, como partições HDD/SSD, ou partições LVM ou arquivos de bloqueio na rede. Os clientes da ISCSI podem usar essas ações sobre a rede, assim como qualquer disfusão de disfóios ou ssd ordinários montados nela. O cliente ISCSI pode formatar esses discos, montá -los e armazenar arquivos e diretórios como de costume.

Fig 1: ISCSI Server-Client Architecture

Cada cliente ISCSI possui um ID de iniciador que é usado para se conectar aos alvos no servidor.

As metas são ações no servidor ISCSI. Cada destino consiste em um nome único (IQN), o caminho do dispositivo de bloco (i.e. Partição de disco ou arquivo de bloco), o ID do iniciador que pode se conectar a esse destino e um sistema de autenticação baseado em nome de usuário opcional.

Na Fig 1, o ISCSI Storage Server permite que 3 iniciadores (3 clientes ISCSI) se conectem a 4 alvos. Initiator01 pode se conectar a Target01 e Target02, Initiator02 pode se conectar a Target03, e Initiator03 pode se conectar a Target04.

ISCSI Alvo e Convenções de Nomeação de Iniciadores:

O nome de destino e o nome do iniciador do iSCSI devem ser únicos.

O formato de nomeação do alvo é:

iqn.AAAA-MM.Nome do domínio reverso: Nome de destino

Exemplo:

iqn.2020-03.com.Linuxhint: www, iqn.2020-03.com.Linuxhint: logs,
iqn.2020-03.com.Linuxhint: usuário-bob etc.

O formato de nomeação do iniciador é:

iqn.AAAA-MM.Nome do domínio reverso: nome do iniciador

Exemplo:

iqn.2020-03.com.Linuxhint: Initiator01, IQN.2020-03.com.Linuxhint: Initiator02,
iqn.2020-03.com.Linuxhint: Initiator03 etc.

Topologia de rede:

Fig 2: Topologia de rede usada neste artigo do servidor ISCSI

A topologia de rede usada neste artigo é dada na Fig 2. Aqui, vou configurar uma máquina do CentOS 8 como um servidor ISCSI. O servidor ISCSI tem um endereço IP estático 192.168.20.197. O cliente ISCSI também está na rede 192.168.20.0/24. Então, ele pode acessar o servidor ISCSI.

Configurando endereço IP estático:

Você deve configurar um endereço IP estático em sua máquina CentOS 8, que você configurará como um servidor ISCSI. Para configurar um endereço IP estático no CentOS 8, verifique meu artigo configurando o IP estático no CentOS 8.

A máquina do CentOS 8 que vou configurar como um servidor ISCSI neste artigo tem o endereço IP estático 192.168.20.197. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.

$ ip a

Instalando as ferramentas do servidor ISCSI:

Primeiro, atualize o cache do repositório de pacotes DNF da seguinte forma:

$ sudo dnf makecache

Você deve ter TargetCli Ferramenta instalada na máquina CentOS 8, que você deseja configurar como um servidor ISCSI.

Para instalar TargetCli, Execute o seguinte comando:

$ sudo dnf install TargetCli

Para confirmar a instalação, pressione Y e depois pressione .

TargetCli deve ser instalado.

Agora, para testar se o TargetCli A ferramenta está funcionando, inicie TargetCli do seguinte modo:

$ sudo TargetCli

TargetCli deve começar.

TargetCli está funcionando perfeitamente.

> ls

Agora, saia da ferramenta TargetCli.

> saída

Agora, comece alvo Serviço da seguinte forma:

$ sudo SystemCtl Target

Agora, adicione o serviço de destino à inicialização do sistema da seguinte forma:

$ sudo systemctl alvo de ativação

Compartilhando Blocos de Arquivos:

Você pode compartilhar blocos de arquivos como dispositivos de armazenamento via ISCSI.

Primeiro, crie um novo diretório onde você deseja manter todos os blocos de arquivo da seguinte forma:

$ sudo mkdir -pv /iscsi /blocos

Agora, inicie o TargetCli da seguinte maneira:

$ sudo TargetCli

Agora, crie um novo 1 GB Fileio BackStore Web1 no caminho /ISCSI/Blocks/Web1.img do seguinte modo:

>/backstores/fileio Criar web1/iscsi/blocks/web1.IMG 1G

O bloco de arquivos Web1 1 GB deve ser criado no caminho /ISCSI/Blocks/Web1.img

> ls /

Agora, crie um novo alvo ISCSI iqn.2020-03.com.Linuxhint: Web do seguinte modo:

> /ISCSI Crie IQN.2020-03.com.Linuxhint: Web

O alvo ISCSI iqn.2020-03.com.Linuxhint: Web deve ser criado.

> ls /

Agora, navegue para o TPG (Grupo de Portal de Targets) do alvo, da seguinte forma:

> /iscsi /iqn.2020-03.com.Linuxhint: web/tpg1/

É assim que o tpg do alvo deve parecer.

> ls

Agora, crie um LUN do Web1 Fileio Backstore que você criou anteriormente.

> LUNS/CREATE/BACKSTORES/FILEIO/WEB1

LUN 0 deve ser criado.

> ls

Agora, crie um ACL para o iniciador iqn.2020-03.com.Linuxhint: init1 para que o cliente ISCSI possa acessar os LUNs neste alvo.

> ACLs/ Crie IQN.2020-03.com.Linuxhint: init1

Um ACL deve ser criado e o LUN 0 deve ser mapeado para ele.

> ls

Agora, salve a configuração.

> / SaveConfig

Agora, saia da interface TargetCli.

> saída

Compartilhando Partições HDD/SSD ou HDD/SSD:

Você também pode compartilhar todo o HDD/SSD ou uma ou mais partição de HDD/SSD via ISCSI. Se você compartilhar todo o HDD/SSD, as partições desse HDD/SSD também estarão acessíveis a partir do iniciador ou do cliente ISCSI.

Primeiro, encontre o nome do HDD/SSD ou o nome da partição HDD/SSD que você deseja compartilhar com o seguinte comando:

$ sudo lsblk

Aqui, NVME0N2 é o nome do SSD e NVME0N2P1, NVME0N2P2 e nvme0n2p3 são as partições desse SSD.

Agora, inicie o TargetCli da seguinte maneira:

$ sudo TargetCli

Agora, crie um backstore de bloco Data1 Usando a partição HDD/SSD ou HDD/SSD, como segue.

> /backstores /bloco crie data1 /dev /nvme0n2p1

OBSERVAÇÃO: Aqui, usei a partição SSD /dev/nvme0n2p1.

O Data1 Block Backstore deve ser criado.

> ls /

Agora, crie um novo alvo ISCSI iqn.2020-03.com.Linuxhint: dados do seguinte modo:

> / ISCSI / CREATE IQN.2020-03.com.Linuxhint: dados

Um novo alvo ISCSI deve ser criado.

> ls /

Agora, navegue até o TPG do alvo da seguinte forma:

> /iscsi /iqn.2020-03.com.Linuxhint: dados/tpg1/

O tpg do alvo deve parecer o seguinte.

> ls

Agora, crie um novo LUN do Data1 Block Backstore que você criou anteriormente.

> LUNS/CREATE/BACKSTORES/BLOCO/DATA1

Um novo LUN deve ser criado.

> ls

Agora, crie um ACL para o iniciador iqn.2020-03.com.Linuxhint: init1 para que o cliente ISCSI possa acessar os LUNs neste alvo.

> ACLs/ Crie IQN.2020-03.com.Linuxhint: init1

Um ACL deve ser criado e o LUN 0 deve ser mapeado para ele.

> ls

Agora, salve a configuração.

> / SaveConfig

Agora, saia da interface TargetCli.

> saída

Configurando o firewall:

Agora, permita o acesso à porta ISCSI 3260 através do firewall da seguinte forma:

$ sudo firewall-cmd --Add-Service = ISCSI-Target --Permanent

Para que as mudanças entrem em vigor, execute o seguinte comando:

$ sudo firewall-cmd--reload

Instalando as ferramentas do cliente ISCSI:

No cliente ISCSI, você deve ter ISCSI Initiator-Utils Pacote instalado para acessar os dispositivos de armazenamento ISCSI compartilhados.

Primeiro, atualize o cache do repositório de pacotes DNF da seguinte forma:

$ sudo dnf makecache

Agora, instale ISCSI Initiator-Utils Pacote na máquina cliente da seguinte forma:

$ sudo dnf install iscsi-initiator-utils

Para confirmar a instalação, pressione Y e depois pressione .

utilitários de clientes iSCSI devem ser instalados.

Agora, abra o /etc/iscsi/InitiatorName.ISCSI Arquivo de configuração da seguinte forma:

$ sudo vi/etc/iscsi/initiatorName.ISCSI

Agora, defina seu nome de iniciador como InitiatorName e salve o arquivo.

Agora, digitalize os alvos da seguinte forma:

$ sudo iscsiadm -m descoberta -t sendtargets -p 192.168.20.197

Agora, você pode fazer login nos alvos da seguinte maneira:

$ sudo iscsiadm -m node - -login

Os dispositivos de armazenamento iSCSI devem ser anexados ao seu cliente, como você pode ver na captura de tela abaixo.

$ sudo lsblk

Agora, comece o ISCSI e iscsid Serviços da seguinte forma:

$ sudo systemctl start iScsi
$ sudo systemctl start iscsid

O ISCSI e iscsid Os serviços devem estar em execução.

$ sudo status do SystemCTL ISCSI ISCSID

Agora, adicione o ISCSI e iscsid Serviço para a inicialização do sistema da seguinte forma:

$ sudo systemctl Ativar iSCSI
$ sudo systemctl atability iScsid

Montagem ISCSI Disk:

Você pode montar os discos iSCSI permanentemente no cliente ISCSI usando o /etc/fstab arquivo.

Primeiro, formate o disco iSCSI se ainda não estiver formatado.

$ sudo mkfs.Ext4 -l Data /dev /SDA

Agora, crie um diretório (Mount Point) para o disco ISCSI da seguinte forma:

$ sudo mkdir /dados

Agora, encontre o uuid do disco iSCSI que você deseja montar o seguinte:

$ sudo blkid

O UUID no meu caso é C1CBFA44-A8A9-4343-A88E-769B63A6E006. Vai ser diferente para você. Então, certifique -se de substituí -lo pelo seu no /etc/fstab arquivo.

Agora, abra o /etc/fstab Arquivo o seguinte:

$ sudo vi /etc /fstab

Agora, adicione a seguinte linha ao /etc/fstab arquivo.

UUID = C1CBFA44-A8A9-4343-A88E-769B63A6E006
/Data Ext4 Padrões, _netDev 0 0

Certifique -se de adicionar o _netdev opção no /etc/fstab Arquivo enquanto monta discos ISCSI. Caso contrário, seu cliente ISCSI do CentOS 8 pode não inicializar.

Agora, você pode montar o disco ISCSI pela primeira vez, da seguinte forma:

$ sudo montagem /dados

Como você pode ver, o disco iSCSI é montado corretamente.

Então, é assim que você configura o ISCSI Storage Server e o cliente no CentOS 8. Obrigado por ler este artigo.