1. 程式人生 > >KVM虛擬化技術的-熱新增硬碟和儲存池

KVM虛擬化技術的-熱新增硬碟和儲存池

一、熱新增硬碟

方法一:

[[email protected] ~]# virsh list   #列出虛擬機器
 Id    Name                           State
----------------------------------------------------
 15    centos7.2                      running

[[email protected] ~]# virsh --help |grep list 
    domblklist                     list
all domain blocks domiflist list all domain virtual interfaces list list domains iface-list list physical host interfaces nwfilter-list list network filters net-list list networks nodedev-list
enumerate devices on this host secret-list list secrets snapshot-list List snapshots for a domain pool-list list pools vol-list list vols [[email protected] ~]# virsh domblklist centos7.2 #顯示虛擬機器硬碟列表
Target Source ------------------------------------------------ vda /var/lib/libvirt/images/centos7.2.qcow2 hda - #使用qemu-img 建立格式為qcow2的磁碟 [[email protected] ~]# qemu-img create -f qcow2 /disk10.img 2G Formatting '/disk10.img', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off #新增硬碟給centos7.2虛擬機器,未寫到配置檔案中,只寫到記憶體中; #--subdriver qcow2 未配置此選項預設使用:raw格式 [[email protected] ~]# virsh attach-disk centos7.2 /disk10.img vdb --cache writeback --subdriver qcow2 Disk attached successfully #查詢虛擬配置檔案 [[email protected] ~]# virsh edit centos7.2 #在虛擬機器中查詢 [[email protected] ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 252:0 0 20G 0 disk ├─vda1 252:1 0 500M 0 part /boot └─vda2 252:2 0 19.5G 0 part ├─centos-root 253:0 0 17.7G 0 lvm / └─centos-swap 253:1 0 1.8G 0 lvm [SWAP] vdb 252:16 0 2G 0 disk #已經新增硬碟 #新增並儲存配置檔案和立即使用; [[email protected] ~]# virsh attach-disk centos7.2 /disk10.img vdb --cache writeback --subdriver qcow2 --config --live [[email protected] ~]# virsh attach-disk centos7.2 /disk10.img vdb --cache writeback --subdriver qcow2 --persistent #使用qemu-img 調整硬碟資訊,只能增加不能縮小(qcow2格式) [[email protected] ~]# qemu-img resize /var/lib/libvirt/images/centos7.2.qcow2 +1G Image resized. #檢視資訊 [[email protected] ~]# qemu-img info /var/lib/libvirt/images/centos7.2.qcow2 image: /var/lib/libvirt/images/centos7.2.qcow2 file format: qcow2 virtual size: 21G (22548578304 bytes) disk size: 1.1G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true

方法二:

[root@node3 ~~]# qemu-img create -f qcow2 /disk20.img 1G
Formatting '/disk20.img', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 
#新建xml檔案 
[root@node3 ~~]# vim temp.xml
<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/disk20.img'/>
      <target dev='vdc' bus='virtio'/>
 </disk>
#載入xml檔案
[root@tianyun ~]# virsh attach-device centos7.2  temp.xml --persistent
Device attached successfully 
#檢視硬碟資訊
[root@node3 ~]# virsh domblklist centos7.2 

二、刪除硬碟

[[email protected] ~]# virsh detach-disk  centos7.2  vdc  --persistent
Disk detached successfully

[[email protected] ~]# virsh  domblklist centos7.2
Target     Source
------------------------------------------------
vda        /var/lib/libvirt/images/centos7.2.qcow2
hda        -

三、KVM儲存池管理:
KVM平臺以儲存池的形式對儲存進行統一管理,所謂儲存池可以理解為本地目錄、通過遠端磁碟陣列(iSCSI、NFS)分配過來磁碟或目錄,當然也支援各類分散式檔案系統 ,通過virsh中pool命令能夠檢視、建立、啟用、註冊、刪除儲存池。

(1)檢視儲存池資訊

#檢視儲存池
[root@node3 ~]# virsh pool-list --all
 Name                 State      Autostart 
-------------------------------------------
 dd                   inactive   yes       
 default              active     yes       
 root                 active     yes  

#儲存池路徑:
[root@node3 storage]# pwd 
/etc/libvirt/storage
[root@node3 storage]# ll
total 8
drwxr-xr-x 2 root root  39 Aug 21 06:37 autostart
-rw------- 1 root root 538 Aug 16 02:29 default.xml
-rw------- 1 root root 514 Aug 16 21:12 root.xml
#查詢default儲存池資訊
[root@node3 ~]# virsh pool-info default
Name:           default
UUID:           f94a053e-c6a5-43f5-973d-3825a04b9635
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       45.57 GiB
Allocation:     3.96 GiB
Available:      41.61 GiB

(2)建立一個新的儲存池
仿照default的XML檔案,編寫新建立的的XML文件

#default 儲存池配置檔案:
[[email protected] ~]# virsh pool-dumpxml default 
<pool type='dir'>
  <name>default</name>
  <uuid>f94a053e-c6a5-43f5-973d-3825a04b9635</uuid>
  <capacity unit='bytes'>48927821824</capacity>
  <allocation unit='bytes'>4251684864</allocation>
  <available unit='bytes'>44676136960</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0711</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>


[[email protected] ~]# cat /home/my-pools/pool.xml 
<pool type='dir'>
  <name>pool</name>
  <uuid>6e52c3da-d6ae-4016-a97a-32be87e9f8fc</uuid>
  <capacity unit='bytes'>48927821824</capacity>
  <allocation unit='bytes'>4251623424</allocation>
  <available unit='bytes'>44676198400</available>
  <source>
  </source>
  <target>
    <path>/home/img</path>
    <permissions>
      <mode>0755</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>
#建立儲存池
[root@node3 my-pools]# virsh pool-define pool.xml 
Pool pool defined from pool.xml

[root@node3 my-pools]# virsh pool-list 
 Name                 State      Autostart 
-------------------------------------------
 default              active     yes       
 pool                 active     no        
 root                 active     yes       
#設定或取消儲存池開機自動啟動:--disable  
[root@node3 my-pools]# virsh pool-autostart  pool
Pool pool marked as autostarted
#啟用已經定義的儲存池:
[root@node3 my-pools]# virsh pool-start  pool
Pool pool marked as autostarted

[root@node3 my-pools]# virsh pool-list 
 Name                 State      Autostart 
-------------------------------------------
 default              active     yes       
 pool                 active     yes       
 root                 active     yes       

#virsh pool-destroy vmdisk #取消啟用儲存池,資料不做刪除
#virsh pool-delete  vmdisk  #刪除儲存池定義的目錄和資料
[root@node3 my-pools]# virsh pool-destroy pool
Pool pool destroyed

四、網路儲存池;
常用的網路儲存池:NFS-based 、GlusterFS-based、Ceph-based、iSCSI-based;GFS-based、SAN-based;
用NFS-based實現儲存池

儲存端:

[root@install ~]# yum -y install nfs-utils
[root@install ~]# mkdir /var/nfs-storage
[root@install ~]# vim /etc/exports
/var/nfs-storage    172.16.30.0/24(rw,sync,no_root_squash)

KVM端:

[[email protected] ~]# yum -y install nfs-utils
[[email protected] ~]# showmount -e 172.16.8.100
Export list for 172.16.8.100:
/var/nfs-storage 172.16.30.0/24

[[email protected] ~]# virsh pool-list --all
Name                 State      Autostart 
-----------------------------------------
default                active     yes       
nfs-storage-pool       active     yes  
#仿照default配置檔案在 <source>  </source>新增配置檔案
[[email protected] autostart]# virsh pool-dumpxml default
<pool type='dir'>
  <name>default</name>
  <uuid>f94a053e-c6a5-43f5-973d-3825a04b9635</uuid>
  <capacity unit='bytes'>48927821824</capacity>
  <allocation unit='bytes'>4251856896</allocation>
  <available unit='bytes'>44675964928</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0711</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>
例如:
[[email protected] ~]# virsh pool-edit nfs-storage-pool
<pool type='netfs'>
  <name>nfs-storage-pool</name>
  <uuid>83d872db-154a-f721-a6ae-9d883583a739</uuid>
  <capacity unit='bytes'>61793632256</capacity>
  <allocation unit='bytes'>7562330112</allocation>
  <available unit='bytes'>54231302144</available>
  <source>  #新增內容
    <host name='172.16.8.100'/>     #配置伺服器
    <dir path='/var/nfs-storage'/>  #儲存池路徑
    <format type='nfs'/>            #儲存池網路型別
  </source>
  <target>
    <path>/var/lib/libvirt/images/nfs-storage-pool</path>
    <permissions>
      <mode>0755</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>
#通過pool-defined 建立儲存池
[[email protected] my-pools]# virsh pool-define nfs-storage-pool.xml 


#方法二:virsh pool-define-as
# pool-create-as name --print-xml type [source-host] [source-path] [source-dev] [source-name] [<target>] [--source-format format]

[[email protected] ~]# mkdir /var/kvm-pool2          #target掛載點
#my-pool2   儲存池名 --target  儲存池掛載的位置
[[email protected] ~]# virsh pool-define-as my-pool2 --source-format nfs --type netfs --source-host 172.16.8.100 --source-path /var/nfs-storage --target /var/kvm-pool2
[[email protected] ~]# virsh pool-autostart my-pool2
Pool my-pool2 marked as autostarted
[[email protected] ~]# virsh pool-start my-pool2
Pool my-pool2 started


安裝虛擬機器到儲存池nfs-storage-pool:
[[email protected] ~]# /usr/sbin/virt-install \
        --vnc \
        --name=allen\
        --ram=512 \
        --arch=x86_64 \
        --vcpus=1 \
        --os-type=linux \
        --os-variant=rhel6 \
        --hvm \
        --accelerate \
        --disk path=/var/pool2/allen.img,size=8,format=qcow2 \
        --bridge=virbr0 \
        --location=ftp://172.16.8.100/rhel6.4 \
        --extra-args="ks=ftp://172.16.8.100/centos7.2.ks" #網路安裝系統 
# --extra-args=EXTRA:根據--location指定的方式安裝GuestOS時,
#用於傳遞給核心的額外選項,例如指定kickstart檔案的位置,      


#檢視快對齊檢視
[root@node3 images]# virt-alignment-scan -a centos7.2.qcow2 
/dev/sda1      1048576         1024K   ok
/dev/sda2    525336576         1024K   ok

相關推薦

KVM虛擬化技術的-新增硬碟儲存

一、熱新增硬碟 方法一: [[email protected] ~]# virsh list #列出虛擬機器 Id Name State --------------------

KVM虛擬化技術之使用Qemu-kvm建立管理虛擬機器

一 .KVM 簡介 KVM (名稱來自英語: Kernel-basedVirtual Machine 的縮寫,即基於核心的虛擬機器) , 是一種用於Linux核心中的虛擬化基礎設施,可以將Linux核心轉化為一個hyper

KVM虛擬化技術的-NUMA技術應用

  NUMA技術是解決多CPU共同工作的技術方案,多CPU共同工作主要有3中架構:SMP:Symmetric Multi-Processor),非統一儲存訪問結構(NUMA:Non-Uniform Memory Access),以及海量並行處理結構(MPP:Ma

KVM虛擬化技術

kvm虛擬化 KVM虛擬化虛擬化介紹: VMware,Hyper-v, XenSer, XenClient,

linux-KVM虛擬化技術

linux運維 計算機網絡 達內 紅帽 linux系統操作 kvm虛擬化 虛擬化概述Virtualization 資源管理– x個物理資源 --> y個邏輯資源– 實現程度:完全、部分、硬件輔助(CPU)手動新建一臺虛擬機: 虛擬機名字:exam

linux運維、架構之路-KVM虛擬化技術

sna 運維 3.1 png 配置 tools 關閉 wall ati 一、雲計算概述 雲計算:是一種資源使用和交付模式 虛擬化:一種具體的技術,用來將物理機虛擬成為多個相互獨立的虛擬機。雲計算不等於虛擬化,雲計算是使用了虛擬化的技術做支撐 二、KV

KVM虛擬化技術與DNS

rsynckvm命令1、查看虛擬機列表[root@room8pc16 review]# virsh list --all2、打開控制臺[root@room8pc16 review]# virt-manager 3、連接虛擬機[root@room8pc16 review]# virt-viewer rh7-no

KVM虛擬化技術(二)

LinuxKVMvirt-instaKVM虛擬化技術(二)===============================================================================概述:============================================

KVM虛擬化技術實戰與原理解析

1、軟體虛擬化和硬體虛擬化:實現虛擬化的重要一步在於:虛擬化層必須能夠截獲計算元件對物理資源的直接訪問,並將其重定向到虛擬資源池中。硬體虛擬化,就是物理平臺本身提供了對特殊指令的截獲和重定向的硬體支援 2、準虛擬化與全虛擬化:改動客戶作業系統,使他以為自己執行在虛擬環境下,能夠與虛擬機器監控

Linux知識點之新增硬碟分割槽掛載

windows之分割槽知識基礎   Linux分割槽  註釋:首先如圖所示,在Linux系統上存在一個硬碟,而在這硬碟上存在著很多的分割槽,             比如在這個硬碟上存在著分割槽1和分割槽2。

centos7 新增硬碟分割槽

 首先檢視系統中的硬碟 [[email protected] ~]# fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes, 234441648 sectors Units = sectors of 1 *

VM虛擬機器安裝CentOS7新增硬碟擴充套件儲存空間的方法

VM虛擬機器安裝CentOS7新增硬碟擴充套件儲存空間的方法 總結過程步驟如下: fdisk -l fdisk /dev/xvdb p n p t 8e w reboot fdisk -l mkfs.ext3 /dev/xvdb1 #mkfs -

KVM虛擬化技術實戰與原理解析——讀書筆記

入門級書籍——一種KVM,Qemu的使用手冊 轉載請說明出處。 全書一共9章:         第1章介紹了雲端計算和虛擬化的概念,並對KVM等幾種流行的虛擬化技術做了比較;         第2章介紹了KVM的基本架構、QEMU的作用以 及Intel的硬體虛

KVM虛擬化技術的-Qemu

QEMU 支援兩種操作模式:User mode模擬模式,亦即是使用者模式(ioctl 呼叫 /dev/kvm,)和System mode模擬模式,亦即是系統模式(qemu-kvm)。 https://www.qemu.org/ ivshmem-client

kvm虛擬化技術(一)

虛擬化技術基礎 李家宜 [email protected] 虛擬化歷史 最早起源於分時系統 IBM最早實現在一臺主機上執行多個作業系統 20世紀90年代Vmware實現了X86平臺伺服器下的虛擬化,採用全虛擬化模式 2003年,

在Centos6.5上部署kvm虛擬化技術

KVM是什麼? KVM 全稱是 基於核心的虛擬機器(Kernel-based Virtual Machine),它是一

虛擬化技術KVM,Xen,Qemu的區別聯絡

虛擬化型別 全虛擬化(Full Virtualization) 全虛擬化也成為原始虛擬化技術,該模型使用虛擬機器協調guest作業系統和原始硬體,VMM在guest作業系統和裸硬體之間用於工作協調,一些受保護指令必須由Hypervisor(虛擬機器管理程式)來捕獲處理

虛擬化技術對照:Xen vs KVM

linu citrix line 最大 包含 創建 時間 定性 sso 恒天雲:http://www.hengtianyun.com/download-show-id-68.html 一、說明 本文主要從功能方面和性能方面對Xen和KVM對照分析,分析出其優缺

虛擬化技術KVM

iss iptable roo num bytes ebo uuid screen ext 一、kvm環境準備 kvm介紹: KVM是Kernel Virtual Machine的簡寫,目前Red Hat只支持在64位的RHEL5.4及以上的系統運行KVM,同時硬

Openvz/KVM/Xen三種常見VPS虛擬化技術比較

更多 創建 半虛擬化 war 說明 文件 body 折騰 動態 mjj 剁機器時一般都會關心下超售情況,這裏簡要說明下各虛擬化技術超售能力。 KVM 不可超售資源:內存,硬盤空間 內存:KVM 在分配內存時是完全獨占的,也就是說母雞不能生出內存大於總物理內存的小雞。硬盤: