云盘介绍
云盘提供持久、高性能的块存储服务,也可以挂载到虚拟机作为虚拟机的辅助存储空间来使用。它类似于亚马逊的EBS(Amazon’s Elastic Block Storage)。我们可以将镜像文件写入到云盘中,使虚拟机从云盘启动。与EBS不同的是云盘不是一种类似于NFS共享存储的解决方案,目前,云盘在同一时刻只可以挂载在一个虚拟机上。
环境准备
在OpenStack云盘组件中就是使用逻辑卷组nova-volumes,也就是OpenStack里只能使用这个卷组名。没有这个名字的卷组,nova-volume将不会正常启动,这也会导致nova-compute服务不能正常启动。
如果没有nova-volumes卷组,创建这个卷组,这需要一个或者多个物理卷,可以扩展卷组。如果没有物理设备,可以使用文件代替,一般作为实验用。
1. 安装cinder
sudo ./cinder.sh
2. 创建卷组
备注:使用文件代替,实验用
一:在/var/lib/cinder/volumes目录下创建名为cloud.img大小100G磁盘镜像文件
# ddif=/dev/zero of=/var/lib/cinder/volumes/cloud.img bs=1 count=0 seek=100G
# ls –lh(查看文件大小)
二:使用losetup将磁盘镜像文件虚拟成块磁盘
# losetup/dev/loop2 /var/lib/cinder/volumes/cloud.img
三:进行磁盘分区
# fdisk/dev/loop2
n
p
1
Enter
Enter
t
8e
w
四:创建物理卷
#pvcreate /dev/loop2
#pvdisplay
五:创建卷组
#vgcreate hav-volumes /dev/loop2
#vgdisplay
3. 设置启动加载卷组
# vi /etc/rc.local
在exit 0之前添加:
# losetup/dev/loop2 /var/lib/cinder/volumes/cloud.img
保存退出
4. 使虚拟机可以挂载磁盘
一.关闭tgt服务:service tgt stop
二.开始iscsitarget服务:service iscsitarget start
三.修改/etc/cinder/cinder.conf文件:iscsi_helper =ietadm
四.删除软件apparmor
apt-getremove apparmor;
apt-get autoremove apparmor
五.重启服务:service cinder-volume restart
5. 创建云盘
- 设置环境变量
# cat creds
# source creds
- 创建逻辑卷
# cinder create--display_name abc 5
- 将逻辑卷挂载到运行中的虚拟机上
# nova list
# nova volume-list
# nova volume-attach <虚拟机ID> <volimeID> /dev/vdc
- 在虚拟机系统磁盘管理中添加新硬盘
增加卷组空间
# dd if=/dev/zero of=/var/lib/cinder/volumes/cloud2.imgbs=1 count=0 seek=100G
# losetup /dev/loop3 /var/lib/cinder/volumes/cloud2.img
# fdisk /dev/loop3
# pvcreate /dev/loop3
# vgextend hav-volumes /dev/loop3
# vi/etc/rc.local
# vgdisplay