понедельник, 9 августа 2010 г.

Linked Clones

Есть такая хорошая штука — Linked Clones.

Это — возможность запустить сразу несколько ВМ из одного файл-диска.

Т.е. создаем одну ВМ, используем ее диск как мастер-диск, с которого стартует сразу несколько ВМ. Конечно, к мастер-диску они обращаются только на чтение, а пишет каждая в свою собственную дельту.

Такая технология есть в VMware Workstation, вот скриншот одного из шагов мастера клонирования ВМ:

image

Такой технологии нет в vSphere. Однако, есть намек на нее: посмотрите на закладку Summary для виртуальной машины. Там есть интересный раздел Storage, и в нем три пункта:

image

Provisioning Storage — это «Максимальный объем которого может достичь эта ВМ». Этот размер вычисляется по формуле «номинальный размер диска ВМ + (номинальный размер диска ВМ )*(на число снапшотов) + (объем памяти)-(резерв памяти)».

Used Storage — сколько места эта ВМ занимает де-факто.

Not-shared Storage — вот это и есть намек на Linked Clones — если бы ВМ была создана как связанный клон, то тут отображался бы объем места, которое занимают ее файлы, минус размер мастер-образа, который она разделяет с другими ВМ.

Почему вообще этот пункт присутствует в интерфейсе, если для vSphere Used Storage и Not-shared Storage всегда равны?

Потому что Linked Clones можно реализовать вспомогательными средствами.

Формально, их два — это продукты Lab Manager и VMware View.

А вот тут — How to Create Linked Virtual Machines with vSphere API? — сообщают о варианте номер три — использовании VMware API. В частности, приводится код на Java, реализующий Linked Clones.

6 комментариев:

  1. Linked Clones script for ESXi
    http://communities.vmware.com/docs/DOC-9202

    ОтветитьУдалить
  2. http://download.virtuallyghetto.com/vGhettoLinkedClone.html

    ОтветитьУдалить
  3. Штука крайне прикольная, особенно если дисковая производительность не критична, но на 3.5 были странности, описанные ниже, что на 4.x не знаю ...
    Был удаленный ЦОД в котором места на сторадже было мало, из за чего было принято решение разворачиваться там посредством linked-clone с одной базовой машины. В определенный момент времени местный админ получил распоряжение удалить порожденную виртуальную машину (не базовую). Ну и удалил все :), удалить базовый диск ему не дал ESX (locked), но ESX, сволочь эдакая, запомнил и при любых maintenance работах, как только lock пропадал, радостно удалял базовый диск. Так как все остальные порожденные машины относились к этому крайне отрицательно, то приходилось выкладывать из бекапа новую копию диска базовой машины и так до следующего maintenance.

    ОтветитьУдалить
  4. Есь у меня подозрение, что это, на самом деле, сделано было для FlexClone в NetApp.
    FlexClone это "Linked Clones",но, так сказать, "аппаратно реализованные", прозрачно для софта, средствами системы хранения.
    Подозреваю, что при использовании FlexClones эти циферки задействованы.
    К сожалению проверить не на чем :(

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