一: 建立存储池

存储池(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 再挂载。

posted on 2013-03-04 16:32  征征的美丽心情  阅读(13822)  评论(0编辑  收藏  举报