61581229 发表于 2015-4-10 12:27:15

KVM虚拟机的建立(附镜像挂载)

  一: 建立存储池
  存储池(Storage pools)是放置虚拟机的存储位置,可以是本地的,也可以是网络存储,具体的虚拟机实例放置在卷(Volume)上。
  操作存储卷的命令行是virsh
  主要有以下操作
  查看卷的信息
  # 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) 验证存储池
  # 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。查看存储池里面的卷信息
  # virsh vol-list kvm_final
Name               Path                                    
-----------------------------------------
kvm.img            /home/kvm_final/images/kvm.img
  3。查看某个卷的信息
  # 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
  # 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 (orBIN + 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 再挂载。
页: [1]
查看完整版本: KVM虚拟机的建立(附镜像挂载)