centos7+openstack (6) 创建虚拟机

Submitted by Lizhe on Sat, 07/15/2017 - 23:52

创建桥接网络

创建网络
source admin-openrc.sh
neutron net-create flat --shared --provider:physical_network physnet1 --provider:network_type flat

+-----------------------------------------+----------------------------------------------+
| Field                                                           | Value                                                                 |
+-----------------------------------------+----------------------------------------------+
| admin_state_up                                   | True                                                                   |
| id                                                                 | 2807a6af-881f-424c-9aee-fcb87d2081cb |
| mtu                                                             | 0                                                                          |
| name                                                          | flat                                                                      |
| port_security_enabled                      | True                                                                  |
| provider:network_type                     | flat                                                                     |
| provider:physical_network             | physnet1                                                          |
| provider:segmentation_id               |                                                                             |
| router:external                                      | False                                                                 |
| shared                                                       | True                                                                  |
| status                                                         | ACTIVE                                                           |
| subnets                                                     |                                                                             |
| tenant_id                                                 | dfd06c2e4610414491056a6e1214f1ae     |
+-----------------------------------------+---------------------------------------------+


创建子网
neutron subnet-create flat 192.168.1.0/24 --name flat-subnet --allocation-pool start=192.168.1.50,end=192.168.1.150 --dns-nameserver 192.168.1.1 --gateway 192.168.1.1

+------------------------+---------------------------------------------------+
| Field                              | Value                                                                          |
+------------------------+---------------------------------------------------+
| allocation_pools      | {"start": "192.168.1.50", "end": "192.168.1.150"} |
| cidr                                | 192.168.1.0/24                                                      |
| dns_nameservers   | 192.168.1.1                                                               |
| enable_dhcp             | True                                                                            |
| gateway_ip                | 192.168.1.1                                                               |
| host_routes              |                                                                                       |
| id                                   | f38e3999-f00e-43d2-a91e-b6594c1f3a85 |
| ip_version                 | 4                                                                                   |
| ipv6_address_mode |                                                                                  |
| ipv6_ra_mode        |                                                                                       |
| name                            | flat-subnet                                                               |
| network_id               | 2807a6af-881f-424c-9aee-fcb87d2081cb   |
| subnetpool_id         |                                                                                       |
| tenant_id                   | dfd06c2e4610414491056a6e1214f1ae         |
+-----------------------+---------------------------------------------------+


查看子网
neutron net-list
+--------------------------------------+------+-----------------------------------------------------+
| id                                                            | name | subnets                                                                       |
+--------------------------------------+------+-----------------------------------------------------+
| 2807a6af-881f-424c-9aee-fcb87d2081cb | flat | f38e3999-f00e-43d2-a91e-b6594c1f3a85 192.168.1.0/24 |
+--------------------------------------+------+-----------------------------------------------------+
neutron subnet-list

+--------------------------------------+-------------+----------------+---------------------------------------------------+
| id                                                             | name          | cidr                   | allocation_pools                                                   |
+--------------------------------------+-------------+----------------+---------------------------------------------------+
| f38e3999-f00e-43d2-a91e-b6594c1f3a85 | flat-subnet | 192.168.1.0/24 | {"start": "192.168.1.50", "end": "192.168.1.150"} |
+--------------------------------------+-------------+----------------+---------------------------------------------------+

创建虚拟机

在admin账户下
source admin-openrc.sh  ( 在demo账户下source demo-openrc.sh )

生成key (这部分原理跟ssh做免密码登录差不多)
ssh-keygen -q -N ""
默认保存到/root/.ssh/id_rsa

nova keypair-add --pub-key /root/.ssh/id_rsa.pub mykey
nova keypair-list
+-------+-------------------------------------------------+
| Name  | Fingerprint                                                         |
+-------+-------------------------------------------------+
| mykey | c9:5c:ad:a0:39:f4:df:b0:62:05:e8:ec:7b:75:ec:a3 |
+-------+-------------------------------------------------+


创建安全组
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp              | -1              | -1            | 0.0.0.0/0 |                     |
+-------------+-----------+---------+-----------+--------------+


nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp                | 22             | 22           | 0.0.0.0/0 |                     |
+-------------+-----------+---------+-----------+--------------+


创建虚拟机
nova flavor-list

+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID  | Name       | Memory_MB   | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 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      |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+

查看镜像
nova image-list
+--------------------------------------+-----------------+--------+--------+
| ID                                                           | Name                 | Status | Server |
+--------------------------------------+-----------------+--------+--------+
| a4167235-89d8-45d2-8ad3-db11d656ebdb | CentOS-7-x86_64 | ACTIVE |        |
+--------------------------------------+-----------------+--------+--------+


neutron net-list
+--------------------------------------+------+-----------------------------------------------------+
| id                                   | name | subnets                                             |
+--------------------------------------+------+-----------------------------------------------------+
| 2807a6af-881f-424c-9aee-fcb87d2081cb | flat | f38e3999-f00e-43d2-a91e-b6594c1f3a85 192.168.1.0/24 |
+--------------------------------------+------+-----------------------------------------------------+

nova boot --flavor m1.small --image CentOS-7-x86_64 --nic net-id=2807a6af-881f-424c-9aee-fcb87d2081cb --security-group default --key-name mykey lizhe-instance-1

+--------------------------------------+--------------------------------------------------------+
| Property                                              | Value                                                                                 |
+--------------------------------------+--------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                 |
| OS-EXT-AZ:availability_zone          |                                                        |
| OS-EXT-SRV-ATTR:host                 | -                                                      |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                      |
| 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                            | bSZk7jVKh22C                                           |
| config_drive                         |                                                        |
| created                              | 2017-07-12T16:45:16Z                                   |
| flavor                               | m1.small (2)                                           |
| hostId                               |                                                        |
| id                                   | 028eeb30-5c84-4dcd-906d-6c60bf1d2ad8                   |
| image                                | CentOS-7-x86_64 (a4167235-89d8-45d2-8ad3-db11d656ebdb) |
| key_name                             | mykey                                                  |
| metadata                             | {}                                                     |
| name                                 | lizhe-instance-1                                       |
| os-extended-volumes:volumes_attached | []                                                     |
| progress                             | 0                                                      |
| security_groups                      | default                                                |
| status                               | BUILD                                                  |
| tenant_id                            | dfd06c2e4610414491056a6e1214f1ae                       |
| updated                              | 2017-07-12T16:45:16Z                                   |
| user_id                              | 7242d42f63464cf288c5f396f199596f                       |
+--------------------------------------+--------------------------------------------------------+

nova boot --flavor m1.small --image CentOS-7-x86_64 --nic net-id=2807a6af-881f-424c-9aee-fcb87d2081cb --security-group default --key-name mykey lizhe-instance-2

+--------------------------------------+--------------------------------------------------------+
| Property                             | Value                                                  |
+--------------------------------------+--------------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                                 |
| OS-EXT-AZ:availability_zone          |                                                        |
| OS-EXT-SRV-ATTR:host                 | -                                                      |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000002                                      |
| 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                            | U9q4WbdfabSK                                           |
| config_drive                         |                                                        |
| created                              | 2017-07-12T16:45:54Z                                   |
| flavor                               | m1.small (2)                                           |
| hostId                               |                                                        |
| id                                   | cefd4133-491a-4e7e-b879-979d8ea6e9ad                   |
| image                                | CentOS-7-x86_64 (a4167235-89d8-45d2-8ad3-db11d656ebdb) |
| key_name                             | mykey                                                  |
| metadata                             | {}                                                     |
| name                                 | lizhe-instance-2                                       |
| os-extended-volumes:volumes_attached | []                                                     |
| progress                             | 0                                                      |
| security_groups                      | default                                                |
| status                               | BUILD                                                  |
| tenant_id                            | dfd06c2e4610414491056a6e1214f1ae                       |
| updated                              | 2017-07-12T16:45:54Z                                   |
| user_id                              | 7242d42f63464cf288c5f396f199596f                       |
+--------------------------------------+--------------------------------------------------------+


查看虚拟机

nova list

+--------------------------------------+------------------+--------+------------+-------------+-------------------+
| ID                                   | Name             | Status | Task State | Power State | Networks          |
+--------------------------------------+------------------+--------+------------+-------------+-------------------+
| 028eeb30-5c84-4dcd-906d-6c60bf1d2ad8 | lizhe-instance-1 | ERROR  | -          | NOSTATE     | flat=192.168.1.51 |
| cefd4133-491a-4e7e-b879-979d8ea6e9ad | lizhe-instance-2 | ERROR  | -          | NOSTATE     | flat=192.168.1.52 |
+--------------------------------------+------------------+--------+------------+-------------+-------------------+

发现两个使用centos创建的虚拟机都启动失败了

nova delete cefd4133-491a-4e7e-b879-979d8ea6e9ad ( 可以删除虚拟机 )

又尝试下载了cirros
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.4-x86_64-disk.img

glance image-create --name "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress


+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 877d155d3d511da689b65a07f462b88f     |
| container_format | bare                                 |
| created_at       | 2017-07-12T17:06:52Z                 |
| disk_format      | qcow2                                |
| id               | bbb8581b-4dee-46aa-8e45-fc5b803ba75f |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros                               |
| owner            | dfd06c2e4610414491056a6e1214f1ae     |
| protected        | False                                |
| size             | 1338466                              |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2017-07-12T17:06:53Z                 |
| virtual_size     | None                                 |
| visibility       | public                               |
+------------------+--------------------------------------+

结果创建的虚拟机还是启动失败

 

使用nova get-vnc-console lizhe-instance-1 novnc 可以得到一个链接

用chrome打开这个链接可以看到虚拟机的console输出, 发现卡在了

SeaBIOS (versio xxxxxxx)
Machine UUID xxxxxxxxxx
iPXE (http://ipxe.org) 00.03.0 C980 PCI2.10 PnP PMM

 

182

经过调查这个错误是因为我qemu的版本太低

virsh version

发现是1.5的

yum install -y centos-release-qemu-ev.noarch

yum install qemu-kvm qemu-img -y

这样就替换成了2.6的

 

183