1. 程式人生 > >OpenStack Host Aggregation用例分析 (H版)

OpenStack Host Aggregation用例分析 (H版)

前兩天遇到這樣一個問題,使用者在建立VM instance的時候,想讓一些VM instance建立到SSD的機器上,一部分VM instance建立到SAS的機器上,並且live migration的時候,也要遵守這樣的規則。

這是一個非常典型的host aggregation的用例,我們可以通過AggregateInstanceExtraSpecsFilter來實現此功能。

第一步,enable AggregateInstanceExtraSpecsFilter,編輯/etc/nova/nova.conf,將如下配置加到[DEFAULT]段,配置完成後,重啟nova-scheduler讓配置生效。

scheduler_default_filters=AggregateInstanceExtraSpecsFilter
[[email protected] ~]# /etc/init.d/openstack-nova-scheduler  restart
Stopping openstack-nova-scheduler:                         [  OK  ]
Starting openstack-nova-scheduler:                         [  OK  ]

第二步,建立第一個host aggregation,併為這個host aggregation設定metadata SSD=1

[[email protected] ~]# nova aggregate-create aggregate1 nova
+----+------------+-------------------+-------+----------+
| Id | Name       | Availability Zone | Hosts | Metadata |
+----+------------+-------------------+-------+----------+
| 1  | aggregate1 | nova              |       |          |
+----+------------+-------------------+-------+----------+
[
[email protected]
~]# nova aggregate-add-host 1 rhel8234 Aggregate 1 has been successfully updated. +----+------------+-------------------+---------------+---------------------------------+ | Id | Name | Availability Zone | Hosts | Metadata | +----+------------+-------------------+---------------+---------------------------------+ | 1 | aggregate1 | nova | [u'rhel8234'] | {u'availability_zone': u'nova'} | +----+------------+-------------------+---------------+---------------------------------+ [[email protected] ~]# nova aggregate-set-metadata 1 SSD=1 Aggregate 1 has been successfully updated. +----+------------+-------------------+---------------+-----------------------------------------------+ | Id | Name | Availability Zone | Hosts | Metadata | +----+------------+-------------------+---------------+-----------------------------------------------+ | 1 | aggregate1 | nova | [u'rhel8234'] | {u'SSD': u'1', u'availability_zone': u'nova'} | +----+------------+-------------------+---------------+-----------------------------------------------+

第三步,建立第二個host aggregation,併為這個host aggregation設定metadata SAS=1

[[email protected] ~]# nova aggregate-create aggregate2 nova
+----+------------+-------------------+-------+----------+
| Id | Name       | Availability Zone | Hosts | Metadata |
+----+------------+-------------------+-------+----------+
| 2  | aggregate2 | nova              |       |          |
+----+------------+-------------------+-------+----------+
[[email protected] ~]# nova aggregate-add-host 2 rhel8235
Aggregate 2 has been successfully updated.
+----+------------+-------------------+---------------+---------------------------------+
| Id | Name       | Availability Zone | Hosts         | Metadata                        |
+----+------------+-------------------+---------------+---------------------------------+
| 2  | aggregate2 | nova              | [u'rhel8235'] | {u'availability_zone': u'nova'} |
+----+------------+-------------------+---------------+---------------------------------+
[[email protected] ~]# nova aggregate-set-metadata 2 SAS=1
Aggregate 2 has been successfully updated.
+----+------------+-------------------+---------------+-----------------------------------------------+
| Id | Name       | Availability Zone | Hosts         | Metadata                                      |
+----+------------+-------------------+---------------+-----------------------------------------------+
| 2  | aggregate2 | nova              | [u'rhel8235'] | {u'SAS': u'1', u'availability_zone': u'nova'} |
+----+------------+-------------------+---------------+-----------------------------------------------+
第四步,建立兩個flavor,一個設定
[[email protected] ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      | {}          |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      | {}          |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      | {}          |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      | {}          |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      | {}          |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
[[email protected] ~]# nova flavor-create ssd 6 512 0 1 
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 6  | ssd  | 512       | 0    | 0         |      | 1     | 1.0         | True      | {}          |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
[[email protected] ~]# nova flavor-key 6 set SSD=1
[[email protected] ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs    |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      | {}             |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      | {}             |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      | {}             |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      | {}             |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      | {}             |
| 6  | ssd       | 512       | 0    | 0         |      | 1     | 1.0         | True      | {u'SSD': u'1'} |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+

[[email protected] ~]# nova flavor-create sas 7 512 0 1 
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 7  | sas  | 512       | 0    | 0         |      | 1     | 1.0         | True      | {}          |
+----+------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
[[email protected] ~]# nova flavor-key 7 set SAS=1
[[email protected] ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs    |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      | {}             |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      | {}             |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      | {}             |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      | {}             |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      | {}             |
| 6  | ssd       | 512       | 0    | 0         |      | 1     | 1.0         | True      | {u'SSD': u'1'} |
| 7  | sas       | 512       | 0    | 0         |      | 1     | 1.0         | True      | {u'SAS': u'1'} |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------+

第五步,建立VM instance

[[email protected] ~]# nova boot --image  cirros-0.3.0-x86_64 --flavor 6 vm1
+-------------------------------------+--------------------------------------+
| Property                            | Value                                |
+-------------------------------------+--------------------------------------+
| OS-EXT-STS:task_state               | scheduling                           |
| image                               | cirros-0.3.0-x86_64                  |
| OS-EXT-STS:vm_state                 | building                             |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000012                    |
| flavor                              | ssd                                  |
| id                                  | ffaaff35-f696-4887-b3b9-84a73edbb143 |
| security_groups                     | [{u'name': u'default'}]              |
| user_id                             | 5091a627caa3497ba42a5c3e44826310     |
| OS-DCF:diskConfig                   | MANUAL                               |
| accessIPv4                          |                                      |
| accessIPv6                          |                                      |
| progress                            | 0                                    |
| OS-EXT-STS:power_state              | 0                                    |
| OS-EXT-AZ:availability_zone         | nova                                 |
| config_drive                        |                                      |
| status                              | BUILD                                |
| updated                             | 2013-03-06T07:01:22Z                 |
| hostId                              |                                      |
| OS-EXT-SRV-ATTR:host                | None                                 |
| key_name                            | None                                 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                 |
| name                                | vm1                                  |
| adminPass                           | o5ArG99zSxkD                         |
| tenant_id                           | 2e4d1beeb95344d5802d4a7ba488f076     |
| created                             | 2013-03-06T07:01:21Z                 |
| metadata                            | {}                                   |
+-------------------------------------+--------------------------------------+
[[email protected] ~]# nova boot --image  cirros-0.3.0-x86_64 --flavor 7 vm2
+-------------------------------------+--------------------------------------+
| Property                            | Value                                |
+-------------------------------------+--------------------------------------+
| OS-EXT-STS:task_state               | scheduling                           |
| image                               | cirros-0.3.0-x86_64                  |
| OS-EXT-STS:vm_state                 | building                             |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000013                    |
| flavor                              | sas                                  |
| id                                  | dc5f5ce9-3327-448d-af52-fb5fac197b38 |
| security_groups                     | [{u'name': u'default'}]              |
| user_id                             | 5091a627caa3497ba42a5c3e44826310     |
| OS-DCF:diskConfig                   | MANUAL                               |
| accessIPv4                          |                                      |
| accessIPv6                          |                                      |
| progress                            | 0                                    |
| OS-EXT-STS:power_state              | 0                                    |
| OS-EXT-AZ:availability_zone         | nova                                 |
| config_drive                        |                                      |
| status                              | BUILD                                |
| updated                             | 2013-03-06T07:01:29Z                 |
| hostId                              |                                      |
| OS-EXT-SRV-ATTR:host                | None                                 |
| key_name                            | None                                 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                 |
| name                                | vm2                                  |
| adminPass                           | X9cuS3chj2Cg                         |
| tenant_id                           | 2e4d1beeb95344d5802d4a7ba488f076     |
| created                             | 2013-03-06T07:01:28Z                 |
| metadata                            | {}                                   |
+-------------------------------------+--------------------------------------+
第六步,檢查VM instance的home server,是不是建立在對應的機器上
[[email protected] ~]# nova list
+--------------------------------------+------+--------+----------+
| ID                                   | Name | Status | Networks |
+--------------------------------------+------+--------+----------+
| ffaaff35-f696-4887-b3b9-84a73edbb143 | vm1  | ACTIVE |          |
| dc5f5ce9-3327-448d-af52-fb5fac197b38 | vm2  | ACTIVE |          |
+--------------------------------------+------+--------+----------+
[[email protected] ~]# nova show vm1
+-------------------------------------+------------------------------------------------------------+
| Property                            | Value                                                      |
+-------------------------------------+------------------------------------------------------------+
| status                              | ACTIVE                                                     |
| updated                             | 2013-03-06T07:01:27Z                                       |
| OS-EXT-STS:task_state               | None                                                       |
| OS-EXT-SRV-ATTR:host                | rhel8234                                                   |
| key_name                            | None                                                       |
| image                               | cirros-0.3.0-x86_64 (11042c91-2476-4386-a3ad-038df763ec5b) |
| hostId                              | 75f0f4964d23eb4048bf23a3617a46e1fddeabde72f0165deb2440e9   |
| OS-EXT-STS:vm_state                 | active                                                     |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000012                                          |
| OS-EXT-SRV-ATTR:hypervisor_hostname | rhel8234                                                   |
| flavor                              | ssd (6)                                                    |
| id                                  | ffaaff35-f696-4887-b3b9-84a73edbb143                       |
| security_groups                     | [{u'name': u'default'}]                                    |
| user_id                             | 5091a627caa3497ba42a5c3e44826310                           |
| name                                | vm1                                                        |
| created                             | 2013-03-06T07:01:21Z                                       |
| tenant_id                           | 2e4d1beeb95344d5802d4a7ba488f076                           |
| OS-DCF:diskConfig                   | MANUAL                                                     |
| metadata                            | {}                                                         |
| accessIPv4                          |                                                            |
| accessIPv6                          |                                                            |
| progress                            | 0                                                          |
| OS-EXT-STS:power_state              | 1                                                          |
| OS-EXT-AZ:availability_zone         | nova                                                       |
| config_drive                        |                                                            |
+-------------------------------------+------------------------------------------------------------+
[[email protected] ~]# nova show vm2
+-------------------------------------+------------------------------------------------------------+
| Property                            | Value                                                      |
+-------------------------------------+------------------------------------------------------------+
| status                              | ACTIVE                                                     |
| updated                             | 2013-03-06T07:01:34Z                                       |
| OS-EXT-STS:task_state               | None                                                       |
| OS-EXT-SRV-ATTR:host                | rhel8235                                                   |
| key_name                            | None                                                       |
| image                               | cirros-0.3.0-x86_64 (11042c91-2476-4386-a3ad-038df763ec5b) |
| hostId                              | cf84f90cb460f9c2516abb5b9ec0e49503d22369c71f6d1940b30dd0   |
| OS-EXT-STS:vm_state                 | active                                                     |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000013                                          |
| OS-EXT-SRV-ATTR:hypervisor_hostname | rhel8235                                                   |
| flavor                              | sas (7)                                                    |
| id                                  | dc5f5ce9-3327-448d-af52-fb5fac197b38                       |
| security_groups                     | [{u'name': u'default'}]                                    |
| user_id                             | 5091a627caa3497ba42a5c3e44826310                           |
| name                                | vm2                                                        |
| created                             | 2013-03-06T07:01:28Z                                       |
| tenant_id                           | 2e4d1beeb95344d5802d4a7ba488f076                           |
| OS-DCF:diskConfig                   | MANUAL                                                     |
| metadata                            | {}                                                         |
| accessIPv4                          |                                                            |
| accessIPv6                          |                                                            |
| progress                            | 0                                                          |
| OS-EXT-STS:power_state              | 1                                                          |
| OS-EXT-AZ:availability_zone         | nova                                                       |
| config_drive                        |                                                            |
+-------------------------------------+------------------------------------------------------------+
通過以上,可以看出我們的配置已經生效,使用SSD的VM建立在了rhel8234上,而使用SAS的建立在了rhel8235上。

相關推薦

OpenStack Host Aggregation分析 (H)

前兩天遇到這樣一個問題,使用者在建立VM instance的時候,想讓一些VM instance建立到SSD的機器上,一部分VM instance建立到SAS的機器上,並且live migration的時候,也要遵守這樣的規則。 這是一個非常典型的host aggregat

需求分析之六:業務之科伯恩系

做的 有時 data- time 重寫 比例 zhang 時間 討論 作者:張克強 作者微博:張克強-敏捷307 來自於科伯恩《編寫有效用例》對業務用例的說明 在《使用 UML 進行業務建模:理解業務用例與系統用例的相似和不同之處》中分析科伯恩編寫有效用比例如

ICONIX方法(分析方法實教程)

cnblogs 實例教程 png -1 alt 實例 分析方法 分析 image ICONIX方法(用例分析方法實例教程)

老美優惠券獲取攻略和相關產品分析

本文翻譯自BuzzFeed,作者是名女性編輯,所以裡面有些取巧的購物方法,可以理解:)1. 在購買之前,建立一個帳號,宣告你的生日是在那一天(呃...),很多網站會給到你5%到20%的折扣。2. 當你線上購物時,試著把物品在購物車裡放上兩天,根據Reddit社群的經驗分享,很

openstack效能測試和測試結果

雲平臺迴歸測試資料分析 1.1.  Cpu不同繫結策略對比測試 測試過程:在單臺host上起一臺vm,8核cpu,cpu採用不同的繫結策略。在vm上部署tomcat作為web server,用apache ab命令跑併發,並將8核cpu全部跑滿,測試檔案為動態小檔

驗證碼的測試分析

<一>文字輸入框的合法性檢測 1.輸入正確的文字、數字、符號,例如中國ABC123等字元,可以提交成功; 2.輸入特殊字元檢測,特殊字元(例如%、&、?、英文狀態下的單引號等)不引起系統出錯,則通過檢測; 3.空格的檢測: a.空格在行首的檢測(例如 中國),自動過濾行首的空格; b.空格

需求分析之一:異常流

備選流,又稱備選事件流,英文是Alternative Flow。在RUP和UML中,備選流的解釋如下:備選事件流包括與正常行為相關的可選或異常特徵的行為,同時也包括正常行為的各種變形。您可以將備選事件流看作是基本事件流的“繞行道”,有些備選事件流將返回到基本事件流,而有些將結束此用例的執行。  分析RUP對

需求分析之七:業務之小結

RUP雖然對於業務物件建模進行了詳細的說明,但其本身並沒有把業務物件建模(領域模型)、業務用例作為必須的工件。Rational系方法把業務用例作為需求規格說明(SRS)前的推薦工件。    

閱讀《大型網站技術架構:核心原理與案例分析》第五、六、七章,結合《河北省重大技術需求征集系統》,列舉實分析的可用性和可修改性戰術

定時 並不會 表現 做出 span class 硬件 進行 情況   網站的可用性描述網站可有效訪問的特性,網站的頁面能完整呈現在用戶面前,需要經過很多個環節,任何一個環節出了問題,都可能導致網站頁面不可訪問。可用性指標是網站架構設計的重要指標,對外是服務承諾,對內是考核指

需求分析圖和活動圖

pos com post OS 分享 http 需求 分析 活動 需求分析用例圖和活動圖

testlink轉換工具2018.12

首先說明一點,網上有很多資料,但真正可用的很少;在本人經過百度後,發現其實很多案例會因為各種原因而無法最終實現。   Testlink用例轉換工具,可以大致分為3種工具: 1)EX-Converter由第三公司開發testlink輔助工具,但那個不太好用; 地址:https://source

軟體測試中測試常用的設計方法分析

一、場景法      官方:通過運用場景法對系統的功能點或業務流程描述,從而提高測試效果。場景法一般包含基本流和備選流,從一個流程開始,通過描述經過的路徑來確定的過程,經過遍歷所有的基本流和備用流來完成整個場景。     個人總結:設計

AKKA文件(java)——與部署場景

我如何使用與部署akka? 有兩種不同的使用akka的方式: 作為一個庫:作為一個web應用的類路徑下的普通JAR使用,將它放在WEB-INF/lib。 在一上主類中通過例項化ActorSystem作為一個獨立的應用執行,或使用微核心(Scala) / 將akka作為一個庫使用 如果你在

PAT 1020 月餅 (25)(精簡程式碼+思路+推薦測試

1020 月餅 (25)(25 分)提問 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們

Access 分析網站一

Option Compare DatabasePublic lngSearchIP(4) As LongPublic strNowIP As StringPublic strOKAddress As StringPublic strOKIP As StringPublic blnStop As Boolean

測試 一招搞定sql分析

首先檢視mysql的sql記錄是否打開了 show variables like 'g%'; 如果沒有開啟就開啟sql記錄 set global general_log = on; 在日誌檔案中 日誌檔案在第一張圖general_lo

劍指Offer演算法題JAVA21-30題(全是個人寫的非官方,只供參考和自己複習,測試都通過了。)

21.棧的壓入、彈出序列、 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓

測試之黑盒測試設計方法(邊界值分析

        此方法是對等價類劃分法的補充,他不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例,邊界值的處理也是比較容易出錯的地方。使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入

黑盒測試設計模式-輸入域分析

一、概念         什麼是輸入域分析:輸入域分析是一種綜合的方法,綜合了等價類劃分法、邊界值分析法等方法。這裡說的輸入域就是指輸入,針對輸入會有各種 各樣的輸入值。輸入域測試主要考慮三個方面:

九、我們應當怎樣做需求分析:功能角色分析

在我們進行一系列需求調研工作的同時,我們的需求分析工作也開始啟動了。需求調研與需求分析工作應當是相輔相伴共同進行的。每次參加完需求調研回到公司,我們就應當對需求調研的成果進行一次需求分析。當下一次開始進行需求調研時,我們應當首先將上次需求分析的結果與客戶進行確認,同時對需求