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 在分配內存時是完全獨占的,也就是說母雞不能生出內存大於總物理內存的小雞。硬盤: