3 мая 2011 г.

ASM and thin provisioning

В среде систем хранения корпоративного класса широкое распространение получила технология Thin Provisioning. Это технология позволяющая с стороны системы хранения выделять приложению столько емкости, сколько ему нужно в данный момент времени. У каждого производителя storage эта технология имеет особенности. Вот например, очень подробное описание этой технологии в массивах NetApp.

В случае использования ASM возникает проблема так называемого "Space Reclamation" - возврата неиспользуемого пространства в пул системы хранения.
Например: Вы удалили большой "холодный" бэкап с ASM группы, которая в свою очередь находится на thin-provisioning разделе системы хранения, и хотите использовать освободившееся дисковое пространство для других целей. Но как система хранения узнает, о том что это область хостом уже не используется и его нужно вернуть в пул свободного пространства ?

Для решения данной проблемы была выпущена отдельная утилита -
ASM Storage Reclamation Utility
Скачать ее можно с OTN.

Принцип действия ASRU очень простой: она просто записывает нулями свободное пространство на заданной группе ASM, и далее массив может "понять" о том, что эта область дискового пространства свободна и ее можно использовать для других целей.

Другое очень полезное применение утилиты ASRU - сжатие thin-дисков виртуальных машин: вначале обрабатываем раздел утилитой ASRU, а затем проводим сжатие (shrink) диска с помощью соответствующей утилиты гипервизора.

Например:
мне нужно сжать vmdk-файл otafra.vmdk размер которого составляет 4596M,
диск создан в VMware как thin c максимальным размером 20Gb, в этом файле соответственно расположена ASM-группа FRA виртуальной машины.

1) Из окружения Grid Infrastructure запускаем утилиту ASRU:
[oracle@ais3 asru]$ ./ASRU fra
Checking the system ...done
Calculating the new sizes of the disks ...done
Writing the data to a file ...done
Resizing the disks...done

/u01/app/11.2.0/grid/perl/bin/perl -I /u01/app/11.2.0/grid/perl/lib/5.10.0 /u01/app/oracle/product/11.2.0/dbhome_1/asru/zerofill 1 /dev/oracleasm/disks/FRA1 286 20473
20187+0 records in
20187+0 records out
21167603712 bytes (21 GB) copied, 129.256 seconds, 164 MB/s

Calculating the new sizes of the disks ...done
Resizing the disks...done
Dropping the file ...done


2) На хост-машине сжимаем диск с помощью утилиты vmware-vdiskmanager

C:\>vmware-vdiskmanager.exe -k orafra.vmdk
Shrink: 100% done.
Shrink completed successfully.


3) Виртуальную машину можно архивировать: теперь размер файла orafra.vmdk составляет всего 280Mb!

Здесь приведены очень подробные примеры использования утилиты ASRU для массивов 3par и EMC Simmetrix

2 комментария:

  1. Спасибо за полезную статью!

    Остается главный вопрос:
    стоит ли вообще дружить/ложить ASM и/на Thin Provisioning(TP) ?

    TP одна из составных частей виртуализации сотредж ресурсов,
    а как результат - кто будет отвечать за QoS
    если файловая помойка лежащая рядом съест
    всю пропускную способность или IOPSы ?
    IORMа то нет... а ресурсы стореджа шарятся...

    ОтветитьУдалить
  2. Хороший вопрос...

    Если на сторадже нет I/O Resource Manager, то тогда я бы на thin-разделах размещал бы только вспомогательные ASM-группы (например FRA).

    ОтветитьУдалить