3

Я создал образ системы Windows Server 2008 с помощью бесплатного VMware Player и установил максимальный размер жесткого диска 100 ГБ. Затем я передал эти файлы изображений - по 30 ГБ - компании, предоставляющей хостинг. Несколько недель спустя я попросил у них копию их обратно; изображение не должно было сильно измениться по размеру, но файлы, которые я получил, были размером 100 ГБ.

Я вообще не эксперт VMware, поэтому у меня два вопроса:

  1. Как / почему они расширили весь динамический диск?
  2. Можно ли каким-то образом уменьшить это изображение до размера, который на самом деле содержит данные?

Я попробовал конвертер VMware, и он не может прочитать мой файл образа (vmdk); это просто выводит общую ошибку.

3 ответа3

3

Я предполагаю, что когда они создавали виртуальную машину из вашего образа, они предварительно выделяли полный размер изображений (это может иметь лучшую производительность). Когда они экспортировали их, вы получили полное изображение.

Я сомневаюсь, что вы можете уменьшить изображения с помощью проигрывателя VMware. VMware Workstation поставляется с vmware-vdiskmanager, который, по-видимому, может преобразовывать диск фиксированного размера в расширяемый диск, уменьшая размер образа. Я никогда не пробовал это, поэтому я не могу сказать, насколько хорошо это работает.

Руководство находится здесь: http://www.vmware.com/support/developer/vddk/vddk12_diskmanager.pdf

2

Я не знаю о VMWare Player, но рабочая станция VMWare поставляется с утилитой командной строки vmware-vdiskmanager.exe. Найдите его C:\Program Files\VMware\VMware Workstation.

Вот параметры командной строки:

    VMware Virtual Disk Manager - build 385536.
    Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
    Offline disk manipulation utility
      Operations, only one may be specified at a time:
         -c                   : create disk.  Additional creation options must
                                be specified.  Only local virtual disks can be
                                created.
         -d                   : defragment the specified virtual disk. Only
                                local virtual disks may be defragmented.
         -k                   : shrink the specified virtual disk. Only local
                                virtual disks may be shrunk.
         -n <source-disk>     : rename the specified virtual disk; need to
                                specify destination disk-name. Only local virtual
                                disks may be renamed.
         -p                   : prepare the mounted virtual disk specified by
                                the mount point for shrinking.
         -r <source-disk>     : convert the specified disk; need to specify
                                destination disk-type.  For local destination disks
                                the disk type must be specified.
         -x <new-capacity>    : expand the disk to the specified capacity. Only
                                local virtual disks may be expanded.
         -R                   : check a sparse virtual disk for consistency and attempt
                                to repair any errors.
         -D                   : make disk deletable.  This should only be used on disks
                                that have been copied from another product.

      Other Options:
         -q                   : do not log messages

      Additional options for create and convert:
         -a <adapter>         : (for use with -c only) adapter type
                                (ide, buslogic, lsilogic). Pass lsilogic for other adapter types.
         -s <size>            : capacity of the virtual disk
         -t <disk-type>       : disk type id

      Options for remote disks:
         -h <hostname>        : hostname of remote server
         -u <username>        : username for remote server
         -f <filename>        : file containing password
         -P <port>            : optional TCP port number (default: 902)
         -S                   : specifies that the source disk is remote, by default
                                the remote options are assumed to refer to the
                                destination.
      Disk types:
          0                   : single growable virtual disk
          1                   : growable virtual disk split in 2GB files
          2                   : preallocated virtual disk
          3                   : preallocated virtual disk split in 2GB files
          4                   : preallocated ESX-type virtual disk
          5                   : compressed disk optimized for streaming
          6                   : thin provisioned virtual disk - ESX 3.x and above

         The capacity can be specified in sectors, KB, MB or GB.
         The acceptable ranges:
                               ide adapter : [1MB, 2040.0GB]
                               scsi adapter: [1MB, 2040.0GB]
            ex 1: vmware-vdiskmanager.exe -c -s 850MB -a ide -t 0 myIdeDisk.vmdk
            ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
            ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
            ex 4: vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
            ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
            ex 6: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 -h esx-name.mycompany.com \
                  -u username -f passwordfile "[storage1]/path/to/targetDisk.vmdk"
            ex 7: vmware-vdiskmanager.exe -k myDisk.vmdk
            ex 8: vmware-vdiskmanager.exe -p <mount-point>
                  (A virtual disk first needs to be mounted at <mount-point>)

Вы можете получить бесплатную пробную версию VMWare Workstation.

0

Обычно существует два этапа сжатия виртуального диска:

  1. Вычищать. Это обнуляет неиспользуемые блоки гостевой файловой системы. Это должно быть выполнено в гостях.
  2. Прессование. Это удаляет обнуленные блоки файла .vmdk из фазы очистки. Это должно быть выполнено хостом (хотя это может быть вызвано гостем).

Запуск vmware-vdiskmanager на хосте может выполнить этап сжатия, но не этап очистки. Есть несколько способов сделать вайп:

  • Запустите vmware-toolbox-cmd disk shrink LOCATION . Запустите vmware-toolbox-cmd help disk для получения дополнительной информации. (vmware-toolbox-cmd для гостей Windows называется VMwareToolboxCmd .) Это вызовет стадию уплотнения, когда стирание будет завершено.

  • Программа vmshrink от стороннего пакета инструментов VM Back . Это может быть хорошей альтернативой для гостей, для которых VMware Tools недоступен. Это также вызовет стадию уплотнения, когда стирание будет завершено.

  • Вы, вероятно, могли бы использовать dd (или что-то подобное) в гостевой системе, но это оставлено в качестве упражнения для читателя.

Существуют также некоторые обстоятельства, когда на этапе очистки нет необходимости. Например, если гость уже обнуляет содержимое файлов при удалении их из файловой системы, или если гость - Windows, в этом случае VMware Workstation самостоятельно знает, как проверить гостевые разделы NTFS, чтобы определить, какие блоки не используются. ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .