4.3. Padrões do Arquivo de Configuração

O arquivo de configuração /etc/multipath.conf inclui uma seção defaults que configura o parâmetro do user_friendly_names para yes, como se segue.
defaults {
        user_friendly_names yes
}
Isto sobrescreve o valor padrão do parâmetro user_friendly_names.
O arquivo de configuração inclui um modelo de padrões de configuração. Esta seção é comentada como a seguir.
#defaults {
#       udev_dir                /dev
#       polling_interval        5
#       path_selector           "round-robin 0"
#       path_grouping_policy    failover
#       getuid_callout          "/lib/dev/scsi_id --whitelisted --device=/dev/%n"
#	prio			const
#	path_checker		directio
#	rr_min_io		1000
#	rr_weight		uniform
#	failback		manual
#	no_path_retry		fail
#	user_friendly_names	no
#}
Para sobrescrever o valor padrão em qualquer parâmetro de configuração, copie a linha relevante deste modelo para a seção defaults e descomente-a. Por exemplo, para sobrescrever o parâmetro path_grouping_policy para que seja multibus ao invés do valor padrão do failover, copie a linha correta do modelo para a seção inicial defaults do arquivo de configuração e descomente-a, como a seguir.
defaults {
        user_friendly_names     yes
        path_grouping_policy    multibus
}
Tabela 4.1, “Padrões de Configuração do Multipath” descreve as funções que são configuradas na seção defaults do arquivo de configuração do multipath.conf. Estes valores são usados pelo DM-Multipath, a menos que sejam sobrescritos pelas funções especificadas nas seções devices e multipaths do arquivo multipath.conf.

Nota

Desde o lançamento do Red Hat Enterprise Linux 6.0, os parâmetros mode, uid, e gid se tornaram obsoletos. As permissões para os dispositivos do mapeador de dispositivo (incluindo os mapeamentos do mulitpath) estão definidos por meios de regras udev. Existe um arquivo modelo no /usr/share/doc/device-mapper-version chamado 12-dm-permissions.rules que você pode utilizar e colocar no diretório /etc/udev/rules.d para que funcione.

Tabela 4.1. Padrões de Configuração do Multipath

Funções Descrição
polling_interval Especifica o intervalo entre duas verificações de caminhos em segundos. Para caminhos funcionando adequadamente, o intervalo entre as verificações aumentará gradualmente para (4 * polling_interval). O valor padrão é 5.
udev_dir O diretório onde os nós do dispositivo udev são criados. O valor padrão é /dev.
multipath_dir O diretório onde os objetos compartilhados dinâmicos são armazenados. O valor padrão é dependente de sistema, geralmente /lib/multipath.
find_multipaths
Define o modo para estabelecer dispositivos de multipath. Se este parâmetro é definido para yes, então o multipath não tentará criar um dispositivo para todos os caminhos que não se encontram na lista blacklist. Ao invés disso, o multipath irá criar um dispositivo somente se uma entre as três condições for atendida:
- Existem ao menos dois caminhos que não se encontram na lista blacklist com o mesmo WWID.
- O usuário força manualmente a criação do dispositivo especificando um dispositivo com o comando multipath.
- Um caminho que possua o mesmo WWID como um dispositivo multipath que foi criado anteriormente. Sempre que um dispositivo multipath for criado com o conjunto find_multipaths, multipath lembra o WWID do dispositivo para que ele crie automaticamente o dispositivo novamente e assim que encontre o caminho com aquele WWID. Isto permite que você faça com que o multipath escolha os caminhos corretos automaticamente para modificá-los em dispositivos criados de multipath quando o parametro do find_multipaths não tiver sido definido, veja a Seção 4.2, “Lista dos Não Autorizados do Arquivo de Configuração”.
O valor padrão é no.
verbosity A verbosidade padrão. Valores mais altos aumentam o nível de verbosidade. Os níveis válidos são entre 0 e 6. O valor padrão é 2.
path_selector
Especifica o algorítmo padrão para usar ao determinar qual caminho usar para a próxima operação de E/S. Valores possíveis incluem:
round-robin 0: Volta por todos os caminhos dentro do grupo de caminho, enviando a mesma quantia de E/S para cada um.
queue-length 0: Envia a proxima quantia de E/S pelo caminho com o mínimo de requisições de E/S restantes.
service-time 0: Envia o próximo pacote de E/S pelo caminho com o tempo de serviço mais curto estimado, o qual é determinado dividindo o tamanho total das E/S restantes para cada caminho pela entrada relevante.
O valor padrão é round-robin 0.
path_grouping_policy
Especifica a política de agrupamento do caminho padrão para aplicar em multipaths não especificados. Valores possíveis incluem:
failover = 1 caminho por grupo prioritário
multibus = todos os caminhos em um grupo prioritário
group_by_serial = 1 grupo prioritário por número em série detectado
group_by_prio: 1 grupo prioritário por valor prioritário de caminho. Prioridades são determinadas pelos programas de chamadas especificadas como globais, por controlador, ou por opção de multipath.
group_by_node_name: 1 grupo prioritário por nome de nó de alvo. Os nomes de nós de alvo são pesquisados em /sys/class/fc_transport/target*/node_name.
O valor padrão é failover.
getuid_callout
Especifica o programa padrão e argumentos para chamar para obter um identificador de caminho único. É necessário um caminho absoluto.
O valor padrão é /lib/udev/scsi_id --whitelisted --device=/dev/%n.
prio
Especifica o programa padrão e argumentos para chamar e obter um valor do caminho prioritário. Por exemplo, a parte ALUA em SPC-3 fornece um valor prio explorável. Valores possíveis incluem:
const: Define uma prioridade de 1 caminho para todos.
emc: Gera o caminho por grupo prioritário para diretrizes EMC.
alua: Gera a prioridade de caminho baseado em configurações de SCSI-3 ALUA.
tpg_pref: Gera a prioridade de caminho baseada nas configurações do SCSI-3 ALUA, usando o bit de porta preferida.
ontap: Gera o caminho prioritário para diretrizes NetApp.
rdac: Gera a prioridade de caminho para o controlador LSI/Engenio RDAC.
hp_sw: Gera a prioridade do caminho para o controlador Compaq/HP em modo ativo/standby.
hds: Gera a prioridade de caminho para as diretrizes de armazenamento do Hitachi HDS Modular
O valor padrão é const.
recursos Os recursos extras do dispositivo do multipath. O único recurso existente é queue_if_no_path, o que é o mesmo que configurar no_path_retry para queue. Para informações sobre problemas que possam surgir ao utilizar este recurso, veja a Seção 5.6, “Problemas com o recurso queue_if_no_path”.
path_checker
Especifica o método padrão usado para determinar o estado dos caminhos. Valores possíveis incluem:
readsector0:Lê o primeiro setor do dispositivo.
tur: Emite um TEST UNIT READY no dispositivo.
emc_clariion: Pesquisa a página EVPD específica do EMC Clariion 0xC0 para determinar o caminho.
hp_sw: Verifica o estado do caminho para as diretrizes de armazenamento da HP com o firmware Ativo/Standby.
rdac: Verifica o stat do caminho para o controlador de armazenamento do LSI/Engenio RDAC.
directio: Lê o primeiro setor com E/S diretas.
O valor padrão é directio.
failback
Especifica o failback do grupo do caminho.
O valor 0 ou immediate especifica um failback imediato para um grupo de caminho com a prioridade mais alta que contenha caminhos ativos.
Um valor de manual especifica que o failback não deve ser imediato e que pode acontecer somente com a intervenção do operador.
Um valor de followover especifica que failback automático deve ser realizado quando o primeiro caminho de um grupo de caminho se torna ativo. Isto evita que um nó retorne automaticamente quando outro nó requisitar o failover.
Um valor numérico maior que zero, especifica o retorno de falha deferido, expressado em segundos.
O valor padrão é manual.
rr_min_io Especifica o número de requisições de E/S para rotear para um caminho antes de mudar para o próximo caminho no grupo de caminho atual. Esta configuração funciona somente para sistemas que executam os kernels anteriores ao 2.6.31. Os sistemas mais novos devem utilizar o rr_min_io_rq. O valor padrão é 1000.
rr_min_io_rq Especifica o número de requisições de E/S para rotear em um caminho antes de alterar para o próximo caminho no grupo atual do caminho, utilizando o device-mapper-multipath baseado em requisção. Esta configuração deve ser utilizada em sistemas que executam os kernels atuais. Em sistemas que executam kernels anteriores ao 2.6.31, utilize o rr_min_io. O valor padrão é 1.
rr_weight Caso seja configurado para priorities, ao invés de enviar requisições de rr_min_io para um caminho antes de chamar o path_selector para escolher um próximo caminho, o número de requisições a enviar é determinado pelo rr_min_io vezes a prioridade do caminho, como determinado pelo programa prio. Se estiver definido para uniform, todos os caminhos possuem o mesmo peso. O valor padrão é uniform.
no_path_retry
Um valor numérico para esta função especifica o número de vezes que o sistema deve tentar usar um caminho falho antes de habilitar o enfileiramento.
O valor de fail indica falha imediata, sem enfileirar.
Um valor de queue indica que o enfileiramento não deve parar até que o caminho seja reparado.
O valor padrão é 0.
user_friendly_names Caso seja configurado para yes, especifica que o sistema deve usar o arquivo /etc/multipath/bindings para atribuir um álias persistente e único ao multipath, na forma mpathn. Se configurado para no, especifica que o sistema deveria usar o WWID como o aliás para o multipath. Em qualquer dos casos, o que é especificado aqui será sobrescrito por qualquer dispositivo específico na seção multipaths do arquivo de configuração. O valor padrão é no.
queue_without_daemon Se configurado para no,o daemon multipathd desabilitará a fila para todos os dispositivos quando for fechado. O valor padrão é no.
flush_on_last_del Se configurado para yes,o daemon multipathd desabilitará a fila quando o último caminho para um dispositivo tiver sido removido. O valor padrão é no.
max_fds Define o número máximo de descritores de arquivos abertos que podem ser abertos pelo multipath e o daemon do multipathd. Este é equivalente ao comando ulimit -n. Desde o lançamento do Red Hat Enterprise Linux 6.3, o valor padrão é max, o qual definirá este para o limite do sistema de /proc/sys/fs/nr_open. Se não for definido, o número máximo de descritores de arquivos abertos é tomado do processo de chamada, geralmente é 1024. Para manter-se seguro, deve-se manter um número máximo de caminhos mais 32, se o número for maior do que 1024.
checker_timeout O timeout para usar os verificadores do caminho que emitem os comandos SCSI com um timeout explícito em segundos. O valor default é tomado a partir do sys/block/sdx/device/timeout.
fast_io_fail_tmo A quantidade de segundos que a camada SCSI irá esperar depois que um problema for detectado em uma porta FC remota antes de falhar as E/S nos dispositivos naquela porta remota. Este valor deve ser menor do que o valor de dev_loss_tmo. Configurar isto para off irá desabilitar o timeout. O valor default é determinado pelo SO.
dev_loss_tmo A quantidade de segundos que a camada SCSI irá esperar após um problema ter sido detectado na porta FC remota antes de removê-lo do sistema. Definir esta quantidade para infinito definirá a quantidade para 2147483647 segundos ou 68 anos. O valor padrão é determinado pelo SO.
hwtable_regex_match
(Versão Red Hat Enterprise Linux 6.3 e posteriores a esta) Controla como o multipath integra as configurações do dispositivo da seção devices do arquivo de configuração com as configurações do dispositivo embutido.
Cada configuração de dispositivo na seção devices do arquivo multipath.conf irá criar sua própria configuração de dispositivo ou irá modificar uma das configurações de dispositivo embutido. Antes do Red Hat Enterprise Linux 6.3, se o fabricante, produto e faixas de revisão em uma configuração de dispositivo do usuário coincidia com estas faixas em uma configuração de dispositivo embutido, a configuração embutida era modificada pelas opções na configuração do usuário. Caso contrário, a configuração do dispositivo do usuário era tratada como uma nova configuração.
Se hwtable_regex_match estiver definido para yes, uma coincidência de expressão comum é usada ao invés desta. O fabricante, produto e faixas de revisão são expressões comuns. Os valores de configuração do dispositivo de usuário para estas opções coincidem com os valores de configuração do dispositivo embutido. Esta coincidência funciona da mesma forma do que quando um produto de fabricante de dispositivo atual e faixas de revisão coicide com faixas de configuração do dispositivo para ver qual configuração pode ser usada para o dispositivo. Se a configuração do dispositivo de usuário coincidem-se, então a configuração embutida é modificada pelas opções da configuração do usuário. Caso contrário, a configuração do dispositivo de usuário é tratada como uma nova configuração.
retain_attached_hw_handler (Red Hat Enterprise Linux Release 6.4 e posteriores) se este parâmetro estiver definido para yes e a camada scsi já possuir um manuseador de hardware anexado a um dispositivo de caminho, o multipath não irá forçar o dispositivo a utilizar o hardware_handler especificado pelo arquivo mutipath.conf. Se a camada scsi ainda não possuir um hardware handler (manuseador de hardware), o multipath continuará a utilizar seu manuseador de hardware como geralmente faz. O valor padrão é no.
detect_prio (Red Hat Enterprise Linux Release 6.4 e posteriores) se este parâmetro estiver definido para yes o multipath irá primeiro verificar se o dispositivo suporta o ALUA, e caso suporte, ele atribuirá automaticamente ao dispositivo o prioritizador alua. Caso o dispotivo não suporte o ALUA, ele irá determinar o prioritizador como sempre faz. O valor padrão é no.