设为首页 收藏本站
查看: 988|回复: 0

[经验分享] 分布式对象存储系统在openstack中的应用研究

[复制链接]

尚未签到

发表于 2019-2-2 09:16:18 | 显示全部楼层 |阅读模式
在nova-volume中的应用

这里openstack环境使用folsom-f3版本,在nova.conf中配置:
volume_driver=nova.volume.driver.RBDDriver
rbd_pool=nova
查看pool
#rados lspools
data
metadata
rbd
volume创建nova pool
#rados mkpool nova
#rados lspools
data
metadata
rbd
nova
创建卷:
#nova volume-create --display_name=rbd-vol 1
#nova volume-list
查看nova池中的卷:
#rbd --pool nova ls
volume-badbe797-e0ef-418f-bd17-7f982978db58
#rbd --pool nova info volume-badbe797-e0ef-418f-bd17-7f982978db58
rbd image 'volume-badbe797-e0ef-418f-bd17-7f982978db58':
        size 1024 MB in 256 objects
        order 22 (4096 KB objects)
        block_name_prefix: rb.0.0
        parent:  (pool -1)
openstack中生成虚拟机之后,有三种办法对卷进行Attache
第一种:修改virsh中的虚拟机的xml:
#virsh list --all
1     instance-00000001              running
#virsh edit 1
加入:

  
  
  
  


#virsh destroy 1
#virsh start instance-00000001
注意,这里的host填的是监控节点,有几个监控节点就写几个hostsourcename的参数格式为:your-pool/your-volume
第二种:
nova volume-attach e26afe59-c9a5-4000-ab50-d4fa4650d4ab 1d3a2d86-07ad-4e2f-84b8-2e75a67052d8 /dev/vdd
其中第一个id是实例id,第二个是卷id
第三种:操作dashboard界面进行Attache
进入虚拟机之后可以看到/dev/vdb的块设备,格式化、挂载就可以用了:
#mkfs.ext4 /dev/vdb
#mount /dev/vdb /mnt

在glance中的应用

需要安装python-ceph
修改/etc/glance/glance-api.conf
# Set the rbd storage
default_store = rbd

# ============ RBD Store Options =============================

# Ceph configuration file path
# If using cephx authentication, this file should
# include a reference to the right keyring
# in a client. section
rbd_store_ceph_conf = /etc/ceph/ceph.conf

# RADOS user to authenticate as (only applicable if using cephx)
rbd_store_user = glance

# RADOS pool in which images are stored
rbd_store_pool = images

# Images will be chunked into objects of this size (in megabytes).
# For best performance, this should be a power of two
rbd_store_chunk_size = 8
创建images池:
#rados  mkpool  images
successfully created pool images
重启glance-apiglance-registry服务。
查看images池的详情:
#rados  --pool=images  ls
#rados  --pool=images  df
上传镜像到rbd中:
#glance add name=centos_6.2_ramdisk_rbd disk_format=ari container_format=ari is_public=True < initrd-2.6.32-220.el6.x86_64.img
Added new image with ID: b1f797b7-b995-48b5-b4e2-aaa55bd2e15f
#glance add name=centos_6.2_kernel_rbd disk_format=aki container_format=aki is_public=True < vmlinuz-2.6.32-220.el6.x86_64
Added new image with ID: 78f330fc-8598-4039-b851-f903a3b6cf8c
#glance add name=centos_6.2_final_rbd disk_format=ami container_format=ami is_public=True ramdisk_id=b1f797b7-b995-48b5-b4e2-aaa55bd2e15f kernel_id=78f330fc-8598-4039-b851-f903a3b6cf8c  < centos_6.2_final.img
ceph服务器上查看上传进度:
ceph -w
查看上传结果:
#glance index
#rados  --pool=images  ls
#rados  --pool=images  df
查看数据库:
select * from glance.images where status=&quot;Active&quot; \G;
*************************** 4. row ***************************
created_at: 2012-09-26 15:22:35
updated_at: 2012-09-26 15:33:28
deleted_at: NULL
deleted: 0
id: 44ec62fa-43cc-49ea-9d09-df4fb042a2ff

name: centos_6.2_final_rbd

disk_format: ami

container_format: ami

size: 2146435072

status: active

is_public: 1

location: rbd://44ec62fa-43cc-49ea-9d09-df4fb042a2ff

checksum: e54e654825c36a0805ae7f45c24fa2d7

min_disk: 0

min_ram: 0

owner: NULL

protected: 0


基于CephFS共享的在线迁移

1. 试验坏境:
node1openstack控制节点+计算节点  ip1.1.1.2
node2openstack计算节点   ip1.1.1.3
node3cephFS存储    ip1.1.1.4
2. 挂载共享
openstack的实例存储目录挂到ceph共享上,如本文的目录为/home/nova/instances
命令:
mount.ceph 1.1.1.4:6789:/ /home/nova/instances

df -h

这里挂载时需要注意:挂载机要安装ceph模块,否则报没有模块的错误。
安装模块有两种方法:
第一种:下载代码编译出模块,但是这种方法需要至少linux内核为2.6.34以上,否则会报错:
# git clone git://ceph.newdream.net/git/ceph-client-standalone.git

# cd ceph-client-standalone/

# git branch master-backport origin/master-backport

# make -C libceph

# cp libceph/Module.symvers ceph/

# make -C ceph

# insmod ./libceph/libceph.ko

# insmod ./ceph/ceph.ko

第二种:下载较新的linux内核,进行内核升级,升级时将ceph编译为模块。
3. 修改配置文件
修改nova.conf的配置文件:
--live_migration_retry_count=30

--live_migration_uri=qemu+tcp://%s/system

--live_migration_flag=VIR_MIGRATE_TUNNELLED,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_UNDEFINE_SOURCE

--live_migration_bandwidth=0

其中live_migration_flag的作用:
  VIR_MIGRATE_LIVE 迁移中不进行暂停操作,只在成功的瞬间出现短暂的暂停。在xp的虚拟机迁移时,该选项会导致迁移后的实例鼠标无法响应,需要重启才能恢复。建议去掉该选项,迁移过程中一直暂停,迁移之后实例状态正常。

VIR_MIGRATE_PEER2PEER 源主机和目标主机进行直连。
VIR_MIGRATE_TUNNELLED 在libvirt的RPC通道上使用隧道传输迁移数据。
VIR_MIGRATE_PERSIST_DEST
VIR_MIGRATE_UNDEFINE_SOURCE 迁移成功后删除源主机的domain。
VIR_MIGRATE_CHANGE_PROTECTION
ceph存储系统node3上的ceph.conf配置文件拷贝到node1node2/etc/ceph文件夹下。

修改libvirt相关配置(Centos)
vi  /etc/libvirt/libvirtd.conf:
listen_tls = 0

listen_tcp = 1

listen_addr = &quot;0.0.0.0&quot;

vi  /etc/sysconfig/libvirtd
#LIBVIRTD_OPTS=&quot;--listen&quot;

去掉以上语句注释
重启libvirt服务,查看进程是否有--listen
service libvirtd restart

ps aux | grep libvirt

root  3068  1.8  0.1 1005608 13176 ?  Sl  06:00   0:05 libvirtd --daemon --listen

4. 在线迁移
使用命令:
nova  --debug  live-migration  bb63b800-c6ce-4de3-aa2d-d6cfa421d77b  node2

以上命令是调用openstack的迁移命令,将node1上的uuidbb63b800-c6ce-4de3-aa2d-d6cfa421d77b的虚拟机迁移到node2上。
virsh migrate --debug --live instance_name qemu+tcp://node2/system

以上命令是使用libvirt的迁移命令进行迁移。
dashboard中添加迁移功能进行迁移。

5. 错误解决
在迁移过程中如果报错: error: Unable to read from monitor: Connection reset by peer
  解决:将nova.conf中关于vnc的字段去掉。如果要使用vnc协议的话,解决方法如下:安装或更新最新的vnc相关软件包之后可以正常进行迁移。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670711-1-1.html 上篇帖子: ceph详细安装部署教程(单监控节点) 下篇帖子: ceph集群增加pg报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表