Objeto LUN
[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]
Um objeto LUN (número de unidade lógica) modela uma unidade lógica de espaço de armazenamento endereçável criado por um provedor de hardware e exibido por um subsistema. Cada LUN compreende pelo menos um plexe LUN, que, por sua vez, é composto por extensões de uma ou mais unidades.
O VDS dá suporte a cinco tipos de LUN: simples, estendido, distribuído, espelhado e distribuído com paridade. LUNs simples, estendidos e distribuídos não são tolerantes a falhas; OS LUNs espelhados e paridade são tolerantes a falhas. O restante desta seção descreve cada um dos tipos de LUN do VDS.
- Um LUN simples é um LUN tolerante a falhas que é composto por uma única extensão de unidade contígua de uma única unidade. A extensão contígua pode ser composta por um único intervalo de blocos ou vários intervalos de blocos vinculados.
- Um LUN estendido é um LUN tolerante a falhas que é composto por várias extensões descoloridas de várias unidades. Os dados são gravados linearmente em cada uma das extensões na primeira unidade até que todas as primeiras extensões da unidade sejam preenchidas e, em seguida, em cada uma das extensões na segunda unidade e assim por diante. LuNs estendidos fornecem o uso eficiente do espaço de unidade em subsistemas compostos por unidades de vários tamanhos.
- Um LUN distribuído é um LUN tolerante a falhas composto por várias extensões contíguas e intercaladas de várias unidades. Os LUNs distribuídos usam uma configuração RAID-0, de modo que os dados sejam "distribuídos" cíclicamente entre as extensões nas unidades de contribuição. Os LUNs distribuídos funcionam melhor com unidades do mesmo tamanho, modelo e fabricante.
- LUNs espelhados são LUNs tolerantes a falhas que fornecem recuperação de desastre duplicando os dados para vários plexes LUN. Cada plex em um LUN espelhado contém uma cópia dos dados armazenados no plex original. Cada um dos plexos reside em uma unidade separada. Todos os dados gravados em um LUN espelhado são gravados simultaneamente em cada um de seus plexes. Se uma das unidades de contribuição falhar, o plex nessa unidade ficará indisponível, mas o sistema continuará operando usando o plex ou plexes não afetados. Um LUN espelhado pode ter qualquer número de plexes.
- Distribuídos com LUNs de paridade são LUNs tolerantes a falhas que fornecem recuperação de desastre distribuindo dados de paridade intermitentemente em três ou mais unidades. Se uma das unidades de contribuição falhar, os dados perdidos poderão ser recriados com base nos dados e na paridade restantes.
O VDS dá suporte a quatro modelos pelos quais os aplicativos podem criar LUNs: explicitamente direcionados, parcialmente direcionados, automatizados e específicos do fornecedor. Todos os provedores de hardware devem dar suporte à criação de LUN explícita e parcialmente direcionada e são altamente incentivados a dar suporte à criação automatizada de LUN. (A criação de LUN específica do fornecedor está fora do escopo deste guia.)
A criação de LUN direcionada explicitamente permite que o chamador especifique todos os atributos do LUN. A criação de LUN parcialmente direcionada permite que o chamador especifique apenas os atributos de interesse específico e, em seguida, permite que o provedor escolha o restante. A criação automatizada do LUN envolve permitir que o chamador simplesmente especifique o tipo e o tamanho do LUN juntamente com um conjunto de "dicas automatizadas" (preferências predefinidas para atributos LUN) e, em seguida, permitir que o provedor crie o LUN automaticamente.
O VDS dá suporte à desmascaração de LUN para subsistemas que oferecem essa funcionalidade. Todos os LUNs são exibidos no computador no qual o provedor está em execução. A desmascaramento de LUN permite que um chamador "desmascare" LUNs selecionados para outros computadores na rede. Se você desmascarar um LUN em um computador, o computador terá acesso ao LUN. Computadores para os quais um LUN é mascarado não.
Um LUN não máscara expõe as interfaces IVdsLun e IVdsDisk para o host local. Você pode usar IVdsDisk para adicionar um LUN a um pacote de provedor de software, criar e remover volumes, atribuir letras de unidade e assim por diante. Para obter mais informações sobre as operações executadas em um disco, consulte o Objeto Disk.
Depois que um LUN é desmascarado para um computador de destino ou mascarado de um computador de destino, a visibilidade do LUN nesse computador pode não ser alterada até que um barramento seja executado novamente. O aplicativo VDS no computador de destino inicia a verificação do barramento chamando IVdsService::Reenumerate. O início da nova verificação de barramento é responsabilidade do aplicativo VDS, não do provedor de hardware.
Os provedores de hardware que dão suporte a MPIO (E/S multicamata) podem definir políticas de balanceamento de carga em caminhos entre um LUN e o host local. LuNs que dão suporte a essa funcionalidade expõem a interface IVdsLunMpio para o host local.
Use o método IVdsSubSystem::CreateLun para criar um novo objeto LUN. Você pode consultar os LUNs que são exibidos por um subsistema específico invocando o método QueryLuns , também exposto por IVdsSubSystem. Um chamador pode obter um ponteiro para um LUN específico selecionando o objeto LUN desejado na enumeração retornada por QueryLuns. Com um objeto LUN, você pode definir o status do LUN; consulta para todos os controladores ativos, plexes e dicas automatizadas; estender e reduzir o LUN; adicionar e remover plexes; definir máscaras; aplicar dicas; e exclua o LUN.
Além de um identificador de objeto, um nome e um número de série, as propriedades do objeto LUN incluem o tipo LUN, tamanho, status, integridade, estado de transição e sinalizadores; uma lista de desmascaramento; e uma configuração de prioridade de recompilação.
A tabela a seguir lista interfaces, enumerações e estruturas relacionadas.
Type | Elemento |
---|---|
Interfaces que são sempre expostas por este objeto | IVdsLun |
Interfaces que são sempre expostas por esse objeto somente em provedores de Fibre Channel VDS 1.1 e 2.0 | IVdsLunControllerPorts |
Interfaces que são sempre expostas por esse objeto somente em provedores iSCSI VDS 1.1 e 2.0 | IVdsLunIscsi |
Interfaces que podem ser expostas por este objeto* |
IVdsMaintenance, IVdsLunMpio, IVdsLunNaming e IVdsLunNumberWindows Server 2008, Windows Vista e Windows Server 2003: não há suporte para a interface IVdsLunNumber . |
Enumerações associadas | VDS_LUN_FLAG e VDS_LUN_STATUS e VDS_LUN_TYPE |
Estruturas associadas | VDS_LUN_INFORMATION, VDS_LUN_PROP e VDS_LUN_NOTIFICATION |
* Consulte Disk Object para obter interface adicional (IVdsDisk) que será exposta se o LUN não formasked como um disco no computador host local.