1. 程式人生 > >在Ubuntu上安裝KVM並搭建虛擬環境

在Ubuntu上安裝KVM並搭建虛擬環境

1)  兩臺計算機,一臺是操作計算機Client, 一臺是伺服器Server

Client: 膝上型電腦, Win7旗艦版,64位,內網ip: 192.168.1.101

Server(Host): 伺服器, Ubuntu 12.04LTS 64位,2核CPU,4G記憶體,內網ip:192.168.1.10,

2) 在server啟動時,進入BIOS中開起CPU虛擬化的支援

進入BIOS中,在config –> CPU選項中

  • Intel(R) Virtualization Technology (Enabled)
  • Intel(R) VT-d Feature (Enabled)

不同BIOS選單稍有不同。

3) Server上,先安裝Openssh-server,Client才能連線

~ sudo apt-get install openssh-server

Clinet通過Putty回家連線Server。

注:以下的所有操作都通過SSH進行。

4) Server系統環境

~ uname -a
Linux conan 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
~ cat /etc/issue
Ubuntu 12.04.2 LTS \n \l

5) 檢視CPU的虛擬化支援

~ egrep 'svm|vmx' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dtherm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dtherm tpr_shadow vnmi flexpriority

我機器是intel的CPU,可以檢視vmx的標識

6) Server上,配置ubuntu下載源sources.list,我用的是sohu源。

~ sudo vi /etc/apt/sources.list
deb http://mirrors.sohu.com/ubuntu/ precise main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted
deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb http://mirrors.sohu.com/ubuntu/ precise universe
deb-src http://mirrors.sohu.com/ubuntu/ precise universe
deb http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb http://mirrors.sohu.com/ubuntu/ precise multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted
deb http://mirrors.sohu.com/ubuntu/ precise-security universe
deb-src http://mirrors.sohu.com/ubuntu/ precise-security universe
deb http://mirrors.sohu.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-security multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

#更新源
~ sudo apt-get update

2. 安裝KVM軟體

1) Server上,安裝KVM及virt管理軟體

~ sudo apt-get install kvm qemu
~ sudo apt-get install virtinst python-libvirt virt-viewer virt-manager

在ubuntu上安裝,真的很簡單。

3. 配置橋接網絡卡

1) 在這裡我們使用網絡卡橋接的方式

~ sudo apt-get install bridge-utils

2) 檢視網絡卡的設定

~ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:25ff:fea1:99fc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:736674 errors:0 dropped:0 overruns:0 frame:0
TX packets:1098750 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63783787 (63.7 MB) TX bytes:1540374899 (1.5 GB)
Interrupt:20 Memory:fc200000-fc220000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1156 errors:0 dropped:0 overruns:0 frame:0
TX packets:1156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:114090 (114.0 KB) TX bytes:114090 (114.0 KB)

virbr0 Link encap:Ethernet HWaddr be:65:ec:88:86:3d
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

3) 已有的網絡卡

  • eth0是直接插入網線的乙太網卡,
  • lo是本地網路,本機內部資源
  • virbr0是剛才我們裝完KVM後,自己生成的虛擬網絡卡

4) 網絡卡橋接
我們增加一個叫br0的虛擬網絡卡,讓這個網絡卡可以和eth0乙太網的網絡卡做橋接

~ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0

儲存,重起網絡卡設定

~ sudo /etc/init.d/networking restart

再檢視網絡卡的設定

~ ifconfig
br0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:25ff:fea1:99fc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:91 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6260 (6.2 KB) TX bytes:15470 (15.4 KB)

eth0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:605 errors:0 dropped:0 overruns:0 frame:0
TX packets:425 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:112441 (112.4 KB) TX bytes:61529 (61.5 KB)
Interrupt:20 Memory:fc200000-fc220000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:36 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2100 (2.1 KB) TX bytes:2100 (2.1 KB)

virbr0 Link encap:Ethernet HWaddr 2a:b8:36:cf:cc:c6
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

這個時候eth0,已經沒有具體的IP地址。IP地址出在了br0的虛擬網上面。

我們ping一下公網ip,看看是不是通的。

~ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=51.7 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=50.8 ms

4. 建立虛擬機器

通過virt虛擬機器管理軟體,建立虛擬機器(Guest)。

上傳2個安裝映象到Server: u1204.iso, xp.iso

放在/home/conan/os目錄下面。

1)建立Guest1, Ubuntu 64位LTS 12.04版本(命令列,無視覺化介面)

把u1204.iso檔案mount一個目錄

~ sudo mount -o loop /home/conan/os/u1204.iso /home/conan/os/ubuntu
~ ls /home/conan/os/ubuntu
boot dists EFI isolinux pics preseed ubuntu
cdromupgrade doc install md5sum.txt pool README.diskdefines

建立虛擬機器

~ sudo virt-install --connect=qemu:///system \
--name g1 \
--ram 2048 \
--vcpus=2 \
--os-type=linux \
--os-variant=ubuntuprecise \
--accelerate \
--hvm \
--disk path=/home/conan/os/g1.img,size=6,bus=virtio \
--location /home/conan/os/ubuntu \
--extra-args='console=tty0 console=ttyS0' \
--network bridge=br0,model=virtio \
--graphics none

進入安裝介面

lqqqqqqqqqqqqqqqqqqqqqqqu [!!] Select a language tqqqqqqqqqqqqqqqqqqqqqqqqk
x x
x Choose the language to be used for the installation process. The x
x selected language will also be the default language for the installed x
x system. x
x x
x Language: x
x x
x C x
x English x
x x
x <Go Back> x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
<Tab> moves; <Space> selects; <Enter> activates buttons

安裝系統

lqqqqqqqqqqqqqqqqqqqqqu [!] Configure the network tqqqqqqqqqqqqqqqqqqqqqk
x x
x Please enter the hostname for this system. x
x x
x The hostname is a single word that identifies your system to the x
x network. If you don't know what your hostname should be, consult your x
x network administrator. If you are setting up your own home network, x
x you can make something up here. x
x x
x Hostname: x
x x
x localhost____________________________________________________________ x
x x
x <Go Back> <Continue> x
x x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
<Tab> moves; <Space> selects; <Enter> activates buttons

安裝完成

2). 建立Guest2, Ubuntu 64位LTS 12.04版本(通過VNC,有視覺化介面)

在server端,我要開啟vnc_listen的埠支援

~ vi /etc/libvirt/qemu.conf
#開啟註釋
vnc_listen="0.0.0.0"

重啟virt軟體

~ sudo /etc/init.d/libvirt-bin restart
~ netstat -nlt|grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

我們需要使用到Xming和putty配合,可以讓putty遠端傳輸的VNC訊號通過Xming顯示出來。

在putty裡面,我們要修改一下配置。

putty1

putty2

啟動Xming軟體

xming

執行命令

~ sudo virt-install --connect=qemu:///system \
--name g2 \
--ram 2048 \
--vcpus=2 \
--os-type=linux \
--os-variant=ubuntuprecise \
--accelerate \
--hvm \
--disk path=/home/conan/os/g2.img,size=6,bus=virtio \
--cdrom /home/conan/os/u1204.iso \
--network bridge=br0,model=virtio \
--graphics vnc

xming-1_1

通過Xming顯示了VNC的介面,ubuntu安裝畫面

xming-1_2

安裝完成

3. 建立Guest3, Winxp(通過VNC,有視覺化介面)

注1:這裡的winxp必須安裝版,ghost是不行的。

注2:windows的安裝,必須要使用VNC介面方式,沒有命令直接安裝的方法

執行命令

sudo virt-install --connect=qemu:///system \
--name g3 \
--ram 1024 \
--vcpus=1 \
--os-type=windows \
--os-variant=winxp \
--accelerate \
--hvm \
--disk path=/home/conan/os/g3.img,size=4 \
--cdrom /home/conan/os/xp.iso \
--network bridge=br0,model=ne2k_pci \
--graphics vnc

xming-2_1

通過Xming顯示了VNC的介面,WinXP安裝畫面

xming-2_2

安裝完成

虛擬機器互相通訊

我們啟動Guest1(ubuntu), Guest3(winxp).

  • Client: ip: 192.168.1.101
  • Server: ip: 192.168.1.10
  • Guest1: ip: 192.168.1.11
  • Guest3: ip: 192.168.1.12

他們都在同一網段,相互可以ping通,也可以相互呼叫。

如果你實驗結果和我一樣,那麼恭喜你,已經實現了通過KVM搭建自己的VPS過程。

錯誤解決方案

1. 錯誤程式碼:

libvirtError: internal error Process exited while reading console log output: char device redirected to /dev/pts/4
Could not access KVM kernel module: Permission denied
failed to initialize KVM: Permission denied
No accelerator found!

解決辦法:

~ sudo rmmod kvm_intel
~ sudo modprobe -r kvm_intel
~ sudo modprobe kvm_intel nested=1

http://blog.fens.me/vps-kvm/

相關推薦

Ubuntu安裝KVM搭建虛擬環境

1)  兩臺計算機,一臺是操作計算機Client, 一臺是伺服器Server Client: 膝上型電腦, Win7旗艦版,64位,內網ip: 192.168.1.101 Server(Host): 伺服器, Ubuntu 12.04LTS 64位,2核CPU,4G記憶體,內網ip:192.168.1.10

centos7安裝kvm搭建虛擬

boot rip idg emctl ges 否支持 war lsm otp vmware處理器配置: 查看cpu是否支持虛擬化: egrep ‘(vmx|svm)‘ /proc/cpuinfo 安裝軟件: yum -y install qemu-kvm li

ubuntu安裝KVM使用virt-manager安裝虛擬機器

【1】檢查系統是否支援虛擬化 egrep "(svm|vmx)" /proc/cpuinfo 輸出如下圖則表示支援: [email protected]:~/下載$ egrep "(svm|vmx)" /proc/cpuinfo flags : fp

在Linux安裝XAMPP配置虛擬主機備忘

1. 到https://www.apachefriends.org/zh_cn/index.html去下載最新版本,注意x86還是x64 2. 下載存放到任意位置,我這裡存到 /home下,接下來修改安裝檔案許可權,為方便直接賦予777  chmod 777 xampp-linux-

使用Anaconda安裝tensorflow虛擬環境下使用pycharm執行程式

1.安裝Anaconda anaconda的使用總結 下載: * // Anaconda3.x 下載 1. https://www.anaconda.com/download/ * // PyCharm 下載 2. https://www.jetbrains.com/pycharm/

ubuntu安裝JDK搭建activeMQ

安裝JDK,網上有人說activeMQ支援持JDK1.7及以上版本,未實際測試,保險起見我這裡直接安裝JDK1.7。 #apt-get install openjdk-7-jdk 2.設定環境變數 修改檔案 vi /etc/environment JAVA_HO

離線情況下,在Centos6.4 64bit作業系統安裝git搭建git伺服器

最近閒來無事,想搭建git伺服器玩玩,現就詳細介紹一下搭建過程   所需條件: 1:centos6.4 64bit系統 2:git的tar.gz壓縮包 可以去官網上去下載   配置本地yum源: 在centos6.4安裝完成後,且無法連線網路的情況

CentOS6安裝KVM管理虛擬機器

這篇文章主要講在centos6上安裝KVM,並建立虛擬機器,實現對虛擬機器的管理 一、整體架構說明 物理機:物理機的系統選擇CentOS6.8的minimal(最小化)版本。 實現KVM虛擬化後安裝的虛擬機器:為了方便起見,這邊也選擇安裝CentOS6.8。 二、準備工作 http://

Ubuntu安裝matlab2014a編譯caffe的matlab介面matcaffe

    由於要看看PSPNet的效果,想先用caffe的matlab介面跑下原始碼看看效果。第一步:下載好Matlab2014a的映象檔案iso,然後掛載到Linux上。sudo mkdir /media/matlab mount -o loop path/filenam.i

ubuntu編譯安裝opencv3到anaconda虛擬環境(virtual env同理)

背景 最近在做視訊的物體追蹤,要用到視訊讀取函式和Tracker類,在pip和 conda安裝的cv2中都沒有。只好自己DIY安裝Opencv到anaconda中。 Step 1 安裝需要的庫. sudo apt-get install cmake gcc g

Ubuntu 17.10 用 apt 搭建 lamp 環境安裝 phpmyadmin、redis 及擴展、mysql 擴展、開啟錯誤提示、配置虛擬主機

www data 4.2 pass ech span grace 參考 配置文件 最終環境: Ubuntu17.10、Apache2.4.27、MySQL5.7.20、PHP7.1 1. 安裝 apache 官方源有,直接安裝: sudo apt-get

centos-安裝python3.6環境配置虛擬環境

如果 內容 lob python環境 chang 安裝軟件 too mirrors tgz python3.6下載地址:https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux下python環境配置 統一目

caffe - windows配置 C++ 開發環境 & ubuntu安裝其它深度學習框架

過程 ubuntu 解決方案 ubun 核心 conda pytho 配置 caff windows 上配置C++開發環境的過程: ubuntu上配置caffe、tensorflow、mxnet的過程 基於 anaconda2 1、caffe pip不是

ubuntu服務器安裝mysql配置外網訪問

style 測試 data bin 命令 con 證明 編輯 nbsp 1.更新系統,如果不運行該命令,直接安裝mysql,會出現"有幾個軟件包無法下載 sudo apt-get update 2.安裝mysql sudo apt-get install mys

CentOS7安裝KVM部署虛擬機器

一、虛擬機器部署前準備 安裝KVM 宿主機 準備一臺虛擬機器並安裝centos系統 配置基本要求:記憶體2G,處理器2核,硬碟10G,支援虛擬化。 掛載新加硬碟 # fdisk -l # fdisk /dev/sdb # mkfs.ext4 /dev/sdb1 # vim /etc/fst

Centos7安裝postgis配置環境外網訪問的教程

安裝postgis的rpm包管理 安裝eprl包管理 yum -y installepel-release 安裝各種 yum install postgresql10-server yum install postgis24_10 yum install post

Ubuntu 12.04安裝Hadoop執行

Ubuntu 12.04上安裝Hadoop並執行 作者:凱魯嘎吉 - 部落格園 http://www.cnblogs.com/kailugaji/ 在官網上下載好四個檔案 在Ubuntu的/home/wrr/下建立一個資料夾java,將這四個檔案拷到Ubuntu的/home/wrr/jav

Ubuntu 12.04安裝MySQL執行

 Ubuntu 12.04上安裝MySQL並執行 作者:凱魯嘎吉 - 部落格園 http://www.cnblogs.com/kailugaji/ 安裝MySQL資料庫 sudo apt-get update sudo apt-get install mysql-serve

ubuntu 12.04安裝HBase執行

Ubuntu 12.04上安裝HBase並執行 作者:凱魯嘎吉 - 部落格園 http://www.cnblogs.com/kailugaji/ 一、HBase的安裝 在官網上下載HBase-1.1.2,將其解壓到/home/wrr資料夾下 配置環境變數 [email 

ubuntu 12.04安裝HBase運行

auto 操作 簡單 ali tar 刪除數據 oot 了解 cnblogs Ubuntu 12.04上安裝HBase並運行 作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/ 一、HBase的安裝 在官網上下載HBase-1.1