亚洲Aⅴ无码Av红楼在线观看_国产午夜福利涩爱AⅤ_国产sm调教一区二区三区_精品人妻一区二区三区不卡毛片

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

KVM虛擬機和QEMU

發(fā)布時間:  2012/8/28 18:10:42
安裝 kvm 和 網卡橋接工具:
sudo aptitude install kvm qemu bridge-utils uml-utilities
配置橋接網絡

先創(chuàng)建 br0 設備:

brctl addbr br0      # 創(chuàng)建一個橋接口

以后要添加網卡到這個橋接接口只需:

brctl addif br0 eth0 # 添加eth0到br0,重要

我的網絡配置文件 /etc/network/interfaces 內容如下:

auto lo
iface lo inet loopback

#auto eth0
#iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0

主要思路:把 br0 接口配置成和以前正常工作的網口一樣(我這里是 eth0), 然后禁用以前網口的配置(我把 eth0 的配置注釋掉了),最后在 br0 配置里面 加上一句 "bridge_ports eth0" 。

說明: 如果是靜態(tài)地址,可參照相應設置更改。

啟動虛擬機

配置好虛擬機,怎么使用就因人而異了,我的使用方式是,后臺執(zhí)行,使用 vnc 遠程連接虛擬機。因此我用下面的小腳本啟動 uqkvm (如果你不了解 vnc ,或 者不太明白 shell 腳本,可能下面的說明對你無用。由于精力和能力有限,下面 僅給出腳本,無法一一闡述明了。):

#!/bin/sh

# 簡介:快速試用 KVM

# KVM 程序地址
KVM_CMD=/usr/bin/kvm
QEMU_IFUP=/etc/init.d/qemu-ifup
HOST=172.16.70.3

# 默認值
MEM=512 # 內存
TAP=2 # 第幾塊網卡(0<TAP<10)

# 您的磁盤映像
DISK=

# 所有其他的 KVM 參數
OTHER=

test -n "$1" && TAP=$1
test -n "$DISK" && HDA="-hda $DISK" || HDA="-hda $2"
shift 2
OTHER=$@

# 以來其他變量的變量要最后指明

NET="-net nic,macaddr=32:32:32:32:32:3$TAP -net tap,ifname=tap$TAP,script=$QEMU_IFUP"
VNC="-vnc $HOST:$TAP"
RUN_CMD="$KVM_CMD -m $MEM $HDA $NET $VNC -localtime --daemonize $OTHER"


echo "運行命令:$RUN_CMD"
$RUN_CMD

if test $? = 0; then
    echo "KVM 運行成功,請用 VNC 鏈接 $HOST:$TAP ..."
    exit 0
else
    echo "KVM 運行失敗,請檢查命令行是否有錯誤!"
    exit 1
fi

其中用到的 /etc/init.d/qemu-ifup 文件如下:

#!/bin/bash

switch=br0

if [ -n "$1" ];then
        /sbin/ip link set $1 up
        sleep 0.5s
        /usr/sbin/brctl addif $switch $1
        exit 0
else
        echo "Error: no interface specified"
        exit 1
fi

uqkvm 腳本使用方法如下:

./uqkvm 3 GreenOS.img -cdrom  /data/lab/LessWatts/GTGS-lesswatts_xfce-201004201555.iso -boot d

如果僅僅需要啟動系統(tǒng):

# ./uqkvm 3 GreenOS.img
運行命令:/usr/bin/kvm -m 512 -hda GreenOS.img -net nic,macaddr=32:32:32:32:32:33 -net tap,ifname=tap3,script=/etc/init.d/qemu-ifup -vnc 172.16.70.3:3 -localtime --daemonize
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
KVM 運行成功,請用 VNC 鏈接 172.16.70.3:3 ...

現在查看橋接設備情況:

$ sudo brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0001028c5009       no              eth0
                                                        tap3

可見 tap2 和 eth0 都在 br0 上。

RHEL/Fedora/CentOS

yum install bridge-utils kvm

bridge-utils是網卡橋接工具,

示例1:Redhat系統(tǒng)KVM

創(chuàng)建磁盤

# qemu-img create -f qcow2 turbo-10.5.5-rc2.img 20G
Formatting 'turbo-10.5.5-rc2.img', fmt=qcow2, size=20971520 kB
# file turbo-10.5.5-rc2.img
turbo-10.5.5-rc2.img: QEMU Copy-On-Write disk image version 2, size 5 + 0

配置橋接

配置 /etc/sysconfig/network-scripts 下面的網絡腳本

# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.70.30
NETMASK=255.255.252.0
GATEWAY=172.16.68.1
TYPE=Bridge
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 3Com Corporation 3c905B 100BaseTX [Cyclone]
DEVICE=eth0
#BOOTPROTO=dhcp
#HWADDR=00:01:02:8C:50:09
ONBOOT=yes
BRIDGE=br0

增加一個橋接網絡接口,并把剛才配置的eth0添加到橋接口

brctl addbr br0      # 創(chuàng)建一個橋接口
brctl addif br0 eth0 # 添加eth0到br0,重要

使用一個下面的腳本:

# cat /etc/init.d/qemu-ifup
#!/bin/bash

switch=br0

if [ -n "$1" ];then
        /sbin/ip link set $1 up
        sleep 0.5s
        /usr/sbin/brctl addif $switch $1
        exit 0
else
        echo "Error: no interface specified"
        exit 1
fi

使用橋接網卡

可以使用橋接網卡啟動qemu-kvm,并使用GTES10.5.5的兩個文件通過 NFS安裝系統(tǒng):

# qemu-kvm -m 512 -hda turbo-10.5.5-rc2.img -kernel vmlinuz \
-initrd initrd.img -net nic -net tap,script=/etc/init.d/qemu-ifup --daemonize

也可以使用iso安裝,這樣對于多張iso發(fā)行版的linux需要在qemu的控制 臺換盤:

# qemu-kvm -m 512 -hda turbo-10.5.5-rc2.img -cdrom 你的iso路徑 \
-net nic -net tap,script=/etc/init.d/qemu-ifup -boot d --daemonize

進入qemu的控制臺,在鼠標聚焦到qemu界面時候,按住 Ctrl+Alt+2 進 入控制臺:

(qemu) change cdrom 你的另外一張iso

上面命令如果提示:"device not found"?赡苁窃O備映射出錯,可以這樣:

(qemu) info block
...
(qemu) change ide1-cd0 iso文件

QEMU常見使用

使用vnc

# qemu-kvm -m 512 -hda xp.img -net nic,macaddr=00:00:11:33:02:02 \
         -net tap,ifname=tap2,script=/etc/init.d/qemu-ifup \
         -localtime -vnc 172.16.70.30:2 --daemonize

上面讓kvm虛擬機在后臺運行,并啟動vnc服務器,這樣我們可以用vnc客 戶端鏈接172.16.70.30:5092這個地址。

QEMU選項:

一般選項

-M machine
選擇模擬的機器(我們可以輸入-M?提到一個模擬的機器列表)
-fda file
-fdb file
使用file作為軟盤鏡像.我們也可以通過將/dev/fd0作為文件名來使用主機軟盤.
-hda file
-hdb file
-hdc file
-hdd file
使用file作為硬盤0,1,2,3的鏡像.
-cdrom file
使用文件作為CD-ROM鏡像(但是我們不可以同時使 用'-hdc'和'-cdrom').我們可以通過使用'/dev/cdrom'作為文件名來 使用主機的CD-ROM.
-boot [a|c|d]
由軟盤(a),硬盤(c)或是CD-ROM(d).在默認的情況下由硬盤啟動.
-snapshot
寫入臨時文件而不是寫入磁盤鏡像文件.在這樣的情況下,并沒有寫回 我們所使用的磁盤鏡像文件.然而我們卻可以通過按下C-a s來強制寫 回磁盤鏡像文件.
-m megs
設置虛擬內存尺寸為megs M字節(jié).在默認的情況下為128M.
-smp n
模擬一個有n個CPU的SMP系統(tǒng).為PC機為目標,最多可以支持255個CPU.
-nographic
在通常情況下,Qemu使用SDL來顯示VGA輸出.使用這個選項,我們可以 禁止所有的圖形輸出,這樣Qemu只是一個簡單的命令行程序.模擬的串 口將會重定向到命令行.所以,我們仍然可以在Qemu平臺上使用串口命 令來調試Linux內核.
-k language
使用鍵盤布局語言(例如fr為法語).這個選項只有在不易得到PC鍵盤 的情況下使用.我們在PC/Linux或是PC/Windows主機不需要使用這個 選項.默認的為en-us,可用的布局如下:
ar  de-ch  es  fo    fr-ca  hu  ja  mk    no  pt-br  sv
da  en-gb  et  fr    fr-ch  is  lt  nl    pl  ru     th
de  en-us  fi  fr-be  hr    it  lv  nl-be  pt  sl    tr
-audio-help
這個選項將會顯示聲音子系統(tǒng)的幫助:驅動列表以及可調用的參數.
-soundhw card1,card2 .... or -soundhw all
允許聲音并選擇聲音硬件.使用?可以列出所有可用的聲音硬件
qemu -soundhw sb16,adlib hda
qemu -soundhw es1370 hda
qemu -soundhw all hda
qemu -soundhw ?
-localtime
設置時鐘為本地時間(默認為UTC時間).如果在MS-DOS或是Windows上 這個選項則需要正確的日期.
-full-screen
以全屏方式啟動.
-pidfile file
在file文件中存許Qemu的進程PID.如果我們是由腳本啟動的,這個選 項是相當有用的.
-win2k-hack
當安裝Windows 2000時可以使用這個選項來避免磁盤錯誤.在安裝上 Windows 2000系統(tǒng),我們就不再需要這個選項(這個選項降低IDE的傳 輸速度).

USB選項

-usb
允許USB驅動(很快就將成為默認的選項)
-usbdevice devname
添加USB設備名.我們可以查看監(jiān)視器命令usb_add來得到更為詳細的信息.

網絡選項

-net nic[,vlan=n][,macaddr=addr]
創(chuàng)建一個新的網卡并與VLAN n(在默認的情況下n=0)進行連接.在PC機 上,NIC當前為NE2000.作為可選項的項目,MAC地址可以進行改變.如果 沒有指定-net選項,則會創(chuàng)建一個單一的NIC.
-net user[,vlan=n]
使用用戶模式網絡堆棧,這樣就不需要管理員權限來運行.如果沒有指 定-net選項,這將是默認的情況.
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
將TAP網絡接口name與VLAN n進行連接,并使用網絡配置腳本file進行 配置.默認的網絡配置腳本為/etc/qemu-ifup.如果沒有指定name,OS 將會自動指定一個.fd=h可以用來指定一個已經打開的TAP主機接口的 句柄.例如:
qemu linux.img -net nic -net tap

下面的是一個更為復雜的例子(兩個NIC,每一個連接到一個TAP設備):

qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
              -net nic,vlan=1 -net tap,vlan=1,ifname=tap1
-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]
使用TCP socket 將VLAN n與遠程的另一個Qemu虛擬機的VLAN進行連 接.如果指定了listen,Qemu將在port端口監(jiān)聽連入請求(host是可選 的), connect可以用來使用listen選項與另一個Qemu實例進行連 接.fd=h指定了一個已經打開的TCP socket.例如:
# launch a first QEMU instance
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,listen=:1234
# connect the VLAN 0 of this instance to the VLAN 0 of the first instance
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net
socket,connect=127.0.0.1:1234
-net socket[,vlan=n][,fd=h][,mcast=maddr:port]
創(chuàng)建一個VLAN n,并使用UDP 多址通信套掊口與其他的QEMU虛擬機進 行共享,尤其是對于每一個使用多址通信地址和端口的QEMU使用同一 個總線. 在這里我們要注意以下幾點:
  • 幾個QEMU可以運行在不同的主機上但卻使用同一個總線(在這里假設 為這些主機設置了正確的多址通信)
  • mcast支持是與用戶模式Linux相兼容的.
  • 使用fd=h指定一個已經打開的UDP 多址通信套接口.

    例如:

# launch one QEMU instance
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net
socket,mcast=230.0.0.1:1234
# launch another QEMU instance on same "bus"
qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net
socket,mcast=230.0.0.1:1234
# launch yet another QEMU instance on same "bus"
qemu linux.img -net nic,macaddr=52:54:00:12:34:58 -net
socket,mcast=230.0.0.1:1234

下面的為用戶模式Linux的例子:

# launch QEMU instance (note mcast address selected is UML's default)
qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net
socket,mcast=239.192.168.1:1102
# launch UML
/path/to/linux ubd0=/path/to/root_fs eth0=mcast
-net none
表明沒有網絡設備需要進行配置.如果沒有指定-net選項,則會用來覆 蓋活躍的默認配置.
-tftp prefix
當使用用戶模式網絡堆棧,激活一個內置的TFTP服務器.所有的以 prefix開始的文件將會使用一個TFTP客戶端從主機下載到本地.在本 地的TFTP客戶端必須以二進制模式進行配置(使用Unix的TFTP客戶端 的bin命令).在客戶機上的主機IP地址如通常的10.0.2.2.
-smb dir
-redir [tcp|udp]:host-port:[guest-host]:guest-port
當使用用戶模式網格棧,將連接到主機端口host-port的TCP或是UDP 連接重定向到客戶機端口guest-port上。如果沒有指定客戶機端口, 他的值為10.0.2.15(由內建的DHCP服務器指定默認地址)。例如: 要重定向從screen 1到客戶機screen 0的X11連接,我們可以使用下 面的方法:
# on the host
qemu -redir tcp:6001::6000 [...]
# this host xterm should open in the guest X11 server
xterm -display :1
To redirect telnet connections from host port 5555 to telnet port on
the guest, use the following:

# on the host
qemu -redir tcp:5555::23 [...]
telnet localhost 5555

然后當我們在主機telnet localhost 5555上使用時,我們連接到了 客戶機的telnet服務器上。

Linux啟動選項

當我們使用這些選項時,我們可以使用一個指定的內核,而沒有將他 安裝在磁盤鏡像中。這對于簡單的測試各種內核是相當有用的。

`-kernel bzImage'
使用bzImage作為內核映像。
`-append cmdline'
使用cmdline作為內核的命令行。
`-initrd file'
使用file作為初始的ram磁盤。

調試選項

`-serial dev'
重定向虛擬串到主機的設備dev。可用的設備如下:
vc
虛擬終端
pty
(Linux)偽TTY(自動分配一個新的TTY)
null
空設備
/dev/XXX"
(Linux)使用主機的tty。例如,'/dev/ttyS0'。主機的串口參數通過模擬進行設置。
/dev/parportN
(Linux)使用主機的并口N。當前只可以使用SPP的并口特征。
file:filename
將輸出寫入到文件filename中。沒有字符可讀。
stdio
(Unix)標準輸入/輸出
pipe:filename
(Unix)有名管道filename

在圖形模式下的默認設備為vc,而在非圖形模式下為stdio.這個選項 可以被多次使用,最多可以模擬4個串口。

'-parallel dev'

重定向虛擬并口到主機的設備dev(與串口相同的設備)。在Linux主 機上,`/dev/parportN'可以被用來使用與相應的并口相連的硬件設 備。這個選項可以使用多次,最多可以模擬3個并口。

`-monitor dev'

重定向臨視器到主機的設備dev(與串口相同的設備)。在圖形模式 下的默認設備為vc,而在非圖形模式下為stdio。

'-s'
等待gdb連接到端口1234.
`-p port'
改變gdb連接端口。
`-S'
在啟動時并不啟動CPU(我們必須在監(jiān)視器中輸入'c')
'-d'
輸出日志到/tmp/qemu.log
`-hdachs c,h,s,[,t]'
強制硬盤0的物理參數(1 <= c <= 16383, 1 <= h <= 16, 1 <= s <=63),并且可以選擇強制BIOS的轉換模式(t=none, lba or auto).通 常QEMU可以檢測這些參數.這個選項對于老的MS-DOS磁盤映像是相當 有用的.
`-std-vga'
模擬一個Bochs VBE擴展的標準VGA顯卡(默認情況下為Cirrus Logic GD5446 PCI VGA)
`-loadvm file'
從一個保存狀態(tài)啟動.

組合鍵

在圖形模擬時,我們可以使用下面的這些組合鍵:

Ctrl-Alt-f
全屏
Ctrl-Alt-n
切換虛擬終端'n'.標準的終端映射如下:
  • n=1 : 目標系統(tǒng)顯示
  • n=2 : 臨視器
  • n=3 : 串口
    Ctrl-Alt
    抓取鼠標和鍵盤

    在虛擬控制臺中,我們可以使用Ctrl-Up, Ctrl-Down, Ctrl-PageUp 和 Ctrl-PageDown在屏幕中進行移動.

在模擬時,如果我們使用`-nographic'選項,我們可以使用Ctrl-a h來得到終端命令:

Ctrl-a h
打印幫助信息
Ctrl-a x
退出模擬
Ctrl-a s
將磁盤信息保存入文件(如果為-snapshot)
Ctrl-a b
發(fā)出中斷
Ctrl-a c
在控制臺與監(jiān)視器進行切換
Ctrl-a Ctrl-a
發(fā)送Ctrl-a

磁盤映像

從0.6.1起,QEMU支持多種磁盤映像格式,包括增長的磁盤映像,壓縮與加 密的磁盤映像.

我們可以用下面的命令來創(chuàng)建一個磁盤映像:

qemu-img create myimage.img mysize

這里myimage.img是磁盤映像的文件名,而mysize是以K表示的尺寸.我們 可以使用M前綴來使用M表示尺寸或是G作為前綴使用G表示尺寸.

qemu-img選項

可以支持下面的一些命令:

`create [-e] [-b base_image] [-f fmt] filename [size]'
`commit [-f fmt] filename'
`convert [-c] [-e] [-f fmt] filename [-O output_fmt] output_filename'
`info [-f fmt] filename

命令參數

filename
磁盤映像文件名.
base_image
只讀的磁盤映像,可以作為拷貝到寫映像的基礎.寫映像 上的拷貝只存儲修改的數據.
fmt
磁盤映像格式.在大多數情況下可以自動檢測.可以支持下面的格式:
  • raw

    raw 磁盤格式(默認).這種格式有簡單并且易于移植到其他模擬器的 優(yōu)點.如果我們的文件系統(tǒng)支持holes(例如在Linux上的ext2或是 ext3),然后只有寫入的部分保持空白.使用qemu-img info來得到映 像使用的實際的大小或是在Unix/Linux上使用 ls -ls.

  • qcow

    QEMU映像格式.最通用的格式.使用他可以獲得較小的映像(如果我們 的文件系統(tǒng)不支持holes,例如在Windows上,這是相當有用的),可以 選用AES加密或是基于zlib的壓縮.

  • cow

    在寫映像格式上的用戶模式的Linux拷貝.在QEMU中作為增長的映像 格式使用.這個選項只是為了與以前版本的兼容,并不能在Win32上使 用.

  • vmdk

    VMware 3 或是 4 兼容的映像格式.

  • cloop

    Linux壓縮的循環(huán)映像,重用直接壓縮的CD-ROM映像.

  • size

    以K表示的磁盤映像的尺寸.同時可以支持M或是G作為前綴.

  • output_filename

    目的磁盤映像文件名

  • output_fmt

    目標格式

  • -c

    表明目標映像必須是壓縮的(只是qcow格式)

  • -e

    表明目標映像必須是加密的(只是qcow格式)


本文出自:億恩科技【www.allwellnessguide.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線