OpenStack(1) - 인스턴스 생성

목차

1. 이미지 업로드

1.1 새 디렉터리 만들기

1.2 한눈에 업로드

1.3 미러 이미지 보기

2. 새 인스턴스 생성

2.1 비밀 키 얻기

2.2 새 인스턴스 만들기

2.3 새 인스턴스 admin-vm 생성

2.4 VNC 인스턴스의 URL 가져오기

2.5 nova 일반 명령


1. 이미지 업로드

1.1 새 디렉터리 만들기

cirros-0.3.4-x86_64-disk.img라는 Linux 테스트 이미지를 업로드합니다. cirros 이미지는 일반적으로 테스트에 사용되며 크기는 12M에 불과하여 테스트에 편리합니다.

이미지 저장을 위한 새 디렉토리를 생성합니다. 여기서 wget이 실패하면 xftp를 사용하여 호스트 컴퓨터가 다운로드된 후 가상 머신 /opt/images 디렉토리로 전송해야 합니다.

source /root/keystonerc_admin

mkdir /opt/images
cd /opt/images
wget https://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

1.2 한눈에 업로드

 Glance 서비스에 업로드하십시오 . img --가시성 공개 --진행률

 명령 설명:

--name 이미지 이름

--disk-format 미러 디스크 형식, 지원: ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso 형식

--container-format 이미지 컨테이너 형식, 지원: ami, ari, aki, bare, ovf 형식

--파일 미러 경로

--visibility 대중이 이미지에 액세스할 수 있는지 여부, 여기에서 공개 이미지로 설정

--progress 업로드 진행률 표시줄 표시

[root@openstack images(keystone_admin)]# glance image-create --name cirros-0.3.4-x86_64 --disk-format qcow2 --container-format bare --file /opt/images/cirros-0.3.4-x86_64-disk.img  --visibility public --progress
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | ee1eca47dc88f4879d8a229cc70a07c6     |
| container_format | bare                                 |
| created_at       | 2023-06-07T13:38:26Z                 |
| disk_format      | qcow2                                |
| id               | 041c0a42-adc2-4694-b932-7f01ae198919 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros-0.3.4-x86_64                  |
| owner            | 5de5c5079f4147a69f330e9ce20c7f1b     |
| protected        | False                                |
| size             | 13287936                             |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2023-06-07T13:38:26Z                 |
| virtual_size     | None                                 |
| visibility       | public                               |
+------------------+--------------------------------------+

1.3 미러 이미지 보기

Glance 이미지 목록을 사용하여 이미지 목록을 보거나 대시보드를 통해 확인하면 Glance 업로드가 성공적으로 이루어집니다. nova image-list를 사용하지 마십시오. 이 명령은 더 이상 사용되지 않습니다.

[root@openstack ~(keystone_admin)]# glance image-list
+--------------------------------------+---------------------+
| ID                                   | Name                |
+--------------------------------------+---------------------+
| 5955b3dc-00b3-4dec-b21a-a9605275faf2 | cirros              |
| 041c0a42-adc2-4694-b932-7f01ae198919 | cirros-0.3.4-x86_64 |
+--------------------------------------+---------------------+

인스턴스를 생성하기 전에 인스턴스 유형, 이미지 이름, 네트워크, 보안 그룹, 키 및 인스턴스 이름을 지정해야 합니다.

사용 가능한 인스턴스 유형 보기 nova flavor-list 기본적으로 5가지 유형이 있습니다.

[root@openstack ~(keystone_admin)]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 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      | -           |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+

사용 가능한 네트워크 neutron net-list를 봅니다. 기본값은 공용 네트워크, 내부 네트워크 및 외부 네트워크는 다른 프로젝트와 네트워크를 공유한다는 의미입니다.

[root@openstack ~(keystone_admin)]# neutron net-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+
| id                                   | name    | tenant_id                        | subnets                                            |
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+
| 39bf56a4-68a8-4f9c-af56-b7bf788a5c45 | public  | 5de5c5079f4147a69f330e9ce20c7f1b | 4bdac25f-a68e-4ef5-b638-c7f9500957ce 172.24.4.0/24 |
| 639cf33e-3ced-45a7-9d1e-542cd5aec015 | private | 2e506aef614242ee8f5fe824fdf74226 | 2034ab92-5372-47f5-89b0-88d17f9b26d2 10.0.0.0/24   |
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+

보안 그룹 openstack 보안 그룹 목록을 확인하고 nova secgroup-list를 사용하지 마십시오. 이 명령은 더 이상 사용되지 않습니다.

[root@openstack images(keystone_admin)]# openstack security group list
+--------------------------------------+---------+------------------------+----------------------------------+
| ID                                   | Name    | Description            | Project                          |
+--------------------------------------+---------+------------------------+----------------------------------+
| 18102e48-6a05-4901-ae9e-a0d43647a9f3 | default | Default security group |                                  |
| ec20a954-0572-428f-87a3-4916318fcadc | default | Default security group | 2e506aef614242ee8f5fe824fdf74226 |
| f18bcb15-5573-4dd1-8de5-c201b5472ceb | default | Default security group | 5de5c5079f4147a69f330e9ce20c7f1b |
+--------------------------------------+---------+------------------------+----------------------------------+

2. 새 인스턴스 생성

2.1 비밀 키 얻기

 admin-key 키를 얻고 키를 얻은 후 가상 머신을 다시 시작합니다. 키는 여전히 존재하며 키는 계정에 바인딩됩니다.

source /root/keystonerc_admin
nova keypair-add admin-key
openstack keypair list

[root@openstack images(keystone_admin)]# openstack keypair list
+-----------+-------------------------------------------------+
| Name      | Fingerprint                                     |
+-----------+-------------------------------------------------+
| admin-key | c0:83:d6:02:35:39:a9:6e:a0:4e:46:5a:52:af:3d:ec |
+-----------+-------------------------------------------------+

nove 목록, nova 목록을 확인하십시오. 현재 예제가 없습니다.

[root@openstack ~(keystone_admin)]# nova list
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+

2.2 새 인스턴스 만들기

네트워크 ID를 확인하십시오. 여기서는 공용 네트워크를 사용하고 있으므로 ID 번호 39bf56a4-68a8-4f9c-af56-b7bf788a5c45를 미리 복사하십시오.

[root@openstack ~(keystone_admin)]# neutron net-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+
| id                                   | name    | tenant_id                        | subnets                                            |
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+
| 39bf56a4-68a8-4f9c-af56-b7bf788a5c45 | public  | 5de5c5079f4147a69f330e9ce20c7f1b | 4bdac25f-a68e-4ef5-b638-c7f9500957ce 172.24.4.0/24 |
| 639cf33e-3ced-45a7-9d1e-542cd5aec015 | private | 2e506aef614242ee8f5fe824fdf74226 | 2034ab92-5372-47f5-89b0-88d17f9b26d2 10.0.0.0/24   |
+--------------------------------------+---------+----------------------------------+----------------------------------------------------+

2.3 새 인스턴스 admin-vm 생성

nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=39bf56a4-68a8-4f9c-af56-b7bf788a5c45 --security-group default --key-name admin-key admin- VM

명령 설명:

--flavor 인스턴스 유형

--이미지 이미지 이름, 먼저 글랜스 서비스에 업로드해야 합니다. 글랜스 이미지 목록을 통해 이미지 목록을 봅니다.

--nic 네트워크 사용, net-id= 네트워크 ID 번호 입력

-security-group 보안 그룹

--key-name 선택 키

admin-vm 인스턴스 이름은 마음대로 선택할 수 있습니다.

[root@openstack images(keystone_admin)]# nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=39bf56a4-68a8-4f9c-af56-b7bf788a5c45 --security-group default --key-name admin-key admin-vm
+--------------------------------------+------------------------------------------------------------+
| Property                             | Value                                                      |
+--------------------------------------+------------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                     |
| OS-EXT-AZ:availability_zone          |                                                            |
| OS-EXT-SRV-ATTR:host                 | -                                                          |
| OS-EXT-SRV-ATTR:hostname             | admin-vm                                                   |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                          |
| OS-EXT-SRV-ATTR:instance_name        |                                                            |
| OS-EXT-SRV-ATTR:kernel_id            |                                                            |
| OS-EXT-SRV-ATTR:launch_index         | 0                                                          |
| OS-EXT-SRV-ATTR:ramdisk_id           |                                                            |
| OS-EXT-SRV-ATTR:reservation_id       | r-1x8lssuk                                                 |
| OS-EXT-SRV-ATTR:root_device_name     | -                                                          |
| OS-EXT-SRV-ATTR:user_data            | -                                                          |
| OS-EXT-STS:power_state               | 0                                                          |
| OS-EXT-STS:task_state                | scheduling                                                 |
| OS-EXT-STS:vm_state                  | building                                                   |
| OS-SRV-USG:launched_at               | -                                                          |
| OS-SRV-USG:terminated_at             | -                                                          |
| accessIPv4                           |                                                            |
| accessIPv6                           |                                                            |
| adminPass                            | uirGY9o8kaL6                                               |
| config_drive                         |                                                            |
| created                              | 2023-06-07T15:54:32Z                                       |
| description                          | -                                                          |
| flavor:disk                          | 1                                                          |
| flavor:ephemeral                     | 0                                                          |
| flavor:extra_specs                   | {}                                                         |
| flavor:original_name                 | m1.tiny                                                    |
| flavor:ram                           | 512                                                        |
| flavor:swap                          | 0                                                          |
| flavor:vcpus                         | 1                                                          |
| hostId                               |                                                            |
| host_status                          |                                                            |
| id                                   | b5f47588-196a-40d6-a52b-7f2cd371f417                       |
| image                                | cirros-0.3.4-x86_64 (041c0a42-adc2-4694-b932-7f01ae198919) |
| key_name                             | admin-key                                                  |
| locked                               | False                                                      |
| metadata                             | {}                                                         |
| name                                 | admin-vm                                                   |
| os-extended-volumes:volumes_attached | []                                                         |
| progress                             | 0                                                          |
| security_groups                      | default                                                    |
| status                               | BUILD                                                      |
| tags                                 | []                                                         |
| tenant_id                            | 5de5c5079f4147a69f330e9ce20c7f1b                           |
| updated                              | 2023-06-07T15:54:32Z                                       |
| user_id                              | a6ecc9dfabd04180947bfad72c67e5d4                           |
+--------------------------------------+------------------------------------------------------------+

 인스턴스 목록 nova 목록 보기

[root@openstack images(keystone_admin)]# nova list
+--------------------------------------+----------+--------+------------+-------------+--------------------+
| ID                                   | Name     | Status | Task State | Power State | Networks           |
+--------------------------------------+----------+--------+------------+-------------+--------------------+
| b5f47588-196a-40d6-a52b-7f2cd371f417 | admin-vm | ACTIVE | -          | Running     | public=172.24.4.17 |
+--------------------------------------+----------+--------+------------+-------------+--------------------+

 virsh 목록을 통해서도 볼 수 있습니다.

[root@localhost images(keystone_admin)]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000001              running

대시보드를 통해서도 볼 수 있습니다. 


 

2.4 VNC 인스턴스의 URL 가져오기

인스턴스가 성공적으로 생성되었습니다. 새로 생성된 인스턴스는 어떻게 입력해야 합니까? 인스턴스의 VNC URL(nova get-vnc-console admin-vm novnc)을 가져와야 합니다. URL은 이 명령을 사용할 때마다 새로고침되며 이전 URL은 URL이 새로고침된 후 유효하지 않게 됩니다. 인스턴스가 다시 시작된 후 URL을 다시 가져와야 합니다.

[root@openstack images(keystone_admin)]# nova get-vnc-console admin-vm novnc
+-------+-------------------------------------------------------------------------------------+
| Type  | Url                                                                                 |
+-------+-------------------------------------------------------------------------------------+
| novnc | http://192.168.136.56:6080/vnc_auto.html?token=6d463d80-8e49-4100-8cdf-f10d5fc94af2 |
+-------+-------------------------------------------------------------------------------------+

URL을 받은 후 브라우저에 입력하여 인스턴스의 터미널에 진입한 후 약 5분 정도 기다리면 인스턴스가 정상적으로 성공적으로 시작되었음을 알리는 "cirrors login:"이 표시됩니다. 이미지, 계정명은 cirros, 비밀번호는 cubswin:)입니다.

서버 연결 실패(코드: 1006) 오류가 있는 경우

인스턴스가 시작되었는지 확인하십시오. 인스턴스 상태는 ACTIVE여야 합니다. 인스턴스가 자동으로 종료되는 상황을 두 번 만났고, 결국 메모리 부족으로 인한 것임을 확인했습니다. 메모리는 최소 10G 이상 권장합니다. .

인스턴스가 여전히 작동하지 않으면 호스트를 추가하고 nova 서비스를 다시 시작하십시오.

vi /etc/hosts
192.168.136.56 openstack  #添加,注意是主机名,如果你的主机名不是openstack,自行更改,保证可以ping通主机名就可以
source /etc/hosts
systemctl restart openstack-nova-compute.service

[root@openstack ~(keystone_admin)]# ping openstack
PING openstack (192.168.136.56) 56(84) bytes of data.
64 bytes from openstack (192.168.136.56): icmp_seq=1 ttl=64 time=0.034 ms
64 bytes from openstack (192.168.136.56): icmp_seq=2 ttl=64 time=0.035 ms

URL을 사용하여 로그인하는 것 외에도 대시보드의 "콘솔"을 통해 인스턴스를 직접 제어할 수도 있습니다 .

2.5 nova 일반 명령

nova list #查看虚拟机

nova show [vm-name]或[vm-id]     #查看虚拟机详细信息
nova reboot (--hard) [vm-name]或[vm-id]    #硬重启实例,失败可以添加属性--hard,强制硬重启

nova start [vm-name]或[vm-id]    #启动虚拟机
nova stop [vm-name]或[vm-id]     #关闭虚拟机
nova suspend [vm-name]或[vm-id]  #暂停虚拟机
nova resume [vm-name]或[vm-id]   #启动暂停的虚拟机
nova delete [vm-name]或[vm-id]   #删除虚拟机

openstack compute service list   #查看nova相关服务

추천

출처blog.csdn.net/weixin_48878440/article/details/131096234