LINUX.ORG.RU
решено ФорумAdmin

Проброс 6ТБ винта целиком на виртуалку Windows XP в KVM

 , ,


1

1

Есть физический комп с CentOS 7, на нем поднят KVM, в нем - несколько виртуалок (CentOS и WinXP).

К физическому компу подключен жесткий диск, на 6ТБ, его нужно целиком пробросить на WinXP. Пробрасываю по этой инструкции.

 # lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   5,5T  0 disk
└─sda1              8:1    0   5,5T  0 part

# virsh attach-disk virtual_mashine /dev/sda vdb
Диск подключен успешно

Если на виртуалку с Centos 7 пробрасывать, диск видится сразу.

На ВинХР - не видит. Эта же винда стоит на физической машине, винт появляется сразу в Диспетчере устройств, дальше - отработанная процедура подцепляния именно диска большого объема.

Т.е. на физической винду винт обнаруживается в диспетчере устройств, на виртуальной - нет.

Посмотрела, ничего дополнительного на виртуалку с Centos'ом не проброшено.

Винт на виртуальной виндеХР очень желателен. Есть варианты?

Ответ на: комментарий от vvvvvvvv

Какой контроллер используется? Virtio-scsi?

Дополню ваш комментарий. vdb Эти названия имеют значения, начинающиеся на h - ide, s - scsi, v - virtio. Т.е. если написать virsh attach-disk virtual_mashine /dev/sda hdb подключиться (при наличии) на ide контроллер. Так же при желании можно принудительно указать куды подключаем, параметр --targetbus но это личное вкуснотеево.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

И еще, конечно могу сейчас гнать, но емним профита на XP от virtio ровно ноль, даже более того просаживается скорость. У меня есть одна виртуалка редко используемая с XP и когда-то тестил скорости, скорее всего не случайно остался на ide. И еще насколько помню, не все «мухи одинакового цвета» пришлось старые версии дровов (virtio-win.iso) для XP брать, на свежих попой вставало.

anc ★★★★★ ()

Эта же винда стоит на физической машине, винт появляется сразу

Может тебе не диск, а контролёр к которому он подключен пробросить?

torvn77 ★★★★★ ()
Ответ на: комментарий от anc

Попробовала присоединить как hdb, и как sdb:

# virsh attach-disk virtual_mashine /dev/sda hdb
ошибка: Не удалось подключить диск
ошибка: Ошибка XML: target 'hdb' duplicated for disk sources '<null>' and '/dev/sda'

# virsh attach-disk virtual_mashine /dev/sda sdb
Диск подключен успешно


В виртуальном оборудовании из графической панели управления виртуалкой появился SCSI диск 1. В диспетчере устройств не появилось нового винта. 

При отключении винта и обновлении оборудования, даже в неизвестных устройствах ничего не меняется. Т.е. дело не в драйверах? Тем более, что на этой же винде, но на железной винт сам был определен.
manik207 ()

можно попробовать

# virsh edit virtual_machine
и там прописать там что-то типа
<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sda'/>
  <target dev='vdb' bus='virtio'/>
</disk>

хотя наверное это будет тоже самое

BMX ★★☆ ()
Ответ на: комментарий от XMs

ХР умеет. Эта же винда, установленная на железе, сам винт увидела в Диспетчере устройств. Потом уже в реестре прописывается драйвер. Тут он прописан точно также

manik207 ()
Ответ на: комментарий от anc

Драйвера - да, ставила, вот по этой статье https://habr.com/post/137109/ Проверила, на железной винде - работает, дистрибутив тот же. Но даже без дров сам дистрибутив определяет диск...

# virsh attach-disk virtual_mashine /dev/sda hdg
ошибка: Не удалось подключить диск
ошибка: Операция не поддерживается: шина диска «ide» не может быть автоматически настроена.
manik207 ()
Ответ на: комментарий от anc

Нет, не ставила, запуталась

Погуглила, поняла, что драйвера ставятся либо на хост с KVM, либо к виртуалке с виндой присоединяется виртуальный дисковод, в него ставится файл virtio-win-0.1.160_x86.vfd и с винды уже ставятся драйвера.

На хосте с KVM virtio-драйверы есть только тут (специально не ставила, только virt-manager стоит):

# find / -name virtio
/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/gpu/drm/virtio
/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/virtio
/usr/lib/modules/3.10.0-862.9.1.el7.x86_64/kernel/drivers/gpu/drm/virtio
/usr/lib/modules/3.10.0-862.9.1.el7.x86_64/kernel/drivers/virtio

Пробовала поставить по инструкции на хабре https://habr.com/post/313144/

# yum install virtio-win
Пакета с названием virtio-win не найдено.

# yum info virtio*
Ошибка: Совпадений среди пакетов не найдено

Виртуальный дисковод присоединила к винде, дискету с драйверами для винды нашла. Диск с KVM пробросила в виртуалку как vdb

Перезагрузила виртуалку. Из неизвестных устройств SCSI-контроллеру обновила драйвер (он единственный, кому драйвера с дискеты подошли), он определился в разделе «Дисковые устройства» - Red Hat VirtIO SCSI Disk Device. Самого диска нет.

Какие-то еще драйвера искать? Или диск не так подключаю?

manik207 ()
Ответ на: комментарий от XMs

Нет, физическая винда определила винт только в Диспетчере устройств. В Управлении дисками винт появился после правки реестра. На виртуальной винде правку реестра тем же макаром сделала сразу.

manik207 ()
Ответ на: комментарий от manik207

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

XMs ★★★★★ ()
Ответ на: комментарий от anc

Из исошника тоже обновила все устройства. Диск не появился.

Осталось как было - в разделе «Дисковые устройства» - Red Hat VirtIO SCSI Disk Device. В неизвестных устройствах остался SCSI-контроллер.

Поменяла в графической панели Virt-manager'а в Virtio Диск 1 шину на SATA - после перезагрузки шина сама возвращается в Virtio.

manik207 ()
Ответ на: комментарий от anc

Добавить можно только контроллер IDE, но это ни к чему не ведет.

Если создать аналогичное хранилище, то нужно указать путь к нему, путь тома... Создала хранилище, путь указала /dev/sda

Ура!!!! Он подключился и определился!!! И доступен!!!!!!!!!!!!!! Форматировать не пришлось!! Спасибо огромное!!!!

manik207 ()
Ответ на: комментарий от manik207

Сам не понял чем помог, начинали с консоли, а продолжили гуйней. Если говорить не про гуй, в целом надо смотреть что в xml-не, как по поводу контроллеров так и по девайсам. Ну и в соответствующем направлении двигаться.

anc ★★★★★ ()
Ответ на: комментарий от anc

Вы очень помогли, огромная благодарность

Про контроллеры и девайсы поняла: нашла файл /etc/libvirt/qemu/virtual_machine.xml, винт подключен, получается, вторым блоком после основного диска:

    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/virt/images/virtual_machine.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/sda'/>
      <target dev='hdb' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>

Мне через гуй привычней, но через консоль теперь тоже понятно. Еще раз спасибо))

manik207 ()

Только имейте ввиду что простая правка этой xml-ны может не дать того результата которого вы ожидаете :)
Выше вам уже написали один из вариантов «virsh edit virtual_machine», но это один из...

anc ★★★★★ ()
Ответ на: комментарий от anc

И за эту наметку спасибо)

Перепроверила на новой виртуалке, танцы с драйверами оказались лишними для моей задачи, в графическом интерфейсе создала дисковое пространство с указанием пути до винта /dev/sda, и после включения виртуалки диск отобразился в диспетчере устройств как второй QEMU HARDDISK. Дальше - настройка чтения виндой ХР дисков более 2ТБ - это в штатном порядке.

manik207 ()

virsh attach-disk virtual_mashine /dev/sda vdb

возможно косяки с плагенплей, возможно вообще хр хреново работает с хотсвапом винтов. насколько я понимаю, эта команда, именно в работающую ОС кидает винт? почему бы нормально не указать в virt-manager винт до загрузки ОС и запустить с ним?

darkenshvein ★★★★★ ()
Последнее исправление: darkenshvein (всего исправлений: 3)
Ответ на: комментарий от darkenshvein

virsh attach-disk virtual_mashine /dev/sda [vsh]db
возможно косяки с плагенплей, возможно вообще хр хреново работает с хотсвапом винтов. насколько я понимаю, эта команда, именно в работающую ОС кидает винт?

Кстати очень верное замечание, как-то я упустил этот момент. :(
Оставлю на всякий случай, добавить --config при выключенной системе. Или --persistent при включенной, если не сработает, ребутнуть виртуалку.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)