Ironic部署原理和實戰(zhàn)

Principle

ironic原理
Ironic in CSDN

Operations

Redhat Doc

Ironic部署過程中會看到有兩套kernel initrd 塞关, 需要知道他們是用于不同的目的。

一個是deploy image轻绞,

  • 必須包含ironic python agent
  • 作用是dd user image 到裸機的硬盤上博其。

一個是user image ,有2種:

  • partition image
    也叫做half imge,只是一個root partition , 在寫到磁盤之后,裸機啟動有2種方式:

    1. 從pxe啟動,使用這個user image的kernel 和 ramdisk蚓炬。
    2. 從硬盤啟動,這個需要配置ironic node的local boot特性躺屁。
  • whole image

    1. 包括分區(qū)表和bootloader
    2. 在whole image寫到磁盤之后肯夏,ironic就不管裸機的啟動了,默認是從硬盤啟動。

使用方式驯击,參見:
https://docs.openstack.org/project-install-guide/baremetal/draft/configure-glance-images.html

How to Deploy user image ?

無論是使用Half user image烁兰, 還是Whole user image, 開始都是使用deploy Image去實現”將 user image 寫入到 裸機的硬盤中“ 這一過程, 因此在部署時徊都,要注意配置deploy image

ironic node-update node1 add \
 driver_info/deploy_kernel=$DEPLOY_KERNEL_ID \
 driver_info/deploy_ramdisk=$DEPLOY_RAMDISK_ID

deploy時是先啟動一個小系統沪斟,然后將qcow2文件利用iscsi協議寫入到硬盤中去。
這個小系統里面要有ironic python agent , 要 iscsi, dd qcow2 到磁盤暇矫。
參見

使用Half User Image

上傳 half user-os image時主之,同時也要上傳kernel和initrd, 這個image的property要帶上kernel , initrd參數。

[root@cloud-sz-kolla-b13-01 ironic]# openstack image list |grep bm-user
| bea4a10b-5ff2-4105-955d-0e79358df311 | bm-user-half-centos6-initrd | active |
| 04a2d4e9-4da7-4870-88bc-71d9282aa622 | bm-user-half-centos6-kernel | active |
| e36a093d-cb18-4a72-bc7f-737502cb0f88 | bm-user-half-centos6-os     | active |
| b48ace11-cec3-4a30-8cdd-ee643cccde95 | bm-user-half-centos7-initrd | active |
| 6ab91df6-1ede-4cf5-b824-dd1680ef3860 | bm-user-half-centos7-kernel | active |
| e0750ab1-41d0-419f-a418-475b8a5591f0 | bm-user-half-centos7-os     | active |
| e5a3d158-dece-4fbd-ae3b-3bbf3077f560 | bm-user-whole-centos6-os    | active |
| bbc8e047-0ab3-4396-b3b4-1497992723eb | bm-user-whole-centos7-os    | active |

[root@cloud-b13-01 ironic]# openstack image show bm-user-half-centos7-os
+------------------+-----------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                               |
+------------------+-----------------------------------------------------------------------------------------------------+
| checksum         | 7cbedc4d391e34bf24d5ad10727c512d                                                                    |
| container_format | bare                                                                                                |
| created_at       | 2017-11-17T02:54:53Z                                                                                |
| disk_format      | qcow2                                                                                               |
| file             | /v2/images/e0750ab1-41d0-419f-a418-475b8a5591f0/file                                                |
| id               | e0750ab1-41d0-419f-a418-475b8a5591f0                                                                |
| min_disk         | 0                                                                                                   |
| min_ram          | 0                                                                                                   |
| name             | bm-user-half-centos7-os                                                                             |
| owner            | 21fe1bab6b494fab94e6fded5ebd893a                                                                    |
| properties       | kernel_id='6ab91df6-1ede-4cf5-b824-dd1680ef3860', ramdisk_id='b48ace11-cec3-4a30-8cdd-ee643cccde95' |
| protected        | False                                                                                               |
| schema           | /v2/schemas/image                                                                                   |
| size             | 570490880                                                                                           |
| status           | active                                                                                              |
| tags             |                                                                                                     |
| updated_at       | 2017-11-17T02:54:59Z                                                                                |
| virtual_size     | None                                                                                                |
| visibility       | public                                                                                              |
+------------------+-----------------------------------------------------------------------------------------------------+

使用whole image

Whole Image有什么好處呢李根? 什么時候適合使用Whole image ?
-> 不需要kernel, initrd文件(用于boot 裸機)
-> 方便安裝Windows操作系統槽奕。

拿centos7 whole image做測試,deploy之前is_whole_disk_image是false , 之后變成了True

| driver_internal_info   | {u'agent_url': u'http://192.168.0.112:9999', u'root_uuid_or_disk_id':      |
|                        | u'0x000666fc', u'is_whole_disk_image': True}    

Local boot

Local boot是用于在ironic部署完裸機之后房轿,控制裸機的啟動方式粤攒,通常deploy完之后,裸機依然是pxe啟動囱持,參見doc
local boot就是指定從硬盤啟動夯接。

如果使用whole image,是否就不需要local boot ?
-》是的,測試發(fā)現洪唐,使用whole image時钻蹬,加不加local boot特性都一樣:默認都是從硬盤啟動。

Whole disk images, on the contrary, support only local boot, and use it by default.

測試部署centos6 half image, 沒有配置local boot,但還是報install bootloader failed的錯誤凭需。

Ironic Inspect

inspect是用來在ironic部署時做硬件檢測的问欠, 如果裸機硬盤和網卡都正常,inspect過程是完全可以跳過去的粒蜈。

inspect 之前

[root@cloud-sz-kolla-b13-01 ironic-deploy-test]# openstack hypervisor show 44e91a6a-4d7d-4f6e-812a-d3b626769b01+----------------------+--------------------------------------+
| Field                | Value                                |
+----------------------+--------------------------------------+
| aggregates           | [u'baremetal-hosts']                 |
| cpu_info             |                                      |
| current_workload     | 0                                    |
| disk_available_least | 10                                   |
| free_disk_gb         | 10                                   |
| free_ram_mb          | 4000                                 |
| host_ip              | 10.54.12.22                          |
| hypervisor_hostname  | 44e91a6a-4d7d-4f6e-812a-d3b626769b01 |
| hypervisor_type      | ironic                               |
| hypervisor_version   | 1                                    |
| id                   | 202                                  |
| local_gb             | 10                                   |
| local_gb_used        | 0                                    |
| memory_mb            | 4000                                 |
| memory_mb_used       | 0                                    |
| running_vms          | 0                                    |
| service_host         | cloud-sz-control-b12-02-ironic       |
| service_id           | 160                                  |
| state                | up                                   |
| status               | enabled                              |
| vcpus                | 1                                    |
| vcpus_used           | 0                                    |
+----------------------+--------------------------------------+

上面的內存顺献,磁盤大小等數據是在添加ironic節(jié)點時手動指定的,

ironic node-update $node_name add \
   properties/cpus=1 \
   properties/memory_mb=4000 \
   properties/local_gb=10 \
   properties/cpu_arch="x86_64" \
   properties/capabilities="boot_option:local"  

inspect 之后

[root@cloud-sz-kolla-b13-01 ironic-deploy-test]# openstack hypervisor show 44e91a6a-4d7d-4f6e-812a-d3b626769b01+----------------------+--------------------------------------+
| Field                | Value                                |
+----------------------+--------------------------------------+
| aggregates           | [u'baremetal-hosts']                 |
| cpu_info             |                                      |
| current_workload     | 0                                    |
| disk_available_least | 221                                  |
| free_disk_gb         | 221                                  |
| free_ram_mb          | 524288                               |
| host_ip              | 10.54.12.22                          |
| hypervisor_hostname  | 44e91a6a-4d7d-4f6e-812a-d3b626769b01 |
| hypervisor_type      | ironic                               |
| hypervisor_version   | 1                                    |
| id                   | 202                                  |
| local_gb             | 221                                  |
| local_gb_used        | 0                                    |
| memory_mb            | 524288                               |
| memory_mb_used       | 0                                    |
| running_vms          | 0                                    |
| service_host         | cloud-sz-control-b12-02-ironic       |
| service_id           | 160                                  |
| state                | up                                   |
| status               | enabled                              |
| vcpus                | 112                                  |
| vcpus_used           | 0                                    |
+----------------------+--------------------------------------+

所以枯怖,如果追求真實的磁盤注整,內存數據,就不要跳過inspect過程度硝。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末肿轨,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子蕊程,更是在濱河造成了極大的恐慌椒袍,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藻茂,死亡現場離奇詭異驹暑,居然都是意外死亡玫恳,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門优俘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來京办,“玉大人,你說我怎么就攤上這事帆焕〔研觯” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵视搏,是天一觀的道長审孽。 經常有香客問我县袱,道長浑娜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任式散,我火速辦了婚禮筋遭,結果婚禮上,老公的妹妹穿的比我還像新娘暴拄。我一直安慰自己漓滔,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布乖篷。 她就那樣靜靜地躺著响驴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪撕蔼。 梳的紋絲不亂的頭發(fā)上豁鲤,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音鲸沮,去河邊找鬼琳骡。 笑死,一個胖子當著我的面吹牛讼溺,可吹牛的內容都是我干的楣号。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼怒坯,長吁一口氣:“原來是場噩夢啊……” “哼炫狱!你這毒婦竟也來了?” 一聲冷哼從身側響起剔猿,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤视译,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后艳馒,有當地人在樹林里發(fā)現了一具尸體憎亚,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡员寇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了第美。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝶锋。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖什往,靈堂內的尸體忽然破棺而出扳缕,到底是詐尸還是另有隱情,我是刑警寧澤别威,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布躯舔,位于F島的核電站,受9級特大地震影響省古,放射性物質發(fā)生泄漏粥庄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一豺妓、第九天 我趴在偏房一處隱蔽的房頂上張望惜互。 院中可真熱鬧,春花似錦琳拭、人聲如沸训堆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坑鱼。三九已至,卻和暖如春絮缅,著一層夾襖步出監(jiān)牢的瞬間鲁沥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工盟蚣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留黍析,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓屎开,卻偏偏與公主長得像阐枣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奄抽,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言档泽,發(fā)作 oo-boon-too 的音俊戳。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,160評論 9 467
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理揖赴,服務發(fā)現,斷路器抑胎,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 系統啟動是一項非常復雜的程序,因為內核得先檢測硬件并加載適當的驅動程序后恃锉,接下來則必須要調用程序來準備好系統運行的...
    Zhang21閱讀 11,471評論 3 10
  • 看到一個大學生分享找工作的故事搀菩。突然我就明白了年輕的意義。 年輕的時候破托,做事情有沖勁兒肪跋,為了自己想做的事情,想要的...
    溫柔以待世界閱讀 295評論 0 0