[Hyper-V] [Open Stack] [Controller Node] โ‘ฆ Image Service - Glance ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

2023. 9. 9. 16:12ใ†System ์ž‘์—…์‹ค/Server ๊ด€๋ จ

728x90
๋ฐ˜์‘ํ˜•

 

 

 

 

 

 

 

 

 

OpenStack for Architects - Second Edition Paperback

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 




๐Ÿ—‚ ๋ชฉ์ฐจ

1. [Hyper-V] [Open Stack] Open Stack์ด๋ž€?
2. [Hyper-V] [Open Stack] [Controller Node] Hyper-V ๊ตฌ์„ฑ ๋ฐ Ubuntu 22.04.3 LTS Server ์„ค์น˜
3. [Hyper-V] [Open Stack] [Controller Node] โ‘  ์˜คํ”ˆ์Šคํƒ ํŒจํ‚ค์ง€ ์„ค์น˜
4. [Hyper-V] [Open Stack] [Controller Node] โ‘ก NTP Server ๊ตฌ์„ฑ
5. [Hyper-V] [Open Stack] [Controller Node] โ‘ข RabbitMQ - Message Queue ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
6. [Hyper-V] [Open Stack] [Controller Node] โ‘ฃ Memcached ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
7. [Hyper-V] [Open Stack] [Controller Node] โ‘ค Etcd ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
8. [Hyper-V] [Open Stack] [Controller Node] โ‘ฅ Keystone - Identity ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
9. [Hyper-V] [Open Stack] [Controller Node] โ‘ฆ Image Service - Glance ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ  
10. [Hyper-V] [Open Stack] [Controller Node] โ‘ง Compute Service - Nova ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
11. [Hyper-V] [Open Stack] [Contoller Node] โ‘จ Neutron - Network ์„œ๋น„์Šค ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ
12. [Hyper-V] [Open Stack] [Controller Node] โ‘ โ“ช Horizon - Dashboard ์„œ๋น„์Šค ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

11. [Hyper-V] [Open Stack] [Compute Node] ์ค€๋น„์ค‘

 

 

 

 

๐Ÿš€ Controller Node ๊ตฌ์„ฑ

    ๐Ÿ”ฝ ๊ฐœ์š”

์ฃผ๋‹ˆ์˜ ์˜คํ”ˆ์Šคํƒ ๊ตฌ์„ฑ๋„

 

        ๐Ÿ“ฆ ์†Œ๊ฐœ

Image(์ด๋ฏธ์ง€) ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” glance๋Š” ์‚ฌ์šฉ์ž๋“ค์ด VM(๊ฐ€์ƒ ๋จธ์‹ ) ์„ค์น˜ ์‹œ OS ISO ์ด๋ฏธ์ง€๋ฅผ ์ฐพ๊ณ , ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์„œ๋น„์Šค์—์š”.

์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋Š” ๊ฐ€์ƒ ๋จธ์‹  ์ด๋ฏธ์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ์งˆ์˜ํ•˜์—ฌ ์‹ค์ œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•ด ์ฃผ๋Š” REST API๋ฅผ ์ œ๊ณตํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ๋ถ€ํ„ฐ ์˜คํ”ˆ ์Šคํƒ Object(์˜ค๋ธŒ์ ํŠธ) Storage(์Šคํ† ๋ฆฌ์ง€)์™€ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์œ„์น˜์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐ€์ƒ ๋จธ์‹  ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๐Ÿ’ก ์ค‘์š”ํ•ด์š”!
ํ•ด๋‹น ๊ธ€์—์„œ๋Š” ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ ์ƒ์˜ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก file Backend๋ฅผ ๊ตฌ์„ฑ.

๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ๋Š” /var/lib/glance/images

์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๋Š” ์ ์–ด๋„ ์ˆ˜ GB์˜ ์šฉ๋Ÿ‰์„ ํ•„์š”๋กœ ํ•˜๋ฉฐ, file Backend๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— ๋กœ์ปฌ๋กœ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ€ํ‹ฐ ๋…ธ๋“œ glance ๋ฐฐํฌ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋Š” ์ ์ ˆํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•.

์ถ”๊ฐ€ ์ •๋ณด๋Š” ์•„๋ž˜์—์„œ ํ™•์ธ

https://docs.openstack.org/ocata/config-reference/image.html


์˜คํ”ˆ ์Šคํƒ ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋Š” Infrastructure-as-a-Service(Iaas)์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์—์š”.
๋””์Šคํฌ๋‚˜, ์„œ๋ฒ„ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ API ์š”์ฒญ๊ณผ ์ตœ์ข… ์‚ฌ์šฉ์ž์™€ ์˜คํ”ˆ ์Šคํƒ ์ปดํ“จํŠธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ๋ถ€ํ„ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •์˜๋ฅผ ํ•ด์ฃผ๊ณ  ์žˆ์–ด์š”. ๋˜ํ•œ, ์˜คํ”ˆ ์Šคํƒ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ์Šคํ† ๋ฆฌ์ง€ ํƒ€์ž…์—์„œ ๋””์Šคํฌ๋‚˜, ์„œ๋ฒ„ ์ด๋ฏธ์ง€ ์ €์žฅ์„ ์ง€์›ํ•œ๋‹ต๋‹ˆ๋‹ค.

๋ณต์ œ ์„œ๋น„์Šค๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ†ตํ•ด ์ผ๊ด€์„ฑ๊ณผ ์‚ฌ์šฉ์„ฑ์„ ํ™•์ธํ•˜๊ฒŒ ๋˜๊ณ , ๋‹ค๋ฅธ ์ •๊ธฐ์ ์ธ ํ”„๋กœ์„ธ์Šค์ธ auditor, updater, reaper๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”.

์˜คํ”ˆ ์Šคํƒ ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”.

๊ตฌ์„ฑ ์š”์†Œ ์ƒ์„ธ ๋‚ด์šฉ
glance-api ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ณต๊ตฌํ•˜๊ณ , ์ €์žฅํ•˜๋Š” ์ด๋ฏธ์ง€ API
glance-registry ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์ฒ˜๋ฆฌ, ๋ณต๊ตฌ.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” Item ๋ณ„ ํฌ๊ธฐ์™€ Type ํฌํ•จ.
Data Base ๊ธฐ๋ณธ ์„ค์ •์—์„œ ์ด๋ฏธ์ง€ ๋ฉ”ํƒ€ ์„œ๋น„์Šค ์ €์žฅ์†Œ์™€ Data Base์— ๋Œ€ํ•œ ์˜์กด ์„ ํƒ ๊ฐ€๋Šฅ.

๋Œ€๋ถ€๋ถ„ MariaDB ํ˜น์€ SQLIte ์‚ฌ์šฉ.
์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์ €์žฅ์†Œ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ์‹œ์Šคํ…œ (๋˜๋Š” glance-api ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— ๋งˆ์šดํŠธ๋œ ์ž„์˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ), ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€, RADOS ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€, VMware ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ๋ฐ HTTP๋ฅผ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ์ €์žฅ์†Œ ์œ ํ˜• ์ง€์›.

์ผ๋ถ€ ์ €์žฅ์†Œ๋Š” ์ฝ๊ธฐ ์ „์šฉ ์‚ฌ์šฉ์ž๋งŒ ์ง€์›.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •์˜ ์„œ๋น„์Šค Vender, ๊ด€๋ฆฌ์ž, ์„œ๋น„์Šค ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ ์žˆ๋„๋ก ์ •ํฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต API.

์ด ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฏธ์ง€, artifacts, ๋ณผ๋ฅจ, flavors, ์ง‘ํ•ฉ๊ณผ ๊ฐ™์ด ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ž์›์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

์ •์˜๋Š” ์ƒˆ๋กœ์šด ์†์„ฑ์˜ ํ‚ค, ์„ค๋ช…, ์ œ์•ฝ ์‚ฌํ•ญ, ๊ทธ๋ฆฌ๊ณ  ์—ฐ๊ด€๋˜์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์ž์› ์œ ํ˜• ํฌํ•จ.

 

๐Ÿ’ก ์ฃผ์˜!
Registry๋Š” ์˜คํ”ˆ ์Šคํƒ ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๋ถ€ ์„œ๋น„์Šค๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ๋˜์–ด์„œ๋Š” ์•ˆ๋จ.

 

 

 

    ๐Ÿ”ฝ ์ค€๋น„ํ•˜๊ธฐ

       ๐Ÿ“ฆ Storage ์ถ”๊ฐ€

์ฃผ๋‹ˆ๋Š” ์ตœ์ดˆ ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ค€๋น„ํ•  ๋•Œ, ์ด 100GB๋ฅผ ํ• ๋‹นํ•˜์—ฌ OS์— ํ• ๋‹นํ•˜์—ฌ ์ฃผ์—ˆ์–ด์š”.
์ฆ‰, ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ• ๋งŒํ•œ ์ €์žฅ์†Œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒƒ์ด์—์š”.



์ฃผ๋‹ˆ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” HDD ์ค‘ Storage2 (G:\)์˜ ๋ชจ๋“  ์šฉ๋Ÿ‰์„ ๊ฐ€์ƒ HDD๋กœ ๋งŒ๋“ค์–ด ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์—
Mount ์‹œ์ผœ ์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.

 

Hyper-V์—์„œ HDD ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊ฒŒ์š”.

์ตœ์ดˆ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ข…๋ฃŒํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

shutdown -h now

 


์ตœ์ดˆ ๊ฐ€์ƒ ๋จธ์‹  ์ด๋ฆ„์„ ์šฐํด๋ฆญํ•˜์—ฌ ์„ค์ •์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ์ค๋‹ˆ๋‹ค.

 

์™ผ์ชฝ์— IDE ์ปจํŠธ๋กค๋Ÿฌ 0 ์„ ํƒํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ, ์ถ”๊ฐ€๋ฅผ ๋ˆŒ๋Ÿฌ ์ถ”๊ฐ€ํ•ด ์ค„๊ฒŒ์š”.



์ด ๊ณณ์—์„œ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ค๋‹ˆ๋‹ค.



์ฃผ๋‹ˆ๋Š” VHDX ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์ƒ ๋””์Šคํฌ๋ฅผ ๋งŒ๋“ค์–ด ์ค„๊ฒŒ์š”.



์ด ๊ณณ์—์„œ ์ฃผ๋‹ˆ๋Š” ๊ณ ์ • ํฌ๊ธฐ๋ฅผ ์„ ํƒํ•ด ์ค„๊ฑด๋ฐ, ์ด ๋ฐฉ์‹์€ ์ตœ์ดˆ ๊ฐ€์ƒ ๋””์Šคํฌ๋ฅผ ๋งŒ๋“ค ๋•Œ, ํ•˜์ดํผ๋ฐ”์ด์ €์—์„œ ๋ฏธ๋ฆฌ ํ•ด๋‹น ๋ฌผ๋ฆฌ ๋””์Šคํฌ์— ์„ค์ •ํ•œ ์šฉ๋Ÿ‰๋งŒํผ์„ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ๊ฐ€๊ฒŒ ํ•ด ์ฃผ์–ด OS๊ฐ€ ๋™์ž‘ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅํ•  ๋•Œ, ๋™์  ํ™•์žฅ์œผ๋กœ ํ•˜๊ฒŒ ๋˜๋ฉด ํ™•์žฅํ•˜๋ฉด์„œ ์ €์žฅ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋Š๋ฆด ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๋Š๋ ค์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด์—์š”.

๋‹ค๋งŒ, ์ด๊ฑธ ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด ์ตœ์ดˆ ๊ฐ€์ƒ ๋””์Šคํฌ๋ฅผ ๋งŒ๋“ค ๋•Œ, ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์„ ๋Œ€๊ธฐํ•ด์•ผ ํ•ด์š”.



๊ฐ€์ƒ ๋””์Šคํฌ์— ์ด๋ฆ„์„ ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•ด ์ฃผ์—ˆ๊ณ , ๊ฐ€์ƒ ๋””์Šคํฌ๊ฐ€ ์ €์žฅ๋  ๋””์Šคํฌ๋ฅผ ์œ„์™€ ๊ฐ™์ด ์„ ํƒํ•ด ์ฃผ์—ˆ์–ด์š”.


๋‹ค์Œ์„ ๋ˆŒ๋Ÿฌ ๋„˜์–ด๊ฐˆ๊ฒŒ์š”.



์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด๋‹น HDD์˜ ๋ชจ๋“  ์šฉ๋Ÿ‰์„ ๊ธฐ์ž…ํ•ด ์ฃผ์—ˆ์–ด์š”.



์ด์ œ ๋งˆ์นจ์„ ๋ˆ„๋ฅด๋ฉด ๊ฐ€์ƒ ๋””์Šคํฌ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ์‹œ์ž‘๋  ๊ฑฐ์—์š”.

์œ„์—์„œ๋„ ์ด์•ผ๊ธฐ ํ–ˆ์ง€๋งŒ, ์ฃผ๋‹ˆ์ฒ˜๋Ÿผ ๊ณ ์ • ํฌ๊ธฐ๋ฅผ ์„ ํƒํ–ˆ๋‹ค๋ฉด ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด๊ฑฐ์—์š”.



์ด๋ ‡๊ฒŒ ๊ฐ€์ƒ ๋””์Šคํฌ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์–ด์š”.

 

 


๊ฐ€์ƒ ๋””์Šคํฌ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค๋ฉด ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ๋ถ€ํŒ…ํ–ˆ์„ ๋•Œ, ๋””์Šคํฌ๊ฐ€ fdisk๋ฅผ ์ด์šฉํ•ด์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•  ๊ฑฐ์—์š”.
์ด์ œ partition(ํŒŒํ‹ฐ์…˜)์„ ์ƒ์„ฑํ•˜๊ณ , mount(๋งˆ์šดํŠธ) ํ•ด์ฃผ์–ด์•ผ ํ•ด์š”. ์ด์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด ๋‘” ์•„๋ž˜ ๋‚ด์šฉ๋“ค์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

์ฐธ๊ณ ๋กœ LVM์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ์„œ ์ถ”ํ›„ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด์—์š”.
๋˜ํ•œ, ํŒŒํ‹ฐ์…˜์„ ๋งŒ๋“ค๊ณ , ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋งˆ์šดํŠธ๋ฅผ ํ•  ๊ฒฝ์šฐ /var/lib/glance/images์— ํ•ด์•ผ ํ•˜๋Š” ์  ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

728x90
 

[Linux] Ubuntu 22.04 GPT Partition ์„ค์ • ๋ฐ LVM ์„ค์ •

๐Ÿš€ Ubuntu 22.04 ๐Ÿ”ฝ GPT Partition ์„ค์ • ๋ฐ LVM ์„ค์ • ๐Ÿ“ฆ ์ถ”๊ฐ€ Disk ์ •๋ณด ํ™•์ธ ์ด๋ฒˆ์—๋Š” ์šฐ๋ถ„ํˆฌ์—์„œ ์ƒˆ๋กœ์šด Disk๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€์„ ๋•Œ, GPT ํŒŒํ‹ฐ์…”๋‹์„ ํ•˜๊ณ , LVM ์„ค์ •์„ ํ•ด ๋ณผ๊ฑด๋ฐ, ์ด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž‘์„ฑํ•ด ๋ณด๋„๋ก

junyharang.tistory.com

 

glance Storage Mount


์ฃผ๋‹ˆ๋Š” ์œ„์™€ ๊ฐ™์ด LVM์œผ๋กœ ๋งŒ๋“  930GB Storage๋ฅผ /var/lib/glance/images์— ๋งˆ์šดํŠธ ํ•ด ์ฃผ์—ˆ์–ด์š”.

 

 

 

    ๐Ÿ”ฝ ๊ตฌ์„ฑ ์š”์†Œ ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

       ๐Ÿ“ฆ Database ์ž‘์—…

์ด๋ฒˆ์—๋Š” ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— glance๋ผ๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‚ด์šฉ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ด์š”.

์ด ์ž‘์—…์„ ํ†ตํ•ด ๊ฐ€์ƒ ๋จธ์‹ ์˜ OS ์ด๋ฏธ์ง€๋ฅผ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ต๋‹ˆ๋‹ค.

 


์œ„์™€ ๊ฐ™์ด DB์™€ ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ , ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด ์ฃผ์—ˆ์–ด์š”.
GLANCE_DBPASS ๋ถ€๋ถ„์—๋Š” ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ๋ฉด ๋œ๋‹ต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ 23๋ฒˆ์งธ ์ค„์— 192.168.20.% IP๋Š” ์ฃผ๋‹ˆ์˜ ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์— localhost๋กœ ๋ฐ”๊พธ๋Š”๊ฑฐ๋‚˜, ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ ‘์† ํ—ˆ์šฉ IP๋ฅผ ์ ์–ด์ฃผ์–ด์•ผ ํ•ด์š”.


 

 

 

       ๐Ÿ“ฆ ๊ณ„์ • ์ƒ์„ฑ

. admin-openrc


์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ด€๋ฆฌ์ž ๊ณ„์ •์˜ credential์„ ์ด์šฉํ•˜์—ฌ ๊ด€๋ฆฌ์ž๊ฐ€ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ฃผ์—ˆ์–ด์š”.

 

openstack user create --domain default --project service --password servicepassword glance

 

 

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ glance ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•ด ์ฃผ์—ˆ์–ด์š”.

servicepassword๋Š” ์ž„์˜์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•ด์š”.
๋‹จ, ๋˜๋„๋ก ํŠน์ˆ˜๋ฌธ์ž๋Š” ๋„ฃ์ง€ ์•Š๋Š”๊ฑธ ์ถ”์ฒœํ•ด์š”.

openstack role add --project service --user glance admin


์œ„์˜ ๋ช…๋ น์–ด๋กœ glance ๊ณ„์ •์„ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ(admin)์œผ๋กœ ์ง€์ •ํ•ด ์ฃผ์—ˆ๊ณ , service ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ฃผ์—ˆ์–ด์š”.

openstack service create --name glance --description "OpenStack Image" image


์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ glance ์„œ๋น„์Šค ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.



export controller={Controller Node Domain Name}


์œ„์™€ ๊ฐ™์ด Glance API Host๋ฅผ ์ •์˜ํ•˜์—ฌ controller ๋ณ€์ˆ˜์— ๋„ฃ์–ด์ฃผ์—ˆ์–ด์š”.


๋ฐ˜์‘ํ˜•


์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€ ์„œ๋น„์Šค API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.

endpoint ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

openstack endpoint list


๋งŒ์•ฝ endpoint๋ฅผ ์ž˜ ๋ชป ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

openstack endpoint delete {ENDPOINT_ID}




 

 

       ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์„ค์ •

์ตœ์ดˆ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ์ค„๊ฒŒ์š”.

apt install -y glance


์œ„ ๋ช…๋ น์–ด๋กœ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ์ค๋‹ˆ๋‹ค.


vim /etc/glance/glance-api.conf [DEFAULT] ๋ณ€๊ฒฝ ๋’ค


password์—๋Š” RabbitMQ ๊ตฌ์„ฑ์‹œ ๊ณ„์ •์˜ ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•ด์š”.



vim /etc/glance/glance-api.conf [database]


์œ„์™€ ๊ฐ™์ด ๋ฏธ๋ฆฌ ๊ตฌ์ถ•๋œ DB์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด ์ฃผ์—ˆ์–ด์š”.
GLANCE_DBPASS๋Š” ์œ„์—์„œ DB ๊ณ„์ • ์ƒ์„ฑ ์‹œ ๋งŒ๋“ค์—ˆ๋˜ ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ๋ฉด ๋œ๋‹ต๋‹ˆ๋‹ค.

 

vim /etc/glance/glance-api.conf [keystone_authtoken]


4984๋ฒˆ์งธ ์ค„์— servicepassword์—๋Š” glance ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

Apache2 Keystone์—์„œ ์ž์ฒด ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 4966๋ฒˆ์งธ ๋ถ€๋ถ„์„ true๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ต๋‹ˆ๋‹ค.




vim /etc/glance/glance-api.conf 5863 ~ 5865 ๋ณ€๊ฒฝ ์ „

 

 

vim /etc/glance/glance-api.conf 5863 ~ 5865 ๋ณ€๊ฒฝ ๋’ค


์œ„์™€ ๊ฐ™์ด Identity ์„œ๋น„์Šค ์ ‘๊ทผ์„ ์œ„ํ•œ ๋‚ด์šฉ์„ ๊ตฌ์„ฑํ•ด ์ฃผ์—ˆ์–ด์š”.

 

 

vim /etc/glance/glance-api.conf [glance_store]

 

์ด๋ฒˆ์—๋Š” ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ €์žฅ์†Œ์™€ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ฃผ์—ˆ์–ด์š”.

์—ฌ๊ธฐ๊นŒ์ง€ ๋˜์—ˆ๋‹ค๋ฉด ์ €์žฅํ•˜๊ณ , ๋‚˜์˜ต๋‹ˆ๋‹ค.



chmod 640 /etc/glance/glance-api.conf; chown  root:glance /etc/glance/glance-api.conf


์œ„์™€ ๊ฐ™์ด ์„ค์ • ํŒŒ์ผ์— ๊ถŒํ•œ๊ณผ ์†Œ์œ ๊ถŒ์„ ๋ณ€๊ฒฝํ•ด ์ฃผ์—ˆ์–ด์š”.





su -s /bin/sh -c "glance-manage db_sync" glance


์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€ ์„œ๋น„์Šค๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋„ฃ์–ด์ฃผ์—ˆ์–ด์š”.

๋งŒ์•ฝ ์ถœ๋ ฅ๋˜๋Š” ๋‚ด์šฉ ์ค‘ deprecation์ด๋ผ๋Š” ๋‚ด์šฉ์€ ๋ฌด์‹œํ•ด๋„ ๋œ๋‹ต๋‹ˆ๋‹ค.



glance DB Table


์œ„์™€ ๊ฐ™์ด DB Table์ด ๋งŒ๋“ค์–ด์ง„๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.


systemctl restart glance-api


์œ„์™€ ๊ฐ™์ด ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ณ , ์žฌ๊ธฐ๋™ ํ•ด ์ฃผ์—ˆ์–ด์š”.

 

vim /etc/nginx/ngxin.conf


๋งŒ์•ฝ https ํ†ต์‹ ์„ ๊ตฌ์„ฑ ์ค‘์ด๋ผ๋ฉด ์œ„์— 68, 72 ~ 73๋ฒˆ์งธ ์ค„์„ ์ˆ˜์ •ํ•ด ์ฃผ์‹œ๋ฉด ๋˜๊ณ , ํ™œ์„ฑํ™” ํ•ด์ฃผ๋ฉด ๋˜์š”.



๊ทธ๋Ÿฐ ๋’ค ์œ„์™€ ๊ฐ™์ด ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ณ , ์žฌ ์‹œ์ž‘ํ•ด ์ฃผ์—ˆ์–ด์š”.

 

 

 

       ๐Ÿ“ฆ ์ž˜ ์„ค์น˜ํ•˜์˜€๋‚˜? ๐Ÿค”

glance ๊ตฌ์„ฑ์ด ์ž˜ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณผ๊ฒŒ์š”.

wget http://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img


์ตœ์ดˆ ์œ„์™€ ๊ฐ™์ด Image๊ฐ€ ์ €์žฅ๋  ๊ฒฝ๋กœ๋กœ ๊ฐ€์„œ ์šฐ๋ถ„ํˆฌ 22.04 Image ํ•˜๋‚˜๋ฅผ ๋‚ด๋ ค ๋ฐ›์•„ ์ฃผ์—ˆ์–ด์š”.



์œ„์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•ด ์ค„ ์ˆ˜ ์žˆ์–ด์š”.

๊ทธ๋Ÿฐ ๋’ค ๋””์Šคํฌ ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์šดํŠธํ•ด ์ฃผ์—ˆ์–ด์š”.

 

vim /mnt/etc/cloud/cloud.cfg 13๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ์ „



vim /mnt/etc/cloud/cloud.cfg 13๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ๋’ค


์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•˜๋ฉด SSH ์•”ํ˜ธ ์ธ์ฆ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.


vim /mnt/etc/cloud/cloud.cfg 104๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ์ „


vim /mnt/etc/cloud/cloud.cfg 104๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ๋’ค



์œ„ ๋ถ€๋ถ„์€ [ubuntu] ์‚ฌ์šฉ์ž๊ฐ€ SSH ์•”ํ˜ธ ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ด ์ค€ ๋ถ€๋ถ„์ด์—์š”.

์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๊ณ , ์ €์žฅํ•˜๊ณ  ๋‚˜์™€์ฃผ์—ˆ์–ด์š”.




umount /mnt; qemu-nbd --disconnect /dev/nbd0p1


ํ•ด๋‹น ์ด๋ฏธ์ง€ ๋งˆ์šดํŠธ๋ฅผ ํ•ด์ œํ•ด ์ฃผ์—ˆ์–ด์š”.



openstack image create "Ubuntu2204" --file ubuntu-22.04-server-cloudimg-amd64.img --disk-format qcow2 --container-format bare --public



์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด Glance์— ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.




openstack image list



์ด๋ฏธ์ง€๊ฐ€ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



 

 

 

 

Openstack Essentials Second Edition Paperback

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

๐Ÿง ์ฐธ๊ณ  ์ž๋ฃŒ

 

OpenStack Docs: Image ์„œ๋น„์Šค

 

docs.openstack.org

 

 

 

728x90
๋ฐ˜์‘ํ˜•