Vdisk
Материал из ISPWiki
Перенос VDS между разделами
В VDSmanager для FreeBSD 8 был существенно изменен алгоритм работы с шаблонами дисков. Мы отказались от использования unionfs. В FreeBSD 8 мы используем жесткие ссылки на файлы шаблонов. Если пользователь пытается редактировать такой файл, ссылка удаляется, а содержимое шаблонного файла копируется в приватный диск пользователя. Это позволило в несколько раз поднять производительность файловой системы, но наложило некоторые ограничения. В частности, если вы хотите использовать несколько разделов для хранения приватных дисков VDS (например для распределения нагрузки), вам придется установить шаблоны VDS на каждый раздел. И тут возникает другая проблема: что делать, если вам необходимо перенести VDS с одного раздела на другой?
Ниже приведены действия, которые необходимо выполнить (я предполагаю, что шаблон VDS уже установлен на оба раздела и поддержка квот включена):
- Создать каталог для VDS
- Выделить VID (virtual disk id) vdisk alloc
- Установить квоту для этого VID vdisk quota
- Скопировать файлы шаблона в этот каталог vdisk copypub
- Остановить VDS
- Скопировать собственные файлы VDS в этот каталог vdisk copyvds
- Изменить путь до собственный файлов VDS в конфиге VDSmanager (параметр PrivateDisk)
- Запустить VDS
Пример
Переносим VDS c /vs/disk на /vs/disk2
Подготавливаем новый диск, если это уже сделано, то пропустить этот шаг.
vdisk check /vs/disk2 vdisk enable /vs/disk2
Устанавливаем шаблон на новый диск, если шаблон уже установлен на новый диск, то пропускаем и этот шаг.
mkdir /vs/disk2/pub uptmp -N FreeBSD-8-minimal /vs/disk2/pub/FreeBSD-8-minimal
Копируем VDS 10.10.10.10 на новый диск (1000000 4096000 - это количество inode и квота в килобайтах):
mkdir /vs/disk2/10.10.10.10 vdisk alloc /vs/disk2/10.10.10.10 vdisk quota /vs/disk2/10.10.10.10 1000000 4096000 vdisk copypub /vs/disk2/10.10.10.10 /vs/disk2/pub/FreeBSD-8-minimal vdisk copyvds /vs/disk/10.10.10.10 /vs/disk2/10.10.10.10
