Linux KVM虛擬機器設定

2021-06-18 17:59:05 字數 4061 閱讀 3854

kvm是乙個基於linux核心的虛擬機器解決方案。本文介紹kvm的使用方法,以及注意要點。

參考資料: kvm虛擬機器和qemu

linux brctl

先決條件

硬體環境

cpu硬體虛擬化

32位與64位

安裝kvm

虛擬機器連網

brctl橋接

安裝以及執行虛擬機器

kvm常用命令

安裝虛擬作業系統

遠端登入

x86(包括32位和64位),就是我們常用的系統。

kvm需要系統cpu支援,下面命令如果有輸出,說明cpu支援硬體虛擬化:

egrep "flags.*:.*(svm|vmx)" /proc/cpuinfo
下面是32bit與64bit和主機系統與虛擬作業系統的關係:

主機作業系統

虛擬機器作業系統

是否支援

32位32位

是32位

46位否

64位32位

是64位

64位是

總結為一句話:不能在32位主機上裝64位的作業系統。

yao@debian:~$ apt-get install kvm qemu uml-utilities
一般情況下,安裝好kvm後能就自動載入核心模組,你也可以手動載入:

yao@debian:~$ modprobe kvm_intel #or kvm_amd
虛擬機器連網是頭等大事,所以我們先解決這個問題。通過橋接可以實現聯網,主要用到的命令有:brctl,ifconfig,tunctl,route

brctl是乙個乙太網橋接工具,常見的用法有:

命令原型

例子說明

brctl show

brctl show

顯示已有網橋

brctl addbr

brctl addbr br0

增加網橋br0

brctl delbr

brctl delbr br0

刪除網橋br0

brctl addif

brctl addif br0 eth0

將介面eth0接到網橋br0

brctl delif

brctl delif br0 eth0

從網橋上刪除乙個介面

如果發現無法刪除網橋,那麼可能是還沒有將其關閉:

yao@twomoon:~$ sudo brctl delbr br0

bridge br0 is still up; can't delete it

yao@twomoon:~$ sudo ifconfig br0 down

yao@twomoon:~$ sudo brctl delbr br0

說了這麼多,到這才是重點。首先,將物理網絡卡橋接:

yao@twomoon:~$ ifconfig -a |grep eth

eth0 link encap:ethernet hwaddr 90:fb:a6:14:cd:42

yao@twomoon:~$ brctl addbr br0

yao@twomoon:~$ brctl addif br0 eth0

yao@twomoon:~$ ifconfig eth0 0.0.0.0

yao@twomoon:~$ ifconfig br0 192.168.1.51 up

這樣又多了乙個網路裝置br0:

yao@twomoon:~$ lang=c ifconfig -a |grep ethernet

br0 link encap:ethernet hwaddr 2a:24:d3:aa:99:e7

eth0 link encap:ethernet hwaddr 90:fb:a6:14:cd:42

如果沒有弄明白為什麼,可以上網找找橋接的資料和brctl的用法。

當然不能每次開機後都要手工輸入這麼多命令。你可以將這些命令寫成乙個指令碼,每次開機就執行這個指令碼:

#!/bin/bash

# networking.sh

# change eth0 to your network inte***ce(eg. eth1)

ifconfig lo 127.0.0.1 up

if [ ! -z "`ifconfig -a | grep br0`" ]; then

ifconfig br0 down

brctl delif br0 eth0

brctl delbr br0

fibrctl addbr br0

brctl addif br0 eth0

ifconfig eth0 0.0.0.0 up

ifconfig br0 192.168.1.51 up

route add default gw 192.168.1.1

exit 0

也可以寫到網絡卡的配置檔案配置檔案(/etc/network/inte***ces)裡,效果是一樣的:

auto lo

iface lo inet loopback

auto br0

iface br0 inet static

address 192.168.1.51

netmask 255.255.255.0

gateway 192.168.1.1

bridge_ports eth0

引數

示例說明

-hda

-hda /data/windows.img

指定windows.img作為硬碟映象

-cdrom

-hda /data/windows.iso

指定windows.iso作為光碟映象

-boot

-boot c

從硬體啟動

-boot d

從光碟啟動

-m-m 512

分配512m記憶體給虛擬系統

-vnc

-vnc :0

作為vnc伺服器

-cpu

-cpu ?

列出支援的cpu

-cpu core2duo

指定cpu為core2duo

-smp

-smp 2

指定虛擬機器有2個cpu

-net

-net nic

為虛擬機器網絡卡(預設為tap0)

-net tap

系統分配tap裝置(預設為tap0)1

-net nic -net tap

將虛擬機器的網絡卡eth0連線真機裡的tap0

生成映象檔案:

yao@twomoon:~$ sudo kvm-img create windows2003-x86.img 25g -f "vmdk"
安裝系統:

yao@twomoon:~$ sudo kvm -boot d -m 512 -hda ~/kvm/windows2003-x86.img -cdrom ~/software/wzmb2003.iso
執行系統:

yao@twomoon:~$ sudo kvm -boot c -m 512 -hda ~/kvm/windows2003-x86.img -net nic -net tap
可以發現多了乙個網路裝置tap0,這是系統自動建立的。

yao@twomoon:~$ lang=c ifconfig -a |grep ethernet

br0 link encap:ethernet hwaddr 2a:24:d3:aa:99:e7

eth0 link encap:ethernet hwaddr 90:fb:a6:14:cd:42

tap0 link encap:ethernet hwaddr 2a:24:d3:aa:99:e7

如果虛擬機器是linux,那麼就用ssh;如果是windows,那麼就用rdesktop。

yao@debian:~$ rdesktop -u username -p passwd 192.168.1.52 -f &
記得用ctrl-alt-enter從全屏中切回來。

LINUX 虛擬機器 設定

1,安裝vmware 2,在vmware安裝linux 3,虛擬機器配置 edit irtual network settings 選nat,記下ip位址 4,在vmware的箭頭起到linux 5,在終端輸入setup 設定命令 進入網路設定,選intel網絡卡,用前面的ip段配置ip位址和mas...

Nginx nginx虛擬機器設定

一般情況下,我們的一台機器都不會僅僅部署乙個專案,那麼這個時候需要我們設定虛擬機器來對映多個位址的解析。假設我們目前有乙個已經設定好的nginx伺服器,通過php fpm提供服務。有的時候我們不知道配置檔案在 而不同版本的linux發行版的差距又很大,那麼這個時候,就需要去找配置檔案的位置 root...

虛擬機器設定NAT

需要開啟虛擬機器網路相關服務,安裝虛擬網絡卡,還有必須安裝 vmware tools vmware虛擬機器下實現nat方式上網 1.把你的虛擬網絡卡vmnet8設定為自動獲得ip 自動獲得dns伺服器,啟用。2.把你虛擬機器中作業系統的 本地連線 也設定為自動獲得ip 自動獲得dns服 務器 在虛擬...