Назад | Перейти на главную страницу

Две отдельные установки Linux SCST, генерирующие одинаковые UUID

Я установил SCST в двух разных настройках Linux. Файл конфигурации 1:

HANDLER vdisk_fileio {
    DEVICE disk01 {
            # create mdisk using "fallocate -l 1G test.img"
            filename /root/test.bin
    }
}
HANDLER vdisk_nullio {
    DEVICE disk_null
}  

TARGET_DRIVER iscsi {
    enabled 1

    TARGET iqn.1994-05.com.redhat:867231fb5ac  {
            # Local IP on which listen to start
            allowed_portal 192.168.57.30
            allowed_portal 192.168.57.23

            QueuedCommands 128
            LUN 0 disk01
            enabled 1
    }

}

Файл конфигурации 2:

HANDLER vdisk_fileio {
    DEVICE disk01 {
            filename /root/hello.img
            nv_cache 1
    }
}
TARGET_DRIVER iscsi {
    enabled 1

    TARGET iqn.1994-05.com.redhat:831de6212b18  {
            allowed_portal 192.168.57.21
            QueuedCommands 128
            LUN 0 disk01
            enabled 1
    }
}

Когда инициатор входит в обе настройки, UUID, возвращаемый для дисков из разных настроек, одинаков, и инициатор рассматривает подключенные диски как один диск. Есть ли способ изменить UUID диска для SCST, добавив некоторые параметры в файл scst.conf. Я попытался изменить UUID с помощью API-интерфейсов blkid / uuidgen, но для этого требуется, чтобы устройство находилось в каталоге / dev.

Я использовал команду dd для создания обоих дисков.

UUID файловой системы одинаков на обоих обслуживаемых вами блочных устройствах. Это не имеет ничего общего с SCST (поскольку ваша проблема находится на уровне выше того, что заботит SCST), и одинаково для обоих томов, потому что вы скопировали их файловые системы 1: 1, используя dd.

На самом деле имеет значение, какой тип файловой системы они отформатированы, так как вы можете изменить UUID большинства файловых систем после создания. BTRFS - это пример файловой системы, которая не поддерживает эту операцию из-за ее расширенных функций, которые широко используют UUID.

Однако ext4 можно изменить (в автономном режиме), как я описал выше, с помощью команды, подобной этой: sudo tune2fs /dev/sde5 -U $(uuidgen). Если вы не можете сделать это с блочным устройством на стороне SCST (вам придется отключить цель, чтобы разблокировать блочное устройство), выполните эту операцию с инициатором.

Если вы не хотите иметь с этим дело в будущем, вам нужно переосмыслить dd подходите и подумайте об использовании чего-то вроде файловой копии, чтобы делать то, что вы пытаетесь выполнить. Тем не менее, блочное копирование с последующей перемаркировкой / переопределением uuid потенциально может быть быстрее, чем копирование большого количества небольших файлов.