虚拟化容器,大数据,DBA,中间件,监控。

Centos Linux系统安装qemu4虚拟化程序

07 07月
作者:admin|分类:容器虚拟化

qemu-4.0.0

Introduction to qemu

qemu is a full virtualization           solution for Linux on x86 hardware containing virtualization           extensions (Intel VT or AMD-V).

This package is known to build and work properly using an LFS-8.4           platform.

Package Information

  • Download (HTTP): http://download.qemu-project.org/qemu-4.0.0.tar.xz

  • Download MD5 sum: 0afeca336fd57ae3d3086ec07f59d708

  • Download size: 53 MB

  • Estimated disk space required: 878 MB (add 414 MB for tests)

  • Estimated build time: 1.0 SBU (using parallelism=4; add 2.4                 SBU for tests)

Qemu Dependencies

Required

GLib-2.60.4, and X Window           System        

Recommended

alsa-lib-1.1.9 and SDL2-2.0.9        

Optional

Depending on the sound system, various packages in ALSA-1.1.9,           Python-2.7.16, PulseAudio-12.2, BlueZ-5.50,           cURL-7.65.1, Cyrus SASL-2.1.27,           GnuTLS-3.6.8, GTK+-2.24.32, GTK+-3.24.10,           libusb-1.0.22, libgcrypt-1.8.4, libssh2-1.9.0,           LZO-2.10, Nettle-3.5.1, Mesa-19.1.1, SDL-1.2.15, VTE-0.56.3 or Vte-0.28.2,           and libcacard        

[Note]          

Note

This optional dependencies list is not comprehensive. See the             output of ./configure             --help for a more complete list.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/qemu        

KVM Prerequisites

Before building qemu, check to see           if your processor supports Virtualization Technology (VT):

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

       

If you get any output, you have VT technology (vmx for Intel           processors and svm for AMD processors). You then need to go into           your system BIOS and ensure it is enabled. After enabing, reboot           back to your LFS instance.

Kernel Configuration

Enable the following options in the kernel configuration and           recompile the kernel if necessary:

[*] Virtualization:  --->                            [CONFIG_VIRTUALIZATION]   <*/M>   Kernel-based Virtual Machine (KVM) support [CONFIG_KVM]   <*/M>     KVM for Intel processors support         [CONFIG_KVM_INTEL]   <*/M>     KVM for AMD processors support           [CONFIG_KVM_AMD]

       

The Intel or AMD settings are not both required, but the one           matching your system processor is required.

To use the “bridge” network           device, as explained below, check that bridge-utils-1.6 is installed and the           following options in the kernel configuration are enabled:

[*] Networking support  --->                         [CONFIG_NET]   Networking options  --->     <*/M> 802.1d Ethernet Bridging                   [CONFIG_BRIDGE] Device Drivers  --->   [*] Network device support  --->                   [CONFIG_NETDEVICES]     <*/M>    Universal TUN/TAP device driver support [CONFIG_TUN]

                     

Installation of qemu

You will need a dedicated group that will contain users (other than           root) allowed to access the KVM device. Create this group by           running the following command as the root user:

groupadd -g 61 kvm

       

Add any users that might use the KVM device to that group:

usermod -a -G kvm <username>

       

Install qemu by running the           following commands:

[Note]          

Note

Qemu is capable of running many targets. The build process is             also capable of building multiple targets at one time in a comma             delimited list assigned to --target-list. Run ./configure --help to get a             complete list of available targets.

if [ $(uname -m) = i686 ]; then    QEMU_ARCH=i386-softmmu else    QEMU_ARCH=x86_64-softmmu fi mkdir -vp build && cd        build && ../configure --prefix=/usr               \              --sysconfdir=/etc           \              --target-list=$QEMU_ARCH    \              --python=python3            \              --audio-drv-list=alsa       \              --docdir=/usr/share/doc/qemu-4.0.0 && unset QEMU_ARCH && make

       

To run the built in tests, run make           V=1 -k check.

Now, as the root user:

make install

       

You will also need to add an Udev rule so that the KVM device gets           correct permissions:

cat > /lib/udev/rules.d/65-kvm.rules << "EOF" KERNEL=="kvm", GROUP="kvm", MODE="0660" EOF

       

Change the permissions and ownership of a helper script, which is           needed when using the “bridge” network device (see below):

chgrp kvm  /usr/libexec/qemu-bridge-helper && chmod 4750 /usr/libexec/qemu-bridge-helper

                   [Note]          

Note

For convenience you may want to create a symbolic link to run the             installed program. For instance:

ln -sv qemu-system-`uname -m` /usr/bin/qemu

                               

Command Explanations

--python=python3: This           switch ensures that the build and test machinery uses Python 3.

--audio-drv-list=alsa: This           switch sets the audio driver to ALSA. See below for enabling other           audio drivers.

--audio-drv-list=pa: This switch sets           the audio driver to pulseaudio. For other drivers see the           --audio-drv-list list in configure's help output. The           default audio driver is OSS. To enable support for both alsa and           pulseaudio, use --audio-drv-list=alsa,pa.

--with-gtkabi=3.0: builds with GTK+-3           if both GTK+-2 and GTK+-3 are installed.

Using Qemu

Since using qemu means using a virtual computer, the steps to set           up the virtual machine are in close analogy with those to set up a           real computer. You'll need to decide about CPU, memory, disk, USB           devices, network card(s), screen size, etc. Once the           “hardware” is decided,           you'll have for example to choose how to connect the machine to           internet, and/or to install an OS. In the following, we show basic           ways of performing those steps. But qemu is much more than this,           and it is strongly advised to read the qemu documentation in           /usr/share/doc/qemu-4.0.0/qemu-doc.html.

[Note]          

Note

It is standard practice to name the computer running qemu             “host” and the emulated             machine running under qemu the “guest”. We'll use those notations in the             following.

[Note]          

Note

The following instructions assume the optional symbolic link,             qemu, has been created.             Additionally, qemu             must be run from an X Window System based terminal (either             locally or over ssh).

Disk

A virtual disk may be set up in the following way:

VDISK_SIZE=50G VDISK_FILENAME=vdisk.img qemu-img create -f qcow2 $VDISK_FILENAME $VDISK_SIZE

       

The virtual disk size and filename should be ajusted as desired.           The actual size of the file will be less than specified, but will           expand as needed, so it is safe to put a high value.

Operating System

To install an operating system, download an iso image from your           preferred Linux distribution. For the purposes of this example,           we'll use Fedora-16-x86_64-Live-LXDE.iso in the current           directory. Run the following:

qemu -enable-kvm                           \      -drive file=$VDISK_FILENAME           \      -cdrom Fedora-16-x86_64-Live-LXDE.iso \      -boot d                               \      -m 1G

       

Follow the normal installation procedures for the chosen           distribution. The -boot           option specifies the boot order of drives as a string of drive           letters. Valid drive letters are: a, b (floppy 1 and 2), c (first           hard disk), d (first CD-ROM). The -m option is the amount of memory to           use for the virtual machine. The choice depends on the load of the           host. Modern distributions should be comfortable with 1GB. The           -enable-kvm option allows           hardware acceleration. Without this switch, the emulation is much           slower.

Defining the virtual hardware

The virtual machine hardware is defined by the qemu command line.           An example command is given below:

qemu -enable-kvm                     \      -smp 4                          \      -cpu host                       \      -m 1G                           \      -drive file=$VDISK_FILENAME     \      -cdrom grub-img.iso             \      -boot order=c,once=d,menu=on    \      -net nic,netdev=net0            \      -netdev user,id=net0            \      -soundhw ac97                   \      -vga std                        \      -serial mon:stdio               \      -name "fedora-16"

       

Meaning of the command line options

-enable-kvm: enable full           KVM virtualization support. On some hardware, it may be necessary           to add the undocumented -machine           smm=off option in order to enable KVM.

-smp <N>: enable           symmetric multiprocessing with <N> CPUs.

-cpu <model>:           simulate CPU <model>. the list of supported models can be           obtained with -cpu help.

-drive           file=<filename>: defines a virtual disk whose           image is stored in <filename>.

-cdrom grub-img.iso:           defines an iso formated file to use as a cdrom. Here we use a grub           rescue disk, which may turn handy when something goes wrong at boot           time.

-boot           order=c,once=d,menu=on: defines the boot order for the           virtual BIOS.

-net           nic,netdev=<netid>: defines a network card           connected to the network device with id <netid>.

-netdev           user,id=<netid>: defines the network           “user” device. This is a           virtual local network with addresses 10.0.2.0/24, where the host           has address 10.0.2.2 and acts as a gateway to internet, and with a           name server at address 10.0.2.3, and an smb server at address           10.0.2.4. A builtin DHCP server can allocate addresses between           10.0.2.15 and 10.0.2.31.

-soundhw <model>:           defines the soundcard model. The list may be obtained with           -soundhw help.

-vga <type>: defines           the type of vga card to emulate.

-serial mon:stdio: sends           the serial port of the guest (/dev/ttyS0 on linux guests), multiplexed with the           qemu monitor, to the standard input and output of the qemu process.

-name <name>: sets           the name of the guest. This name is displayed in the guest window           caption. It may be useful if you run several guests at the same           time.

Controlling the Emulated Display

It may happen that the guest window displayed by qemu does not           correspond to the full capability of the emulated vga card. For           example, the vmware card is 1600x900 capable, but only 1024x768 is           displayed by default. A suitable Xorg configuration on the guest           allows to use the full size (Note that the Xorg video driver to use           is Xorg VMware Driver-13.3.0):

cat > /usr/share/X11/xorg.conf.d/20-vmware.conf << "EOF" Section         "Monitor"   Identifier    "Monitor0"   # cvt 1600 900   # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz   Modeline      "1600x900"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync   Option        "PreferredMode" "1600x900"   HorizSync     1-200   VertRefresh   1-200 EndSection Section         "Device"   Identifier    "VMware SVGA II Adapter"   Option        "Monitor" "default"   Driver        "vmware" EndSection Section         "Screen"   Identifier    "Default Screen"   Device        "VMware SVGA II Adapter"   Monitor       "Monitor0"   SubSection    "Display"     Depth       24     Modes       "1600x900" "1440x900" "1366x768" "1280x720" "800x480"   EndSubSection EndSection EOF

       

New sizes will be available besides the native ones. You need to           restart X in order to have the new sizes available.

Networking

The above solution for networking allows the guest to access the           local network through the host (and possibly to access internet           through the local routers), but the converse is not true. Not even           the host can access the guest, unless port forwarding is enabled.           And in the case several guests are running, they cannot communicate           with each other. Other network devices can be used for this           purpose. For example, there is the “socket” device, which allows several guests to           share a common virtual network. In the following, we describe in           more details how to set up the “bridge” device, which allows the guests to           appear as if connected to the local network. All the commands below           should be run as the root user.

Set up bridging with bridge-utils-1.6. Only the physical           interface(s) should be set up at boot. The virtual interface(s)           will be added as needed when qemu is started.

Set up a required configuration file:

install -vdm 755 /etc/qemu && echo allow br0 > /etc/qemu/bridge.conf

       

In the command above, replace the switch -netdev user,... with -netdev bridge,id=net0.

Contents

Installed Programs:               ivshmem-client, ivshmem-server, qemu               (symlink), qemu-ga, qemu-img, qemu-io, qemu-nbd,               qemu-system-<arch>, and virtfs-proxy-helper                                         Installed Library:               None                                         Installed Directories:               /usr/share/qemu and               /usr/share/doc/qemu-4.0.0                                                    

Short Description

ivshmem-client                  

is a standalone client for using the ivshmem device.

ivshmem-server                  

is an example server for the ivshmem device.

qemu-edid                  

is a test tool for the qemu EDID generator.

qemu-ga                  

implements support for QMP (QEMU Monitor Protocol)                     commands and events that terminate and originate                     respectively within the guest using an agent built as                     part of QEMU.

qemu-img                  

provides commands to manage QEMU disk images.

qemu-io                  

is a diagnostic and manipulation program for (virtual)                     memory media. It is still at an early stage of                     development.

qemu-nbd                  

exports Qemu disk images using the QEMU Disk Network                     Block Device (NBD) protocol.

qemu-system-x86_64                  

is the QEMU PC System emulator.

virtfs-proxy-helper                  

creates a socket pair or a named socket. QEMU and proxy                     helper communicate using this socket. QEMU proxy fs                     driver sends filesystem request to proxy helper and                     receives the response from it.

Last updated on 2019-06-27 15:55:17 -0500


浏览974 评论0
返回
目录
返回
首页
How To Install Nagios 4.4.3 on RHEL 8 Install Oracle 12C Release 1 (12.1) on Oracle Linux 7 (OEL7)