.\" Automatically generated by Podwrapper::Man 1.40.2 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "virt-v2v-output-local 1" .TH virt-v2v-output-local 1 "2019-02-07" "libguestfs-1.40.2" "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "名前" .IX Header "名前" virt\-v2v\-output\-local \- Using virt\-v2v to convert guests to local files or libvirt .SH "書式" .IX Header "書式" .Vb 1 \& virt\-v2v [\-i* options] [\-o libvirt] \-os POOL \& \& virt\-v2v [\-i* options] \-o local \-os DIRECTORY \& \& virt\-v2v [\-i* options] \-o qemu \-os DIRECTORY [\-\-qemu\-boot] \& \& virt\-v2v [\-i* options] \-o null .Ve .SH "説明" .IX Header "説明" This page documents how to use \fBvirt\-v2v\fR\|(1) to convert guests to local files or to a locally running libvirt instance. There are four output modes you can select on the virt\-v2v command line: .ie n .IP "\fB\-o libvirt \-os\fR ""POOL""" 4 .el .IP "\fB\-o libvirt \-os\fR \f(CWPOOL\fR" 4 .IX Item "-o libvirt -os POOL" .PD 0 .ie n .IP "\fB\-os\fR ""POOL""" 4 .el .IP "\fB\-os\fR \f(CWPOOL\fR" 4 .IX Item "-os POOL" .PD This converts the guest to a libvirt directory pool call \f(CW\*(C`POOL\*(C'\fR, and instantiates the guest in libvirt (but does not start it running). See \&\*(L"\s-1OUTPUT TO LIBVIRT\*(R"\s0 below. .Sp \&\fI\-o libvirt\fR is the default if no \fI\-o\fR option is given, so you can omit it. .ie n .IP "\fB\-o local \-os\fR ""DIRECTORY""" 4 .el .IP "\fB\-o local \-os\fR \f(CWDIRECTORY\fR" 4 .IX Item "-o local -os DIRECTORY" This converts the guest to files in \f(CW\*(C`DIRECTORY\*(C'\fR. A libvirt \s-1XML\s0 file is also created, but unlike \fI\-o libvirt\fR the guest is not instantiated in libvirt, only files are created. .Sp The files will be called: .Sp .Vb 2 \& NAME\-sda, NAME\-sdb, etc. Guest disk(s). \& NAME.xml Libvirt XML. .Ve .Sp where \f(CW\*(C`NAME\*(C'\fR is the guest name. .ie n .IP "\fB\-o qemu \-os\fR ""DIRECTORY""" 4 .el .IP "\fB\-o qemu \-os\fR \f(CWDIRECTORY\fR" 4 .IX Item "-o qemu -os DIRECTORY" .PD 0 .ie n .IP "\fB\-o qemu \-os\fR ""DIRECTORY"" \fB\-\-qemu\-boot\fR" 4 .el .IP "\fB\-o qemu \-os\fR \f(CWDIRECTORY\fR \fB\-\-qemu\-boot\fR" 4 .IX Item "-o qemu -os DIRECTORY --qemu-boot" .PD This converts the guest to files in \f(CW\*(C`DIRECTORY\*(C'\fR. Unlike \fI\-o local\fR above, a shell script is created which contains the raw qemu command you would need to boot the guest. However the shell script is not run, \fIunless\fR you also add the \fI\-\-qemu\-boot\fR option. .IP "\fB\-o null\fR" 4 .IX Item "-o null" The guest is converted, but the final result is thrown away and no metadata is created. This is mainly useful for testing. .SH "OUTPUT TO LIBVIRT" .IX Header "OUTPUT TO LIBVIRT" The \fI\-o libvirt\fR option lets you upload the converted guest to a libvirt-managed host. There are several limitations: .IP "\(bu" 4 You can only use a local libvirt connection [see below for how to workaround this]. .IP "\(bu" 4 The \fI\-os pool\fR option must specify a directory pool, not anything more exotic such as iSCSI [but see below]. .IP "\(bu" 4 You can only upload to a \s-1KVM\s0 hypervisor. .SS "Workaround for output to a remote libvirt instance and/or a non-directory storage pool" .IX Subsection "Workaround for output to a remote libvirt instance and/or a non-directory storage pool" .IP "1." 4 Use virt\-v2v in \fI\-o local\fR mode to convert the guest disks and metadata into a local temporary directory: .Sp .Vb 1 \& virt\-v2v [...] \-o local \-os /var/tmp .Ve .Sp This creates two (or more) files in \fI/var/tmp\fR called: .Sp .Vb 2 \& /var/tmp/NAME.xml # the libvirt XML (metadata) \& /var/tmp/NAME\-sda # the guest’s first disk .Ve .Sp (for \f(CW\*(C`NAME\*(C'\fR substitute the guest’s name). .IP "2." 4 Upload the converted disk(s) into the storage pool called \f(CW\*(C`POOL\*(C'\fR: .Sp .Vb 3 \& size=$(stat \-c%s /var/tmp/NAME\-sda) \& virsh vol\-create\-as POOL NAME\-sda $size \-\-format raw \& virsh vol\-upload \-\-pool POOL NAME\-sda /var/tmp/NAME\-sda .Ve .IP "3." 4 Edit \fI/var/tmp/NAME.xml\fR to change \fI/var/tmp/NAME\-sda\fR to the pool name. In other words, locate the following bit of \s-1XML:\s0 .Sp .Vb 5 \& \& \& \& \& .Ve .Sp and change two things: The \f(CW\*(C`type=\*(Aqfile\*(Aq\*(C'\fR attribute must be changed to \&\f(CW\*(C`type=\*(Aqvolume\*(Aq\*(C'\fR, and the \f(CW\*(C`\*(C'\fR element must be changed to include \f(CW\*(C`pool\*(C'\fR and \f(CW\*(C`volume\*(C'\fR attributes: .Sp .Vb 5 \& \& ... \& \& ... \& .Ve .IP "4." 4 Define the final guest in libvirt: .Sp .Vb 1 \& virsh define /var/tmp/NAME.xml .Ve .SH "関連項目" .IX Header "関連項目" \&\fBvirt\-v2v\fR\|(1). .SH "著者" .IX Header "著者" Richard W.M. Jones .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2009\-2019 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" .SH "BUGS" .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP "\(bu" 4 The version of libguestfs. .IP "\(bu" 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP "\(bu" 4 Describe the bug accurately and give a way to reproduce it. .IP "\(bu" 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.