tiri technology blog

im web oder während unserer arbeit gefunden

12. März 2009

XENserver export/import virtueller Maschinen

Abgelegt unter: Wissen — Tags:, , , , , — tirili @ 22:45
time xe vm-export vm=742ba99e-5f8b-b29d-e5a4-2f0e647838cb filename=/data/xtradius.xvm

In ca. 5 minuten ist er mit 4GB fertig.
Was macht XENserver da ? Es erstellt ein Archiv mit allen Daten der VM.

[root@xen211 data]# file xtradius.xvm 
xtradius.xvm: tar archive
[root@xen211 data]# tar tvf xtradius.xvm
---------- 0/0           73769 1970-01-01 01:00:00 ova.xml
---------- 0/0         1048576 1970-01-01 01:00:00 Ref:42/00000000
---------- 0/0              40 1970-01-01 01:00:00 Ref:42/00000000.checksum
---------- 0/0         1048576 1970-01-01 01:00:00 Ref:42/00000001
---------- 0/0              40 1970-01-01 01:00:00 Ref:42/00000001.checksum
---------- 0/0         1048576 1970-01-01 01:00:00 Ref:42/00000003
...

Die ova.xml sieht ungefähr so aus:

<value>
  <struct>
    <member>
      <name>version</name>
      <value>
        <struct>
          <member>
            <name>hostname</name>
            <value>chocky-2</value>
          </member>
          <member>
            <name>date</name>
            <value>2009-01-30</value>
          </member>
          <member>
            <name>product_version</name>
            <value>5.0.0</value>
          </member>
          <member>
            <name>product_brand</name>
            <value>XenServer</value>
          </member>
          <member>
            <name>build_number</name>
            <value>12527p</value>
          </member>
          <member>
            <name>xapi_major</name>
            <value>1</value>
          </member>
          <member>
            <name>xapi_minor</name>
            <value>2</value>
          </member>
          <member>
            <name>export_vsn</name>
            <value>2</value>
          </member>
        </struct>
      </value>
    </member>
    <member>
      <name>objects</name>
      <value>
        <array>
          <data>
            <value>
              <struct>
                <member>
                  <name>class</name>
                  <value>VM</value>
                </member>
                <member>
                  <name>id</name>
                  <value>Ref:36</value>
                </member>
                <member>
                  <name>snapshot</name>
                  <value>
                    <struct>
                      <member>
                        <name>uuid</name>
                        <value>742ba99e-5f8b-b29d-e5a4-2f0e647838cb</value>
                      </member>
                      <member>
                        <name>allowed_operations</name>
                        <value>
                          <array>
                            <data>
                              <value>copy</value>
                              <value>clone</value>
                              <value>export</value>
                            </data>
                          </array>
                        </value>
                      </member>
                      <member>
                        <name>current_operations</name>
                        <value>
                          <struct>
                            <member>
                              <name>OpaqueRef:3f0b3fc4-771d-a131-a254-27c6bcbe941f</name>
                              <value>export</value>
                            </member>
                          </struct>
                        </value>
                      </member>
                      <member>
                        <name>power_state</name>
                        <value>Halted</value>
                      </member>
                      <member>
                        <name>name_label</name>
                        <value>xtradius .178.14</value>
                      </member>
                      <member>
                        <name>name_description</name>
                        <value/>
                      </member>
                      <member>
                        <name>user_version</name>
                        <value>1</value>
                      </member>
                      <member>
                        <name>is_a_template</name>
                        <value>
                          <boolean>0</boolean>
                        </value>
                      </member>
                      <member>
                        <name>suspend_VDI</name>
                        <value>OpaqueRef:NULL</value>
                      </member>
                      <member>
                        <name>resident_on</name>
                        <value>OpaqueRef:NULL</value>
                      </member>
                      <member>
                        <name>affinity</name>
                        <value>OpaqueRef:23f2b1c8-1a4d-324b-6e91-a98a091ac0de</value>
                      </member>
                      <member>
                        <name>memory_target</name>
                        <value>268435456</value>
                      </member>
                      <member>
                        <name>memory_static_max</name>
                        <value>268435456</value>
                      </member>
                      <member>
                        <name>memory_dynamic_max</name>
                        <value>268435456</value>
                      </member>
                      <member>
                        <name>memory_dynamic_min</name>
                        <value>268435456</value>
                      </member>
                      <member>
                        <name>memory_static_min</name>
                        <value>16777216</value>
                      </member>
                      <member>
                        <name>VCPUs_params</name>
                        <value>
                          <struct/>
                        </value>
                      </member>
                      <member>
                        <name>VCPUs_max</name>
                        <value>1</value>
                      </member>
                      <member>
                        <name>VCPUs_at_startup</name>
                        <value>1</value>
                      </member>
                      <member>
                        <name>actions_after_shutdown</name>
                        <value>destroy</value>
                      </member>
                      <member>
                        <name>actions_after_reboot</name>
                        <value>restart</value>
                      </member>
                      <member>
                        <name>actions_after_crash</name>
                        <value>restart</value>
                      </member>
                      <member>
                        <name>consoles</name>
                        <value>
                          <array>
                            <data/>
                          </array>
                        </value>
                      </member>
                      <member>
                        <name>VIFs</name>
                        <value>
                          <array>
                            <data>
                              <value>Ref:37</value>
                              <value>Ref:39</value>
                            </data>
                          </array>
                        </value>
                      </member>
                      <member>
                        <name>VBDs</name>
                        <value>
                          <array>
                            <data>
                              <value>Ref:41</value>
                              <value>Ref:44</value>
                              <value>Ref:45</value>
                            </data>
                          </array>
                        </value>
                      </member>
                      <member>
                        <name>crash_dumps</name>
                        <value>
                          <array>
                            <data/>
                          </array>
                        </value>
                      </member>
...

Die exportierte Maschine können wir jetzt mittels scp auf einen anderen XENserver bringen und dort
importieren. Da wir eine identische Kopie wollen mit denselben MAC-Adressen, wird der Parameter “preserve” verwendet.

xe vm-import filename=/data/xtradius.xvm preserve=true

Nach ca. 20 Minuten ist die VM komplett verfügbar, taucht auch im XENcenter des neuen Hosts auf und
kann gestartet und genutzt werden. Allerdings hat die Maschine nun eine neue UUID, weshalb man beim Skripten besser auf den Namen gehen sollte.

xe vm-start name-label="xtradius .178.14"

Alternativ kann man import und start auch verknüpfen:

xe vm-start uuid=$(xe vm-import filename=/data/xtradius.xvm preserve=true)

2 Kommentare »


  1. PillSpot.org. Canadian Health&Care.Best quality drugs.Special Internet Prices.No prescription online pharmacy. No prescription drugs. Buy pills online

    Buy:Retin-A.Human Growth Hormone.Arimidex.Zovirax.Actos.Lumigan.Prevacid.Nexium.100% Pure Okinawan Coral Calcium.Petcam (Metacam) Oral Suspension.Valtrex.Mega Hoodia.Zyban.Prednisolone.Synthroid.Accutane….

    Trackback von GREGORY — 15. Juli 2010 @ 21:15

  2. free http://ncygox-v7jq.AUTOSECTIONS.INFO/tag/free+light+hide/ : free…

    light…

    Trackback von hide — 30. August 2010 @ 05:34

RSS-Feed für Kommentare zu diesem Artikel. TrackBack-URL

Einen Kommentar hinterlassen

Powered by WordPress ( WordPress Deutschland )