SCSI “ЗАПИСЬ ТАКАЯ ЖЕ” и “СРАВНЕНИЕ И ЗАПИСЬ” через iSCSI

Вопрос или проблема

Какие операционные системы используют функции SCSI “WRITE SAME” и “WRITE COMPARE”? Я просматривал код ядра Linux, но, насколько я мог судить, они там используются только для реализации функций целевого устройства. Также, насколько я знаю, инициатор Windows 10 не использует их.

И как они активируются при обычном использовании? Например, с какими обычными функциями ввода/вывода файлов/дисков я могу их выполнять?

Ответ или решение

SCSI-команды "WRITE SAME" и "COMPARE AND WRITE" играют важную роль в оптимизации ввода-вывода для систем хранения данных, особенно в контексте iSCSI.

Использование команд WRITE SAME и COMPARE AND WRITE

  1. Операционные системы:

    • Эти команды в основном используются в операционных системах, которые поддерживают работу с SCSI или SCSI-совместимыми устройствами, включая Linux и Windows.
    • В Linux, как вы заметили, команды "WRITE SAME" и "COMPARE AND WRITE" чаще встречаются в функциональности целевого устройства (target functionality) и могут не быть активно задействованы в инициаторах (initiators).
    • В Windows 10 инициатор действительно не использует эти команды по умолчанию в стандартных операциях, что может ограничивать их применение для пользователей.
  2. Триггеры для команд:

    • Обычно использование функций "WRITE SAME" и "COMPARE AND WRITE" связано с операциями на блочном уровне и может быть инициировано через специальные вызовы.
    • Эти команды могут использоваться в рамках низкоуровневых API, таких как SCSI командные интерфейсы или через инструменты, которые позволяют выполнять кастомизированные операции ввода-вывода.
    • В Linux вы можете вызвать их через утилиты как sg_write_same и sg_compare_and_write из пакета sg3_utils. Эти инструменты позволяют формировать команды SCSI, которые напрямую взаимодействуют с устройствами хранения.

Выполнение команд WRITE SAME и COMPARE AND WRITE

  1. Для Linux:

    • Убедитесь, что у вас установлен пакет sg3_utils. Он содержит команды для работы с SCSI.
    • Например, для выполнения команды "WRITE SAME" вы можете использовать:
      sg_write_same /dev/sdX [параметры]
    • Для "COMPARE AND WRITE":
      sg_compare_and_write /dev/sdX [параметры]
    • Здесь /dev/sdX – это ваше устройство хранения, а [параметры] – параметры, которые зависят от конкретной задачи.
  2. Для Windows:

    • Использование таких команд может быть ограничено, однако вы можете использовать сторонние программы или библиотеки, которые предоставляют интерфейс для работы с SCSI командами на уровне блоков.
    • Рассмотрите возможность использования инструментов от производителей хранилищ или специализированных утилит, предоставляющих доступ к SCSI обходным командам.

Заключение

Команды "WRITE SAME" и "COMPARE AND WRITE" могут быть не широко доступны в обычных операционных системах для инициаторов, но они ценны для оптимизации операций ввода-вывода в системах хранения. В Linux доступ к этим функциям возможно через утилиты, тогда как в Windows это может требовать дополнительных инструментов. Рекомендуется проводить тестирование с помощью утилит в среде разработки, чтобы понять, как эти команды могут помочь в ваших специфических заданиях хранения данных.

Оцените материал
Добавить комментарий

Капча загружается...