configura nome / alias customizado para dispositivos multipath sem /etc/multipath.conf?

0

Eu preciso criar uma configuração multipath para fins de teste em um script, mas eu gostaria de usar nomes específicos com algum prefixo para os dispositivos que são criados - para que eu possa filtrar facilmente os testes de qualquer coisa que já possa existir. Eu sei que posso editar /etc/multipath.conf para configurar um alias, mas editar arquivos de configuração do sistema de um teste é uma loucura. É possível em tudo?

O script bash que estou usando para configurá-lo:

iqn="iqn.2006-04.com.example:444"

mpath_setup_targets() {
    # $1 is the device which is going to be provided through multipath

    filename="$1"
    hostiqn=$(cat /etc/iscsi/initiatorname.iscsi | grep -o "iqn.*$")
    targetcli backstores/block create md_block0 "$filename"
    targetcli /iscsi create $iqn

    targetcli /iscsi/$iqn/tpg1/luns create /backstores/block/md_block0
    targetcli /iscsi/$iqn/tpg1/portals delete 0.0.0.0 3260
    targetcli /iscsi/$iqn/tpg1/portals create 127.0.0.1 3260
    targetcli /iscsi/$iqn/tpg1/portals create 127.0.0.2 3260
    targetcli /iscsi/$iqn/tpg1/portals create 127.0.0.3 3260
    targetcli /iscsi/$iqn/tpg1/acls create $hostiqn
    targetcli /iscsi/$iqn/tpg1 set attribute authentication=0

    # find the multiple paths to $filename
    iscsiadm -m discovery -t sendtargets -p 127.0.0.1 -o new -o delete >/dev/null
    iscsiadm -m node -L all >/dev/null

    # give it few seconds to propagate and fail if nothing appears
    tries=5
    while [ $tries -gt 0 ]; do
        found=$(multipath -ll | wc -l)
        tries=$((tries - 1))
        if [ $found -gt 0 ]; then
            return 0
        fi
        sleep 1
    done
    return 1
}
    
por Zopper 27.06.2018 / 10:04

0 respostas