Adicionar unidades de disco virtual a uma partição lógica do Linux

É possível adicionar unidades de disco virtuais de forma dinâmica a uma partição lógica do Linux® que utilize recursos do IBM® i. Este procedimento permite-lhe aumentar a capacidade de memória da partição lógica do AIX sempre que for necessário.

Sobre esta tarefa

Os discos virtuais simplificam a configuração do hardware no servidor porque não requerem que o utilizador adicione dispositivos físicos adicionais ao servidor para executar o Linux. Pode atribuir até 64 discos virtuais a uma partição lógica do Linux. Cada disco virtual suporta até 1000 GB de armazenamento. Cada disco virtual aparece ao Linux como uma unidade de disco real. Contudo, o espaço associado no sistema de ficheiros integrado do i é distribuído pelos discos pertencentes à partição lógica do i. A distribuição do armazenamento pelos discos proporciona as vantagens da protecção por paridade de dispositivos através do i. Por isso, não tem de utilizar recursos de memória e recursos de processamento adicionais configurando a protecção por paridade de dispositivos através do Linux.

O IBM i fornece a capacidade de adicionar dinamicamente discos virtuais a uma partição lógica do Linux. Pode atribuir espaço em disco no sistema de ficheiros integrado e disponibilizá-lo para o Linux sem reiniciar o servidor ou a partição lógica. O administrador do Linux também pode configurar o espaço em disco recentemente atribuído e disponibilizá-lo sem reiniciar o servidor.

Para adicionar discos virtuais de forma dinâmica a uma partição lógica Linux, conclua os seguintes passos:

Procedimento

  1. Se utilizar o IBM Navigator for i, crie o espaço de armazenamento do servidor de rede utilizando o IBM Navigator for i.
    1. Expanda As Minhas Ligações (My Connections) > o servidor > Rede (Network) > Administração do Windows (Windows Administration).
    2. Faça clique com o botão direito do rato em Unidades de disco (Disk Drives) e seleccione Novo disco (New Disk).
    3. No campo Nome da unidade de disco, especifique o nome que pretende fornecer ao espaço de armazenamento do servidor da rede.
    4. No campo Descrição, especifique uma descrição significativa para o espaço de armazenamento do servidor da rede.
    5. No campo Capacidade, especifique o tamanho do novo espaço de armazenamento do servidor da rede em megabytes.
      Consulte a documentação de instalação do distribuidor de Linux preferido para determinar o tamanho que pretende utilizar.
    6. Clique em OK.
    7. Avance para o passo 4.
  2. Se utilizar uma interface baseada em caracteres, crie um espaço de armazenamento do servidor de rede ao utilizar a interface baseada em caracteres:
    1. Numa linha de comandos do IBM i, escreva o comando CRTNWSSTG e prima F4.
      É apresentado o ecrã Criar Espaço de Armazenamento NWS (CRTNWSSTG).
    2. No campo Espaço de armazenamento do servidor da rede, especifique o nome que pretende atribuir ao espaço de armazenamento do servidor da rede.
    3. No campo Tamanho, especifique o tamanho em megabytes para o novo espaço de armazenamento do servidor da rede.
      Consulte a documentação de instalação do distribuidor de Linux preferido para determinar o tamanho que pretende utilizar.
    4. No campo Descrição de texto, especifique uma descrição significativa para o espaço de armazenamento do servidor da rede.
    5. Prima Enter.
  3. Se utilizar o IBM Navigator for i, ligue o espaço de armazenamento do servidor de rede utilizando o IBM Navigator for i.
    1. Expanda As Minhas Ligações (My Connections) > o servidor > Rede (Network) > Administração do Windows (Windows Administration).
    2. Faça clique em Unidades de Disco, faça clique com o botão direito do rato sobre um espaço de armazenamento do servidor da rede disponível e seleccione Adicionar Ligação.
    3. Seleccione o servidor ao qual pretende ligar o espaço de armazenamento do servidor da rede.
    4. Seleccione um dos tipos de acesso a dados disponíveis.
    5. Clique em OK.
    6. Avance para o passo 5.
  4. Se utilizar uma interface baseada em caracteres, ligue o espaço de armazenamento do servidor de rede ao utilizar uma interface baseada em caracteres:
    1. Numa linha de comandos do IBM i, escreva o comando ADDNWSSTGL e prima F4.
      É apresentado o ecrã Adicionar Ligação de armazenamento de servidor de rede (ADDNWSSTGL).
    2. No campo Descrição do servidor da rede, especifique o nome da descrição do servidor da rede (NWSD).
    3. No campo Ligação de armazenamento dinâmico, especifique *YES para disponibilizar dinamicamente espaço de armazenamento no servidor de rede para a partição lógica (ou seja, disponível sem reiniciar a partição lógica do Linux).
    4. No campo Número de sequência da unidade, especifique a posição de sequência de ligação que pretende utilizar.
    5. Prima Enter.
  5. Se a partição lógica do Linux não estiver a ser executada, active a partição lógica do Linux. Não continue até que a partição lógica esteja em execução.
  6. Inicie sessão no Linux utilizando um nome de utilizador com privilégios de super-utilizador (raiz).
  7. Determine o ID do sistema central, o bus de SCSI e o número da unidade lógica (LUN, Logical Unit Number) da nova unidade de disco virtual.
    Pode listar os dispositivos existentes escrevendo o seguinte comando na linha de comandos do Linux: cat /proc/scsi/scsi. O seguinte exemplo mostra a saída de dados possível do comando:
    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: IBM      Model: VDASD NETSPACE   Rev: 0001
      Type:   Direct-Access                    ANSI SCSI revision: 04
    Neste exemplo, NETSPACE corresponde ao nome do espaço de armazenamento da rede relativo ao dispositivo apresentado. Procure o nome de um espaço de armazenamento de rede existente na partição lógica do Linux. Tenha em atenção a parte numérica do valor de Host: (ID do sistema central) e dos valores de Channel: (bus de SCSI) e de Lun: (número da unidade lógica (LUN)) do espaço de armazenamento da rede existente. A nova unidade de disco virtual tem o mesmo ID do sistema central, bus de SCSI e LUN do espaço de armazenamento da rede existente. Por exemplo, se o espaço de armazenamento de rede existente corresponder ao apresentado no exemplo de saída anterior, a nova unidade de disco virtual terá uma ID de sistema central de 0, um bus SCSI de 0 e um LUN de 0.
  8. Determine o ID de SCSI da nova unidade de disco virtual.
    Pode listar os dispositivos existentes no formulário de tabela escrevendo os seguintes comandos na linha de comandos do Linux:
     cd /proc/scsi/sg
     cat device_hdr; cat devices
    O seguinte exemplo mostra a saída amostra dos comandos:
     host    chan    id      lun     type    opens   qdepth  busy    online
     0       0       0       0       0       2       30      0       1
     0       1       0       0       0       0       30      0       1
    Tenha em atenção os valores de host (ID do sistema central), chan (bus de SCSI), id (ID de SCSI) e lun (número da unidade lógica (LUN)) dos dispositivos existentes. Localize os dispositivos com o mesmo ID do sistema central, bus de SCSI e LUN da nova unidade de disco virtual (conforme determinado no passo anterior). Entre esses dispositivos, localize o dispositivo com o maior ID de SCSI. A nova unidade de disco virtual terá um ID de SCSI que seja um valor superior ao maior ID de SCSI existente. Por exemplo, se a nova unidade de disco virtual tiver uma ID de sistema central de 0, um bus SCSI de 0 e um LUN de 0 e se os dispositivos na partição lógica do Linux corresponderem à lista do exemplo de saída anterior, a unidade de disco virtual terá uma ID SCSI de 1.
  9. Escreva o seguinte comando na linha de comandos do Linux para adicionar manualmente a unidade de disco virtual: echo "scsi add-single-device host chan id lun" > /proc/scsi/scsi.
    Utilize as seguintes informações para ajudar a familiarizar-se com os argumentos do comando:
    • host é o ID do sistema central.
    • chan é o bus de SCSI.
    • id é o ID de SCSI.
    • lun é o LUN.
    Por exemplo, se a nova unidade de disco virtual tiver um ID do sistema central 0, um bus de SCSI 0, um ID de SCSI 1 e um LUN 0, escreva o comando echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi na linha de comandos do Linux.
  10. Na linha de comandos do Linux, escreva o seguinte comando para criar uma partição de disco na unidade de disco virtual: fdisk /dev/sdb.
    É necessário ter privilégios de super-utilizador (raiz) para executar este comando.
    É apresentado o pedido de informação Command (m para ajuda):.
  11. Escreva p no pedido de informação para ver a tabela de partições actual da unidade de disco virtual.
    Por predefinição, a nova unidade de disco virtual apresenta uma única partição de disco no disco virtual.
    Por exemplo,
     Disk /dev/sdb: 64 heads, 32 sectors, 200 cylinders
     Units = cylinders of 2048 * 512 bytes
    
     Device Boot    Start       End    Blocks   Id   System
     /dev/sdb1          1       199    203760    6   FAT16  
  12. Escreva d na linha de comandos para eliminar a partição actual e, em seguida, crie uma nova.
    O formato predefinido para a partição do disco é FAT16. Não utilize uma partição de disco formatada como FAT16 na unidade de disco virtual.
    É apresentado o pedido de informação Partition number (1-4):.
  13. Escreva o número da partição do disco que pretende eliminar e prima Enter.
    Neste exemplo, escreva 1.
    O comando fdisk indica que a eliminação teve êxito apresentando a linha de comandos.
  14. Escreva n para criar uma nova partição de disco.
    É apresentado o pedido de informação Command action E extended P primary partition (1-4).
  15. Escreva p para criar uma partição de disco principal no disco virtual e prima Enter.
    É apresentado o pedido de informação Partition number (1-4):.
  16. Escreva 1 porque esta é a primeira partição no disco virtual e prima Enter.
    É apresentado o pedido de informação First cylinder (1-200, default 1):.
  17. Prima Enter para utilizar a predefinição de 1 para o primeiro cilindro do disco.
    Este processo utiliza todo o disco para esta partição de disco.
    É apresentado o pedido de informação Last cylinder or +size or +sizeM or +sizeK (1-200, default 200):.
  18. Prima Enter para utilizar o valor predefinido de 200 para o último cilindro do disco.
    Este processo utiliza todo o disco virtual para esta partição.
    Nota: O tipo de partição corresponde à predefinição do Linux. Se necessitar de um tipo de disco diferente (como o Gestor de Volumes Lógicos (LVM, Logical Volume Manager) ou o Linux Expandido), escreva t para alterar o tipo de partição.
    O comando fdisk indica que a criação da partição teve êxito devolvendo a linha de comandos.
  19. Escreva w para consolidar as alterações na estrutura do disco e prima Enter.
    O comando fdisk grava as alterações na unidade de disco virtual. O comando fdisk apresenta a seguinte mensagem de diagnóstico:
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.  
    Após a execução da operação, o comando fdisk devolve a linha de comandos.
  20. Formate a partição do disco utilizando o comando Linux mkfs.
    Existem vários parâmetros opcionais para o comando mkfs, mas geralmente as predefinições cumprem a maior parte das utilizações do disco. Para formatar a partição de disco criada nos passos anteriores, certifique-se de que tem sessão iniciada com privilégios de super-utilizador (raiz) e escreva o seguinte comando numa linha de comandos do Linux:
     mkfs /dev/sdb1  
    Uma vez que existe uma única partição do disco no segundo disco virtual, o nome do disco é /dev/sdb1 (osdb indica que é o segundo disco e o 1 indica que é a partição 1). O comando mkfs apresenta as seguintes mensagens de diagnóstico:
    mke2fs 1.28 (31-Aug-2002)
    Fileserver label= 
    OS type: Linux Block size=1024 (log=0) 
    Fragment size=1024 (log=0) 
    51200 inodes, 204784 blocks
    10239 blocks (5.00%) reserved for the super user
    First data block=1
    25 block groups
    8192 blocks per group, 8192 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks:
       	 		 	8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done
    Writing superblocks and fileserver accounting information: done
    
    This fileserver will be automatically checked every 29 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.  
  21. Escreva o seguinte comando para criar um directório que pode utilizar para aceder ao novo ficheiro: mkdir /mnt/data
  22. Escreva o seguinte comando para montar a unidade de disco virtual no novo directório: mount /dev/sdb1 /mnt/data.
  23. Adicione uma entrada no ficheiro /etc/fstab utilizando um editor de texto do Linux, tal como vi.
    Por exemplo, /dev/sdb1 /mnt/data ext2 defaults 1 1. Esta entrada monta o disco virtual de cada vez que reinicia o Linux.