Показаны сообщения с ярлыком XenServer. Показать все сообщения
Показаны сообщения с ярлыком XenServer. Показать все сообщения

вторник, 8 октября 2013 г.

Проброс USB в XenServer 6.2 (USB Passthrough)

Проброс USB из XenServer 6.2 в виртуальную машину
В XenServer 6.2 пробросить USB порт в виртуальную машину нельзя. Можно пробросить целиком контроллер USB, а вместе с ним в "виртуалку" попадут и все порты связанные с этим контроллером. По такому же принципу можно пробросить практически любое устройство из хостовой системы. Как правило, на сервере от 2 USB контроллеров. Узнать это можно командой хостовой системе:


[root@xen ~]# lspci | grep USB
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)

Нас интересуют идентификаторы контроллеров 00:1a.0 и 00:1d.0 именно их мы и будем использовать в дальнейшем. Наверняка, угадать к какому контроллеру подключено устройство будет сложно. Для этого есть команда lsusb из пакета usbutils, но в XenServer этот пакет не установлен. Можно попытаться использовать dmesg. Или данные из файла /proc/bus/usb/devices:

cat /proc/bus/usb/devices

Например информация о флешке Transcend в этом файле выглядит таким образом:
T:  Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 11 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=8564 ProdID=1000 Rev=11.00
S:  Manufacturer=JetFlash
S:  Product=Mass Storage Device
S:  SerialNumber=643SX46T1R2IPSGQ
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us

Видно, что используется Bus=02, значит контроллер будет 00:1d.0
Это отражено в описании самого контроллера:

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.43-0.4.1.xs1.8.0.835.170778xen ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:1d.0         <------------------------------------<------------------------<---------
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms


Далее необходимо узнать UUID ВМ, в которую будет проводиться проброс.

Например так:

[root@xen ~]# xe vm-list name-label=test
uuid ( RO)           : cd9c4655-dc8a-c086-103c-c1716293449d
     name-label ( RW): test
    power-state ( RO): running

Зная идентификатор контроллера в консоли XenServer нужно выполнить команду:

[root@xen ~]# xe vm-param-set other-config:pci=0/000:00:1d.0 uuid=cd9c4655-dc8a-c086-103c-c1716293449d

Где 0/000: - обязательная часть, далее идет сам идентификатор контроллера.
Проверить правильность настроек можно командой:

xe vm-param-list uuid=cd9c4655-dc8a-c086-103c-c1716293449d | grep other-config

Должно присутствовать: pci: 0/000:00:1d.0

После перезапуска ВМ, в диспетчере задач, в случае если установлен Windows, появится хостовый USB контроллер с подключенным к нему устройством.

Для того чтобы отключить проброс контроллера, в консоли XenServer необходимо выполнить команду:

xe vm-param-remove param-name=other-config param-key=pci uuid=cd9c4655-dc8a-c086-103c-c1716293449ds
Украдено с http://wiki.autosys.tk/Citrix.%D0%9F%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81-USB-%D0%B2-XenServer-6-2-USB-Passthrough.ashx

воскресенье, 21 апреля 2013 г.

copy vhd from nfs/cifs

Итак задача: скопировать в локальный стораж VHD с сетевого хранилища.
Можно сделать это через импорт в XenCenter, но тут есть свой ньюанс - надо приаттачить сетевой диск к машине и трафик будет идти по схеме NAS - машина с XenCenter - XenServer, что соответственно негативно скажется на скорости. Еще можно приаттачить NFS-VHD storage, тут уже всё ок, но не всегда работает. ( кстати: чтобы добавить туда свой VHD-образ надо создать новый диск, а затем заменить его своим образом )

А можно пойти другим путем.
Нам нужна будет утилитка vhd2xen от акрониса ( можно взять тут )
качаем: wget http://download.acronis.com/vhd2xen.i686
даем права на исполнение: chmod +x vhd2xen.i686
ну и запускаем установку: ./vhd2xen.i686
далее отвечаем на несложные вопросы
и вуаля - всё готово для нашего действа.
Установилась наша утилитка вот сюда: /usr/lib/Acronis/VHD2XEN/.

Далее нам надо смонтировать наш сетевой диск
mount -t nfs ip:/path /mnt/storage
или mount -t cifs //share /mnt/storage -o username=**** password=****

Все готово к импорту, можно начинать:




[root@WWiskas disk_c]# /usr/lib/Acronis/VHD2XEN/vhd2xen.sh /mnt/storage/path/to/vhd.vhd

Copyright (C) Acronis, 2000-2008.
All rights reserved.

VHD to XEN converter

Select the storage repository to import VHD file to:
1. uuid - XenServer... (unknown)
2. uuid - Local... (local)
3. uuid - DVD... (unknown)
4. uuid - Removable... (unknown)
2

A VHD file must be decompressed before importing to an internal
storage. You need about 98Gb free space to save the raw
uncompressed image and write permissions in the location where
the original VHD file is stored.

Enter XEN name for imported disk:
ИМЯ_ДИСКА_для_XEN

Importing may take a long time depending on vhd size.


спустя некоторое время:
Conversion done, importing to XEN...

и еще немного погодя:
Import successfully finished!

в общем по гигабиту у меня копирование диска в 100ГБ ( 40 занято ) заняло около 4х часов. ( ну вернее скорость копирования в среднем была 20-35 Мб/сек )


Всё, нам остается только ожидать счастливого окончания операции.
А, и еще - нам потребуются права на запись в папку с VHD, иначе импорт закончится крашем.

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

вторник, 16 апреля 2013 г.

Xenserver 6.1 raid monitoring

Нормально Dell Openmanage не встает на XenServer 6.1, так что приходится извращаться.


сначала добавим репозитарии делла:

wget -q -O - http://linux.dell.com/repo/software/bootstrap.cgi | bash

в конце увидим:
Installing repository rpm: http://linux.dell.com/repo/community/content/el5-i386/noarch/dell-community-repository-1-11.2.el5.noarch.rpm
Done!

далее второй реп:
wget -q -O - http://linux.dell.com/repo/hardware/bootstrap.cgi | bash

затем установим необходимые для мониторинга пакеты:

yum -y install srvadmin-base
yum -y install srvadmin-storageservices

после этого было бы неплохо перезагрузиться, но можно и потом.

после этого можно смотреть статус с помощью команды 

omreport storage vdisk

если у вас не работает, то вероятнее всего надо создать симлинк: 
ln -s /opt/dell/srvadmin/sbin/omreport /usr/local/sbin/omreport