Мне нужно создать конфигурацию с несколькими путями для тестирования в скрипте, но я хотел бы использовать конкретные имена с определенным префиксом для создаваемых устройств, чтобы я мог легко отфильтровать тестируемые из всего, что может уже существовать. Я знаю, что могу отредактировать /etc/multipath.conf чтобы настроить псевдоним, но редактирование файлов конфигурации системы из теста сводит с ума. Это вообще возможно?

Скрипт bash, который я использую для его настройки:

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
}

0