понедельник, 26 декабря 2011 г.

Работа с DNS с помощью PowerShell.

На полноценный пост конечно не тянет, но может быть кому-нибудь будет полезно.

Недавно я с удивлением обнаружил что работа с DNS с помощью PowerShell почти никак не реализовано. Точнее единственный приличный вариант, найденный мной, это работа через WMI.

Итак, для создания DNS записи A-типа можно выполнить нижеследующий скрипт :
#Создание записи в DNS
$OwnerName = "Server.domainname";
$IPAddress = "10.10.10.1";

$DnsServerName = "DNSserver.domainname";
$ContainerName = " domainname ";
$RecordClass = "1";
$TTL = "3600";


$dnsAType = [wmiclass]"\\ DNSserver.domainname\root\MicrosoftDNS:MicrosoftDNS_AType"
$dnsAType.CreateInstanceFromPropertyData($DnsServerName, $ContainerName, $OwnerName, $RecordClass, $TTL, $IPAddress)
А так же скрипт для удаления DNS записи:

$ServerName = Read-Host "Введите имя сервера";
#$ServerFullName = "$ServerName" + ".domainname";
$FilterValue = "OwnerName='" + "$ServerName" + ".domainname'";
Get-WmiObject -namespace ".domainname\MicrosoftDNS" -class MicrosoftDNS_AType -ComputerName rccf.ru -Filter "$FilterValue" | Remove-WmiObject
Ссылки по теме: 1 и 2 и 3

понедельник, 31 октября 2011 г.

VMware ESXi 4 Error - "Syslog not configured."




Т.к. vCenter до сих пор версии 4.0, то и в выборе версии ESXi есть соответствующие ограничения.

Скачав с сайта HP дистрибутив ESXi 4.0 Update3 и устано
вив его получил Warning такого содержания:
Error
Configuration Issues
Issue detected on {host-name}: Warning: Syslog not configur
ed. Please check Syslog options under Configuration.Software.Advanced Settings.


Syslog это конечно правильно, но если пока нет времени/возможности его поднять, то можно обойтись и без него.

Для этого, на сетевом VMFS создаем папку Syslog:
И в Advanced Settings > Syslog > указываем путь к файлу, куда писать логи:
Теперь логи хранятся удаленно.

Жизненное

Почти месяц не писал в блог, наверное, из-за того, что ничего нового не происходило.
Ну кроме кучи граблей обновлению vCenter с 4.0 до 4.1 с одновременной миграцией на SQL-кластер и Windows 2008 R2. Т.к. траблы все победить не получилось, а время поджимало, то пока вернулись назад и планируем обновление в ближайшем будущем :) Писать о граблях, которые победить не получилось, или получилось, но к цели такие решения нас не привели, думаю не стоит :)

Теперь буду стараться писать более регулярно :)

вторник, 4 октября 2011 г.

Remote Desktop Connection Manager





Наверное, многие уже знают о данной утилите, но я столкнулся с ней лишь недавно.

Microsoft выпустила удобную для администраторов утилиту – Remote Desktop Connection Manager (RDCMan), которая позволяет управлять из одной консоли всеми RDP-соединениями с Вашего компьютера. Такая утилита может понадобится в случае если Вы постоянно подсоединены ко множеству серверов или компьютеров в сети по протоколу RDP.
Скачать RDCMan можно с центра загрузки Microsoft. Поддерживаемые операционные системы: Windows 7; Windows Server 2003; Windows Server 2008; Windows Server 2008 R2; Windows Vista. Установка не требует никаких детальных пояснений.

В случае использования Windows XP и Windows 2003 необходимо обновить клиента RDP до версии 7.0:

понедельник, 3 октября 2011 г.

Пропадает основной шлюз (default gateway) после перезагрузки в Windows Server 2008

Если даже после ручной настройки tcp/ip в параметрах сетевого адаптера после перезагрузки пропадает ip шлюза на операционных системах Windows Server 2008 или Small Business Server 2008 , то решить эту проблему можно как описано в этой статье
http://support.microsoft.com/default.aspx?scid=kb;EN-US;973243
Причина проблемы состоит в том, что комманда netsh, которую использует средство подключения к Интернету, добавляет в реестр некорректный символ.

Для решения проблемы:
  • Cкачайте и установите хотфикс из статьи,
  • Задайте вручную адрес основного шлюза в настройках сетевого адаптера
  • Запустите редактор реестра и откройте следующую ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\P­arameters\Interfaces\
где соответствует вашему сетевому адаптеру.
  • Далее откройте параметр DefaultGateway и удалите лишние пустые строки.
После этого можно спокойно перезагружать сервер, проблема должна исчезнуть.

вторник, 23 августа 2011 г.

Установка VMware tools в CentOS

1. Выберите в ниспадающем меню пункт Guest->Install/Upgrate VMware tools.

2. Залогиньтесь в CentOS и подключите CDROM

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

3. Перейдите в директорию /mnt/cdroom

cd /mnt/cdrom

4. Распакуйте VMware Tools в директорию /tmp

tar -C /tmp -zxvf VMwareTools-5.5.3-34685.tar.gz

5. Запустите установку

cd /tmp/vmware-tools-distrib

./vmware-install.pl

6. На все вопросы отвечайте Yes :)

PS: ./vmware-install.pl --default запускает установку по умолчанию, без уточняющих вопросов. (Спасибо BO за подсказку в комментариях)

пятница, 12 августа 2011 г.

Использование WMI-фильтров

Начну с цитаты из wiki:
Windows Management Instrumentation (WMI) в дословном переводе — это инструментарий управления Windows. Если говорить более развернуто, то WMI — это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows.
Технология WMI — это расширенная и адаптированная под Windows реализация стандарта WBEM (на англ.), принятого многими компаниями, в основе которого лежит идея создания универсального интерфейса мониторинга и управления различными системами и компонентами распределенной информационной среды предприятия с использованием объектно-ориентированных идеологий и протоколов HTML и XML.
В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. CIM является расширяемой моделью, что позволяет программам, системам и драйверам добавлять в неё свои классы, объекты, методы и свойства.
WMI, основанный на CIM, также является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.
WMI - это классная возможность использовать фильтры, построенные на различных условиях и выборках. Возможно, потом подготовлю серию статей по использованию данного механизма. На данный момент напишу один из вариантов использования: WMI-фильтр для GPO.

Чтобы применить выбранную политику GPO только на определенную версию версию Windows достаточно использовать фильтр
select * from Win32_OperatingSystem where Version like "6.%" and ProductType = "1"
более подробно об использовании GPO

пятница, 5 августа 2011 г.

Active Directory Web Services error

При установки vCenter на Windows 2008 в логах появляются периодические ошибки (раз в минуту):

Active Directory Web Services encountered an error while reading the settings for the specified Active Directory Lightweight Directory Services instance. Active Directory Web Services will retry this operation periodically. In the mean time, this instance will be ignored.
Instance name: ADAM_VMwareVCMSDS
Решение проблемы:
Нужно проверить значения 2х параметров

Key: HKLM\SYSTEM\CurrentControlSet\Services\\Parameters
Value: Port LDAP
Type: REG_DWORD
Data: 1 – 65535 (default: 389)

Key: HKLM\SYSTEM\CurrentControlSet\Services\\Parameters
Value: Port SSL
Type: REG_DWORD
Data: 1 – 65535 (default: 636)

Значение берем из логов ошибки ADAM_VMwareVCMSDS.

Если запись Port SSL уже есть, но с типом REG_SZ, то удаляем старую запись и создаем новую с типом REG_DWORD.

После внесения изменений перезапускаем службу Active Directory Web Services.

среда, 27 июля 2011 г.

KMS Key для Windows 2008 и Windows7

Иногда вновь созданный (или развернутый из "эплайнса") сервер не видит сервер KMS и требует активацию.

Решение - прописать ключ для активации через KMS.

Уменьшение размера vmdk-файла

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

1. Нужно уменьшить раздел гостевой ОС до минимально возможного значения.
2. Выключить VM.
3. Уменьшаем диск:
Открываем файл disk.vmdk. Видим там что то вроде
# Extent description
RW 52428800 VMFS “foo-flat.vmdk”

Умножением RW на 512 получаем размер диска:
52428800 * 512 = 26 843 545 600 (25.6 ГБ).

Например, хотим уменьшить диск до 12 ГБ. Для этого меняем disk.vmdk с помощью текстового редактора (vi или nano):
# Extent description
RW 12582912 VMFS “foo-flat.vmdk”

Теперь делаем Storage VMotion или Clone этой ВМ, и после этой операции диск становится нужного размера.

4. Включаем VM.
5. Расширяем партицию до размера диска.

По мотивам статьи

вторник, 26 июля 2011 г.

Актуальные версии VMware Tools

Иногда нужно установить VMware tools, но где скачать последнюю для вашей версии VMware ESX?

ответ конечно очевиден, но ссылку найти сразу не удается:

Ошибка запуска Firewall на WindowsXP

После установки пакета обновления 2 (SP2) для Windows XP не удается запустить службу брандмауэра Windows.

При попытке вручную запустить службу брандмауэра Windows с помощью оснастки "Службы" появляется следующее сообщение об ошибке:
Невозможно запустить службу брандмауэра Windows и общего доступа к Интернету на локальном компьютере.
Ошибка 0x80004015: Класс настроен на использование идентификатора безопасности, отличного от используемого вызывающей стороной.

Такое поведение наблюдается, если перед установкой пакета обновления 2 (SP2) для Windows XP были применены административные шаблоны из состава Windows XP Security Guide (Руководство по безопасности Windows XP), в которых имеется определенная проблема.

В Windows XP с пакетом обновления 2 (SP2) удаленный вызов процедур (RPC) использует учетную запись NT Authority\NetworkService. Дескриптор безопасности по умолчанию для служб в Windows XP с пакетом обновления 2 (SP2) предоставляет доступ на чтение для группы "Прошедшие проверку", в которую входит учетная запись NT Authority\NetworkService.

пятница, 22 июля 2011 г.

Подключение луна без перезагрузки сервера

Иногда при подключении луна с хранилища, к которому никогда хост не подключался, лун не виден. Рескан не помогает, выручает перезагрузка хоста для того, чтобы он заново обратился в SAN-фабрику. Но есть способ более гуманный:

echo "scsi-qlalip" > /proc/scsi/qla2300/"number" 
esxcfg-rescan vmhba"number"

"number" необходимо заменить на номер vmhba-адаптера.

Ссылка по теме

среда, 25 мая 2011 г.

IP-HASH vs LBT

По ссылке подробно расписан режим балансировки нагрузки распределенного коммутатора.
При использовании на предприятии распределенных коммутаторов (dvSwitch), рекомендуется использовать Load-Based teaming (LBT), а не IP-hash. Для LBT не нужно каким-либо специальным образом конфигурировать физическую сеть, что снижает общий уровень сложности и, плюс к этому, LBT может приспосабливаться к колебаниям нагрузки (чего IP-hash просто не может).

четверг, 5 мая 2011 г.

Общие принципы CPU Scheduling

Что это такое и с чем его едят можно очень подробно почитать в исходном посте.

Углядел очень интересную мысль:
Распределение vCPU
CPU Scheduler распределяет vCPU между pCPU по принципу хорошего бутерброда с маслом. Что это значит? Это значит, что vCPU «размазываются» по как можно большему количеству pCPU ровным слоем. Без комков и дырок. Больше задействованных pCPU – больше кэша. Однако, такое поведение может не подойти под какую-нибудь конкретную задачу. Например, на виртуальной машине работает многопоточное приложение и его потоки активно взаимодействуют между собой. Преимущества общего кэша для такой ВМ очевидны. Осталось дать понять CPU Scheduler-у, что все vCPU этой ВМ было бы неплохо запускать на ядрах одного физического процессора. Намеки CPU Scheduler воспринимает при помощи параметров виртуальной машины. Параметр, отвечающий за консолидацию vCPU:
sched.cpu.vsmpConsolidate = true

пятница, 22 апреля 2011 г.

Настройка статического MAC-адреса для VM

Иногда бывает необходимо задать статический MAC адрес для VM. Например при P2V миграции, когда лицензия приложения привязывается к MAC адресу.

С помощью VMware vSphere Client можно задать статический MAC, но только из диапазона 00:50:56:00:00:00 - 00:50:56:FF:FF:FF.

Изменить можно так же с помощью редактирования VMX-файла VM, при этом можно присвоить любой MAC-адрес.

Алгоритм:
1. Выключаем VM.
2. копируем vmx-файл на рабочую станцию.
3. Меняем значение ethernet0.addressType с “vpx” на “static”.
4. Меняем ethernet0.GeneratedAddress на ethernet0.Address и пишем нужный MAC:
ethernet0.address = "00:10:43:45:14:CC"
5. Включаем VM.

PS: иногда система не перечитывает vmx файл при запуске - как итог имеем случай, что VM оказывается со старым MAC-адресом.
Такой случай решается очень просто:

1. Выключаем VM
2. заходим в консоль ESXi по SSH.
3. Выполняем 2 команды:
vim-cmd vmsvc/getallvms |grep
Результат будет примерно таким:
32 SRVTST [Test] SRVTST/SRVTST.vmx rhel5Guest vmx-07 Test Server

32 - это Inventory ID виртуальной машины.
Перезагружаем файл VM:
vim-cmd vmsvc/reload 32

вторник, 19 апреля 2011 г.

Переименование подключения Windows

Намного лучше, когда подключения на всех серверах называются одинаково, например все интерфейсы, подключенные в доменную сеть называть "Domain Network".
Как же это сделать на уже созданных серверах?
С помощью команды netsh.

netsh interface set interface name="Local Area Connection" newname="NewLan"

netsh может работать удаленно, а если речь о виртуальных серверах VMware, то данную команду можно выполнить на всех VM сразу:

Get-VM | Invoke-VMScript –ScriptText “netsh interface set interface name=""Local Area Connection"" newname="NewLan"” –ScriptType Bat –guestuser DomainAdmin –GuestPassword Password
Зачем нужна команда Netsh

вторник, 5 апреля 2011 г.

Массовое переключение ВМ в другую портгруппу

Предположим, у вас меняется сетевая политика для виртуальных машин и вы создаете новые портгруппы. Или вы решили мигрировать на Distributed vSwitch. Соотв. есть много (поэтому вручную не вариант, или просто лень) ВМ, подключенных в одну портгруппу, и их надо переключить в другую.

Решение - PowerShell! :)

Как это сделал я для своего тестового кластера. Сначала создал Distributed vSwitch с одним аплинком (с каждого хоста) и на нем новую портгруппу для ВМ. Затем переключил пару включенных машин вручную, проверив, что они остались доступны. И оставшиеся N-цать выключенных переключил уже скриптом:

Get-Cluster "Cluster" | Get-VM | Where-Object {$_.PowerState -eq "PoweredOff"} | Get-NetworkAdapter | where { $_.Name -eq "Network Adapter 1" } | Set-NetworkAdapter -NetworkName "dv VM Network" -Confirm:$false
Скопипастил отсюда

четверг, 31 марта 2011 г.

Новые правила DRS в vSphere 4.1

В vSphere 4.1 при создании DRS правил появилась еще одна очень полезная опция, а именно VMs to Hosts affinity rules.

VMs to Hosts affinity rule-ы бывают двух видов:
  • Must run rules (Принудительные) (а так же anti affinity)
  • Should run rules (Предпочительные) (а так же anti affinity)
Must run rules – принудительные правила ограничивают HA, DRS и пользователей таким образом, что виртуальная машина может не включиться или же переехать на другой ESX/ESXi хост который не принадлежит ассоциированный DRS host группе.

Should run rules – дает предпочтение DRS-у чтобы запустить виртуальную машину на хосте который указан в ассоциированной DRS host группе.

Два самых характерных примеров использования:
1. Несколько Blade-шасси с серверами и желание обеспечения того, чтобы VM с одинаковым функционалом всегда оставались в пределах разных шасси.
2. Несколько VM с интенсивным обменом данными между собой, которые правильно размещать на одном хосте (например приложение и база данных)

Как это сделать, подробно и в картинках, здесь

Masking a LUN from ESX(i) 4.x

Перепостчу интересную статью:


Начиная с версии ESX(i) 4.0, изменилась процедура маскирования LUN'ов на уровне гипрвизора. Вместо прописывания адресов LUN в Advance Settings -> Disk -> Disk.MaskLUNs, в vSphere для все путей переопределятся плагин PSA на специальный - MASK_PATH.

Для начала удаляем из инвентори все объекты, связанные со скрываемым LUN'ом. Далее:

1. esxcfg-scsidevs -l Первой строчкой описания каждого устройства идёт LUN_ID, запоминаем его для скрываемого LUN'а

2. esxcfg-mpath -L | grep Находим все пути для этого раздела. Запоминаем адрес ввиде: vmhba#:C#:T#:L#, в моём случае vmhba2:C0:T2:L0. При желание, это можно сразу посмотреть в vSphere Client.

3. esxcli corestorage claimrule add --rule 123 -t location -A vmhba2 -C 0 -T 2 -L 0 -P MASK_PATHДобавляем правило в конфигурационных файл. Выбираем любой незанятый номер правила, но обязательно из диапазона 101--200.

4. esxcli corestorage claimrule load Загружаем созданное правило в список активных

5. esxcli corestorage claimrule list Проверяем, что в списке есть два одинаковых правила с выбранным номером с параметрами file и runtime.

6. esxcli corestorage claiming reclaim -d Переопределяем текущие правила для путей раздела на только что созданные.

Всё. Считаем до 10 и LUN больше недоступен для добавления datastor'а. Все пути, помеченные MASK_PATH, переходят в состояние Dead.

По статье kb.

Для чего это нужно? Например, для процедуры корректного удаления LUN'а "на лету":

Удаляем всё с LUN'а-> маскируем его-> отменяем презентацию LUN'а хосту средствами стораджа-> удаляем правила маскирования.

Источник

среда, 30 марта 2011 г.

Информация о физических подключениях с помощью Cisco Discovery Protocol (CDP)

Если на хостах ESX/ESXi включен CDP и на свитчах, к котором они подключены он так же включен, то мы можем видеть много полезной информации. Например к какому свитчу и к какому порту подключен хост.

Нижеследующая команда показывает эту информацию
vmware-vim-cmd hostsvc/net/query_networkhin
Источник

вторник, 29 марта 2011 г.

Настройка Round Robin Multipathing с помощью Powershell

Ниже процитирован скрипт для смены режима Multipathing на Round Robin.

Connect-VIServer vcenter.nh.novant.net
$h = get-vmhost testvsphere.nh.novant.net
$hostView = get-view $h.id
$policy = new-object VMware.Vim.HostMultipathInfoLogicalUnitPolicy
$policy.policy = "rr"
$storageSystem = get-view $hostView.ConfigManager.StorageSystem
$storageSystem.StorageDeviceInfo.MultipathInfo.lun |
where { $_.Path.length -gt 1 } |
foreach { $storageSystem.SetMultipathLunPolicy($_.ID, $policy) }

четверг, 24 марта 2011 г.

Установка HP ESXi Offline Bundle.

Для интерграции серверов HP с програмными продуктами необходимо устанавливать агентов HP CIM. После установки работать станет намного приятнее :) Например получим Hardware Status, сможем из vSphere клиента видеть инвентарный и серийный номер сервера.

Итак, приступим:

1. Скачать hp-esxi4.1uX-bundle-1.0.zip с сайта HP (HP ESXi Offline Bundle for VMware ESXi 4.1 )
2. Скопировать архив на DataStore сервера.
3. Перевести сервер в режим обслуживания.
4. Запустить в shell команду:

esxupdate update --bundle=/.../hp-esxi4.1uX-bundle-1.0a.zip

где вместо ... указать путь к файлу

Результат выполнения:

Unpacking cross_oem-hp-smx-pr.. ######################################## [100%]

Unpacking cross_oem-vmware-es.. ######################################## [100%]

Installing packages :cross_oe.. ######################################## [100%]

Running [cim-install.sh]...
ok.
Running [/usr/sbin/vmkmod-install.sh]...
ok.
Running [/sbin/esxcfg-secpolicy -p /etc/vmware/secpolicy]...
ok.
The update completed successfully, but the system needs to be rebooted for the
changes to be effective.
5. Перезагрузить хост

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

среда, 23 марта 2011 г.

Обновление Firmware HBA адаптера Emulex

Для обновления Firmware на адаптерах Emulex есть несколько способов.
Они очень подробно перечислены в Firmware Update Manual for Emulex® HBAs.

Здесь я хочу описать один из самых удобных на мой взгляд способе, с помощью утилиты doslpcfg.

Итак, чтобы обновить Firmware нужно выполнить ряд простых шагов:
1. Сделать образ загрузочной дискеты и расположить на ней утилиту doslpcfg, а также файл с обновленной прошивкой.
2. Загрузиться с этой дискеты и выполнить обновление.

Синтаксис команды:
смотрим текущую версию Firmware на HBA2:
doslpcfg listrev n=2 s=1

запуск скрипта
doslpcfg @script file name
пример
doslpcfg @C:\test\script1.txt

вывод команды в файл
DOSLPCFG listboot n=1 >result.out

обновление firmware из файла
doslpcfg download a=adapter name i=firmware image filename
обновление всех LP9802 HBAs firmware, находящейся в файле hd100a4.all:
doslpcfg download a=lp9802 i=c:\image\hd100a4.all

Обновление выбранного адаптера
doslpcfg download n=adapter number i=firmware image filename
пример
doslpcfg download n=6 i=lf191a5.all

Изменение параметров HBA адаптера Qlogic в VMWare ESXi 4.1

ESXi Tech Support Mode Procedure To Change HBA Parameters:

Enter Tech Support Mode on your ESXi Hypervisor terminal.

See VMware KB article 1017910: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1017910&sliceId=2&docTypeID=DT_KB_1_1&dialogID=150110694&stateId=0%200%20150112078

1. List the Qlogic HBas on your ESX server:

# ls /proc/scsi/qla2xxx/

4 5

2. Display the detailed information for one of the specific HBAs:

# cat /proc/scsi/qla2xxx/4

QLogic PCI to Fibre Channel Host Adapter for QLE2460:

Firmware version 4.04.09 [IP] [Multi-ID] [84XX] , Driver version 8.02.01-k1-vmw43

BIOS version 2.02

FCODE version 2.00

EFI version 2.03

Flash FW version 4.04.02

ISP: ISP2432

Request Queue = 0x41813000, Response Queue = 0x41894000

Request Queue count = 4096, Response Queue count = 512

Total number of interrupts = 5036

Device queue depth = 0x20

Number of free request entries = 3679

Number of mailbox timeouts = 0

Number of ISP aborts = 0

Number of loop resyncs = 1

Host adapter:loop state = , flags = 0x105ac3

Dpc flags = 0x0

MBX flags = 0x0

Link down Timeout = 045

Port down retry = 005

Login retry count = 008

Execution throttle = 2048

ZIO mode = 0x6, ZIO timer = 1

Commands retried with dropped frame(s) = 0

Product ID = 0000 0000 0000 0000

NPIV Supported : Yes

Max Virtual Ports = 127

SCSI Device Information:

scsi-qla0-adapter-node=2000001b329328b8:610813:0;

scsi-qla0-adapter-port=2100001b329328b8:610813:0;

FC Target-Port List:

scsi-qla0-target-0=5006016941e00787;

scsi-qla0-target-1=5006016041e00787;

FC Port Information:

scsi-qla0-port-0=50060160c1e00787:5006016941e00787:610113:81;

scsi-qla0-port-1=50060160c1e00787:5006016041e00787:610013:82;

3. View the modules loaded for the Qlogic HBA:

# /usr/sbin/esxcfg-module -g qla2xxx

qla2xxx enabled = 1 options = '' (currently there are no options set.)

4. Display the current Queue Depth for the Qlogic HBA:

# cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"

Device queue depth = 0x20

5. Change the Queue Depth for the HBA to 64:

# esxcfg-module -s ql2xmaxqdepth=64 qla2xxx

6. Reboot the ESX server for the change to take effect:

NOTE: Ensure the ESXi server is in maintenance mode and all VMs are either vMotioned to another server or powered off.

# reboot

7. Display the current Queue Depth for the Qlogic HBA:

# cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"

Device queue depth = 0x40

The queue depth has now been sucessfully changed for this HBA from 32 to 64.

ESXi 4.1 vSphere CLI Procedure to Change HBA Parameters

Identify the Qlogic driver Modules installed in your system.

C:\VMware\VMware vSphere CLI> vicfg-module.pl –l

(The following output was edited to only show the Qlogic modules)

Name ID Loaded

qla4xxx 36 Yes (iSCSI HBA driver)

qla2xxx 37 Yes (Fibre Channel HBA driver)

2. List the current options enabled for the Qlogic driver.

C:\VMware\VMware vSphere CLI> vicfg-module.pl –g qla2xxx

qla2xxx options = '' (currently there are no options set.)

3. Set the queue depth for the qla2xxx driver to 64.

C:\VMware\VMware vSphere CLI> vicfg-module.pl –s ql2xmaxqdepth=64 qla2xxx

No response is echoed.

4. Check the queue depth setting for the qla2xxx driver.

C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla2xxx

qla2xxx options = 'ql2xmaxqdepth=64'

Additional Common Parameter Examples:

vSphere CLI commands are shown in blue.

qla4xxx iSCSI driver

Keep Alive Timeout:

~ # esxcfg-module -s ka_timeout=120 qla4xxx

C:\VMware\VMware vSphere CLI> vicfg-module.pl -s ka_timeout=120 qla4xxx

~ # esxcfg-module -g qla4xxx

qla4xxx enabled = 1 options = 'ka_timeout=120'

C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla4xxx

qla4xxx enabled = 1 options = 'ka_timeout=120'

qla2xxx Fibre Channel driver

Extended Error Logging

# esxcfg-module -s "ql2xextended_error_logging=1" qla2xxx

C:\VMware\VMware vSphere CLI> vicfg-module.pl -s ql2xextended_error_logging=1 qla4xxx

#esxcfg-module -g qla2xxx

qla2xxx enabled = 1 options = 'ql2xextended_error_logging=1'



C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla2xxx

qla2xxx enabled = 1 options = 'ql2xextended_error_logging=1'


В завершение список остальных параметров:

Qla2xxx Fibre Channel driver parameter option definitions for ESXi 4.1

Note: INT stands for Integer

heap_initial: int Initial heap size allocated for the driver.

heap_max: int Maximum attainable heap size for the driver.

ql2xallocfwdump: int Option to enable allocation of memory for a firmware dump during HBA initialization. Memory allocation requirements vary by ISP type. Default is 1 - allocate memory.

ql2xcmdtimeout: int Timeout value in seconds for scsi command, default is 20

ql2xcmdtimermin: int Minimum command timeout value. Default is 30 seconds.

ql2xdevdiscgoldfw: int Option to enable device discovery with golden firmware Default is 0 - no discovery. 1 - discover device.

ql2xenablemsi: int Enables MSI-X/MSI interrupt scheme Default is 0 - disable MSI-X/MSI. 1 - enable MSI-X/MSI.

ql2xexecution_throttle: int IOCB exchange count for HBA.Default is 0, set intended value to override Firmware defaults.

ql2xextended_error_logging: int Option to enable extended error logging, Default is 0 - no logging. 1 - log errors.

ql2xfdmienable: int Enables FDMI registratons Default is 0 - no FDMI. 1 - perfom FDMI.

ql2xiidmaenable: int Enables iIDMA settings Default is 1 - perform iIDMA. 0 - no iIDMA.

ql2xintrdelaytimer: int ZIO: Waiting time for Firmware before it generates an interrupt to the host to notify completion of request.

ql2xioctltimeout: int IOCTL timeout value in seconds for pass-thur commands. Default is 66 seconds.

ql2xloginretrycount: int Specify an alternate value for the NVRAM login retry count.

ql2xlogintimeout: int Login timeout value in seconds.

ql2xmaxqdepth: int Maximum queue depth to report for target devices.

ql2xmaxsgs: int Maximum scatter/gather entries per request, Default is the Max the OS Supports.

ql2xoperationmode: int Option to disable ZIO mode for ISP24XX: Default is 1, set 0 to disable

ql2xplogiabsentdevice: int Option to enable PLOGI to devices that are not present after a Fabric scan. This is needed for several broken switches. Default is 0 - no PLOGI. 1 - perfom PLOGI.

ql2xqfullrampup: int Number of seconds to wait to begin to ramp-up the queue depth for a device after a queue-full condition has been detected. Default is 120 seconds.

ql2xusedefmaxrdreq: int

ql2xusedrivernaming: int Enables Consistent Device Naming feature Default is 0, set 1 to enable.

qlport_down_retry: int Maximum number of command retries to a port that returns a PORT-DOWN status.

usedefmaxrdreq: Default is 0 - adjust PCIe Maximum Read Request Size. 1 - use system default.

Qla4xxx (iSCSI HBA) driver parameter option definitions for ESXi 4.1

cmd_timeout: int Command Timeout

extended_error_logging: int Option to enable extended error logging, Default is 0 - no logging, 1 - debug logging

gratuitous_arp: int Gratuitous ARP

heap_initial: int Initial heap size allocated for the driver.

heap_max: int Maximum attainable heap size for the driver.

ioctl_timeout: int IOCTL Timeout

ka_timeout: int Keep Alive Timeout

ql4xdiscoverywait: int Discovery wait time

ql4xdontresethba: int Dont reset the HBA when the driver gets 0x8002 AEN default it will reset hba :0 set to 1 to avoid resetting HBA

recovery_tmo: int Recovery Timeout

среда, 2 марта 2011 г.

Создание резервной копии базы vCenter

У многих база vCentr'а располагается на локальном SQL Express. Возникает вопрос с бекапом базы. Есть Отличная утилита Data Migration Tool, но она не работает с vCenter 4.1. Выход - использование SQL Server Management Studio Express. Процитирую источник:

Creating a Backup Script

If you don’t have SQL Server Management Studio Express installed already, download and install it now.

Fire it up and log on with a user that has sufficient permissions to access the vCenter database

Find your vCenter database by expanding Databases and select VIM_VCDB

Right click on VIM_VCDB and select Tasks and then Back Up…

This opens the Back Up Database window, where you set your backup options. Set your options in a manner that fits your environment. You can set options like the backup file location, retention policy etc.

So far, this is all fine and dandy. You can create a manual backup this way, without much hassle. How can we turn that into a scheduled job?
The first bit is to turn your backup options into a SQL script that can be scheduled. You do this by finding the Script drop-down menu on the top of the Backup Database window. Select Script Action to New Query Window.

This opens the script window, where you can see the script and test it to make sure it works as intended.

The next step is to save the generated script, you do so my going to File and select Save … As. I’ve created a folder called c:\scripts\ that I use to store my SQL scripts in, so I’ll save the backup script there as FullBackupVCDB.sql.

Scheduling the Backup Script

Now that we have a working backup script, we need to be able to schedule it to run. As we can’t do that within the SQL Server Management Studio Express application, we need to find another way of scheduling it. Windows Server 2008 R2 (and other versions) include a scheduling tool, and that’s what we’ll use to create our schedule.

On my standard vCenter installation, the SQL Server is installed in the default location of C:\Program Files (x86)\Microsoft SQL Server\. This means that the actual command we need to schedule will be (be sure to replace the server-/instance-name and script name if your values differ from mine):

“C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE” -S [servername]\SQLEXP_VIM -i c:\scripts\FullBackupVCDB.sql

Go to the Control Panel and select Schedule Tasks. Click Create Basic Task, give it a name and set an appropriate schedule.

Select Start a program as the action for the task, and when it asks for Program/Script enter “C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE” -S [servername]\SQLEXP_VIM -i c:\scripts\FullBackupVCDB.sql.

Click next and check the box that says Open the Properties dialog for this task when I click Finish then click Finish. In the VCDB Backup properties, make sure the Run whether user is logged on or not option is selected, to make sure the schedule runs as planned.

Once you have verified that the schedule works as intended, make sure that you include the location for your vCenter database in your regular backup scheme, and you should we a lot safer than you were.

Источник