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.
Topologia de rede:
A topologia de rede usada neste artigo é dada na Fig 2. Aqui, vou configurar um Ubuntu 18.04 LTS Server 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. Então, ele pode acessar o servidor ISCSI.
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 destinoO formato de nomeação do iniciador é:
iqn.AAAA-MM.Nome do domínio reverso: nome do iniciadorConfigurando IP estático:
Primeiro, configure um endereço IP estático no seu servidor ISCSI. Se você precisar de alguma assistência, verifique meu artigo Configurar IP estático no Ubuntu 18.04 LTS Desktop e Sistema Operacional de Servidores.
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 forma:
$ sudo apt install tgt
Para confirmar a instalação, pressione Y e depois 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 você deseja manter todos os blocos de arquivo da seguinte forma:
$ sudo mkdir -pv /iscsi /blocos
Agora, crie um novo bloco de arquivo www.img no/iScsi/blocks/diretório da seguinte forma:
$ sudo dd if =/dev/zero de =/iscsi/blocks/www.img bs = contagem de 1m = 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 maneira:
$ 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 + X seguido pela Y e .
Backing-Store/ISCSI/Blocks/www.img
Iniciador-name IQN.2020-03.com.Linuxhint: Initiator01
Secreto Linuxhint
Aqui, o nome de destino é definido na etiqueta de destino.
O backing-store está definido para o caminho do arquivo de bloco.
iniciador-name é usado para definir o ID do iniciador que poderá acessar o alvo.
Indominguser A linha é usada para definir o nome de usuário e a 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çã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 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
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 maneira:
$ 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
Iniciador-name IQN.2020-03.com.Linuxhint: Initiator01
Secreto Linuxhint
Aqui, eu compartilhei todo o HDD /dev/sdb via ISCSI. Se você quiser compartilhar uma única partição, pode definir Backing Store para /dev/sdb1 ou /dev/sdb2 e assim por diante.
Reiniciando o serviço ISCSI:
Se você fizer alterações no arquivo de configuração de destino do ISCSI, execute o seguinte comando para que as alterações entrem em vigor:
$ sudo systemctl reiniciar tgt
O serviço ISCSI deve estar em execução.
$ sudo Systemctl Status TGT
A porta do servidor ISCSI 3260 também deve estar aberta, como você pode ver na captura de tela 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 atable 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 aberto-discsi Pacote com o seguinte comando:
$ sudo apt install open-discsi
Para confirmar a instalação, pressione Y e depois pressione .
aberto-discsi deve ser instalado.
Agora, adicione o iscsid Serviço para a inicialização do sistema da seguinte forma:
$ sudo systemctl atability iScsid
Agora, abra o /etc/iscsi/InitiatorName.ISCSI arquivo de configuração.
$ sudo nano/etc/iScsi/InitiatorName.ISCSI
Agora, defina InitiatorName para o seu nome do iniciador e salve o arquivo.
Agora, abra o /etc/iscsi/iscsid.conf Arquivo com o seguinte comando:
$ sudo nano/etc/iscsi/iscsid.conf
Agora, descomment a linha marcada.
Comente a linha marcada.
finalmente, o Configurações de inicialização deve ser o seguinte.
Descomment as linhas marcadas.
Defina seu nome de usuário e senha aqui e salve o arquivo.
Agora, digitalize o servidor ISCSI em busca de metas da seguinte forma:
$ sudo iscsiadm -m descoberta -t sendtargets -p 192.168.20.168
Como você pode ver, os alvos estão listados.
Agora, você pode fazer login em um alvo específico da seguinte maneira:
$ sudo iscsiadm -m node -p 192.168.20.168 -T IQN.2020-03.com.Linuxhint: www - -login
Aqui, 192.168.20.168 é o endereço IP do servidor ISCSI e iqn.2020-03.com.Linuxhint: www é o nome alvo.
Você também pode fazer login em todos os alvos disponíveis com o seguinte comando:
$ sudo iscsiadm -m node -p 192.168.20.168 -Login
Depois de fazer login nos alvos, 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, separados, discos gnome, gparted ou qualquer outro software de particionamento. Para aprender a usar o fdisk para particionar discos, verifique meu artigo como usar o fdisk no Linux.
Você pode formatar suas partições também.
$ sudo mkfs.ext4 -l www /dev /sdb1
Montagem automaticamente de partições ISCSI:
Para montar uma partição ISCSI, crie um MountPoint da seguinte maneira:
$ sudo mkdir /www
Agora, abra o /etc/fstab Arquivo o seguinte:
$ sudo nano /etc /fstab
Agora, digite a seguinte linha no /etc/fstab Arquive e salve o arquivo.
/dev/sdb1/www/ext4 padrões, auto, _netdev 0 0
OBSERVAÇÃO: 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 monte /www
A partição deve ser montada.
Agora, você pode mudar o proprietário e o grupo do MountPoint para o seu nome de usuário de login e nome do grupo, se necessário.
$ sudo chown -rfv $ (whoami): $ (whoami) /www
Agora, você pode armazenar quaisquer arquivos em sua partição ISCSI.
Então, é assim que você configura o ISCSI Storage Server no Ubuntu 18.04 LTS. Obrigado por ler este artigo.