KVM虛擬機管理——虛擬機建立和操做系統安裝

1. 概述

KVM的管理有如下幾種方式:node

  • 圖形界面
  • 命令行
  • API

本篇博客主要是從圖形界面和命令行,兩種KVM虛擬機管理方式,來配置虛擬機,並安裝操做系統。linux

2. 交互式安裝

交互式安裝,是區別自動化安裝的安裝方式。交互式安裝可以給用戶一個很大的自定義空間,固然採用ks.cfg文件的自動化部署也有很大的空間。
交互式安裝,不管是從本地加載系統鏡像,仍是從遠程(HTTP/FTP/NFS)下載鏡像,均是同一個安裝界面。不一樣的是從哪一個URL下載而已。shell

2.1 圖形化-本地安裝

圖形化的本地安裝時,virt-mangeer是相似於VMware workstation同樣的軟件管理工具。可以實現虛擬設備的分配和配置。
這裏以建立一個KVM虛擬機,安裝CentOS6.5操做系統爲例。windows

2.1.1 圖形化本地CDROM安裝

圖形化本地CDROM的安裝,與VMware workstation經過CDROM載入系統鏡像同樣。這裏須要console事前已經經過loop形式,裝載了CentOS6.5的系統鏡像。
這種安裝方式比較適合本地沒有系統鏡像,可是卻載入了系統鏡像的有物理光驅等使用場景。[至關於使用物理光驅]
具體過程,參見博客《》centos

2.2.2 圖形化本地鏡像安裝

圖形化本地鏡像安裝,是在圖形界面啓動以後,選擇文件系統上的系統鏡像。
這種安裝方式比較適合本地沒有CDROM,可是有系統鏡像文件的使用場景,系統鏡像也能夠經過其餘協議上傳。[至關於創建虛擬光驅]
具體過程,參見博客《virt-manager圖形化配置虛擬機並安裝操做系統.mdbash

2.2 命令行-本地安裝

命令行管理工具爲:virt-install和virsh,前者是安裝工具,後者是shell管理工具。服務器

注:virt-install和virsh的help文檔,參見《virt-install.help.md》和《virsh.help.md》網絡

2.2.1 命令行CDROM安裝

具體操做,參見博客《virt-install命令行配置虛擬機並安裝操做系統.md》
採用這種方式,有兩種狀況:socket

  • graphisc vnc
  • graphisc none
  • nographisc

採用graphisc vnc方式時,和virt-manger無異,均會啓動圖形界面來安裝操做系統。
採用graphisc none方式時,會以文本的形式安裝,文本輸出到當前終端界面。
採用此種方式配置虛擬機並安裝操做系統時,不適合批量部署,由於未提供自動化配置文件。
可是卻十分符合自定義標準,或者安裝windows操做系統工具

2.3 圖形化-網絡安裝

圖形化網絡安裝時,須要提早配置好支持HTTP/FTP/NFS協議的系統鏡像站點。支持三大協議的系統鏡像站點配置,參見博客《虛擬機console基礎環境配置——系統鏡像站點配置.md
在部署好系統鏡像站點以後,三大協議的系統鏡像站點分別爲:

只須要在圖形化配置過程當中,將對應的URL修改成上述內容便可。這樣的安裝方式,只不過是從遠程下載系統鏡像。
與此對應,本系列博文將自動化配置文件ks.cfg

2.3.1 圖形化HTTP鏡像

圖像化HTTP鏡像站點,須要作出的選擇部分,以下圖:

2.3.2 圖形化FTP鏡像

2.3.3 圖形化NFS鏡像

圖形化NFS鏡像站點,配置部分以下圖:

2.4 命令行-網絡安裝

根據上面的工做,命令行在配置了graphics vnc的狀況下,一樣會打開圖像界面來交互式安裝。命令行與圖形化安裝的最大區別在於,是否配置graphics vnc模式

若是採用nographics,而且配置了ks.cfg文件以後,即可非交互後臺靜默安裝

下面的shell內容,是博主寫在腳本里的內容,後跟虛擬機的number,即可建立node${number}

2.4.1 命令行HTTP鏡像

安裝腳本,remote_http.sh,使用方式如,bash remote_http.sh 11

#!/bin/bash
virt-install \
--connect qemu:///system \
--name node$1 \
--vcpus sockets=2,cores=2,threads=1 \
--ram 512 \
--disk path=/mnt/data/vhost/node$1.img,size=8 \
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio \
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio \
--location=http://192.168.80.8/osimage/centos6.5/ \
--graphics vnc,port=59$1,keymap=us \

2.4.2 命令行FTP鏡像

安裝腳本,remote_ftp.sh,使用方式如,bash remote_ftp.sh 11

#!/bin/bash
virt-install \
--connect qemu:///system \
--name node$1 \
--vcpus sockets=2,cores=2,threads=1 \
--ram 512 \
--disk path=/mnt/data/vhost/node$1.img,size=8 \
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio \
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio \
--location=ftp://192.168.80.8/pub/osimage/centos6.5/  \
--graphics vnc,port=59$1,keymap=us \

2.4.3 命令行NFS鏡像

安裝腳本,remote_http.sh,使用方式如,bash remote_nfs.sh 11

#!/bin/bash
virt-install \
--connect qemu:///system \
--name node$1 \
--vcpus sockets=2,cores=2,threads=1 \
--ram 512 \
--disk path=/mnt/data/vhost/node$1.img,size=8 \
--network bridge=br0,mac=00:00:00:80:00:$1,model=virtio \
--network bridge=br0,mac=00:00:00:10:00:$1,model=virtio \
--location=nfs:192.168.80.8:/mnt/cdrom \
--graphics vnc,port=59$1,keymap=us \

3. 自動化安裝

自動化安裝,不只對一個機器實現秒交互安裝,也可以實現批量安裝。前提是配置了PXE無人值守環境。這個環境主要包括四部分:

  • DHCP環境

    用於給客戶機分配IP

  • TFTP環境

    用於客戶機下載引導程序

  • 系統站點

    用於客戶機下載完整鏡像

  • 自動化配置文件

    用於自動配置安裝過程

3.1 圖形化-PXE安裝

3.2 命令行-PXE安裝

4. 鏡像安裝與克隆

和VMware workstation同樣,能夠經過CDROM設備,進行操做系統的安裝,前提是有系統鏡像。對於KVM而言,既可使用圖像化安裝方式,也可使用命令行安裝方式。
圖像化安裝方式,比較適合交互式的自定義安裝;而命令行模式的,比較適合批量自動化安裝(有自動化配置文件ks.cfg)。

2.1 本地圖像化CDROM安裝

本地圖像化安裝須要啓動圖形化。啓動圖像化以後,安裝過程參見博客《virt-manager圖像化安裝操做系統.md》

本篇博客啓動圖形化過程當中報錯,具體解決方式參見博客《Error【0004】:virt-manager打開報錯.md》

2.2 本地命令行鏡像文件安裝

3. 圖形化網絡安裝

3.1 location方式安裝

location安裝方式,即從遠程HTTP/FTP/NFS服務器上獲取系統鏡像。自動化配置文件ks.cfg能夠經過指定內核參數,從遠程HTTP/FTP/NFS上獲取。
location安裝方式能夠從內核指定參數,配置安裝的虛擬機可以從控制檯直接登錄,即virsh console xxxx方式登錄。

#!/bin/bash
NODE=$1
if [ "$#" -ne "1" ];then
    echo "指定虛擬機num." && echo 0;
fi
virt-install \
--name node$NODE \
--vcpus sockets=2,cores=2,threads=1 \
--ram 512 \
--location="" \
--extra-args="" \
--os-type linux \
--virt-type kvm \
--disk path=/mnt/data/vhost/node$NODE.img,size=10 \
--network bridge=br0,model=virtio,mac=00:00:00:80:00:$NODE \
--network bridge=br1,model=virtio,mac=00:00:00:10:00:$NODE \
--graphics vnc,listen=0.0.0.0,port=59$NODE,keymap=us \

3.2 PXE預啓動安裝

相關文章
相關標籤/搜索