Как добавить DVD-привод к виртуальной машине в XenServer с помощью Python

Я хочу добавить DVD-привод к виртуальной машине на xenserver с помощью Python. Я создал виртуальную машину с помощью Python, и теперь я хочу добавить DVD-привод, подключенный к хосту, чтобы он также был доступен в виртуальной машине. Поэтому мне также нужно создать VBD для DVD-привода. Но я не могу получить, какое свойство мне нужно установить в VBD.Record, как при подключении диска, я установил свойство VDI, и оно было подключено. Но для DVD-привода я не могу понять, какое свойство мне нужно установить, чтобы подключить этот CD-привод к XenServer. Помогите мне в этом.....


person Rahul    schedule 12.08.2011    source источник


Ответы (3)


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

Предполагая, что у виртуальной машины уже есть DVD-привод, вы можете просто ввести эти команды

xe cd-list
xe vm-cd-insert uuid=... cd-name="xs-tools.iso"
xe vm-cd-eject uuid=...

. .

Если вас интересует материал vbd, следующие команды могут получить вам uuid vbd для DVD-привода:

Начните с одной виртуальной машины. Из XenCenter извлеките DVD. Теперь подключитесь к хосту XenServer в командной строке и выполните:

xe vbd-list vm-uuid=...

Если на виртуальной машине есть пустой DVD-привод, ее vdi-uuid будет указан как «нет в базе данных». Это позволит вам точно определить uuid вашего VBD!

Для получения дополнительной информации перейдите по этой ссылке:

http://docs.vmd.citrix.com/XenServer/5.0.0/1.0/en_gb/guest.html

person benathon    schedule 26.08.2011
comment
На самом деле проблема в том, что к виртуальной машине не подключен DVD-привод. Мне нужно подключить DVD-привод к виртуальной машине, и мне нужно было как-то подключить DVD. Наконец я узнал, что в свойствах DVD у него есть поле VDI, и его можно использовать, предоставить его VBD и подключить DVD-привод к виртуальной машине. - person Rahul; 27.08.2011
comment
да... теперь все работает... спасибо и за ваши ценные предложения..... :) - person Rahul; 30.08.2011

Я написал об этом в своем блог:

sr=session.xenapi.SR.get_by_name_label("DVD drives")
record_dvd=session.xenapi.SR.get_record(sr[0])
VDI_dvd=record_dvd["VDIs"]
vbdconnectcd={'VDI':VDI_dvd[0],
                  'VM':VM_ref,
                  'userdevice':"1",
                  'mode':"RO",
                  'type':"cd",
                  'bootable':True,
                  'unpluggable':True,
                  'empty':False,
                  'other_config':{},
                  'qos_algorithm_type':'',
                  'qos_algorithm_params':{}}
vbdref1=session.xenapi.VBD.create(vbdconnectcd)

Здесь VM_ref относится к uuid вновь созданной виртуальной машине, к которой мы хотим добавить DVD-привод. Каждый физический DVD-привод имеет свой VDI, который хранится в его свойствах, и его можно получить и передать в качестве одного из параметров для создания VBD, связывающего DVD-привод с виртуальной машиной.

person Rahul    schedule 27.09.2011

Добавьте CD-привод в XenServer VM с помощью Java

Сначала вам нужно подключиться к xenserver и получить переменную подключения.

 public VBD makeCDDrive(VM vm) throws Exception    {

    VBD.Record vbdrecord = new VBD.Record();

    vbdrecord.VM = vm;
    vbdrecord.VDI = null;
    vbdrecord.userdevice = "3";
    vbdrecord.mode = Types.VbdMode.RO;
    vbdrecord.type = Types.VbdType.CD;
    vbdrecord.empty = true;

    return VBD.create(connection, vbdrecord);
}
person Jamshoo Lakhani    schedule 11.03.2015