Noções básicas de iSCSI:
O servidor de armazenamento iSCSI é usado para compartilhar dispositivos de bloco, como partições HDD / SSD ou partições LVM, ou arquivos de bloco na rede. Os clientes iSCSI podem usar esses compartilhamentos na rede, assim como qualquer HDD ou SSD comum montado nele. O cliente iSCSI pode formatar esses discos, montá-los e armazenar arquivos e diretórios normalmente.
Fig 1: arquitetura iSCSI servidor-cliente
Cada cliente iSCSI tem um ID de iniciador que é usado para se conectar aos destinos no servidor.
Os alvos são compartilhamentos 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 bloqueio), o ID do iniciador que pode se conectar a este destino e um sistema de autenticação opcional baseado em senha de usuário.
Na fig 1, o servidor de armazenamento iSCSI permite que 3 iniciadores (3 clientes iSCSI) se conectem a 4 destinos. iniciador01 pode se conectar a target01 e target02, iniciador 02 pode se conectar a target03, e iniciador 03 pode se conectar a target04.
Topologia de rede:
A topologia de rede usada neste artigo é fornecida na fig 2. Aqui, vou configurar um Ubuntu 18.04 servidor LTS como um servidor iSCSI. O servidor iSCSI tem um endereço IP estático 192.168.20.168. O cliente iSCSI também está na rede 192.168.20.0/24. Portanto, ele pode acessar o servidor iSCSI.
Convenções de nomenclatura de alvo e iniciador iSCSI:
O nome do alvo iSCSI e o nome do iniciador devem ser exclusivos.
O formato de nomenclatura de destino é:
iqn.AAAA-MM.nome-do-domínio-reverso: nome-do-alvoExemplo: iqn.2020-03.com.linuxhint: www, iqn.2020-03.com.linuxhint: logs,
iqn.2020-03.com.linuxhint: user-bob etc.
O formato de nomenclatura do iniciador é:
iqn.AAAA-MM.nome-do-domínio-reverso: nome-do-iniciadorExemplo: iqn.2020-03.com.linuxhint: iniciador01, iqn.2020-03.com.linuxhint: iniciador02,
iqn.2020-03.com.linuxhint: iniciador03 etc.
Configurando IP estático:
Primeiro, configure um endereço IP estático em seu servidor iSCSI. Se precisar de ajuda, consulte meu artigo Configurar IP estático no Ubuntu 18.04 Sistema operacional de desktop e servidor LTS.
Instalando o servidor iSCSI:
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
Agora, instale o servidor iSCSI da seguinte maneira:
$ sudo apt install tgt
Para confirmar a instalação, pressione Y e então pressione
O servidor iSCSI deve ser instalado.
Compartilhando blocos de arquivos via iSCSI:
Você pode compartilhar blocos de arquivos criados com o comando dd via iSCSI.
Primeiro, crie um novo diretório onde deseja manter todos os blocos de arquivo da seguinte maneira:
$ sudo mkdir -pv / iscsi / blocks
Agora, crie um novo bloco de arquivo www.img no diretório / iscsi / blocks / da seguinte maneira:
$ sudo dd if = / dev / zero de = / iscsi / blocks / www.img bs = 1M contagem = 1024 status = progresso
Agora, crie um novo arquivo de configuração de destino iqn.2020-03.com.linuxhint.www.conf no / etc / tgt / conf.d / diretório da seguinte forma:
$ sudo nano / etc / tgt / conf.d / iqn.2020-03.com.linuxhint.www.conf
Agora, digite as seguintes linhas no arquivo de configuração e salve o arquivo pressionando
backing-store / iscsi / blocks / www.img
nome do iniciador iqn.2020-03.com.linuxhint: iniciador01
secretuser linuxhint do entrando
Aqui, o nome do alvo é definido na tag alvo.
backing-store é definido como o caminho do arquivo de bloco.
nome do iniciador é usado para definir o ID do iniciador que terá permissão para acessar o alvo.
usuário de entrada linha é usada para definir o nome de usuário e senha que o iniciador usará para autenticação.
Compartilhando HDD / SSD via iSCSI:
Você também pode compartilhar todo o HDD / SSD ou uma ou mais partições 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 do HDD / SSD que deseja compartilhar com o seguinte comando:
$ sudo lsblk
Agora, crie um novo arquivo de configuração de destino iqn.2020-03.com.linuxhint.dados.conf no / etc / tgt / conf.d / diretório da seguinte forma:
$ sudo nano / etc / tgt / conf.d / iqn.2020-03.com.linuxhint.www.conf
Agora, digite as seguintes linhas no arquivo de configuração e salve o arquivo.
backing-store / dev / sdb
nome do iniciador iqn.2020-03.com.linuxhint: iniciador01
secretuser linuxhint do entrando
Aqui, compartilhei todo o HDD / dev / sdb via iSCSI. Se você deseja compartilhar uma única partição, você pode definir loja de apoio para / dev / sdb1 ou / dev / sdb2 e assim por diante.
Reiniciando o serviço iSCSI:
Se você fizer qualquer alteração no arquivo de configuração de destino iSCSI, execute o seguinte comando para que as alterações tenham efeito:
$ sudo systemctl restart tgt
O serviço iSCSI deve estar em execução.
$ sudo systemctl status tgt
A porta 3260 do servidor iSCSI também deve ser aberta, como você pode ver na imagem abaixo.
$ sudo netstat -tlpn
Adicionando serviço iSCSI à inicialização do sistema:
Para iniciar o serviço iSCSI na inicialização, execute o seguinte comando:
$ sudo systemctl enable tgt
Configurando o cliente:
Você deve ter as ferramentas do cliente iSCSI instaladas no cliente para usar os compartilhamentos iSCSI.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
Agora, instale iscsi aberto pacote com o seguinte comando:
$ sudo apt install open-iscsi
Para confirmar a instalação, pressione Y e então pressione
iscsi aberto deve ser instalado.
Agora, adicione o iscsid serviço para a inicialização do sistema da seguinte forma:
$ sudo systemctl enable iscsid
Agora, abra o / etc / iscsi / Inittorname.iscsi arquivo de configuração.
$ sudo nano / etc / iscsi / Inittorname.iscsi
Agora, defina Nome do iniciador ao seu nome de iniciador e salve o arquivo.
Agora, abra o / etc / iscsi / iscsid.conf arquivo com o seguinte comando:
$ sudo nano / etc / iscsi / iscsid.conf
Agora, descomente a linha marcada.
Comente a linha marcada.
finalmente, o Configurações de inicialização deve ser o seguinte.
Descomente as linhas marcadas.
Defina seu nome de usuário e senha aqui e salve o arquivo.
Agora, verifique o servidor iSCSI em busca de alvos da seguinte forma:
$ sudo iscsiadm -m discovery -t sendtargets -p 192.168.20.168Como você pode ver, os alvos são listados.
Agora, você pode fazer login em um destino específico da seguinte maneira:
$ sudo iscsiadm -m node -p 192.168.20.168 -T iqn.2020-03.com.linuxhint: www --loginAqui, 192.168.20.168 é o endereço IP do servidor iSCSI e iqn.2020-03.com.linuxhint: www é o nome do alvo.
Você também pode fazer login em todos os destinos disponíveis com o seguinte comando:
$ sudo iscsiadm -m node -p 192.168.20.168 --login
Depois de fazer login nos destinos, os discos iSCSI devem estar disponíveis para o seu cliente. Agora, você pode particionar, formatar ou montá-los como quiser.
$ sudo lsblk -e7
Você também pode fazer partições em seus discos iSCSI usando fdisk, cdisk, parted, discos GNOME, GParted ou qualquer outro software de particionamento. Para aprender como usar o fdisk para particionar discos, verifique meu artigo Como usar o fdisk no Linux.
Você também pode formatar suas partições.
$ sudo mkfs.ext4 -L www / dev / sdb1
Montagem automática de partições iSCSI:
Para montar uma partição iSCSI, crie um ponto de montagem da seguinte maneira:
$ sudo mkdir / www
Agora, abra o / etc / fstab arquivo da seguinte forma:
$ sudo nano / etc / fstab
Agora, digite a seguinte linha no / etc / fstab arquivo e salve o arquivo.
/ dev / sdb1 / www / ext4 padrões, auto, _netdev 0 0
NOTA: Certifique-se de adicionar o _netdev opção no / etc / fstab Arquivo. Caso contrário, seu cliente não inicializará.
Agora, você pode montar a partição iSCSI da seguinte maneira:
$ sudo mount / www
A partição deve ser montada.
Agora, você pode alterar o proprietário e o grupo do ponto de montagem para seu nome de usuário de login e nome de grupo, se necessário.
$ sudo chown -Rfv $ (whoami): $ (whoami) / www
Agora, você pode armazenar qualquer arquivo em sua partição iSCSI.
Então, é assim que você configura o servidor de armazenamento iSCSI no Ubuntu 18.04 LTS. Obrigado por ler este artigo.