88.6.1. Контроллеры жёстких дисков
VirtualBox поддерживает эмуляцию большинства распространённых типов контроллеров жёстких дисков, включая: IDE (ATA), Serial ATA (SATA), SCSI, Serial Attached SCSI (SAS), USB-накопители, NVMe и устройства хранения данных virtio-scsi. Каждый из них имеет свои особенности и область применения. Ниже приведено описание каждого типа контроллера.
IDE (ATA)
Это обратно совместимый, но устаревший стандарт. Изначально этот интерфейс работал только с жёсткими дисками, позже стал поддерживать CD-ROM и другие съёмные носители. В VirtualBox каждая ВМ может иметь один включённый IDE-контроллер, поддерживающий до четырёх виртуальных устройств. По умолчанию один из слотов (обычно Secondary Master) настроен на виртуальный привод CD/DVD.
Serial ATA (SATA)
Более современная и производительная замена IDE. Интерфейс SATA в VirtualBox реализован через AHCI (Advanced Host Controller Interface) — стандартный режим работы SATA-контроллеров. SATA-контроллер в VirtualBox меньше нагружает процессор, по сравнению с IDE. Позволяет подключить до 30 виртуальных дисков к одной ВМ (в отличие от 3 в IDE + 1 CD/DVD). Первые четыре слота (0–3) по умолчанию работают в режиме совместимости с IDE. VirtualBox по умолчанию использует SATA для новых ВМ. При создании новой ВМ автоматически создаётся один SATA-контроллер, к которому подключается основной виртуальный диск.
SCSI (Small Computer System Interface)
Универсальный интерфейс передачи данных, поддерживающий не только дисковые устройства, но и другие типы оборудования. Виртуализация SCSI в VirtualBox включает поддержку контроллеров LSI Logic и BusLogic. К каждому контроллеру можно подключить до 15 виртуальных жёстких дисков. Используется в первую очередь для совместимости с другими системами виртуализации.
Serial Attached SCSI (SAS)
Это последовательная версия SCSI, которая заменяет параллельные кабели на более простые и надёжные последовательные соединения. SAS можно рассматривать как аналог SATA для SCSI: он имеет более высокую производительность и надёжность. VirtualBox эмулирует контроллер LSI Logic SAS, который включается аналогично SCSI. Поддерживает подключение до 255 виртуальных устройств.
USB
Стандарт подключения внешних запоминающих устройств, таких как жёсткие диски и флеш-накопители. Поддерживается большинством современных ОС без необходимости установки дополнительных драйверов. Виртуальный USB-контроллер в VirtualBox работает иначе, чем другие типы контроллеров:
не представляет собой один контроллер с несколькими дисками;
каждое устройство отображается как отдельное USB-устройство в гостевой ОС;
загрузка с USB-накопителей возможна только при использовании EFI, так как BIOS не поддерживает USB-загрузку.
NVMe (Non-Volatile Memory Express)
Это высокоскоростной протокол, разработанный специально для твердотельных накопителей (SSD), подключаемых через PCI Express. Используется для снятия ограничений SATA и достижения максимальной пропускной способности. Для использования NVMe-дисков гостевая ОС должна поддерживать этот стандарт. Контроллер NVMe является частью пакета расширений. Загрузка с NVMe-дисков возможна только при использовании EFI, так как BIOS не поддерживает NVMe.
virtio-scsi
Это стандарт для виртуализации устройств хранения данных, включая жёсткие диски и оптические приводы. Предоставляет более высокую производительность и гибкость по сравнению с другими типами контроллеров. Поддерживает современные гостевые ОС с драйверами virtio.
Таблица 88.2. Категории слотов виртуального хранилища
|
Тип контроллера
|
Масксимум устройств
|
Примечание
|
|
IDE
|
4
|
Всегда доступен. Один слот обычно занят виртуальным CD/DVD
|
|
SATA (AHCI)
|
30
|
Используется по умолчанию. Требует поддержки ОС
|
|
SCSI
|
15
|
Поддерживает LSI Logic и BusLogic
|
|
SAS
|
255
|
Поддерживает современные высокопроизводительные диски
|
|
USB
|
8
|
Представляет устройства как отдельные USB-накопители
|
|
NVMe
|
255
|
ребует поддержки ОС и установленного Extension Pack
|
|
virtio-scsi
|
256
|
Экспериментальная поддержка. Требует гостевых драйверов
|
Эти значения могут отличаться в зависимости от гостевой ОС и настроек.
Следует избегать использования IDE, если только это не единственный контроллер, поддерживаемый гостевой ОС. Использование SATA, SCSI или SAS не имеет принципиального значения.