Март
09
2010

Disk.UseLunReset и Disk.UseDeviceReset

Если пойти в Advanced Settings на VMware vCenter, то там можно увидеть такие параметры как Disk.UseLunReset и Disk.UseDeviceReset (VirtualCenter -> Configuration Tab -> Advanced Settings -> Disk ->):

use_device_reset

Что значат эти настройки? Если случается Failover при порче пути в фабрике SAN, то VMware ESX должен послать сигнал сброса (Reset) на target, чтобы очистить все SCSI Reservations (локи).

При значении 1 в UseDeviceReset сервер VMware ESX посылает сигнал сброса целому target’у дискового массива, что приводит к кратковременной недоступности всех LUN на этом target’е.

Вместо этого, лучше использовать более гранулярный подход к Failover’у путей в SAN - на уровне LUN (настройка UseLunReset). Большинство массивов среднего и высокого уровня сейчас поддерживают LUN Reset.

По умолчанию значения на VMware ESX / ESXi 4 таковы:

Disk.UseLunReset=1 , Disk.UseDeviceReset=1

Если вы используете Local Storage или low-end Storage без поддержки LUN Reset, то такие настройки оправданы, а вот если используется нормальный SAN и Shared Storage, то лучше поставить:

Disk.UseLunReset=1 , Disk.UseDeviceReset=0

Это позволит серверу VMware ESX при настроенном Multipathing меньше терять соединений при срабатывании переключения на резервный путь в SAN. Эта рекомендация также приведена в Fibre Channel SAN Configuration Guide на странице 77.

Можно выставить настройки из vSphere Client, а можно из Command Line в Service Console:

esxcfg-advcfg -s 1 /Disk/UseLunReset
esxcfg-advcfg -s 0 /Disk/UseDeviceReset

После выставления настроек перезагрузите ваш хост VMware ESX.

1
Март
04
2010

Команды управления виртуальными машинами на VMware ESXi.

Tags: ,

Как всем известно, на VMware ESXi нет сервисной консоли в классическом понимании, но есть unsupported console, которую можно включить вот так (там же заодно и про доступ через SSH).

Некто Tom Finnis опубликовал интересный способ обращения с командами ESXi для виртуальных машин. Итак в консоли печатаем следующую строчку:

vim-cmd vmsvc/getallvms

Получаем список всех доступных виртуальных машин на ESXi, где у каждой есть VMid:

console_vimcmd

Далее можно выполнять разные штуки с виртуальными машинами и хостом VMware ESXi с помощью команд, список которых можно вывести командой:

vim-cmd vmsvc

console_vimcmdlist1

Например, вот что можно делать с ВМ на VMware ESXi:

vim-cmd vmsvc/power.getstate <VMid> - узнать статус виртуальной машины

vim-cmd vmsvc/power.off <VMid> - выключить ее

vmscv/power.suspend <VMid> - приостановить

ну а дальше - экспериментируйте…

0
Март
03
2010

Документ по разработке решений для резервного копирования виртуальных машин VMware vSphere.

У компании VMware есть документ “Designing Backup Solutions for VMware vSphere”, в котором описаны основные принципы, которыми должны руководствоваться разработчики при проектировании решений для резервного копирования VMware vSphere / ESX.

vspheredoc5

Несмотря на то, что документ для разработчиков, он может оказаться полезным и системным администраторам, которые хотят понять, как работают некоторые технологии VMware vStorage API for Data Protection, в частности, Change Block Tracking (CBT).

1
Март
02
2010

Memory Compression в VMware vSphere / ESX.

Компания VMware уделяет очень большое внимание производительности своей платформы VMware vSphere. С появлением таких технологий как Transparent Page Sharing (TPS) и Memory Balooning, позволяющих оптимизировать использование памяти хоста ESX и увеличить число виртуальных машин на нем, особое внимание VMware стала уделять максимальной эффективности использования RAM хостов и контролю за использованием файлов подкачки (swap).

Уже довольно давно была анонсирована технология on-demand memory compression (ODMC - это пока рабочее название), о которой неплохо рассказано на ресурсе vpivot.com.

Основная суть - страницы памяти, вместо того, чтобы свопироваться, будут сжиматься и складываться в специальную предопределенную область оперативной памяти. Понятное дело, что такая память будет работать медленнее, чем физическая, однако как минимум в десятки раз быстрее, чем засвопированная, даже с учетом того, что для свопа будут использоваться SSD-диски, которые сегодня набирают популярность.

На прошедшем Partner Exchange 2010 эту технологию уже показали. А в утекшем в сеть списке возможностей VMware vSphere 4.1 (версия, кстати, может будет и 4.5) Memory Compression уже есть.

Так что ждем еще одну технику по работе с памятью, которая позволить сделать ваши хосты VMware ESX еще более ovecommited.

1
Март
02
2010

Как узнать MAC адрес Service Console в VMware ESX?

MAC-адрес интерфейса vswif в VMware vSphere / ESX можно узнать так:

# ifconfig |grep -i hw

Получим что-то вроде этого:

vswif0    Link encap:Ethernet  HWaddr 00:50:56:41:5A:59
1
Март
01
2010

Покупаете VMware vSphere Acceleration Kit? Требуйте свой бесплатный VMware View Premier 10 pack!

Если ваша организация намерена купить VMware vSphere Acceleration Kit (пакет ПО из серверов VMware ESX и сервера VMware vCenter с единой поддержкой), то с сегодняшнего дня вы можете смело требовать VMware View Premier 10 pack (на 10 пользователей) в подарок!

Вот так этот подарок выглядит на сайте компании VMC:

Так что покупайте и тестируйте виртуальные ПК VMware View 4 бесплатно.

0
Март
01
2010

Как создать сразу несколько тестовых виртуальных машин из шаблона на VMware vSphere / ESX.



Как часто бывает, возникает необходимость автоматически создать сразу много виртуальных машин на сервере VMware ESX, например, для целей тестирования. Руками развертывать виртуальные машины неинтересно.

Поэтому коллега с vinf.net предлагает “быстрый и грязный” скрипт PowerCLI / PowerShell, который позволяет создать множество виртуальных машин из одного шаблона:

Connect-VIServer -Server localhost >$null

#Variables
$NameVM ="vmNested-"
$NameTemplate ="TPL – vmNested-01"
$Datacenter="v.T.A.R.D.I.S"
$Datastore="SSD-iSCSI"
$ESX="vmESXi-4.lab"
$HOW_MANY_TO_CREATE=4

$Date=get-date -uformat "%Y%m%d"

$NumArray = (1..$HOW_MANY_TO_CREATE)

foreach ($number in $numArray )
{
$seqn=$number
$name =  $seqn | % {"{0:0##}"          -f $_}
$string = $NameVM + $name
echo Creating $string
New-VM -template (Get-template $NameTemplate) -Name $string -Datastore (Get-datastore $Datastore) -VMHost $ESX
}

В результате получится вот такая картинка:

image_thumb14image_thumb15

Источник новости: vinf.net

P.S. Как пользоваться PowerCLI / PowerShell для VMware vSphere - здесь.

1
Фев
24
2010

Как узнать, кто создал виртуальную машину на VMware vCenter.


Как всем вам известно, в VMware vSphere создать виртуальную машину очень просто. Соответственно, часто случается такая ситуация, когда виртуальных машин очень много - и непонятно, кто их всех создал.

На virtu-al.net появился скрипт PowerCLI / PowerShell (как пользоваться - здесь), позволяющий узнать о том, кто и когда создал виртуальные машины на vCenter. К каждой машине добавляются кастомные поля Created by и Created On, представляющие большую пользу для администратора виртуального датацентра серверов VMware ESX.

Сам скрипт:

Connect-VIServer MYVISERVER
# Uncomment the next line to test this script and tell you what it would do !
# $WhatIfPreference = $true
if (-not (Get-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue)) {
	Add-PSSnapin VMware.VimAutomation.Core
}
if (-not (Get-PSSnapin Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue)) {
	Add-PSSnapin Quest.ActiveRoles.ADManagement
}

$VMs = Get-VM | Sort Name
$VM = $VMs | Select -First 1
If (-not $vm.CustomFields.ContainsKey("CreatedBy")) {
	Write-Host "Creating CreatedBy Custom field for all VM's"
	New-CustomAttribute -TargetType VirtualMachine -Name CreatedBy | Out-Null
}
If (-not $vm.CustomFields.ContainsKey("CreatedOn")) {
	Write-Host "Creating CreatedOn Custom field for all VM's"
	New-CustomAttribute -TargetType VirtualMachine -Name CreatedOn | Out-Null
}
Foreach ($VM in $VMs){
	If ($vm.CustomFields["CreatedBy"] -eq $null -or $vm.CustomFields["CreatedBy"] -eq ""){
		Write-Host "Finding creator for $vm"
		$Event = $VM | Get-VIEvent -Types Info | Where { $_.Gettype().Name -eq "VmBeingDeployedEvent" -or $_.Gettype().Name -eq "VmCreatedEvent" -or $_.Gettype().Name -eq "VmRegisteredEvent" -or $_.Gettype().Name -eq "VmClonedEvent"}
		If (($Event | Measure-Object).Count -eq 0){
			$User = "Unknown"
			$Created = "Unknown"
		} Else {
			If ($Event.Username -eq "" -or $Event.Username -eq $null) {
				$User = "Unknown"
			} Else {
				$User = (Get-QADUser -Identity $Event.Username).DisplayName
				if ($User -eq $null -or $User -eq ""){
					$User = $Event.Username
				}
				$Created = $Event.CreatedTime
			}
		}
		Write "Adding info to $($VM.Name)"
		Write-Host -ForegroundColor Yellow "CreatedBy $User"
		$VM | Set-CustomField -Name "CreatedBy" -Value $User | Out-Null
		Write-Host -ForegroundColor Yellow "CreatedOn $Created"
		$VM | Set-CustomField -Name "CreatedOn" -Value $Created | Out-Null
	}
}

После его запуска ко всем виртуальным машинам на ESX добавятся вышеобозначенные атрибуты. Далее можно сделать грид, где будет сводная таблица о том, кто создавал ВМ. Делается это следующей командой:

Get-VM | Select Name -ExpandProperty CustomFields | Where {$_.key -eq "CreatedBy"} | Out-GridView

Вот так это будет выглядеть:

image_thumb17

Источник (source): http://www.virtu-al.net/2010/02/23/who-created-that-vm/

1
Фев
24
2010

Пятая версия Firewall Diagram для VMware vSphere / ESX.

vReference.com выпустили новую версию диаграммы Firewall Diagram v5 по использованию портов в VMware vSphere / ESX и других продуктах VMware.

Раздел “Порты” на vSphere.ru обновлен (теперь с удобной таблицей).

1
Фев
22
2010

Обнаружение проблем производительности VMware vSphere - RAM.

При решении проблем производительности VMware vSphere вам может оказаться полезной статья Scott’а Sauer’а Performance Troubleshooting VMware vSphere – Memory.

image_thumb5

В статье описаны все технологии VMware vSphere, такие как Transparent Page Sharing, Memory Overcommitment, Memory Balloon Driver и т.п.

0