В общем потребовалось мне перевести один доменный контроллер на виртуальную машину. На этом сервере кроме контроллера хранились обще папки, объем занимаемый данными с этих каталогов был примерно 350-400 ГБайт с общего объема жесткого диска, который в свою очередь имел размер в 700 Гбайт дискового места (RAID 5). После тестирования сетевого хранилища DropBox, все папки были перемещены туда. А доменный контроллер остался работать на физическом сервере с дисковой подсистемой в 700 Гбайт. Подумав не много пришли к выводу что лучше перевести службы каталогов на виртуальную машину, так как удобно делать бекапы и восстанавливать работу если вдруг он упадет. В итоге с помощью утилиты hdd2vhd был сделан образ диска для гипервизора и благополучно подсунут Virtual Box'у.
Все отлично получилось, физический сервер на котором были общие папки и контроллер был убран. Образ снятый с сервера заработал сразу, проблем не возникло.
Но обнаружилось что образ занимает очень много места, порядка 700 Гбайт! Хотя фактически на нем осталась только Windows Server 2003STD с ролью Active Directory. Общий объем занимаемых данных не превышал 39 Гбайт, а сам образ при этом занимал места на физическом диске 700 Гбайт. Вот и представьте, 39 Гбайт весит Windows 2003, а 661 Гбайт свободно. И все это занимает место, было бы хорошо если размер образа был кратен 50-60 Гбайтам.
В этой короткой записке написано как уменьшить образ формата VHD виртуальной машины. Так как этот случай происходит у многих, мне стало интересно и было решено написать эту записку здесь.Как обычно начну с короткого содержания...
Содержание:
1. Способы уменьшения размера
2. Первый способ, связка Paragon Partition Server + VHD resizer
3. Второй способ, уменьшение через гипервизор Hyper-V Server 2008
4. Третий способ, используем Virtual Box.
1. Способы уменьшения размера
Поискав в Интернете нашел три способа уменьшения образа:
- Первый способ предполагает использование программы для работы с дисками Paragon Partition Server + утилиту VHD resizer
- Второй способ более родной для образа формата VHD, так как гипервизор знает данный тип образов хорошо. Используя Hyper-V Server 2008, Вы можете уменьшить лишнее занимаемое место image'м.
- Третий способ заключается в использовании Virtual Box, а точнее консольный менеджер VBox обладает способностями по работе с дисковыми образами.
Конечно эти способы не претендуют на истину последней инстанции, но зато, дают хоть что-то человеку который вообще не в курсе как это сделать и каким инструментом воспользоватся.
Первый способ, связка Paragon Partition Server + VHD resizer
Основyые шаги:
1. Устанавливаем VHD resizer на свой реальный компьютер с Windows
2. Запускаем Virtual Box с образом который надо уменьшить
3. Устанавливает в запущенной виртуальной машине Paragon Partition Server
4. В Paragon Partition нажмите правой кнопкой мыши на диске C: и выберите "Resize/Move"
5. Задайте нужный размер, например 43 Гбайт и нажмите APPLY
6. После окончания процесса, закройте Paragon Partition Server и завершите работу
7. Виртуальная машина завершит работу
8. Виртуальный образ все еще будет иметь размер в 700 Гбайт, но фактически там используется 43 Гбайт, остальное пустое пространство.
9. Запустите на реальном компьютере VHD resizer для удаления пустого пространства, укажите образ в 700 Гбайт, нажмите кнопку Resize
Нам понадобится:
- Paragon Partition Server
Демо версию данного программного обеспечения можно найти тут:
http://www.partitionwizard.com/download/pwsed-setup.exe
- VHD resizer лежит по ссылке:
http://vhd-resizer.softpile.com/52168/download/
- Загрузите и установите VHD resizer на свой компьютер с Windows.
- Установите Paragon Partition Server на виртуальную машину, чей образ нужно уменьшить. Я установил Paragon на Windows Server 2003 (в моем случае).
Запустите гипервизор Virtual Box, создайте новую виртуалку с образом который надо уменьшить. В моем случае запускался 700 Гбайтный образ с Windows 2003 Server на борту. После загрузку Windows операционной системы установите закачанный Partition Magic Server (http://www.partitionwizard.com/download/pwsed-setup.exe).
Щелкните логический том под названием "диск C:", далее нажмите кнопку "Resize/Move". Задайте нужный размер тома, у меня это 43 Гб.
http://tech.anisotropic.ru/virtual/uvelichenie-razmera-vhd-fajla-pod-windows-7/
Второй способ
# VBoxManage modifyhd "~/VirtualBox VMs/mydisk.vhd" --resize 30000
Тут мы уменьшили дисковый образ "mydisk.vhd" до 30 Гбайт, здесь 30000 - это размер образа в мегабайтах.
Примечание: Команда примерно выглядит так - VBoxManage modifyhd "путь до образа жесткого диска" --resize <какой размер в мбайтах должен остаться>
Третий способ
Этот способ самый долгий если конечно у вас нет уже установленного гипервизора Microsoft Hyper-V Server. Описывать установку гипервизора здесь не буду.
После установки Hyper-V в меню дисковых образов выберите нужный образ и измените его размер.