KVM虛擬機的建立(附鏡像掛載)


一: 建立存儲池

存儲池(Storage pools)是放置虛擬機的存儲位置,可以是本地的,也可以是網絡存儲,具體的虛擬機實例放置在卷(Volume)上。

操作存儲卷的命令行是virsh

主要有以下操作

查看卷的信息

[root@centos6 ~]# virsh vol-info --pool kvm_images kvm01_images
名稱:       kvm01_images
類型:       文件
容量:       16.00 GB
分配:       1.97 GB

或者直接使用存儲卷的絕對路徑

virsh vol-info /kvm/images/ kvm01_images

 

然后開始創建存儲池

1。 建立存儲池的目錄

mkdir /home/kvm_final/images

2。 為了安全性,更改目錄的所有者,並設置權限

chown root: root /home/kvm_final/images

chmod 700 /home/kvm_final/images

驗證一下

ls -a /home/kvm_final/images

3。 配置SELinux文件上下文

semanage fcontext -a -t virt_image_t /home/kvm_final/images

這個主要是打開SELinux設定,不然虛擬機無法訪問存儲文件

如果沒有semanage,那么安裝policycoreutils-python

yum install policycoreutils-python

 1) 定義一個存儲池

    virsh pool-define-as kvm_final --type dir --target /home/kvm_final/images

 2) 查看創建的存儲池信息

    virsh pool-list --all

3) 建立基於文件夾的存儲池

    virsh pool-build kvm_final

4) 使存儲池生效

     virsh pool-start kvm_final

 5) 這時候,存儲池還不是自動運行,使用virsh pool-autostart

     virsh pool-autostart kvm_final

 6) 驗證存儲池

[root@KVM-A-05 /]# virsh pool-info kvm_final
Name: kvm_final
UUID: f8e9b1a9-7e30-6925-8d1c-14e2fc0e4f42
State: running
Persistent: yes
Autostart: yes
Capacity: 1.73 TB
Allocation: 127.57 GB
Available: 1.60 TB

 

創建了存儲池后,就可以創建一個卷,這個卷是用來做虛擬機的硬盤

1。創建卷

virsh vol-create-as kvm_final kvm.img 120G --format qcow2

2。查看存儲池里面的卷信息

[root@KVM-A-05 /]# virsh vol-list kvm_final
Name Path
-----------------------------------------
kvm.img /home/kvm_final/images/kvm.img

3。查看某個卷的信息

[root@KVM-A-05 /]# virsh vol-info kvm.img kvm_final
Name: kvm.img
Type: file
Capacity: 120.00 GB
Allocation: 136.00 KB

4。現在開始創建虛擬機,使用virt-install來創建

創建的虛擬機名字為guest2-rhel6.1 這個名字很重要,就是在KVM中的域名,可以做各種操作

cpu使用1個,內存化為512M,硬盤文件使用新創建的硬盤文件,格式為qcow2,大小為8G,使用ISO鏡像安裝,安裝的操作系統類型為linux,類別為rhel6。網絡掛載橋接網卡br0

[root@KVM-A-05 /]# virt-install --connect qemu:///system -n kvm -r 2048 -f /home/kvm_final/images/kvm.img -s 150 --vnc --vcpus=2 --network bridge=br0 -c /home/lz/CentOS-5.6-x86_64-bin-DVD-1of2.iso

Starting install...
Creating domain...

附KVM存儲池的管理

存儲池和存儲卷的管理

1.創建 KVM主機存儲池

1).創建基於文件夾(目錄)的存儲池
virsh pool-define-as vmware_pool --type dir --target /virhost/vmware#定義存儲池vmware_pool或
virsh pool-create-as --name vmware_pool --type dir --target /virhost/vmware
#創建存儲池vmware_pool,類型為文件目錄,/virhost/vmware,與pool-define-as結果一樣

2).創建基於文件系統的存儲池
virsh pool-define-as --name vmware_pool --type fs --source-dev /dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware

virsh pool-create-as --name vmware_pool --type fs --source-dev /dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware

3).查看存儲池信息
virsh pool-info vmware_pool #查看存儲域(池)

4).啟動存儲池
virsh pool-start vmware_pool #啟動存儲池
virsh pool-list

5)銷毀存儲域,取消存儲池
virsh pool-destroy vmware_pool #銷毀存儲池
virsh pool-list --all
virsh pool-undefine vmware_pool #取消存儲池的定義
virsh pool-list --all

2.創建了存儲池后,就可以創建一個卷,這個卷是用來做虛擬機的硬盤
virsh vol-create-as --pool vmware_pool --name node6.img --capacity 10G --allocation 1G --format qcow2#創建卷 node6.img,所在存儲池為vmware_pool,容量10G,初始分配1G,文件格式類型qcow2
virsh vol-info /virhost/vmware/node6.img #查看卷信息名稱: node6.img類型: 文件容量: 10.00 GB分配: 136.00 KB

3.在存儲卷上安裝虛擬主機
virt-install --connect qemu:///system \-n node7 \-r 512 \-f /virhost/vmware/node7.img \--vnc \--os-type=linux \--os-variant=rhel6 \--vcpus=1 \--network bridge=br0 \-c /mnt/rhel-server-6.0-x86_64-dvd.iso

二:鏡像掛載

ISO:

iso 格式的光盤鏡像可以說是最普遍和通用的了,處理起來非常方便,掛載命令:

( 假設鏡像文件名為 download,掛載點為 /mount-point ,下同)

mount -t iso9660 -o loop,user download.iso  /mount-point

建立掛接點:

#mkdir -p /media/XXX            XXX 自建目錄

 

 

 

掛載ISO

 

# mount -o loop -t iso9660 /opt/XXXX.iso /media/XXX   

 

#mount -o -t iso9660  /*路徑*/.ISO /media/XXX/ -o loop  

 

 

自動加載

#vim /etc/rc.d/rc.local

 

增加

 

mount -o loop -t iso9660 /opt/XXXX.iso /media/XXX 

 

MDF:

mdf 是 Win 下的虛擬光驅軟件 Alcohol 120% 的專有格式,你可以用 mdf2iso 把 mdf  文件轉換成 iso 格式再掛載,或者嘗試用下面的命令掛載:

mount download.mdf /mount-point -o loop=/dev/loop0

不過遺憾的是,有些分軌的 mdf 文件,這樣還是無能為力。

BIN (or  BIN + CUE ):

可以用 cdemu 掛載,也可以用 bin2iso 轉換成 iso 再掛載,也可以 bchunk 轉換 bin+cue 到 iso 。

NRG: 

nrg 格式的鏡像文件是 Nero 的專有格式,你可以用 nrg2iso 轉換成 iso 再掛載,或者嘗試下面的命令:

mount -o loop,offset=307200 download.nrg /mount-point

CCD:

ccd 是 CloneCD 的專有格式,你可以用 ccd2iso 轉換成 iso 再掛載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM