Essex Dashboard可以管理nova-volume。有两种办法来实现
默认nova是直接使用vg名字为nova-volume的卷。这个是可以在nova.conf 定义,你是可以修改的。
1:如果系统上没有多余的分区做 LVM 的话可以用一个文件来充当硬盘,
新建一个文件来做 LVM:
DD一个设备
# dd if=/dev/zero of=/opt/nova-volumes.img bs=1M seek=100000 count=0
加载一个设备
# losetup -f nova-volumes.img
查看加载情况
# losetup -a
/dev/loop0: [0801]:35127298 (/opt/nova-volumes.img)
创建一个nova-volume的卷
# vgcreate nova-volumes /dev/loop0
No physical volume label read from /dev/loop0
Physical volume "/dev/loop0" successfully created
Volume group "nova-volumes" successfully created
查看卷
#vgdisplay
就可以看到创建好的nova-volume。
创建一个5G的卷,名字为volume1
nova volume-create --display_name "volume1" 5
创建完后,可以
nova volume-list
创建的过程非常慢,看status完成后,才能attach。
如果希望删除创建的volume,目前我知道的就只能通过
euca-describe-volumes
euca-delete-volume vol-00000001
把卷添加给虚拟机,1,表示ID号
nova volume-attach superfrobnicator 1 /dev/vdb
2:单独一块盘
# pvcreate /dev/sdb1
# pvdisplay
#vgcreate nova-volumes /dev/sdb1
# vgdisplay
这个时候,就把sdb变成了一个nova-volume。这个时候,在dashboard里,就可以直接管理,使用。
以128GB硬盘为例,创建nova-volumes,笔记整理
fdisk -l /dev/sdb ###查看/dev/sdb分区信息
cfdisk /dev/sdb ###将/dev/sdb分3个区,30GB\30GB\68GB
pvcreate /dev/sdb5 ###创建物理卷/dev/sdb5
pvcreate /dev/sdb6 ###创建物理卷/dev/sdb6
vgcreate nova-volumes /dev/sdb5 /dev/sdb6 ###创建卷组nova-volumes
vgextend nova-volumes /dev/sdb7 ###将/dev/sdb7增加到卷组nova-volumes
————————————————————————————————
如果没有物理设备,可以使用文件代替,一般实验用。
$ dd if=/dev/zero of=/opt/nova-volumes.img bs=1M seek=100000 count=0
$ losetup -f /opt/nova-volumes.img
$ losetup -a
$ vgcreate nova-volumes /dev/loop0
————————————————————————————————
services nova-volumes restart ###重启nova-volumes服务
lsof |grep 3260 ###检查3260端口是否开启
通过bashboard\Instances&Volumes\Volumes\Create Volume\Name:game,Description:game,Size:30GB。
nova volume-create --display_name "game001" 10 ###通过命令创建volume,game001,10GB
nova volume-list ###查看nova-volume列表
apt-get install euca2ools ###安装euca2ools工具
euca-describe-volumes ###
euca-delete-volume vol-00000001 ###删除nova-volume
nova volume-attach cloud01 1 /dev/vdb ###将nova-volume附加到cloud01实例
tatadm --lld iscsi --op show --mode target ###在控制节点查看target
tgtadm --op new --lld=iscsi --mode=target --tid=1 --targetname=iqn.2010-10.org.openstack:volume-00000001
#建立target
sudo iscsiadm -m session ###查看建立的session
sudo iscsiadm -m discovery -t sendtargets -p 192.168.139.50:3260 ###手动发现target
sudo iscsiadm -m node -T targetname(iqn.2010-10.org.openstack:volume-00000004) -p 192.168.139.50:3260 -
-login ###iscsi登入192.168.139.50
sudo iscsiadm -m node -T targetname(iqn.2010-10.org.openstack:volume-00000004) -p 192.168.139.50:3260 -
-logout ###iscsi登出192.168.139.50
sudo iscsiadm -m node -o [delete|new|update] -T targetname ###计算节点上的iscsi的删除、新建和更新
如果使用命令
sudo iscsiadm -m discovery -t sendtargets -p compute_node
报以下错误
iscsiadm: Connection to Discovery Address 192.168.139.50 closed
iscsiadm: Login I/O error, failed to receive a PDU
这是因为没有找到target,可以create一个volume,此时会建立一个卷,建立一个target。
for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service "$a" restart; done ###重启nova相关所有服务