티스토리 뷰
요즘 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
'OpenStack' 카테고리의 다른 글
OpenStack Folsom에서의 Quantum 문제 (1) | 2012.11.15 |
---|---|
운영 중인 OpenStack에 Compute Node를 추가하려면~!! (5) | 2012.11.07 |
OpenStack를 기반으로한 ixCloud 사용후기2 (0) | 2012.07.24 |
OpenStack를 기반으로 한 ixCloud 사용 후기1 (0) | 2012.07.24 |
OpenStack Swift Ring의 구조 (0) | 2012.06.28 |
- Total
- Today
- Yesterday
- 김미경
- NOVA
- ubuntu
- 뉴트론
- 쿠버네티스
- OVN
- 우분투
- 레드햇
- openstack
- 컨테이너
- command
- 명령어
- Redhat
- Java
- 파이썬
- 세미나
- 하둡
- install
- cpu
- 후기
- neutron
- Swift
- Network
- 오픈스택
- 오픈쉬프트
- 네트워크
- 클라우드
- Python
- 설치
- sdn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |