Коллеги попросили подумать над задачкой:
есть ряд LUN’ов на HP Enterprise Virtual Array (HP EVA). Желательно иметь на них свежие снапшоты на регулярной основе. Например, три последних снапшота, создаваемых раз в час, и один суточный снапшот.
Я уже разбирался со средствами управления HP EVA через командную строку – HP SSSU, поэтому…
Как оказалось, я не могу получить список снапшотов для отдельного VDISK (LUN), поэтому пришлось фиксировать название снапшота.
Схема работы следующая – мы создадим на сервере с HP Command View EVA&SSSU задание, которое будет выполнять Powershell-скрипт.
1) Создаем на сервере скрипт Powershell
$hour=(Get-date).hour
$snapshot=""
if($hour -eq 0){$snapshot="snapshot_day"}
else {
$hour%=3
switch ($hour){
0 {$snapshot="snapshot_hour2"}
1 {$snapshot="snapshot_hour3"}
2 {$snapshot="snapshot_hour1"}
}
}
if($snapshot.Length -gt 0){
"SELECT MANAGER localhost USERNAME="Administrator
" PASSWORD="PASSWORD
"" | out-file c:\scripts\tmp.txt -append -encoding default
"SELECT SYSTEM EVA6k-001-IAPERM" | out-file c:\scripts\tmp.txt -append -encoding default
"DELETE VDISK "+$snapshot+" WAIT_FOR_COMPLETION" | out-file c:\scripts\tmp.txt -append -encoding default
"ADD SNAPSHOT "+$snapshot+" VDISK=test ALLOCATION_POLICY=demand REDUNDANCY=vraid5" | out-file c:\scripts\tmp.txt -append -encoding default
& "C:\Program Files\Hewlett-Packard\Sanworks\Element Manager for StorageWorks HSV\sssu.exe" "file c:\scripts\tmp.txt"
remove-item c:\scripts\tmp.txt
}
2) Создаем задание со следующей строкой запуска:
powershell -command c:\Scripts\snapshot.ps1
Задание запускаем от имени локальной системы. Задание выполняем каждый час, начиная с 08:00 и заканчивая в 0:00.
3) Обратите внимание, что команда DELETE VDISK
работает только с VDISK, который не презентован серверу. В противном случае вам выдастся ошибка, старый снапшот не будет удален, новый не будет создан.
Подумай еще над обеспечением консистентности снэпшотов, а то от них скорей-всего будет мало толку.
Там внутри СУБД Oracle. Как меня заверил наш ораклист – Oracle умеет хранить консистентность таких снапшотов.