wiki:adherelinux/KVM_DRBL_ONE

Version 23 (modified by adherelinux, 13 years ago) (diff)

--

DRBL+KVM+ONE

【系統環境】

 CPU OS
Version Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz Debian GNU/Linux testing 6 (squeeze) (64bit)

安裝debian系統

安裝debian系統的過程已經非常人性化了.
可參考 wiki中的 debian安裝如 http://wiki.linux.org.hk/w/Install_Debian

KVM 安裝和操作

KVM 原理

KVM(Kernel-based Virtual Machine)是一個全虛擬化的技術,基於在x86硬體虛擬化下包含了(Intel VT或AMD-V)
主要技術是可以載入kernel module(kvm.ko)來提供了虛擬化的基礎設施與特定的模組(kvm-intel,kvm-amd.ko).
硬體設備支援虛擬化的CPU也透過kernel module來支援KVM,然而KVM只有負責核心與硬體HVM(hardware-assisted virtualization)
支援,也就是KVM負責VMM(Hypervisor)的事項,至於其他的硬體設備需要由qemu來模擬.

qemu 原理

qemu是由GNU所開發出來的一個模擬器,主要有兩種模擬的方式:machine emulator (User mode emulation),virtualizer(System mode).
1.machine emulator模式主要在linux下處理Wine Windows API emulator(目的是在Unix系統上提供Windows API,也就可以在Unix系統上使用Windows程式)
2.system mode模式是用來模擬各種裝置,例如儲存裝置,網路卡,USB,等等.

KVM安裝

一開始先修改使用者nchc,讓nchc有root權限

sudo su 
visudo
在root    ALL=(ALL) ALL 之後加入  nchc ALL=(ALL) ALL

利用指令檢查cpu是否支援,目前的機器幾乎都有支援.

egrep '(vmx|svm)' --color=always /proc/cpuinfo

安裝kvm,kvm-pxe,qemu.

sudo apt-get-install kvm kvm-pxe qemu libvirt-bin

載入modprobe 並重新開機

sudo modprobe kvm-intel

將使用者加入在kvm的群組中,讓nchc不用每次都用sudo來執行kvm的指令

sudo adduser nchc kvm

建立資料夾,並且下載debian.iso檔案於目錄下

mkdir KVM
cd KVM
wget http://cdimage.debian.org/debian-cd/6.0.2.1/amd64/iso-cd/debian-6.0.2.1-amd64-xfce+lxde-CD-1.iso

利用qemu來製作檔案系統名稱如 deb.img,大小為10G

qemu-img create deb.img 10G

利用剛下載的iso檔案來當作kvm虛擬光碟內的CD,並且進行安裝.

kvm -cdrom debian-6.0.2.1-amd64-xfce+lxde-CD-1.iso deb.img

安裝好之後,可以利用指令啟動image

kvm -hda deb.img -m 512M

DRBL 說明與操作

DRBL 說明

說明引用網址如下 http://drbl.nchc.org.tw/introduction/
DRBL (Diskless Remote Boot in Linux)是一個自由軟體,由國家高速網路與計算中心所開發,主要功能是安裝了此軟體的
Linux伺服器,就可以同時提供數十台電腦操作與使用管理者所需要做得就是在伺服器上安裝好Linux之後,再裝好DRBL,
用戶端電腦不需要有硬碟,不需安裝軟體,只要透過PXE網路開機,就可以直接使用了伺服器端提供的Linux了。DRBL的特色包含:

  • 支援多元化的資訊教育,與現有系統共存,電腦教室可以很方便與快速的切換作業系統 * 用戶端電腦可以不需要有硬碟,有硬碟DRBL也可以充分利用
  • 集中管理,安裝1台就等於安裝多台(~40台),下一個指令就可以對多台電腦做動作
  • 內建回復系統,可以同時複製或是還原多台(~40台)用戶端電腦硬碟裡的作業系統(Linux, MS Windows 9X/2K/XP皆可)

安裝步驟

  • 網路設定如下:

準備兩張網路卡,一張為eth0,另外一張eth1

設定網路卡,編輯/etc/network/interface設定如下
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 140.110.134.53
netmask 255.255.255.0
gateway 140.110.134.254

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0

編輯/etc/resolv.conf,內容如下
nameserver 140.110.16.1

  • 安裝流程

如果你的套件支援apt-key金鑰管理,請在terminal下指令

wget -q http://drbl.nchc.org.tw/GPG-KEY-DRBL -O- | sudo apt-key add -

修改 /etc/apt/source.list,加入一行(在最後面)

deb http://free.nchc.org.tw/drbl-core drbl stable

更新套件

sudo apt-get update

安裝DRBL

sudo apt-get install drbl

設定client端的kernel與安裝軟體套件

sudo /opt/drbl/sbin/drblsrv -i

佈署client端

sudo /opt/drbl/sbin/drblpush -i

以上是把DRBL佈署給client端,這時候把每台client端利用PXE開機畫面如下

  • 注意!!!當你進去client端時,你會看到家目錄跟server端是一樣的.我們可以檢查client端是否可以開啟kvm
client$ kvm -hda deb.img -m 512M

這時候terminal會出現以下訊息:open /dev/kvm: No such file or directory Could not initialize KVM, will disable KVM support. 我們發現其實kernel module 沒有載入進去.我們可以在每個client端下指令,或者在server端使用指令drbl-doit(可讓每個client端下同樣的指令) modprobe kvm-intel.

client$ sudo modprobe kvm-intel
server$ sudo /opt/drbl/bin/drbl-doit modprobe kvm-intel

以上步驟可以讓kvm在每台機器運作.oned and scheduler started

opennebula 說明與操作

openebula 介紹

openebula 可以自己打造基礎設施即服務(Iass)或者Hybrid cloud,一般而言會建立私有雲(Private Cloud),結合一些本地的資源延伸到Hybrid cloud.通常會是在私有雲上跑虛擬化的服務. openebula 主要可以管理功能,例如:管理虛擬化,網路,印象檔,管理資源..等等.

openebula2.9.85 安裝

安裝openebula 所需要的套件

$sudo apt-get install libcurl3 libmysqlclient16 libruby1.9.1 libsqlite3-ruby1.9.1  libxmlrpc-c3 mysql-common ruby ruby1.9.1 genisoimage libxml2-dev

下載 source code

$wget http://dev.opennebula.org/attachments/download/471/opennebula-2.9.85.tar.gz
$tar zxvf opennebula-2.9.85.tar.gz 

編譯與安裝

$cd opennebula-2.9.85/
$scons
$mkdir /home/nchc/one
$./install.sh  -d /home/nchc/one/

設定openebula路徑

$emacs /home/nchc/.bashrc
把以下的路徑加入進去.bashrc裡面
export ONE_LOCATION=/home/nchc/one
export ONE_XMLRPC=http://localhost:2633/RPC2
export PATH=$ONE_LOCATION/bin:$PATH
export ONE_AUTH=/home/nchc/one/.one/one_auth
$mkdir /home/nchc/one/.one
$echo "nchc:ilovedrbl" >> /home/one/.one/one_auth
$source ~/.bashrc
$echo $ONE_AUTH (下指令檢查路徑是否存在,若存在會出現如下)
/home/nchc/one/.one/one_auth
$echo $ONE_LOCATION  (下指令檢查路徑是否存在,若存在會出現如下) 
/home/nchc/one

設定oned.conf檔案

125 IM_MAD = [
126       name       = "im_kvm",
127       executable = "one_im_ssh",
128      arguments  = "im_kvm/im_kvm.conf" ]

196 VM_MAD = [
197     name       = "vmm_kvm",
198     executable = "one_vmm_kvm",
199     arguments  = "-t 15 -r 0 kvm",
200     default    = "vmm_kvm/vmm_kvm.conf",
201     type       = "kvm" ]

259      TM_MAD = [               
260      name       = "tm_nfs",                                               
261      executable = "one_tm",
262      arguments  = "tm_nfs/tm_nfs.conf" ]

268 #    TM_MAD = [                
269 #    name       = "tm_ssh",
270 #    executable = "one_tm",
271 #    arguments  = "tm_ssh/tm_ssh.conf" ]

Attachments (3)

Download all attachments as: .zip