Назад | Перейти на главную страницу

Работа с фрагментированным общим хранилищем виртуальных машин

У нас есть пул Citrix XenServer с 3 хостами, использующий общий репозиторий хранилища NFS для наших виртуальных машин.

SR размещается на блейд-сервере Windows 2003 Storage Server, который был включен в наш корпус HP Blade серии 3000.

Я только что осмотрел сервер хранения и заметил, что диск, содержащий общий ресурс NFS, очень фрагментирован.

У меня есть несколько вопросов.

Достаточно ли для этого запустить стандартную дефрагментацию Windows?

Кто-нибудь еще использовал аналогичную установку, столкнулся с аналогичной проблемой и что вы сделали? Я планирую автоматизировать процесс, и мне интересно, нужно ли мне приостановить или выключить виртуальные машины, пока выполняется дефрагментация.

Почему это происходит, и могу ли я сделать что-то особенное при подготовке новых виртуальных машин, чтобы этого не произошло?

Приветствуются любые мысли.

Спасибо,

Люк

Выполнение дефрагментации диска в интерактивном режиме должно быть нормальным, поскольку образы дисков Xen - это такие же файлы, как и любые другие. Вы должны попытаться сделать это в нерабочее время, так как во время дефрагментации производительность, скорее всего, сильно пострадает.

Причина, по которой вы наблюдаете высокую фрагментацию, заключается в том, что VDI - это разреженные образы дисков. Даже если вы укажете, что виртуальная машина имеет (например) 100 ГБ выделенного пространства, образ диска изначально будет выделять только минимальный объем пространства. Затем он будет увеличиваться по мере необходимости до максимального выделенного размера. Проблема с этим подходом заключается в том, что если у вас много виртуальных машин на одном устройстве хранения, и все они увеличивают свои диски в разное время, файлы образов дисков не могут быть непрерывными на диске и, следовательно, будут становятся очень фрагментированными.

Решением этой проблемы было бы не использовать разреженные изображения, но, к сожалению, кажется, что начиная с XenServer 5.0 единственный тип VDI, который вы можете создать, является разреженным.

У вас есть несколько вариантов, которые я могу придумать сразу же: * Если возможно, используйте необработанные блочные устройства с форматом LVM. Я недостаточно знаком с Windows 2003 Storage Server, чтобы знать, возможно ли это. Если это позволяет вам делать тома и экспортировать их через iSCSI или FC, все готово. В противном случае вам может потребоваться перейти на другую настройку общего хранилища или что-то еще. * Предварительно выделите все дисковое пространство на вашем VHD. По сути, это означает, что просто заполните все доступное пространство в томе перед установкой ОС. Вы можете загрузить Linux LiveCD или что-то еще и использовать dd записывать нули по всему диску. Это приведет к тому, что XenServer увеличит файл образа диска до полного максимального размера, и, надеюсь, большая его часть будет непрерывной, поскольку все это делается одновременно.

Проблема фрагментации, которую вы видите, не редкость при использовании хранилища на основе разреженных файлов для виртуальных машин, и именно по этой причине я предпочитаю вместо этого использовать LUN в SAN для хранилища виртуальных машин.