31 июл. 2013 г.

Установка Midnight Commander в XenServer

Так как в комплекте с XenServer mc не идет, придется установить его на лету командой из консоли:

yum install --enablerepo=base mc

26 июл. 2013 г.

С днем системного администратора

Дорогие наши сисадмины
Повод есть поднять за вас пивка
Есть тому весомые причины -
Нет в году подобного денька!


















С праздником, коллеги.

23 июл. 2013 г.

Проброс USB из XenServer 6.2 в виртуальную машину

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


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

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

Просмотреть можно при помощи команды cat

Например информация о аппаратном USB ключе защиты Лига:Закон в этом файле выглядит таким образом:

T:  Bus=02 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#=  4 Spd=1.5  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0a89 ProdID=0003 Rev= 2.00
S:  Manufacturer=Aktiv Co.
S:  Product=Guardant Stealth/Net II
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 56mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

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

Далее необходимо узнать 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-c1716293449d

22 июл. 2013 г.

Установка обновлений в XenServer 6.2

Как известно с версии 6.2 XenServer стал полностью бесплатен. Однако все же не обошлось без "откусываний" функционала. Одним из таких шагов стал запрет установки обновлений через XenCenter. Так что для того чтобы установить обновление привычным способом, необходимо приобрести план подписки на техническую поддержку и получить лицензию, которая разблокирует эту функцию. Для тех, кто не желает "подписываться" остается консольный способ. В целом все достаточно просто.

Установка обновлений на "одиноко стоящем" сервере XenServer 6.2:


1. В консоли XenServer скачиваем обновление (Где взять обновление подскажет XenCenter):

wget http://support.citrix.com/servlet/KbServlet/download/34977-102-704231/XS62E001.zip

2. Разархивируем обновление:

unzip XS62E001.zip

3. Загружаем обновление:

xe patch-upload file-name=XS62E001.xsupdate

При успешном выполнении команды будет выдан UUID обновления, копируем в буфер

4. Применяем обновление:

xe patch-apply host-uuid=fbea82e9-f441-4f09-b052-6b8366132632  uuid=dedcc0dd-d8f3-4f76-90ca-92697c7a44f0

Где host-uuid - uuid нашего сервера - добивается Tab`ом, а uuid - uuid применяемого обновления, которое мы загрузили ранее.

5. Перезапускаем контроллер управления:

xe-toolstack-restart 

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

Установка обновлений в пуле серверов XenServer 6.2:


1. В консоли XenServer скачиваем обновление на мастер пула (Где взять обновление подскажет XenCenter):

wget http://support.citrix.com/servlet/KbServlet/download/34977-102-704231/XS62E001.zip

2. Разархивируем обновление:

unzip XS62E001.zip

3.  Загружаем обновление на мастере пула:

xe patch-upload -s xxx.xxx.xxx.xxx -u root -pw ******** file-name=XS62E001.xsupdate

Где xxx.xxx.xxx.xxx - IP адрес мастера пула, ******** - пароль пользователя root мастера пула
При успешном выполнении команды будет выдан UUID обновления, копируем в буфер

4.  Применяем обновление:

xe patch-pool-apply -s xxx.xxx.xxx.xxx -u root -pw ******** uuid=59128f15-92cd-4dd9-8fbe-a0115d1b07a2

Где xxx.xxx.xxx.xxx - IP адрес мастера пула, ******** - пароль пользователя root мастера пула

5.  В случае успешного применения обновления, поочередно перезапускаем все сервера в пуле, начиная с мастера пула.