KVM2-使用qcow2管理KVM虛擬機器磁碟
1、建立一個基礎映象檔案
[[email protected] images]# pwd /var/lib/libvirt/images //虛擬機器預設建立的位置 [[email protected] images]# qemu-img create -f qcow2 rhel6test.img 80G Formatting 'rhel6base.img', fmt=qcow2 size=85899345920 encryption=off cluster_size=65536 [[email protected] images]#
vim ~/bin/install-rhel6 [[email protected] images]# cat ~/bin/install-rhel6 #!/bin/bash /usr/sbin/virt-install \ --vnc \ --noautoconsole \ --name=rhel6test \ --ram=1024 \ --arch=x86_64 \ --vcpus=1 \ --os-type=linux \ --os-variant=rhel6 \ --hvm \ --accelerate \ --disk=/var/lib/libvirt/images/rhel6test.img \ -m 52:54:00:00:01:02 \ -w bridge=br0 \ --location=ftp://192.168.3.1/rhel6 \ --extra-args="ks=ftp://192.168.3.1/ks.cfg" [[email protected] images]# |
2、安裝系統到映象檔案
[[email protected]]# install-rhel6
Startinginstall...
Retrievingfile vmlinuz... | 7.7 MB 00:00 ...
Retrievingfile initrd.img... | 60 MB 00:00 ...
Creatingdomain... | 0 B 00:00
Domaininstallation still in progress. You can reconnect to
theconsole to complete the installation process.
3、基於基礎映象檔案建立增量映象檔案---克隆機器
[[email protected]]# qemu-img create -b rhel6test.img -f qcow2 rhel6testnode1.img
Formatting'rhel6testnode1.img', fmt=qcow2 size=85899345920 backing_file='rhel6test.img'encryption=off cluster_size=65536
4、匯出原始虛擬機器的配置檔案說明
檢視虛擬機器rhel6test的配置資訊:[[email protected] images]# virsh dumpxml rhel6test
將配置資訊作為模板匯出:
[[email protected]]# virsh dumpxml rhel6test > /tmp/rhel6testnode1.xml
5、修改配置檔案,以滿足克隆虛擬機器的要求
[[email protected]]# uuidgen
3b69e07e-95a9-48eb-b95d-52507ad864e0
[[email protected]]# vim /tmp/rhel6testnode1.xml //一共修改四處
<name>rhel6testnode1</name>
<uuid>3b69e07e-95a9-48eb-b95d-52507ad864e0</uuid>
<source file='/var/lib/libvirt/images/rhel6testnode1.img'/>
<mac address='52:54:00:00:01:03'/>
6、根據配置檔案定義新的克隆虛擬機器
[[email protected]]# virsh define /tmp/rhel6testnode1.xml
附:實現自動建立克隆虛擬機器的指令碼:等同步驟3-6
[[email protected] ~]# vim bin/clone-rhel6 [[email protected] ~]# cat bin/clone-rhel6 #!/bin/bash qemu-img create -b /var/lib/libvirt/images/rhel6test.img -f qcow2 /var/lib/libvirt/images/rhel6testnode1.img virsh dumpxml rhel6test > /tmp/rhel6test.xml sed -i '/<name>rhel6test/s/rhel6test/rhel6testnode1/' /tmp/rhel6test.xml sed -i "/<uuid>/s/<uuid>.\{36\}/<uuid>$(uuidgen)/" /tmp/rhel6test.xml sed -i "/rhel6test\.img/s/rhel6test\.img/rhel6testnode1\.img/" /tmp/rhel6test.xml sed -i "/mac address/s/00'/03'/" /tmp/rhel6test.xml virsh define /tmp/rhel6test.xml |
經過優化後的指令碼
實現功能:
1,支援判斷使用者輸入的字元判斷,可用範圍為(1-254)
2,多餘輸出資訊匯入到/dev/null中
3,支援輸出錯誤編碼$?
4,如果需要修改原虛擬機器名,直接修改$BASE_VM的值即可
5,支出輸出資訊[OK]高亮顯示
[[email protected] ~]# cat bin/clone-rhel6.sh #!/bin/bash IMG_DIR=/var/lib/libvirt/images //定義變數,虛擬機器檔案存放的位置 BASE_VM=rhel6test //定義變數,基礎虛擬機器的名字 E_NOINPUT=65 //定義輸出錯誤編碼 E_NOTNUM=66 E_OUT_OF_RANGE=67 E_VM_EXISTS=68 read -p "please input a vm number(0-254): " NEW_VMNU //互動式輸入增量虛擬機器的編號 if [ -z $NEW_VMNU ]; then //判斷編號是否為空 echo "You must input a number." exit $E_NOINPUT fi if [ $NEW_VMNU != $(echo "$NEW_VMNU*1" | bc) ]; then //判斷編號是否為字元 echo "You must input a number." exit $E_NOTNUM fi if [ $NEW_VMNU -lt 1 -o $NEW_VMNU -gt 254 ]; then //判斷編號是否超出了1-254範圍 echo "You must input a number between 1 and 254" exit $E_OUT_OF_RANGE fi NEW_VM=${BASE_VM}node${NEW_VMNU} //定義增量虛擬機器的名字 if [ -e $IMG_DIR/$NEW_VM.img ]; then //判斷增量虛擬機器編號是否重複 echo "$NEW_VM already exists" exit $E_VM_EXISTS fi echo -en "creating disk image......\t\t" //-en選項,不換行輸出,為了連線下面的ok qemu-img create -b $IMG_DIR/$BASE_VM.img -f qcow2 $IMG_DIR/$NEW_VM.img &> /dev/null echo -e "\e[32m[OK]\e[0m" //高亮顯示輸出內容:[ok] echo //echo後面不接選項和引數,輸出空行 virsh dumpxml $BASE_VM > /tmp/$BASE_VM.xml //生成克隆虛擬機器XML檔案 MAC_ADDR=$(echo "obase=16;$NEW_VMNU" | bc) //定義mac地址後兩位數字 sed -i "/<name>$BASE_VM/s/$BASE_VM/$NEW_VM/" /tmp/$BASE_VM.xml //XML檔案需要修改的四處 sed -i "/<uuid>/s/<uuid>.\{36\}/<uuid>$(uuidgen)/" /tmp/$BASE_VM.xml sed -i "/$BASE_VM\.img/s/$BASE_VM\.img/$NEW_VM\.img/" /tmp/$BASE_VM.xml sed -i "/mac address/s/00'/$MAC_ADDR'/" /tmp/$BASE_VM.xml virsh define /tmp/$BASE_VM.xml &> /dev/null //定義新的虛擬機器 echo "$NEW_VM created successful !!!" [[email protected] ~]# |
相關推薦
KVM2-使用qcow2管理KVM虛擬機器磁碟
1、建立一個基礎映象檔案 [[email protected] images]# pwd /var/lib/libvirt/images //虛擬機器預設建立的位置 [[email protected] images]#
KVM虛擬機器磁碟空間擴容
一,環境說明: add_disk.img磁碟映像檔案原本是2G大小。 二,在宿主機上操作對虛擬機器磁碟空間擴容 # virsh blockresize --domain template --path /iptv/src/add_disk.img --size 4G
更改KVM虛擬機器磁碟大小
之前建立的一個KVM虛擬機器最近發現某一個分割槽空間快用完了,參照部落格 http://blog.csdn.net/ubuntu64fan/article/details/12385707 熟練的將虛擬機器shutdown後準備擴容。因為虛擬機器系統涉及到公司資訊,就不截
Virsh管理kvm虛擬機器認證和加密
前提:使用virsh管理kvm虛擬機器的時候出現需要使用密碼的情況 [[email protected]1 ~]# virsh list --all Please enter you
一次 KVM 虛擬機器磁碟佔滿的排查過程
# 一次 KVM 虛擬機器磁碟佔滿的排查過程 KVM 虛擬機器系統為 CentOS,檔案系統為 XFS。 現象如下: 1. 使用 `df -h` 命令發現磁碟剩餘空間為30k(總大小為30G),使用 `df -i` 發現 inode 可用數量為 800(總數為18w,正常狀態為1000w+) 2. 虛擬機
KVM虛擬機器安裝、管理
一、詳解1、虛擬化產品對比表2、KVM簡介KVM全稱Kernel-based Virtual Machine,翻譯過來是基於核心的虛擬機器,實際它是Linux核心的一個模組。該模組將Linux變為一個Hypervisor,由Quramnet開發,支援x86、s390、Powerpc等CPU。它使用Linux自
給kvm虛擬機器增加磁碟
一,virsh attach-disk子命令 [[email protected] src]# virsh help attach-disk NAME attach-disk - attach disk device SYNOPSIS attach
單磁碟(根和資料放在不同分割槽)建立第一臺kvm虛擬機器、克隆虛擬機器
一,建立第一臺虛擬機器( 此步是在宿主機系統上進行的操作; 目的是作為克隆虛擬機器的模板): 1,虛擬機器磁碟規劃 磁碟A:大小260G 分割槽規劃,swap分割槽2048M,boot分割槽300M,根分割槽60G(lvm+xfs),資料分割槽(
使用qemu-img管理虛擬機器磁碟映象(建立虛擬機器,虛擬機器快照)
一臺虛擬機器的核心就是一個磁碟映象,這個映象可以理解成虛擬機器的磁碟,裡面有虛擬機器的作業系統和驅動等重要檔案。本文主要介紹建立虛擬機器的一般過程。 建立虛擬機器映象 要在一臺host上跑起一個虛擬機器一般需要兩個步驟: 第一步:建立虛擬機器映象
Linux下KVM虛擬機器基本管理及常用命令
說明:可能有重複 一、KVM的基本管理 1、檢視KVM虛擬機器配置檔案 #Kvm虛擬機器預設配置檔案位置 [[email protected] qemu]# pwd /etc/libvirt/qemu [[email protected] qe
kvm虛擬機器管理(建立、連線)
建立虛機、遠端管理kvm虛機、virsh命令列下管理虛機、、kvm通過virsh console 連入虛擬機器 一、建立虛機 1)開啟虛擬化管理器 2)選擇ISO安裝
kvm熱新增磁碟,且停機重啟kvm虛擬機器,檔案資訊不丟失
筆者centos7.5系統參考:http://www.cnblogs.com/pigdragon/p/9506771.html#宿主機上建立一個磁碟檔案qemu-img create -f qcow2 test2_add01.qcow2 5G#宿主機上熱新增該磁碟到對應虛擬主機中去virsh attach-d
KVM虛擬機器centos7磁碟擴容
1、增加映象磁碟容量 qemu-img resize cos7-86.img +100G 2、重啟虛擬機器 virsh shutdown cos7-86 virsh start cos7-86 3、進去虛擬機器檢視分割槽 fdisk -l 4、分割槽並修
kvm虛擬化學習筆記(四)之kvm虛擬機器日常管理與配置
KVM虛擬機器的管理主要是通過virsh命令對虛擬機器進行管理。 1. 檢視KVM虛擬機器配置檔案及執行狀態 (1) KVM虛擬機器預設配置檔案位置: /etc/libvirt/qemu/ autostart目錄是配置kvm虛擬機器開機自啟動目錄。 (2) virsh命令幫助 # virsh -help
Centos7.4安裝kvm虛擬機器(使用virt-manager管理)
1)檢查cpu是否支援虛擬化 [[email protected] ~]# grep vmx /proc/cpuinfo 如果有vmx資訊輸出,就說明支援VT;如果沒有任何的輸出,說明你的cpu不支援,將無法使用KVM虛擬機器。 2)確保BIOS裡開啟虛擬化功能,即檢視是否載入KVM模組 [[e
給kvm中的虛擬機器磁碟擴容
參考連結: http://blog.sina.com.cn/s/blog_967817f20102v2a6.html http://blog.chinaunix.net/uid-20767811-id-5015333.html?_t=t 測試用的kvm虛擬機器磁碟空間只有2
運維之系統服務篇------1. KVM構建及管理 、 virsh控制工具 、 映象管理 、 虛擬機器快建技術
ONE DAY 1.Virsh 2.本機與虛擬機器搭建yum庫 3.安裝KVM虛擬化服務平臺 4.快速搭建虛擬機器 5.搭建教學環境 TWO DAY 1.釋出網路YUM源 2.擴充套件的10個應用(目錄----許可權的數值--------histroy-----du----
KVM虛擬機器的管理命令使用方法
virsh相關命令 1.安裝libvirt yum install kvm virt-* libvirt 2.檢查是否安裝成功: lsmod |grep kvm #virsh -c qemu:///system list #virsh list #virsh li
通過python-libvirt管理KVM虛擬機 源碼
copyto file erp idt sdn restrict oar source ffline 版本:0.9.13 libvirt庫可真是大,先看看該版本裏面都有哪些類和方法,驗證過的方法我會用O開頭,|開頭的標示還沒親自驗證過。 [python] vie
使用libvirt工具棧管理kvm虛擬機
安裝介質 暫停 設備模型 xtra network eth 必須 CI 一個 libvirt介紹 Libvirt是一個軟件集合,便於使用者管理虛擬機和其他虛擬化功能,比如存儲和網絡接口管理等等。Libvirt概括起來包括一個API庫、一個 daemon(libvirtd)和