'command'에 해당되는 글 4건

  1. 2012.12.13 Cinder 명령어로 볼륨 생성하기
  2. 2012.12.07 Chef 명령어 정리
  3. 2012.10.23 OpenStack Glance 명령어 정리 (2)
  4. 2012.02.27 Openstack Swift Account Information Command (1)
OpenStack2012.12.13 16:21

오픈테크넷에서 세미나를 한 후 저에게 질문을 해 오시는 분들이 생기기 시작했습니다. 저도 아직 오픈스택에 대해 많은 것을 알고 있는것이 아니라, 그냥 단지 먼저 삽질을 시작한 것 뿐이고 아직 삽질하지 못한 부분이 더 많이 있습니다. 


그리고, 질문들이 제가 이전에 겪었던 그래서 커뮤니티 회원의 누군가로부터 도움을 받았던 내용들이라 저도 그 내용을 다시 전파를 해 주었습니다. 오늘은 어떤 분이 cinder 볼륨과 nova 볼륨에 대한 질문을 해 오셨기에 저도 아직 사용해 보지 않은 내용이고 많이 테스트 해 보지 않은 부분이라서 cinder 명령어를 테스트 해 보고, 정리해 보았습니다.



Cinder 명령어는 nova 명령어와 같이 cinder-manage 로 시작하는 명령어가 있고, cinder로 시작하는 명령어가 있다. 어떤 종류의 서브 명령어와 옵션들이 있는지 궁금하다면 help를 치면 친절하게 어떤 명령어들이 있는지 나온다.

$ cinder-manage --help

Available categories:

       config

       db

       host

       logs

       shell

       sm

       version

       volume

       migrate

 

$ cinder --help

Command-line interface to the OpenStack Volume API.

Positional arguments:

  <subcommand>

    absolute-limits     Print a list of absolute limits for a user

    create              Add a new volume.

    credentials         Show user credentials returned from auth

    delete              Remove a volume.

    endpoints           Discover endpoints that get returned from the

                        authenticate services

    extra-specs-list    Print a list of current 'volume types and extra specs'

                        (Admin Only).

    list                List all the volumes.

    quota-class-show    List the quotas for a quota class.

    quota-class-update  Update the quotas for a quota class.

    quota-defaults      List the default quotas for a tenant.

    quota-show          List the quotas for a tenant.

    quota-update        Update the quotas for a tenant.

    rate-limits         Print a list of rate limits for a user

    rename              Rename a volume.

    show                Show details about a volume.

    snapshot-create     Add a new snapshot.

    snapshot-delete     Remove a snapshot.

    snapshot-list       List all the snapshots.

    snapshot-rename     Rename a snapshot.

    snapshot-show       Show details about a snapshot.

    type-create         Create a new volume type.

    type-delete         Delete a specific volume type

    type-key            Set or unset extra_spec for a volume type.

    type-list           Print a list of available 'volume types'.

    bash-completion     Prints all of the commands and options to stdout so

                        that the

    help                Display help about this program or one of its

                        subcommands.


cinder-manage 의 서브 커맨드들은 9개가 존재를 하며 그중에서도 가장 많이 쓰이는 것이 host 가 아닐까 싶다.

cinder volume storage로 설정되어 있는 host 리스트 정보를 보여준다. 아직까지는 cinder가 제대로 구현이 되지 않아 debug 도 함께 보이지만, 이것도 좀 업데이트 되지 않을까 싶다.

$ cinder-manage host list

host                          zone          

2012-12-13 15:49:35 DEBUG cinder.utils [req-f93bbb68-15a9-47e6-a104-20c5cde70c3c None None] backend <module 'cinder.db.sqlalchemy.api' from '/opt/stack/cinder/cinder/db/sqlalchemy/api.pyc'> from (pid=5719) __get_backend /opt/stack/cinder/cinder/utils.py:557

openstack02                   nova          

openstack01                   nova          

openstack03                   nova


그외에 cinder-manage의 서브 커맨드들은 어떤 옵션들이 있는걸까? Help를 통해 알아보자

$ cinder-manage config   # 이 명령어는 cinder.conf 파일을 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for config category:

       list

 

$ cinder-manage db       # DB와 내용을 sync시키고, version정보를 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for db category:

       sync

       version

 

$ cinder-manage logs     # cinder를 사용하면서 발생하는 에러로그와 시스템로그를 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for logs category:

       errors

       syslog


지금까지는 cinder-manage 명령어에 대해서 알아보았다. 지금부터는 cinder 로 시작하는 명령어에 대해서 알아보도록 하자.

나는 우선 cinder 명령어를 익히기 위해서 Dashboard에서 다 지원하지만, Command 로 볼륨을 생성하고 인스턴스에 Attach를 시켜보았다. 같이 한번 해 보도록 하자.


1. 우선 내가 생성할 수 볼륨 사이즈가 어떻게 되는지 알아본다. 이건 다음과 같이 다양한 명령어로 확인할 수 있다. 

$ cinder absolute-limits

+-------------------------+-------+

|           Name          | Value |

+-------------------------+-------+

| maxTotalVolumeGigabytes |  1000 |

|     maxTotalVolumes     |   10  |

+-------------------------+-------+

 

$ cinder quota-show nalee   # nalee는 내 계정이 소속된 Tenant 명이다.

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+

$ cinder quota-defaults nalee

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+

$ cinder quota-class-show nalee

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+


2. cinder create 명령어로 volume을 생성한다.

$ cinder create --display-name "testvol" --display-description "test" --availability-zone "nova" 100

+---------------------+--------------------------------------+

|       Property      |                Value                 |

+---------------------+--------------------------------------+

|     attachments     |                  []                  |

|  availability_zone  |                 nova                 |

|       bootable      |                false                 |

|      created_at     |      2012-12-13T05:28:13.131825      |

| display_description |                 test                 |

|     display_name    |               testvol                |

|          id         | a6257e84-a8a9-403a-8587-ee70aa476a58 |

|       metadata      |                  {}                  |

|         size        |                 100                  |

|     snapshot_id     |                 None                 |

|        status       |               creating               |

|     volume_type     |                 None                 |

+---------------------+--------------------------------------+


이렇게 생성을 하면 Dashboard의 Volumes 메뉴에서 확인이 가능하다.

 

3. 볼륨이 잘 생성되었는지 cinder list로 확인한다.

$ cinder list

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

| 260d2060-eb6f-4ed9-9b46-c7ae999379fb | available |   testvol    | 100  |     None    |  false   |             |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+


4. 이번에는 volume의 상세정보를 한번 확인해 보자.

$ cinder show 260d2060-eb6f-4ed9-9b46-c7ae999379fb

+------------------------------+--------------------------------------+

|           Property           |                Value                 |

+------------------------------+--------------------------------------+

|         attachments          |                  []                  |

|      availability_zone       |                 nova                 |

|           bootable           |                false                 |

|          created_at          |      2012-12-13T05:28:13.000000      |

|     display_description      |                 test                 |

|         display_name         |               testvol                |

|              id              | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

|           metadata           |                  {}                  |

|    os-vol-host-attr:host     |             openstack02              |

| os-vol-tenant-attr:tenant_id |   1e1cf5cd2c3b419a858f9730a320860e   |

|             size             |                 100                  |

|         snapshot_id          |                 None                 |

|            status            |              available               |

|         volume_type          |                 None                 |

+------------------------------+--------------------------------------+


5. 그럼 이제 인스턴스와 cinder 볼륨을 연결시켜보자. 다음과 같이 nova-list 로 인스턴스 정보를 확인하고 cinder list로 볼륨 정보를 확인한다. 

$ nova list

+--------------------------------------+--------+--------+--------------------+

| ID                                   | Name   | Status | Networks           |

+--------------------------------------+--------+--------+--------------------+

| 88b90166-88aa-4d2d-acc1-90b3ca9016c8 | testvm | ACTIVE | private=10.4.128.2 |

+--------------------------------------+--------+--------+--------------------+

$ cinder list

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

| 260d2060-eb6f-4ed9-9b46-c7ae999379fb | available |   testvol    | 100  |     None    |  false   |             |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

$ nova volume-attach 88b90166-88aa-4d2d-acc1-90b3ca9016c8 260d2060-eb6f-4ed9-9b46-c7ae999379fb /dev/vdc

+----------+--------------------------------------+

| Property | Value                                |

+----------+--------------------------------------+

| device   | /dev/vdc                             |

| id       | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

| serverId | 88b90166-88aa-4d2d-acc1-90b3ca9016c8 |

| volumeId | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

+----------+--------------------------------------+


이렇게 생성하고 나면 Dashboard에서 역시 인스턴스와 볼륨이 연결되어 있는 걸을 확인 할 수 있다.



처음 오픈스택을 시작했을 때는 Help 기능이 있는지도 잘 몰라서 많이 헤매었는데 몇 개월동안 삽질을 하다보니 이제 당연히 Help를 보고 따라 쳐보면 되겠구나 라는 생각이 든다. 나도 그동안 많이 발전한 거겠지~~~ 삽질을 통해서 말이다.ㅋ


오픈스택이라는 오픈소스는 먼저 삽질을 시작한 선배들에게서 배우고, 또 이제 막 삽질을 시작한 후배들에게 정보를 공유할 수 있어 이것이 바로 오픈소스를 공부하고 사용하는 또 하나의 매력이 아닌가 싶다. ^^

저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang
OpenStack2012.12.07 05:36

몇일동안 Chef 서버를 설치하고 어떻게 하면 knife를 잘 쓸수 있을까 하고 고민하다가 knife 명령어들은 어떤 것들이 있을까 하고 궁금해 지기 시작했다.



물론 찾아보니 Chef Wiki 페이지(http://wiki.opscode.com/display/chef/Home)에 사용예제와 함께 자세하게 설명이 나와있다.

그리고, Blog나 웹을 검색하다보면 Chef에 대한 글을 많이 올려놓은 것을 찾아볼 수 있었다. 

몇가지 유용한 사이트의 URL을 남겨두도록 하겠다.


- http://blog.naver.com/PostView.nhn?blogId=enril99&logNo=140173071868&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

http://call518.tistory.com/39

- http://generalthings.com/2012/05/08/simple-steps-install-chef-ubuntu-12-04-10-04/

http://blog.woosum.net/archives/936


아래 내용은 Chef의 knife 명령어들이다. 아래있는 명령어 사용법은 wiki에 아주 친절하게 설명이 되어 있으므로 참조한다.


** BOOTSTRAP COMMANDS **

knife bootstrap FQDN (options)


** CLIENT COMMANDS **

knife client bulk delete REGEX (options)

knife client show CLIENT (options)

knife client delete CLIENT (options)

knife client reregister CLIENT (options)

knife client list (options)

knife client edit CLIENT (options)

knife client create CLIENT (options)


** CONFIGURE COMMANDS **

knife configure (options)

knife configure client DIRECTORY


** COOKBOOK COMMANDS **

knife cookbook show COOKBOOK [VERSION] [PART] [FILENAME] (options)

knife cookbook create COOKBOOK (options)

knife cookbook bulk delete REGEX (options)

knife cookbook list (options)

knife cookbook delete COOKBOOK VERSION (options)

knife cookbook download COOKBOOK [VERSION] (options)

knife cookbook test [COOKBOOKS...] (options)

knife cookbook upload [COOKBOOKS...] (options)

knife cookbook metadata COOKBOOK (options)

knife cookbook metadata from FILE (options)


** COOKBOOK SITE COMMANDS **

knife cookbook site install COOKBOOK [VERSION] (options)

knife cookbook site download COOKBOOK [VERSION] (options)

knife cookbook site search QUERY (options)

knife cookbook site show COOKBOOK [VERSION] (options)

knife cookbook site list (options)

knife cookbook site share COOKBOOK CATEGORY (options)

knife cookbook site unshare COOKBOOK


** DATA BAG COMMANDS **

knife data bag show BAG [ITEM] (options)

knife data bag list (options)

knife data bag from file BAG FILE|FOLDER [FILE|FOLDER..] (options)

knife data bag edit BAG ITEM (options)

knife data bag delete BAG [ITEM] (options)

knife data bag create BAG [ITEM] (options)


** ENVIRONMENT COMMANDS **

knife environment from file FILE [FILE..] (options)

knife environment show ENVIRONMENT (options)

knife environment list (options)

knife environment edit ENVIRONMENT (options)

knife environment delete ENVIRONMENT (options)

knife environment create ENVIRONMENT (options)


** EXEC COMMANDS **

knife exec [SCRIPT] (options)


** HELP COMMANDS **

knife help [list|TOPIC]


** INDEX COMMANDS **

knife index rebuild (options)


** NODE COMMANDS **

knife node run_list add [NODE] [ENTRY[,ENTRY]] (options)

knife node show NODE (options)

knife node bulk delete REGEX (options)

knife node delete NODE (options)

knife node create NODE (options)

knife node edit NODE (options)

knife node list (options)

knife node run_list remove [NODE] [ENTRIES] (options)

knife node from file FILE (options)


** RECIPE COMMANDS **

knife recipe list [PATTERN]


** ROLE COMMANDS **

knife role delete ROLE (options)

knife role list (options)

knife role create ROLE (options)

knife role edit ROLE (options)

knife role bulk delete REGEX (options)

knife role from file FILE [FILE..] (options)

knife role show ROLE (options)


** SEARCH COMMANDS **

knife search INDEX QUERY (options)


** SSH COMMANDS **

knife ssh QUERY COMMAND (options)


** STATUS COMMANDS **

knife status QUERY (options)


** TAG COMMANDS **

knife tag create NODE TAG ...

knife tag list NODE

knife tag delete NODE TAG ...

저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang
OpenStack2012.10.23 14:51

요즘 Openstack을 설치하고, 운영하면서 Glance라는 녀석과 매일 싸우고 있다. 그러면서, 자연스럽게 Glance 명령어 옵션에는 무엇이 있을까? 라는 의문을 갖게 되고, 관련된 문서를 찾아보고 하면서 알게된 Glance 명령어 옵션들을 정리해 보았다. Openstack을 운영하거나 스터디하는 사람들에게 도움이 되길 바라며서 블로그에 자료를 공유한다. 


glance --help를 입력하면 아래와 같은 glance 명령어 옵션을 확인할 수 있다. 나는 아래에 있는 이 명령어 옵션들에 대한 사용법은 어떤 것이고, 더 입력해야할 파라메터는 어떤것들이 있는지, 그리고, 사용 예제까지 아주 꼼꼼하게 분석해 보았다.


** Glance 명령어 옵션

add                 DEPRECATED! Use image-create instead.

    clear               DEPRECATED!

    delete              DEPRECATED! Use image-delete instead.

    details             DEPRECATED! Use image-list instead.

    image-create        Create a new image.

    image-delete        Delete a specific image.

    image-download      Download a specific image.

    image-list          List images you can access.

    image-members       DEPRECATED! Use member-list instead.

    image-show          Describe a specific image.

    image-update        Update a specific image.

    index               DEPRECATED! Use image-list instead.

    member-add          DEPRECATED! Use member-create instead.

    member-create       Share a specific image with a tenant.

    member-delete       Remove a shared image from a tenant.

    member-images       DEPRECATED! Use member-list instead.

    member-list         Describe sharing permissions by image or tenant.

    members-replace     DEPRECATED!

    show                DEPRECATED! Use image-show instead.

    update              DEPRECATED! Use image-update instead.

    help                Display help about this program or one of its

                        subcommands.

 

Add : image-create와 같은 명령어로 Glance 저장공간으로 이미지를 추가한다.

-      공식

$ glance add name=”{image name}” is_public=true container_format={container format} disk_format={disk format} < {image file name}

 

-      파라메터 설명

{image name}

사용자가 식별하기 쉬운 OS Image명을 입력한다.

{container format}

Container format에는 ari, ami, aki, bare가 있으며, ari RAMDISK, ami KERNEL, aki RamDisk Kernel 을 가지고 있는 image 를 올릴 때 사용한다. 대표적인 Linux OS cirros가 있다. kernel이나 ramdisk가 없는 일반 img 파일은 모두 bare로 입력하면 된다.

{disk format}

Disk format역시 ari, ami, aki가 있으며, 이외에 확장자에 따라 img파일은 raw, qcow2 파일은 qcow2 로 표현한다.

{image file name}

업로드 할 OS Image 명을 입력하면 된다. 단 업로드 할 이미지는 현재 실행디렉토리에 있어야만 한다. 만일 다른 디렉토리에 이미지가 있다면 해당 경로를 전부 써 주어야 한다.

 

-      예제

$ glance add name=”Ubuntu 12.04 LTS” is_public=true container_format=bare  disk_format=raw < ubuntu-12.04-server-cloudimg-amd64-disk1.img

Added new image with ID : ca5b58ac-e97c-437c-b06e-f195159ab475


 

Clear : glance 저장공간에 업로드 되어 있는 모든 image를 삭제한다.

-      공식

$ glance clear

Deleting image 0449eee2-8081-48a8-a7b3-ae679dee1b57 “cirros-0.3.0-x86_64-uec-ramdisk” … done

Completed in 0.0328 sec.

 

 

Delete : 특정 이미지를 삭제할 경우 delete 명령을 사용하는데 image-delete와 같다.

-      공식

$ glance delete {image id}

 

-      파라메터 설명

{image id}

glance image-list에서 조회되는 ID를 입력하면 된다.

 

-      예제

$ glance delete ca5b58ac-e97c-437c-b06e-f195159ab475

Deleted image ca5b58ac-e97c-437c-b06e-f195159ab475

 

 

Details : glance 저장공간에 업로드 되어 있는 모든 image의 상세정보를 확인할 수 있다.

-      공식 및 예제

$ glance details

====================================================================

URI: http://211.111.174.182:9292/v1/images/ca5b58ac-e97c-437c-b06e-f195159ab475

Id: ca5b58ac-e97c-437c-b06e-f195159ab475

Public: Yes

Protected: No

Name: Ubuntu 12.04 LTS

Status: active

Size: 226426880

Disk format: qcow2

Container format: ovf

Minimum Ram Required (MB): 0

Minimum Disk Required (GB): 0

Owner: 8855a00a79414352bc033697e6ccd2e8

Created at: 2012-10-09T08:34:05

Deleted at: None

Updated at: 2012-10-09T08:34:07

====================================================================

 


 

Image-create : glance 저장공간으로 이미지를 추가한다.

-      공식

$ glance image-create –name ”{image name}” --public --container_format {container format}  --disk_format {disk format} < {image file name}

 

-      파라메터 설명 : 파라메터는 add 명령어의 파라메터와 같으므로 생략~!

 

-      예제

$ glance image-create –name ”Ubuntu 12.04 LST” --public --container_format bare --disk_format raw < ubuntu-12.04-server-cloudimg-amd64-disk1.img

+------------------+--------------------------------------+

| Property         | Value                                |

+------------------+--------------------------------------+

| checksum         | 44e30efc9e9450b39eea0a42ecd44c7a     |

| container_format | bare                                 |

| created_at       | 2012-09-27T04:59:49                  |

| deleted          | False                                |

| deleted_at       | None                                 |

| disk_format      | raw                                  |

| id               | c01e2c2e-5d4d-4a03-a76e-ada8622fa414 |

| is_public        | True                                 |

| min_disk         | 0                                    |

| min_ram          | 0                                    |

| name             | Ubuntu 12.04 LTS                     |

| owner            | 4aafa99227af447d9041ff38a3c1e687     |

| protected        | False                                |

| size             | 219340260                            |

| status           | active                               |

| updated_at       | 2012-09-27T04:59:51                  |

+------------------+--------------------------------------+

 

 

Image-delete : 위에서 살펴본 delete 명령어와 같이 특정 이미지를 삭제한다.

-      예제

$ glance image-delete ca5b58ac-e97c-437c-b06e-f195159ab475

Deleted image ca5b58ac-e97c-437c-b06e-f195159ab475

 

 

Image-download : Help에는 특정이미지 파일을 로컬 폴더로 다운로드 받는다고 나오나 아직은 제대로 구현이 되어 있지 않으므로 실행하지 않길 바란다.

-      공식

$ glance image-download {image id}

 

-      파라메터 설명

{image id}

glance image-list에서 조회되는 ID를 입력하면 된다.

 

 

Image-list : glance 저장공간에 업로드 되어 있는 모든 이미지 목록을 보여준다.

-      공식 및 예제

$ glance image-list

+--------------------------------------+---------------------------------+-------------+------------------+-----------++

| ID                                   | Name                            | Disk Format | Container Format | Size      ||

+--------------------------------------+---------------------------------+-------------+------------------+-----------++

| 0449eee2-8081-48a8-a7b3-ae679dee1b57 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249   ||

| a9aa8c3d-c6d8-472a-b76e-33bdfb7ee038 | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824  ||

| c6c42034-370a-488a-a08d-83ef1713b5f4 | cirros-0.3.0-x86_64-uec-kernel  | aki         | aki              | 4731440   ||

| ca5b58ac-e97c-437c-b06e-f195159ab475 | Ubuntu 12.04 LTS                | qcow2       | ovf              | 226426880 ||

+--------------------------------------+---------------------------------+-------------+------------------+-----------++

 

 

Image-members : 특정 이미지를 쉐어한 User가 누구인지를 확인할 수 있다.

-      공식 

$ glance image-members {image id}

 

-      파라메터 설명

{image id}

glance image-list에서 조회되는 ID를 입력하면 된다.


       -      예제

$ glance image-members ca5b58ac-e97c-437c-b06e-f195159ab475

admin

nalee



Image-show : 특정 이미지의 상세정보를 확인할 수 있다.

-      공식

$ glance image-show {image id}

 

-      파라메터 설명

{image id}

glance image-list에서 조회되는 ID를 입력하면 된다.

 

-      예제

$ glance image-show a9aa8c3d-c6d8-472a-b76e-33bdfb7ee038

+-----------------------+--------------------------------------+

| Property              | Value                                |

+-----------------------+--------------------------------------+

| Property 'kernel_id'  | c6c42034-370a-488a-a08d-83ef1713b5f4 |

| Property 'ramdisk_id' | 0449eee2-8081-48a8-a7b3-ae679dee1b57 |

| checksum              | 2f81976cae15c16ef0010c51e3a6c163     |

| container_format      | ami                                  |

| created_at            | 2012-10-09T08:23:22                  |

| deleted               | False                                |

| disk_format           | ami                                  |

| id                    | a9aa8c3d-c6d8-472a-b76e-33bdfb7ee038 |

| is_public             | True                                 |

| min_disk              | 0                                    |

| min_ram               | 0                                    |

| name                  | cirros-0.3.0-x86_64-uec              |

| owner                 | 8855a00a79414352bc033697e6ccd2e8     |

| protected             | False                                |

| size                  | 25165824                             |

| status                | active                               |

| updated_at            | 2012-10-09T08:23:23                  |

+-----------------------+--------------------------------------+

 

 

Image-update : 이 명령어를 이용하면 특정 이미지의 정보나 이미지 파일을 다른 파일로 변경할 수 있다.

-      공식

$ glance image-update [--name <NAME>] [--disk-format <CONTAINER_FORMAT>]

                           [--container-format <DISK_FORMAT>]

                           [--owner <TENANT_ID>] [--size <SIZE>]

                           [--min-disk <DISK_GB>] [--min-ram <DISK_RAM>]

                           [--location <IMAGE_URL>] [--file <FILE>]

                           [--checksum <CHECKSUM>] [--copy-from <IMAGE_URL>]

                           [--is-public IS_PUBLIC]

                           [--is-protected IS_PROTECTED]

                           [--property <key=value>] [--purge-props]

                           <IMAGE_ID>

 

-      파라메터 설명

[--name <NAME>]

사용자가 식별하기 쉬운 OS Image명을 입력한다.

[--container-format <CONTAINER_FORMAT>]

Container format에는 ari, ami, aki, bare가 있으며, ari RAMDISK, ami KERNEL, aki RamDisk Kernel 을 가지고 있는 image 를 올릴 때 사용한다. 대표적인 Linux OS cirros가 있다. kernel이나 ramdisk가 없는 일반 img 파일은 모두 bare로 입력하면 된다.

[--container-format <DISK_FORMAT>]

Disk format역시 ari, ami, aki가 있으며, 이외에 확장자에 따라 img파일은 raw, qcow2 파일은 qcow2 로 표현한다.

[--owner <TENANT_ID>]

해당 이미지의 member id를 입력한다. 하지만 대체적으로는 생략한다.

[--size <SIZE>]

이미지 사이즈 정보로 생략한다.

[--min-disk <DISK_GB>]

최소사양의 DISK 사이즈를 GB단위로 입력한다.

[--min-ram <DISK_RAM>]

최소사양의 RAM 사이즈를 입력한다.

[--location <IMAGE_URL>]

업로드하고자 하는 원격이미지 웹 URL을 입력한다.

[--file <FILE>]

업로드하고자 하는 파일이 로컬에 있을 경우 해당 이미지 파일명을 입력한다.

[--checksum <CHECKSUM>]

Checksum을 입력하는데 대체적으로 생략한다.

[--copy-from <IMAGE_URL>]

Location과 같이 원격 이미지 웹 URL을 입력한다.

[--is-public IS_PUBLIC]

이미지를 공개한다는 뜻이다.

[--is-protected IS_PROTECTED]

같은 tenant member에게만 이미지를 공개한다는 뜻이다.

[--property <key=value>]

RamDisk 파일과 Kernel 파일이 있을 경우 속성으로 그 값을 입력한다.

ex) --property kernel_id=7edc921d-53d9-4fa2-9a9d-31cad37de01f

[--purge-props]

다른 속성값이 있으면 계속 속성을 입력한다.

<IMAGE_ID>

변경하고자 하는 image id를 입력한다.

 

Index : index 명령어 역시 image-list와 같은 역할을 하며 다음과 같은 정보를 확인할 수 있다.

$ glance index

ID                                   Name                           Disk Format          Container Format     Size         

------------------------------------ ------------------------------ -------------------- -------------------- --------------

ca5b58ac-e97c-437c-b06e-f195159ab475 Ubuntu 12.04 LTS               qcow2                ovf                       226426880

a9aa8c3d-c6d8-472a-b76e-33bdfb7ee038 cirros-0.3.0-x86_64-uec        ami                  ami                        25165824

0449eee2-8081-48a8-a7b3-ae679dee1b57 cirros-0.3.0-x86_64-uec-ramdis ari                  ari                         2254249

c6c42034-370a-488a-a08d-83ef1713b5f4 cirros-0.3.0-x86_64-uec-kernel aki                  aki                         4731440

 

 

Member-add : member를 추가시키는 명령어로 member-create 와 같은 명령어이다.

-      공식

$ glance member-add [--can-share] image_id member_id

 

-      파라메터 설명

image_id

멤버를 추가하고자 하는 이미지 id를 입력한다.

member_id

추가하고자 하는 tenant 명을 입력한다.

[--can-share]

해당 옵션을 넣은 사용자는 이미지를 쉐어할 수 있다.

 

-      예제

$ glance member-add ca5b58ac-e97c-437c-b06e-f195159ab475 nalee

 

 

Member-create : member-add와 같은 명령어이다.

-      공식

$ glance member-create [--can-share] <IMAGE_ID> <TENANT_ID>

 

-      파라메터 설명

<IMAGE_ID>

멤버를 추가하고자 하는 이미지 id를 입력한다.

<TENANT_ID>

추가하고자 하는 tenant 명을 입력한다.

[--can-share]

해당 옵션을 넣은 사용자는 이미지를 쉐어할 수 있다.

 

-      예제

$ glance member-create ca5b58ac-e97c-437c-b06e-f195159ab475 admin

 

Member-delete : 특정 이미지의 특정 사용자를 삭제할 때 사용하는 명령어이다.

-      공식

$ glance member-delete <IMAGE_ID> <TENANT_ID>

 

-      파라메터 설명

<IMAGE_ID>

삭제하고자 하는 이미지 id를 입력한다.

<TENANT_ID>

삭제하고자 하는 tenant 명을 입력한다.

 

-      예제

$ glance member-images <member-id>

 

 

Member-images : 특정 사용자만 사용할 수 있는 이미지 목록을 보여준다.

-      공식

$ glance member-images <member-id>

 

-      파라메터 설명

<member_id>

검색하고자 하는 tenant 명을 입력한다.

 

-      예제

$ glance member-images admin

ca5b58ac-e97c-437c-b06e-f195159ab475

 

 

Member-list : 특정 이미지나 특정 사용자의 이미지 목록을 보여준다.

-      공식

$ glance member-list -–image-id <IMAGE_ID> or -–member-id <TENANT_ID>

 

-      파라메터 설명

<IMAGE_ID>

검색하고자 하는 이미지 id를 입력한다.

<TENANT_ID>

검색하고자 하는 tenant 명을 입력한다.

 

-      예제

$ glance member-list --image-id ca5b58ac-e97c-437c-b06e-f195159ab475

+--------------------------------------+-----------+-----------+

| Image ID                             | Member ID | Can Share |

+--------------------------------------+-----------+-----------+

| ca5b58ac-e97c-437c-b06e-f195159ab475 | admin     |           |

| ca5b58ac-e97c-437c-b06e-f195159ab475 | nalee     |           |

+--------------------------------------+-----------+-----------+


    

Members-replace : 본 명령어를 통해 해당 이미지의 사용자 정보 중 이미지 쉐어 여부를 수정할 수 있다고 Help 명령어에는 나오나 직접 실행을 해 보면 이 명령어는 사라지고 없음을 바로 확인할 수 있다.

 

 

Show : 특정 이미지의 상세 정보를 확인할 수 있는 명령어로 image-show와 같은 역할을 한다.

-      공식

$ glance show <IMAGE_ID>

 

-      예제

$ glance show ca5b58ac-e97c-437c-b06e-f195159ab475

URI: http://211.111.174.182:9292/v1/images/ca5b58ac-e97c-437c-b06e-f195159ab475

Id: ca5b58ac-e97c-437c-b06e-f195159ab475

Public: No

Protected: No

Name: Ubuntu 12.04 LTS

Status: active

Size: 226426880

Disk format: qcow2

Container format: ovf

Minimum Ram Required (MB): 0

Minimum Disk Required (GB): 0

Owner: 8855a00a79414352bc033697e6ccd2e8

Created at: 2012-10-09T08:34:05

Updated at: 2012-10-23T02:42:29

 

 

Update : image-update와 같은 명령어로 특정 이미지의 메타정보나 이미지 파일을 변경할 때 사용하는 명령어이다.

-      공식

$ glance update <IMAGE_ID>

 

-      예제

$ glance -v update ca5b58ac-e97c-437c-b06e-f195159ab475 is_public=true

Updated image ca5b58ac-e97c-437c-b06e-f195159ab475

Updated image metadata for image ca5b58ac-e97c-437c-b06e-f195159ab475:

URI: http://211.111.174.182:9292/v1/images/ca5b58ac-e97c-437c-b06e-f195159ab475

Id: ca5b58ac-e97c-437c-b06e-f195159ab475

Public: Yes

Protected: No

Name: Ubuntu 12.04 LTS

Status: active

Size: 226426880

Disk format: qcow2

Container format: ovf

Minimum Ram Required (MB): 0

Minimum Disk Required (GB): 0

Owner: 8855a00a79414352bc033697e6ccd2e8

Created at: 2012-10-09T08:34:05

Deleted at: None

Updated at: 2012-10-23T05:46:53

 


Help : 명령어 옵션의 상세 설명 또는 들어가야 할 파라메터 정보등을 알려준다.

-      예제

$ glance help image-create

usage: glance image-create [--id <IMAGE_ID>] [--name <NAME>]

                           [--disk-format <DISK_FORMAT>]

                           [--container-format <CONTAINER_FORMAT>]

                           [--owner <TENANT_ID>] [--size <SIZE>]

                           [--min-disk <DISK_GB>] [--min-ram <DISK_RAM>]

                           [--location <IMAGE_URL>] [--file <FILE>]

                           [--checksum <CHECKSUM>] [--copy-from <IMAGE_URL>]

                           [--is-public IS_PUBLIC]

                           [--is-protected IS_PROTECTED]

                           [--property <key=value>]

 

Create a new image.

 

Optional arguments:

  --id <IMAGE_ID>       ID of image to reserve.

  --name <NAME>         Name of image.

  --disk-format <DISK_FORMAT>

                        Disk format of image.

  --container-format <CONTAINER_FORMAT>

                        Container format of image.

  --owner <TENANT_ID>   Tenant who should own image.

  --size <SIZE>         Size of image data (in bytes). Only used with '--

                        location' and '--copy_from'.

  --min-disk <DISK_GB>  Minimum size of disk needed to boot image (in

                        gigabytes).

  --min-ram <DISK_RAM>  Minimum amount of ram needed to boot image (in

                        megabytes).

  --location <IMAGE_URL>

                        URL where the data for this image already resides. For

                        example, if the image data is stored in the filesystem

                        local to the glance server at

                        '/usr/share/image.tar.gz', you would specify

                        'file:///usr/share/image.tar.gz'.

  --file <FILE>         Local file that contains disk image to be uploaded

                        during creation. Alternatively, images can be passed

                        to the client via stdin.

  --checksum <CHECKSUM>

                        Hash of image data used Glance can use for

                        verification.

  --copy-from <IMAGE_URL>

                        Similar to '--location' in usage, but this indicates

                        that the Glance server should immediately copy the

                        data and store it in its configured image store.

  --is-public IS_PUBLIC

                        Make image accessible to the public.

  --is-protected IS_PROTECTED

                        Prevent image from being deleted.

  --property <key=value>

                        Arbitrary property to associate with image. May be

                        used multiple times.

 

 

 

** Glance Help의 명령어를 보면 DEPRECATED! 라고 써있는 명령어 옵션을 볼 수 있을 것이다.이 말 뜻은 곧 폐지될 예정이므로, 그 옆에 나와있는 명령어 옵션을 쓰길 권고한다.”는 뜻이다.

 

 

 

참조 URL : http://docs.openstack.org/developer/glance/glance.html


저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang
OpenStack2012.02.27 10:34
Swift를 설치한 후 실행해서 Swift 정보를 확인할 수 있는 기본 명령어 혹은 API에 대해서 알아보도록 하겠다.

OpenStack Swift를 설치하면 우리가 알아볼 수 없는 저게 파일인가 폴더인가 뭔지 모르는 구조의 폴더구조가 생성된다. 단지 내가 생성한 디렉토리가 내가 업로드한 파일이 제대로 올라가 있는지 생성되었는지 확인을 하기 위해서는 다음과 같은 swift 명령어를 이용하여야만 한다.

우선 swift를 설치할때 account를 관리하기 위하여 swauth를 설치하였을 것이다.

account를 관리하기 위한 명령어 몇가지를 알아보도록 하자 

- Account List를 확인하는 명령어

swauth-list -A http://localhost:8080/auth/ -K swauthkey

 
 - 다음과 같은 결과가 나온다.

{"accounts": [{"name": "admin"}, {"name": "system"}, {"name": "test"}, {"name": "user"}]}  


- 그럼 특정 Account의 User List를 알아보자

swauth-list -A http://localhost:8080/auth/ -K swauthkey user


- User List를 조회하면 해당 User 정보가 출력된다.

{"services": {"storage": {"default": "local", "local": "http://localhost:8080/v1/AUTH_9799a70b-d58a-46ba-8f5a-98ac905b543d"}}, "account_id": "AUTH_9799a70b-d58a-46ba-8f5a-98ac905b543d", "users": [{"name": 
"nalee"}, {"name": "naleejang"}]}
 


-그럼 Account를 추가할 때는 어떻게 해야 할까? 다음과 같은 명령을 사용하면 된다.

swauth-add-user -K key -A http://localhost:8080/auth/ -a <account> 


- Account를 추가했으면 이번에는 Account에 User를 추가해보자.

swauth-add-user -K key -A http://localhost:8080/auth/ -a <account> <user id> <user pass>


- User도 추가했으니 User의 상태를 한번 확인해 보자.

swift -A http://localhost:8080/auth/v1.0 -U user:naleejang -K testpass stat


- 위와 같이 입력하면 다음과 같은 결과를 확인할 수 있다.

    Account: AUTH_9799a70b-d58a-46ba-8f5a-98ac905b543d

Containers: 3094

    Objects: 5

      Bytes: 45582768

Accept-Ranges: bytes



여기까지 Account 정보를 알아보는 명령어를 살펴보았다. 다음 시간에는 Container 정보를 확인해 보는 명령어를 알아보도록 하겠다.

저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang