Block scsi vmware что делать

Обновлено: 04.07.2024

Не нашел нормальной статьи как из говна и палок собрать СХД для ESXI от вмвари, так что распишу сам как же это делается.

Для начала нужно СХД.

Назовем это сервер-хранилище, чтобы не путать с серверами вмвари.

Это может быть любой комп, желательно сервер, желательно с рейдом. Я поставил на него Debian, потому что я люблю дебиан.

Однако про iSCSI. Ставим единственный необходимый пакет:

apt update && apt install tgt

После этого добавляем конфиг

  1. <target iqn.2019-10.server1.domain.local:lun1>
  2. scsi_id IET 00010001
  3. controller_tid 1
  4. lun 1
  5. backing-store /dev/mapper/server1-storage
  6. </target>

В моем случае я настраиваю два хранилища, так что вот конфиг второго

  1. <target iqn.2019-10.server2.domain.local:lun1>
  2. scsi_id IET 00020001
  3. controller_tid 2
  4. lun 2
  5. backing-store /dev/mapper/server2-storage
  6. </target>


После нажатия, вам должны предложить добавить софтварный iSCSI-адаптер



Заходим в свойства и добавляем интерфейс из виртуального свича. Замечу, что эта штука не поддерживает аггрегированные физические интерфейсы и откажется добавлять виртуальный, если у него в конфиге прописано более одного физического.


Дальше переходим на вкладку Dynamic Discovery и добавляем айпишники серверов-хранилищ (порт по умолчанию)



Конвертируем IDE to SCSCI в Vmware ESXI 5.5

Всем привет, сегодня хочу вас научить делать расширение и конвертирование виртуальных жестких дисков IDE в SCSI. Для чего, тут все просто, появляется возможность его ускорить и расширять на лету, но обо всем по порядку. Вообще старайтесь их не создавать, а использовать более современные, это как земля и небо, у Hyper-v первого поколения, такая же проблема, решенная уже во второй и третьей версии.

Описание задачи

У вас есть виртуальная машина на гипервизоре VMware ESXI 5.5. Вам поступает задача расширить виртуальный диск, вроде все тривиально, но у вас не получается, так как это поле просто не активное. А все дело в том, что один идиот, который пренебрег помощью администратора по виртуализации, сам все создал, и создал так, что у него диски подключены по IDE технологии, устаревшей и медленной, но как бы пофиг с этим, есть огромное но

диски IDE нельзя расширить штатными средствами VMware

Что делать, конечно же конвертируем его в SCSI.

Конвертируем IDE в SCSI

Для конвертации IDE в SCSI, открываем свойства виртуальной машины, она должна быть выключена, и видим, что есть IDE диск 1. Размер у меня 100 гб и как видите расширить нельзя, не активна опция и виртуалка выключена.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-01

Переходим к вашему SCSI controller и жмем у него Change Type.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-012

Тут нам нужно будет выбрать тип SCSI controller VMware Paravirtual

  • сама VMware рекомендует использовать VMware Paravirtual (PVSCSI) SCSI контроллер для гостевых операционных систем, поскольку он предоставляет лучшую производительность при низких накладных расходах
  • Если гостевая система семейства Windows, убедитесь в установленных VMware tools, так как в их составе находятся драйвера Paravirtual адаптера, или в присутствии драйверов Bus logic или LSI logic типов адаптеров

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-03

Контроллер будет пере заменен

жесткий диск hdd ide 2.5

Теперь нам нужно будет создать временный виртуальный жесткий диск

жесткий диск hdd ide 2.5

Create new virtual disk

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-06

Задаем размер 25 гб, тип оставляем Thick Provision Lazy Zeroed, более подробно о типах виртуальных дисков ESXI читайте по ссылке.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-07

Выбираем SCSI контроллер.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-08

Все диск 25 гб добавлен

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-09

Жмем ок и включаем виртуальную машину, система накатит нужные драйвера подождите пока появятся все устройства.

По сути вы должны увидеть новый диск вместе с остальными, в моем случае гостевая операционная система это Ubuntu, то выполним fdisk -l и посмотрим список доступных дисков. Как видите наш это sdc.

жесткий диск hdd ide 2.5

Теперь выключаем виртуалку и полностью удаляем новый созданный диск > Remove from virtual machine and delete files from disk.

hdd диск ide 2.5

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-12

Находим строку ddb.adapterType = "ide" и меняем на ddb.adapterType = "buslogic" или ddb.adapterType = "lsilogic", в зависимости от типа выбранного адаптера SCSI (для перехода в режим редактирования нажмите "i", для выхода из режима - "Esc"). Сохраняемся и выходим(":wq").

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-13

У меня получилось вот так

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-14

Теперь нам нужно данный IDE диск отключить, для этого останавливаем вашу виртуалку и удаляем его из конфига

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-15

смотрите не перепутайте, выбрать нужно именно Remove from virtual machine

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-16

Все теперь осталось добавить сконвертированный SCSI диск, для этого жмем Add > Hard Disk

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-16

Выбираем Use an existing virtual disk > использовать существующий диск

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-17

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-18

старый жесткий диск ide

не перепутайте и выбирайте SCSI, не зря же мы тут все это затеи ли 🙂

старый жесткий диск ide

Все видим виртуальный жесткий диск SCSI добавился.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-21

Теперь выберем в типе SCSI, тот тип что вы указали ранее у меня это LSI Logic SAS

старый жесткий диск ide

Если тот IDE диск который мы переделывали в SCSI был загрузочным, то убедитесь что у него в Virtual Device Node стоит SCSI (0:0) иначе не загрузится.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-23

И проверьте, чтобы у IDE Cd/DVD rom стоял тоже IDE (0:0)

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-24

Все включаем вашу машинку и проверяем все устройства и что все работает.

Конвертируем IDE to SCSCI в Vmware ESXI 5.5-25

Еще немного о Windows платформе

На Windows Server 2008 R2, когда мне нужно было так же поменять системный диск, у меня были синие экраны, пока я из рабочей виртуалки со SCSI диском не выгрузил ветви реестра

date

27.04.2021

directory

VMWare, Виртуализация

comments

Комментариев пока нет

В VMware vSphere вы можете использовать iSCSI диски в качестве общего дискового хранилища для ваших ESXi хостов. ESXi хост получает доступ к таким дискам по вашей локальной сети с помощью протокола TCP. В этой статье мы рассмотрим, как подключить iSCSI LUN с вашей СХД (или сервера) к хосту VMWare ESXi и создать на нам общее VMFS хранилище.

Предполагаем, что вы создали, настроили и опубликовали iSCSI таргет (диск) на вашей СХД (в Windows Server вы можете в качестве iSCSI таргет использовать виртуальный vhdx диск).

На СХД убедитесь, что вы разрешили подключение к вашему iSCSI таргету вашим ESXi хостам (iSCSI инициаторы). Доступ можно получить по IQN (как получить IQN iSCSI адаптера в ESXi показано ниже, по DNS имени, IP или MAC адресу.

В данном примере мы используем отдельно стоящий хост с ESXi 6.7 (можно использовать и бесплатный ESXi Hypervisor). Это может быть физический хост или виртуальная машина (например, вот пример использования ESXi с помощью nested virtualization в Hyper-V). На хосте есть два сетевых интерфейса (один будет использоваться для управления, второй для трафика к iSCSI LUN).

Настройка сети для iSCSI трафика в VMWare ESXi

Сначала нужно создать отдельный VMkernel сетевой интерфейс, который будет испоьзоваться ESXi хостом для доступа к iSCSI хранилищу. Перейдите в раздел Networking -> VMkernel NICs -> Add VMkernel NIC.

добавить vmkernel порт в esxi

Кроме vmk порта нужно сразу создать новая группа портов (New port group). Укажите имя для этой группы – iSCSI и назначьте статический IP адрес для вашего интерфейса vmkernel.

vmk порт для iscsi трафика в esxi

Теперь перейдите в настройки вашего стандартного коммутатора vSwitch0 (Networking -> Virtual Switches). Проверьте, что второй физический интерфейс сервера vmnic1 добавлен в конфигурацию и активен (если нет, нажмите кнопку Add uplink и добавьте его).

добавить uplink в vmware esxi

Проверьте в секции Nic Teaming что оба физических сетевых интерфейса находятся в статусе Active.

активные uplink сетевые адаптеры

отключить management аплинк для iscsi port groups

В результате ваш ESXi хост будет использовать для доступа к вашему iSCSI LUN только один интерфейс сервера.

Настройка программного iSCSI адаптера в VMWare ESXi

По умолчанию в ESXi отключен программный адаптер iSCSI. Чтобы включить его, перейдите в раздел Storage -> Adapters. Нажмите на кнопку Software iSCSi.

включить software iscsi в vmware esxi

Измените iSCSI enable на Enabled.

Обратите внимание, что здесь также указан IQN вашего iSCSI адаптера(инициатора), который можно использовать при настройке доступа к iSCSI LUN на СХД).

Затем в секции Dynamic targets добавьте IP адрес вашего iSCSI хранилища и порт подключения (по-умолчанию для iSCSI трафика используется порт TCP 3260). ESXi просканирует все iSCSI таргеты на этом хосте и выведет их в списке Static Targets.

список доступных iscsi таргетов с esxi хоста

Здесь же можно настроить CHAP аутентификацию, но в тестовой среде это не обязательно.

Сохраните настройки. Обратите внимание, что на вкладке Storage -> Adapters появился новый HBA vmhba65 типа iSCSI Software Adapter.

vmhba65 типа iSCSI Software Adapter

Если ESXi хост подключен к vCenter, чтобы добавить iSCSI LUN, перейдите в раздел Configure -> Storage –> Storage Adapters. Выберите Software iSCSI adapter и укажите на вкладке Dynamic Discovery имя или IP адрес вашего iSCSI хранилища. Выполните Rescan. Список доступных iSCSI таргет должен появится на вкладке Static Discovery.

добавление iscsi хранилиза в esxi

Если вы не видите список iSCSI таргетов на СХД, можно продиагностировать доступность iSCSI диска через консоль ESXi.

Включите на ESXi хосте SSH и подключитесь к нему с помощью любого SSH клиента (я использую встроенный SSH клиент Windows 10)

С помощью следующей команды можно выполнить проверку доступности вашего iSCSI хранилища (192.168.13.10) с указанного vmkernel порта (vmk1) :

vmkping проверка доступности СХД

В этом примере iSCSI хранилище отвечает на ping.

Теперь нужно проверить, что на хранилище доступен iSCSI порт TCP 3260 (в этом примере 192.168.13.60 это IP адреса интерфейса vmk1):

esxi shell проверка доступности iscsi порта 3260

Проверьте, что на хосте включен программный iSCSI:

Если нужно, включите его:

Также можно получить текущие параметры программного HBA адаптера iSCSI:

esxcli iscsi adapter get

Создаем VMFS хранилище на iSCSI LUN в VMWare ESXi

Теперь на доступном iSCSI диске можно создать VMFS (Virtual Machine File System) хранилище для размещения файлов виртуальных машин.

Перейдите в раздел Storage -> Datastores -> New datastore.

создать новое хранилище на iscsi LUN

Задайте имя VMFS хранилища и выберите iSCSI LUN, на котором его создать.

создать vmfs датастору на iscsi диске

Выберите тип файловой системы VMFS 6 и укажите, что для хранилища нужно использовать весь объем iSCSI диска. Через несколько секунд новое VMFS хранилище станет доступно из ESXi.

новое vmfs хранилище для размещеия файлов виртуальных машин esxi

Если на данном LUN уже создано VMFS хранилище, оно сразу появится в списке доступных Storage Devices хоста.

msft iscsi disk в vmware esxi

Итак, вы подключили iSCSI диск к вашему ESXi хосту и создали на нем VMFS хранилище. Это хранилище могут одновременно использовать несколько ESXi серверов. Теперь у вас есть общее хранилище, и если вы настроите VMware vCenter server, вы сможете использовать vMotion для перемещения запущенных ВМ между хостами.

Недавно я столкнулся с ситуацией, когда на виртуальном диске в виртуальной машине vSphere начало заканчиваться место, а типичная операция по расширению дискового пространства оказалась невозможной. В моем случае это было связано с интерфейсом подключения диска — IDE.

Статьи, которые можно найти в этой связи в Интернет, например:
VMware Knowledge Base
Аналог, с картинками
к сожалению неполны.

Следование данным статьям приводит к неработоспособности виртуальной машины. После более детальных изысканий, был найден работающий путь, дополняющий вышеуказанные статьи. Для того, чтобы статья предоставляла цельное решение проблемы, здесь будет изложен переработанный и дополненный способ конвертации.

Отступления

1. Чтобы не загромождать статью, я буду везде опускать слово «виртуальный», которое будет применяться к диску и к машине.
2. Я буду использовать специфическую терминологию/названия, типичные для vSphere.
3. Невозможность расширения диска может быть вызвана несколькими причинами: наличие снапшотов данного диска (при этом в менеджере снапшотов они могут быть не видны), отсутствие места для расширения, включенное питание машины и т.д. Здесь описывается ситуация, когда снапшотов нет, место есть, питание выключено, но диск IDE.
4. Существует теоретическая/(не проверял) возможность конвертации диска с помощью VMware Converter. Я ее не использовал по двум причинам: это достаточно «тяжелый» софт и я встречал упоминания о невозможности загрузки машины после конвертации
5. Операции производились на vSphere + ESXi v4.1U2. Я не гарантирую работоспособности метода на других версиях (но в принципе должно работать, ничего сверхспецифичного).
6. Внутри машины установлена неонка WinXP 32bit, и часть действий на это рассчитана, если у вас стоит другая ОС имейте это в виду.
7. Формат диска Thick
8. У вас есть свежий бэкап данной машины (в процессе экспериментов я восстанавливался где-то раз 5).

Начали

Итак, наша машина выключена, у нас открыт vSphere Client.
Заходим в свойства машины, и добавляем SCSI Device. В качестве скази девайса у меня был сидиром, у которого рекомендуется сразу же поменять Virtual Device Node с SCSI(0:0) на SCSI(0:1), т.к. впоследствии на SCSI(0:0) мы повесим наш сконвертированный диск.
Скази девайс добавляется вместе со скази контроллером (SCSI Controller), у которого необходимо сменить тип с BusLogic Parallel на LSI Logic Parallel.


Сохраняем настройки и включаем машину.
Ставим драйвер для контроллера, который можно найти на сайте производителя: LSI Support.
Ищем драйвер для своей ОС, для LSI20320-R
После установки драйвера, хорошо бы проверить, что контроллер и скази девайс появились в оборудовании машины и установлены корректно.

Выключаем виртуальную машину.

В вышеприведенных ссылках, рекомендуют заменить одну строчку в файле %vm-name%.vmdk (ddb.adapterType) чтобы в дальнейшем все заработало. У меня это не сработало (машина не загружается вообще — не виден даже MBR).
После определенных изысканий была найдена проблема — разная геометрия дисков IDE и SCSI.
Таким образом необходимо выяснить геометрию SCSI диска с точно таким же размером как наш IDE диск.
Это можно сделать разными способами, лично я использовал VMware vSphere PowerCLI (см. подвал).
Итак, подключаемся к ESX(i) хосту и выясняем размер диска машины:


Т.о. мы получили размер в килобайтах. Теперь выясним название скази контроллера нашей машины (это понадобится для создания скази диска):


Создаем скази диск, аналогичного размера:

PowerCLI > New-HardDisk -Datastore datastoreXX -StorageFormat Thick -CapacityKB 10485760 -Controller "SCSI controller 0" %vm-name%

При создании, будет выведена табличка, в которой среди прочего будет прописан путь к созданному диску, а также его название.

Немного теории:
В VMware виртуальный диск в простейшем случае состоит из двух файлов:
%vm-name%.vmdk — файл описания диска
%vm-name%-flat.vmdk — собственно сам диск (содержимое)
Кстати, Datastore Browser представляет их в виде одного файла, но если этот файл скачать, например, на локальную машину, то фактически получим два файла, как и должно быть (в теории может быть и больше, если использовался split).

На данный момент нас интересуют файлы описания старого IDE диска и новосозданного SCSI диска. Я пользовался SSH и WinSCP для их извлечения.
Для моего размера диска увидим следующее:

Сначала обратим внимание на вторую строчку, на цифры после RW, это размер дисков (в моем случае в 512b блоках). Числа должны совпадать, если они не совпадают, нет смысла читать дальше.

Далее сразу же бросается в глаза различие цилиндров и головок. Ну и тип адаптера.
Теперь редактируем файл описания старого IDE диска, меняем соответственно число цилиндров, головок и тип адаптера. Не рекомендую просто переписывать файл описания, таковым от нового скази диска, т.к. информации у старого IDE диска в этом файле больше.

Все что нам нужно было от тестового скази диска мы получили, поэтому его можно удалить (например с помощью Remove-HardDisk).

Теперь заходим в свойства виртуальной машины и удаляем IDE диск из состава машины.
будьте предельно внимательны, диск удаляем только из виртуальной машины (Remove from virtual machine), но не удаляем файлы с диска!


Сохраняем изменения, и опять заходим в свойства виртуальной машины. Добавляем жесткий диск, выбираем пункт «Использование существующего диска» (Reuse existing virtual disk) и указываем на файл с нашим диском.


В дополнительных свойствах, проверяем что диск встал на SCSI(0:0).


В данный момент можно удалить скази сидиром, если он не нужен, и проверить настройки IDE сидирома (если он есть). IDE сидиром необходимо установить на канал IDE(0:0) или IDE(1:0) (мастером), иначе машина откажется запускаться.

В целом это все. Можно еще зайти в БИОС виртуальной машины, проверить порядок загрузки.
Виртуальную машину можно запустить, при первой загрузке будет установлен драйвер на диск.

Читайте также: