среда, 19 мая 2010 г.

После того как машина установлена по средствам virt-install например так

sudo virt-install -n neptune -r 4096 --disk path=/dev/disk/by-id/scsi-SATA_WDC_WD5002ABYS-_WD-WCASYC023333,bus=scsi -c /home/user/distr/openSUSE-11.2-DVD-x86_64.iso –accelerate –os-type=linux –os-variant=generic26 -v –vnc --vncport=59000 -w bridge:br0

случилось страшное :), намудрил с vnc, а также с cdrom, поэтому пришлось править все руками
после непродолжения гугления выяснилось что все очень просто
заходим в virsh
$ sudo virsh
внутри консоли virsh нам понадобятся следующие команды
dumpxml просмотр конфигурации домена (нашего бокса)
edit редактирование (происходит в текстовом редакторе vi)
destroy выключить бокс
start включить
Так как редактирование происходит в vim, то скажу и пару слов про него (сам привык к emacs или nano так что сам в нем не очень разбираюсь) но следующих команд должно хватить. Так же напомню что в режиме текстового редактора есть 2 режима 1- режим редактирования, когда все что мы вводим печатается в файл, и режим команд в котором мы вводим команды (например :q -выйти (доветочие и q - при вводте должно отобразится в нижнем левом углу). выход из режима ввода текста в режим команд - ^ (Esc)
h l k j - навигация по файлу (left right, line up, line down)
:q! - выход без сохранения
u - отмена (Undo)
:x - сохранить и выйти
i - режим вставки (ввод симоволов, как раз тот самый режим редактирования текста из которого выход по Esc)
o - вставить пустую строку под куросором и начать редактирование

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

virsh # dumpxml neptune
<domain type='kvm' id='9'>
  <name>neptune</name>
  <uuid>ef0e7de1-da7a-00d3-ab16-a8e054d2d779</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.12'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu'/>
      <source dev='/dev/disk/by-id/scsi-SATA_WDC_WD5002ABYS-_WD-WCASYC049770'/>
      <target dev='sda' bus='scsi'/>
    </disk>
    <disk type='file' device='cdrom'>
      <source file='/home/user/distr/openSUSE-11.2-DVD-x86_64.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='bridge'>
      <mac address='52:54:00:54:f4:ba'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
    </interface>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
    </console>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5910' autoport='no'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
  <seclabel type='dynamic' model='apparmor'>
    <label>libvirt-ef0e7de1-da7a-00d3-ab16-a8e054d2d779</label>
    <imagelabel>libvirt-ef0e7de1-da7a-00d3-ab16-a8e054d2d779</imagelabel>
  </seclabel>
</domain>



в данном случае, то что выделено жирным шрифтом. скорее всего либо отсутствует, либо с другими значениями, если привести к такому виду, то у нас запустится vnc на порту 5910 и примаунтится CD-Rom и будет по умолчанию грузится с CD-Rom а не с жесткого диска

после того как сделали все изменения, остается только перезапустить машину (destroy, start) и создать тунель :) (потому как если дело обстаит на локальной машине, то наверняка на ней есть иксы, и легче использовать virt-manager и в графической оболочке сделать все тоже самое, если не быстрее то как минимум с той же скоростью :)

ssh user@server_adress -L 5910:localhost:5901

после этого можно конектится на локальной машине к 5901 и получить доступ к удаленному vnc на 5910-м порту

Комментариев нет: