ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

openstack高可用集群21-高性能云硬盘与SSD云硬盘的实现

2021-03-29 15:35:05  阅读:247  来源: 互联网

标签:ceph 21 up 1.00000 ssd SSD cinder 硬盘 0.90900


本例子ceph N版本采用的是bluestore,而不是filestore. 生产环境有ssd可以直接认到并自动创建ssd class, 修改前集群拓扑: # ceph osd tree ID  CLASS WEIGHT   TYPE NAME                      STATUS REWEIGHT PRI-AFF -40       58.21582 root hdd                                                -41       14.55396     rack shzjJ08-HDD                                    -4       14.55396         host shzj-computer-167                          32   hdd  7.27698             osd.32               down        0 1.00000 33   hdd  7.27698             osd.33               down        0 1.00000 -58       14.55396     rack shzjJ09-HDD                                    -10       14.55396         host shzj-computer-168                          34   hdd  7.27698             osd.34                 up  1.00000 1.00000 35   hdd  7.27698             osd.35                 up  1.00000 1.00000 -61       14.55396     rack shzjJ10-HDD                                    -16       14.55396         host shzj-computer-169                          36   hdd  7.27698             osd.36                 up  1.00000 1.00000 37   hdd  7.27698             osd.37                 up  1.00000 1.00000 -64       14.55396     rack shzjJ11-HDD                                    -24       14.55396         host shzj-computer-170                          38   hdd  7.27698             osd.38                 up  1.00000 1.00000 39   hdd  7.27698             osd.39                 up  1.00000 1.00000 -1       29.07599 root ssd                                                -19        7.26900     rack shzjJ08                                        -7        3.63399         host shzj-computer-159                            2   ssd  0.90900             osd.2                  up  1.00000 1.00000   5   ssd  0.90900             osd.5                  up  1.00000 1.00000   8   ssd  0.90900             osd.8                  up  1.00000 1.00000 30   ssd  0.90900             osd.30                 up  1.00000 1.00000 -11        3.63399         host shzj-computer-163                          10   ssd  0.90900             osd.10                 up  1.00000 1.00000 12   ssd  0.90900             osd.12                 up  1.00000 1.00000 22   ssd  0.90900             osd.22                 up  1.00000 1.00000 23   ssd  0.90900             osd.23                 up  1.00000 1.00000 -20        7.26900     rack shzjJ09                                        -9        3.63399         host shzj-computer-160                            9   ssd  0.90900             osd.9                  up  1.00000 1.00000 20   ssd  0.90900             osd.20                 up  1.00000 1.00000 21   ssd  0.90900             osd.21                 up  1.00000 1.00000 31   ssd  0.90900             osd.31                 up  1.00000 1.00000 -13        3.63399         host shzj-computer-164                            3   ssd  0.90900             osd.3                  up  1.00000 1.00000 24   ssd  0.90900             osd.24                 up  1.00000 1.00000 25   ssd  0.90900             osd.25                 up  1.00000 1.00000 29   ssd  0.90900             osd.29                 up  1.00000 1.00000 -21        7.26900     rack shzjJ10                                        -3        3.63399         host shzj-computer-161                            0   ssd  0.90900             osd.0                  up  1.00000 1.00000   4   ssd  0.90900             osd.4                  up  1.00000 1.00000 16   ssd  0.90900             osd.16                 up  1.00000 1.00000 19   ssd  0.90900             osd.19                 up  1.00000 1.00000 -15        3.63399         host shzj-computer-165                            6   ssd  0.90900             osd.6                  up  1.00000 1.00000 14   ssd  0.90900             osd.14                 up  1.00000 1.00000 26   ssd  0.90900             osd.26                 up  1.00000 1.00000 27   ssd  0.90900             osd.27                 up  1.00000 1.00000 -22        7.26900     rack shzjJ12                                        -5        3.63399         host shzj-computer-162                            1   ssd  0.90900             osd.1                  up  1.00000 1.00000   7   ssd  0.90900             osd.7                  up  1.00000 1.00000 17   ssd  0.90900             osd.17                 up  1.00000 1.00000 18   ssd  0.90900             osd.18                 up  1.00000 1.00000 -17        3.63399         host shzj-computer-166                          11   ssd  0.90900             osd.11                 up  1.00000 1.00000 13   ssd  0.90900             osd.13                 up  1.00000 1.00000 15   ssd  0.90900             osd.15                 up  1.00000 1.00000 28   ssd  0.90900             osd.28                 up  1.00000 1.00000   查看class类型, 已经有2个class # ceph osd crush class ls [     "ssd",     "hdd" ] 查看ssd规则,已经创建完成了2个rule # ceph osd crush rule ls ssd_rule hdd_rule # ceph osd crush rule dump ssd_rule {     "rule_id": 0,     "rule_name": "ssd_rule",     "ruleset": 0,     "type": 1,     "min_size": 1,     "max_size": 10,     "steps": [         {             "op": "take",             "item": -1,             "item_name": "ssd"         },         {             "op": "chooseleaf_firstn",             "num": 0,             "type": "rack"         },         {             "op": "emit"         }     ] } # ceph osd crush rule dump hdd_rule {     "rule_id": 1,     "rule_name": "hdd_rule",     "ruleset": 1,     "type": 1,     "min_size": 1,     "max_size": 10,     "steps": [         {             "op": "take",             "item": -40,             "item_name": "hdd"         },         {             "op": "chooseleaf_firstn",             "num": 0,             "type": "rack"         },         {             "op": "emit"         }     ] }   ------------------------------------------------------------------------------ 如果没有ssd的规则,我们可以创建,命令如下 #ceph osd crush rule create-replicated ssd_rule ssd rack   命令的含义如下 ceph osd crush rule create-replicated <name> <root> <type> {<class>}                        create crush rule <name> for replicated pool to start from <root>, replicate across buckets of type <type>, use devices of type <class> (ssd or hdd)   ---------------------------------------------------------------------------------- 创建一个使用该rule-ssd规则的存储池: #ceph osd pool create ssd_volumes 64 64 ssd_rule 查看pool # ceph osd pool ls detail | grep ssdpool pool 4 'ssd_volumes' replicated size 3 min_size 1 crush_rule 0 object_hash rjenkins pg_num 64 pgp_num 64 autoscale_mode warn last_change 273444 flags hashpspool stripe_width 0   查看clinet.cinder权限 # ceph auth list . . . client.cinder         key: AQBnqfpetDPmMhAAiQ/vcxeVUExcAK51kGYhpA==         caps: [mon] allow r         caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images client.glance         key: AQBSqfpezszOHRaAyAQq0UIY+9x2b88q3UCLtQ==         caps: [mon] allow r         caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=images . . .   更新client.cinder权限 # ceph auth caps client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=ssd_volumes,allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images' 查看认证账号 # ceph auth list . . . client.cinder         key: AQBnqfpetDPmMhAAiQ/vcxeVUExcAK51kGYhpA==         caps: [mon] allow r         caps: [osd] allow class-read object_prefix rbd_children,allow rwx pool=ssd_volumes,allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images client.glance         key: AQBSqfpezszOHRaAyAQq0UIY+9x2b88q3UCLtQ==         caps: [mon] allow r         caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=images . . .   修改openstack cinder-volume增加配置,并创建volume 在/etc/cinder/cinder.conf添加以下内容,调用ceph2个pool,一个hdd,一个ssd [DEFAULT] enabled_backends = ceph,ssd [ceph] volume_driver = cinder.volume.drivers.rbd.RBDDriver rbd_pool = volumes rbd_ceph_conf = /etc/ceph/ceph.conf rbd_flatten_volume_from_snapshot = false rbd_max_clone_depth = 5 rbd_store_chunk_size = 4 rados_connect_timeout = 5 rbd_user = cinder rbd_secret_uuid = 2b706e33-609e-4542-9cc5-2b01703a292f volume_backend_name = ceph report_discard_supported = True image_upload_use_cinder_backend = True [ssd] volume_driver = cinder.volume.drivers.rbd.RBDDriver rbd_pool = ssd_volumes rbd_ceph_conf = /etc/ceph/ceph.conf rbd_flatten_volume_from_snapshot = false rbd_max_clone_depth = 5 rbd_store_chunk_size = 4 rados_connect_timeout = 5 rbd_user = cinder rbd_secret_uuid = 2b706e33-609e-4542-9cc5-2b01703a292f volume_backend_name = ssd report_discard_supported = True image_upload_use_cinder_backend = True [oslo_middleware] 重启cinder-volume服务 systemctl restart openstack-cinder-volume.service 查看cinder的pool (Show pool information for backends) # cinder get-pools +----------+-------------------------------+ | Property | Value                         | +----------+-------------------------------+ | name     | shzj-controller-153@ceph#ceph | +----------+-------------------------------+ +----------+-------------------------------+ | Property | Value                         | +----------+-------------------------------+ | name     | shzj-controller-151@ceph#ceph | +----------+-------------------------------+ +----------+-----------------------------+ | Property | Value                       | +----------+-----------------------------+ | name     | shzj-controller-153@ssd#ssd | +----------+-----------------------------+ +----------+-------------------------------+ | Property | Value                         | +----------+-------------------------------+ | name     | shzj-controller-152@ceph#ceph | +----------+-------------------------------+ 创建新的cinder-type cinder type-create ssd cinder type-key ssd set volume_backend_name=ssd 查询cinder-volume 是否启动成功 # openstack volume service list +------------------+--------------------------+------+---------+-------+----------------------------+ | Binary           | Host                     | Zone | Status  | State | Updated At                 | +------------------+--------------------------+------+---------+-------+----------------------------+ | cinder-scheduler | shzj-controller-151      | nova | enabled | up    | 2021-03-18T05:48:30.000000 | | cinder-volume    | shzj-controller-151@ceph | nova | enabled | up    | 2021-03-18T05:48:37.000000 | | cinder-volume    | shzj-controller-152@ceph | nova | enabled | up    | 2021-03-18T05:48:31.000000 | | cinder-scheduler | shzj-controller-152      | nova | enabled | up    | 2021-03-18T05:48:28.000000 | | cinder-scheduler | shzj-controller-153      | nova | enabled | up    | 2021-03-18T05:48:29.000000 | | cinder-volume    | shzj-controller-153@ceph | nova | enabled | up    | 2021-03-18T05:48:33.000000 | | cinder-volume    | shzj-controller-153@ssd  | nova | enabled | up    | 2021-03-18T05:48:28.000000 | +------------------+--------------------------+------+---------+-------+----------------------------+ 创建volume # openstack volume create --type ssd --size 1 disk20191026 +---------------------+--------------------------------------+ | Field               | Value                                | +---------------------+--------------------------------------+ | attachments         | []                                   | | availability_zone   | nova                                 | | bootable            | false                                | | consistencygroup_id | None                                 | | created_at          | 2021-03-18T05:49:22.000000           | | description         | None                                 | | encrypted           | False                                | | id                  | 7bc67df9-d9de-4f55-8284-c7f01cfb4dda | | migration_status    | None                                 | | multiattach         | False                                | | name                | disk20210318                         | | properties          |                                      | | replication_status  | None                                 | | size                | 1                                    | | snapshot_id         | None                                 | | source_volid        | None                                 | | status              | creating                             | | type                | ssd                                  | | updated_at          | None                                 | | user_id             | 380d6b7f829e4c8ab46704cc15222a2d     | +---------------------+--------------------------------------+ # openstack volume list | grep disk20210318 | 7bc67df9-d9de-4f55-8284-c7f01cfb4dda | disk20210318                        | available |    1 | 在ceph检查volume是否在ssd_volumes创建的 # rbd -p ssd_volumes ls volume-7bc67df9-d9de-4f55-8284-c7f01cfb4dda # rbd info ssd_volumes/volume-7bc67df9-d9de-4f55-8284-c7f01cfb4dda rbd image 'volume-7bc67df9-d9de-4f55-8284-c7f01cfb4dda':         size 1 GiB in 256 objects         order 22 (4 MiB objects)         snapshot_count: 0         id: 7485e2ba3dac9b         block_name_prefix: rbd_data.7485e2ba3dac9b         format: 2         features: layering, exclusive-lock, object-map, fast-diff, deep-flatten         op_features:         flags:         create_timestamp: Thu Mar 18 13:49:24 2021         access_timestamp: Thu Mar 18 13:49:24 2021         modify_timestamp: Thu Mar 18 13:49:24 2021 以上编号UID对应的   最后我们可以给类型改个高大上点的名字 # cinder type-update --name "SSD云硬盘" 724b73de-83a9-4186-b98c-034167a88a18 # cinder type-list +--------------------------------------+--------------+-------------+-----------+ | ID                                   | Name         | Description | Is_Public | +--------------------------------------+--------------+-------------+-----------+ | 724b73de-83a9-4186-b98c-034167a88a18 | SSD云硬盘    | -           | True      | | ba44284f-5e23-4a6c-8cc2-f972941e46b5 | 高性能云硬盘 | -           | True      | +--------------------------------------+--------------+-------------+-----------+  

标签:ceph,21,up,1.00000,ssd,SSD,cinder,硬盘,0.90900
来源: https://www.cnblogs.com/dexter-wang/p/14592490.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有