Product SiteDocumentation Site

4.2. Добавление устройств хранения в гостевую систему

В этой секции будет рассмотрен процесс добавления устройств хранения в виртуальную машину. Дополнительные накопители могут быть добавлены только после создания гостевых систем. Типы поддерживаемых накопителей и протоколов:
Добавление в гостевую систему накопителя на основе файла
Накопители на основе файлов представляют собой файлы, расположенные в файловой системе размещающей операционной системы, которые функционируют как виртуализированные жесткие диски для виртуализированных гостей. Последовательность действий при добавлении таких устройств хранения:
  1. Можно создать пустой файл контейнера или использовать существующий (например, файл ISO).
    1. Для создания разреженного файла выполните приведенную ниже команду (обратите внимание, что использование таких файлов не рекомендуется, так как при этом может быть нарушена целостность данных). Эти файлы создаются намного быстрее и обычно используются при тестировании, но в производственной среде все же лучше к ним не прибегать.
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
      
      
    2. Чтобы создать неразреженный файл, выполните
      # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
      
      
    Обе команды создадут файл размером 400 мегабайт, который будет служить основой для дополнительного хранилища .
  2. Сохраните существующую конфигурацию гостя в отдельный файл. В приведенном примере файл конфигурации гостевой системы Guest1 будет сохранен в домашний каталог.
    # virsh dumpxml Guest1 > ~/Guest1.xml
    
    
  3. Open the configuration file (Guest1.xml in this example) in a text editor. Find the entries starting with "disk=". This entry resembles:
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
            >source file='/var/lib/libvirt/images/Guest1.img'/<
            >target dev='xvda'/<
    >/disk<
    
    
  4. Добавьте дополнительное хранилище, добавив соответствующую запись в конец секции disk=. Не забудьте указать имя виртуального блочного устройства, которое еще не упоминается в файле конфигурации. Пример добавления образа FileName.img:
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
            >source file='/var/lib/libvirt/images/Guest1.img'/<
            >target dev='xvda'/<
    >/disk<
    >disk type='file' device='disk'<
            >driver name='tap' type='aio'/<
    	>source file='/var/lib/libvirt/images/FileName.img'/<
            >target dev='hda'/<
    >/disk<
    
    
  5. Перезапустите гостевую систему с использованием нового файла конфигурации.
    # virsh create Guest1.xml
    
    
  6. Приведенная ниже информация применима лишь к гостевым системам Linux. Другие операционные системы могут отличаться в плане работы с новыми устройствами хранения. Поэтому за информацией следует обратиться к документации операционной системы.
    Гость теперь использует файл FileName.img как устройство /dev/hdb. Это устройство надо отформатировать. Так, в гостевой системе создайте один основной раздел, занимающий все устройство, и отформатируйте его.
    1. Нажмите n, чтобы создать новый раздел.
      # fdisk /dev/hdb
      Command (m for help):
      
      
    2. Нажмите p, чтобы определить этот раздел как основной.
      Command action
         e   extended
         p   primary partition (1-4)
      
      
    3. Выберите доступный номер раздела. В этом примере будет выбран первый раздел.
      Partition number (1-4): 1
      
    4. Нажмите Enter и введите номер первого цилиндра.
      First cylinder (1-400, default 1):
      
      
    5. Выберите размер раздела. В этом примере раздел будет занимать весь диск. Нажмите Enter.
      Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
      
      
    6. Нажмите t, чтобы указать тип раздела.
      Command (m for help): t
      
    7. Выберите номер созданного раздела.
      Partition number (1-4): 1
      
    8. Введите 83 (раздел Linux).
      Hex code (type L to list codes): 83
      
    9. сохраните изменения и нажмите q для выхода.
      Command (m for help): w 
      Command (m for help): q
      
    10. Создайте в разделе файловую систему ext3.
      # mke2fs -j /dev/hdb
      
      
  7. Подключите диск.
    # mount /dev/hdb1 /myfiles
    
Теперь гостевая система обладает дополнительным виртуализированным файловым устройством хранения.
Добавление жестких дисков и других блочных устройств в гостевую систему
System administrators use additional hard drives for to provide more storage space or to separate system data from user data. This procedure, Процедура 4.1, «Добавление физических блочных устройств в виртуализированную гостевую систему», describes how to add a hard drive on the host to a virtualized guest.
Процесс добавления аналогичен для всех типов физических блочных устройств, будь то CD-ROM, DVD или дисковод.
Процедура 4.1. Добавление физических блочных устройств в виртуализированную гостевую систему
  1. Физически подключите жесткий диск. Настройте к нему доступ.
  2. При необходимости настройте режим multipath и сохранение постоянства в размещающей системе.
  3. Выполните приведенную ниже команду virsh attach. Замените myguest именем вашей гостевой системы, /dev/hdb1 добавляемым устройством, а вместо hdc укажите расположение устройства в гостевой системе. Обратите внимание, что на месте hdc должно быть незанятое имя устройства. Для гостевых систем Windows укажите hd*.
    Для устройств CD-ROM и DVD добавьте параметр --type hdd.
    Для дисководов добавьте параметр --type floppy.
    # virsh attach-disk myguest /dev/hdb1 hdc --driver tap --mode readonly
    
    
  4. Гостевая система теперь обладает дополнительным жестким диском с именем /dev/hdb (в Linux) или D: drive (в Windows). Возможно, это устройство потребуется заново отформатировать.