如何在Openstack的控制节点使用命令手动创建一个虚拟机

虽然可以通过Dashbord创建新的虚拟机,可是通过命令来创建虚拟机也是一种很好的方法。

1.激活环境变量。

如果本来就激活了就没有必要进行这一步了。

新建文件novarc

[html]  view plain copy
  1. export OS_TENANT_NAME=admin  
  2. export OS_USERNAME=admin  
  3. export OS_PASSWORD=123456  
  4. export OS_AUTH_URL="http://10.214.0.179:5000/v2.0/"  

执行脚本

source novarc

2.下载或制作自己的虚拟机镜像。

可以参照vpsee的博客制作,或者到官方网站下载。http://cloud-images.ubuntu.com/lucid/current/


3.上传镜像。

[html]  view plain copy
  1. glance add name="ubuntu rubis" is_public=true container_format=vof disk_format=vhd < /root/images/disk.img  

ps:(可选)脚本:

新建文件upimage.sh

[html]  view plain copy
  1. IMAGE_NAME='quantal-server-cloudimg-amd64'#改成你下载镜像的名字  
  2. echo "upload images"  
  3. mkdir -p /tmp/images  
  4. tar -zxf ./$IMAGE_NAME.tar.gz  -C /tmp/images  
  5. RVAL=`glance add name="ubuntu-10.04.2-kernel" is_public=true container_format=aki disk_format=aki < /tmp/images/$IMAGE_NAME-vmlinuz*`  
  6. KERNEL_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`  
  7. glance add  name="ubuntu-10.04.2" is_public=true container_format=ami disk_format=ami kernel_id=$KERNEL_ID < /tmp/images/$IMAGE_NAME.img  

执行脚本:sh upimage.sh

说明:

镜像在物理机上的实际位置:

[html]  view plain copy
  1. root@nova-controller:/var/lib/glance#ls  
  2. glance.sqlite  image-cache images  

4.创建虚拟机密钥对。

[html]  view plain copy
  1. root@nova-controller:/var/lib/stackops# ssh-keygen   
  2. Generating public/private rsa key pair.  
  3. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa2  
  4. Created directory '/root/.ssh'.  
  5. Enter passphrase (empty for no passphrase):   
  6. Enter same passphrase again:   
  7. Your identification has been saved in /root/.ssh/id_rsa2.  
  8. Your public key has been saved in /root/.ssh/id_rsa2.pub.  
  9. The key fingerprint is:  
  10. 46:ef:fa:ee:46:f4:7f:82:37:b9:e4:fe:39:2e:3e:30 root@nova-controller  
  11. The key's randomart image is:  
  12. +--[ RSA 2048]----+  
  13. |                 |  
  14. |                 |  
  15. |        .        |  
  16. |       . ..      |  
  17. |        S...     |  
  18. |       . ..E.    |  
  19. |         .. oo.. |  
  20. |         .. .=*.o|  
  21. |        .=+ .+BOo|  
  22. +-----------------+  
5.导入密钥

[html]  view plain copy
  1. root@nova-controller:/var/lib/stackops# nova keypair-list  
  2. root@nova-controller:~# nova keypair-add --pub_key .ssh/id_rsa2.pub key2  

6.查看镜像

[html]  view plain copy
  1. root@nova-controller:~# nova image-list  
  2. +----+-----------------------+--------+  
  3. | ID |          Name         | Status |  
  4. +----+-----------------------+--------+  
  5. | 1  | ubuntu-10.04.2-kernel | ACTIVE |  
  6. | 2  | ubuntu-10.04.2        | ACTIVE |  
  7. +----+-----------------------+--------+  

7.查看虚拟机规格

[html]  view plain copy
  1. root@nova-controller:~# nova flavor-list  
  2. +----+-----------+-----------+------+----------+-------+------------+----------+  
  3. | ID |    Name   | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Quota | RXTX_Cap |  
  4. +----+-----------+-----------+------+----------+-------+------------+----------+  
  5. | 1  | m1.tiny   | 512       | 0    | 0        | 1     | 0          | 0        |  
  6. | 2  | m1.small  | 2048      | 0    | 20       | 1     | 0          | 0        |  
  7. | 3  | m1.medium | 4096      | 0    | 40       | 2     | 0          | 0        |  
  8. | 4  | m1.large  | 8192      | 0    | 80       | 4     | 0          | 0        |  
  9. | 5  | m1.xlarge | 16384     | 0    | 160      | 8     | 0          | 0        |  
  10. +----+-----------+-----------+------+----------+-------+------------+----------+  

8.创建虚拟机

[html]  view plain copy
  1. root@nova-controller:~# nova boot --flavor  1 --image 2 --key_name key2 Secondvmzju  
  2. +--------------+--------------------------------------+  
  3. |   Property   |                Value                 |  
  4. +--------------+--------------------------------------+  
  5. | accessIPv4   |                                      |  
  6. | accessIPv6   |                                      |  
  7. | adminPass    | SgoPBBCaaN5BumLA                     |  
  8. | config_drive |                                      |  
  9. | created      | 2012-06-22T19:14:17Z                 |  
  10. | flavor       | m1.tiny                              |  
  11. | hostId       |                                      |  
  12. | id           | 1                                    |  
  13. | image        | ubuntu-10.04.2                       |  
  14. | key_name     | key2                                 |  
  15. | metadata     | {}                                   |  
  16. | name         | Secondvmzju                          |  
  17. | progress     | 0                                    |  
  18. | status       | BUILD                                |  
  19. | tenant_id    | 1                                    |  
  20. | updated      | 2012-06-22T19:14:17Z                 |  
  21. | user_id      | admin                                |  
  22. | uuid         | 4cf112db-5db2-4e1a-af5a-219689a11300 |  
  23. +--------------+--------------------------------------+  

--flavor:指定虚拟机规格

--image:指定使用镜像

--key_name:指定使用key

“secondvmzju”为虚拟机名

(一个image可以创建多个虚拟机,但需要你的image,是采用qcow2的格式。)

9.查看新创建的虚拟机

[html]  view plain copy
  1. root@nova-controller:~# nova show Secondvmzju  
  2. +-----------------+----------------------------------------------------------+  
  3. |     Property    |                          Value                           |  
  4. +-----------------+----------------------------------------------------------+  
  5. | accessIPv4      |                                                          |  
  6. | accessIPv6      |                                                          |  
  7. | config_drive    |                                                          |  
  8. | created         | 2012-06-22T19:14:17Z                                     |  
  9. | flavor          | m1.tiny                                                  |  
  10. | hostId          | 28aabad0d319fc4dc6bd5a1f0d496229ee46648ec74f45fd7084047d |  
  11. | id              | 1                                                        |  
  12. | image           | ubuntu-10.04.2                                           |  
  13. | key_name        | key2                                                     |  
  14. | metadata        | {}                                                       |  
  15. | name            | Secondvmzju                                              |  
  16. | progress        | 100                                                      |  
  17. | service network | 10.0.0.2                                                 |  
  18. | status          | ACTIVE                                                   |  
  19. | tenant_id       | 1                                                        |  
  20. | updated         | 2012-07-05T11:32:19Z                                     |  
  21. | user_id         | admin                                                    |  
  22. | uuid            | 4cf112db-5db2-4e1a-af5a-219689a11300                     |  
  23. +-----------------+----------------------------------------------------------+  

10.网络配置

给虚拟机配置网络(可选)。

[html]  view plain copy
  1. 查看当前公网已使用的ip:  
  2. root@nova-controller:~# nova floating-ip-list  
  3. +-------------+-------------+----------+  
  4. |      Ip     | Instance Id | Fixed Ip |  
  5. +-------------+-------------+----------+  
  6. | 192.168.1.1 | None        | None     |  
  7. | 192.168.1.2 | 1           | 10.0.0.2 |  
  8. +-------------+-------------+----------+  
  9.   
  10. 创建公网地址  
  11. root@nova-controller:~# nova floating-ip-create  
  12. +-------------+-------------+----------+  
  13. |      Ip     | Instance Id | Fixed Ip |  
  14. +-------------+-------------+----------+  
  15. | 192.168.1.2 | None        | None     |  
  16. +-------------+-------------+----------+  
  17. 绑定公网地址IP到虚拟机  
  18. root@nova-controller:~# nova add-floating-ip Secondvmzju 192.168.1.2  
  19. 再次查看虚拟机,注意servicenetwork  
  20. root@nova-controller:~# nova show Secondvmzju  
  21. +-----------------+----------------------------------------------------------+  
  22. |     Property    |                          Value                           |  
  23. +-----------------+----------------------------------------------------------+  
  24. | accessIPv4      |                                                          |  
  25. | accessIPv6      |                                                          |  
  26. | config_drive    |                                                          |  
  27. | created         | 2012-06-22T19:14:17Z                                     |  
  28. | flavor          | m1.tiny                                                  |  
  29. | hostId          | 28aabad0d319fc4dc6bd5a1f0d496229ee46648ec74f45fd7084047d |  
  30. | id              | 1                                                        |  
  31. | image           | ubuntu-10.04.2                                           |  
  32. | key_name        | key2                                                     |  
  33. | metadata        | {}                                                       |  
  34. | name            | Secondvmzju                                              |  
  35. | progress        | 100                                                      |  
  36. | service network | 10.0.0.2, 192.168.1.2                                    |  
  37. | status          | ACTIVE                                                   |  
  38. | tenant_id       | 1                                                        |  
  39. | updated         | 2012-07-05T11:32:19Z                                     |  
  40. | user_id         | admin                                                    |  
  41. | uuid            | 4cf112db-5db2-4e1a-af5a-219689a11300                     |  
  42. +-----------------+----------------------------------------------------------+  
  43. 防火墙设置:  
  44. 允许ssh:  
  45. root@nova-controller:~# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0  
  46. +-------------+-----------+---------+-----------+--------------+  
  47. | IP Protocol | From Port | To Port |  IP Range | Source Group |  
  48. +-------------+-----------+---------+-----------+--------------+  
  49. | tcp         | 22        | 22      | 0.0.0.0/0 |              |  
  50. +-------------+-----------+---------+-----------+--------------+  
  51. 允许ping  
  52. root@nova-controller:~# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0  
  53. +-------------+-----------+---------+-----------+--------------+  
  54. | IP Protocol | From Port | To Port |  IP Range | Source Group |  
  55. +-------------+-----------+---------+-----------+--------------+  
  56. | icmp        | -1        | -1      | 0.0.0.0/0 |              |  
  57. +-------------+-----------+---------+-----------+--------------+  
  58.   
  59. 查看防火墙规则:  
  60. root@nova-controller:~# nova secgroup-list-rules  default  
  61. +-------------+-----------+---------+-----------+--------------+  
  62. | IP Protocol | From Port | To Port |  IP Range | Source Group |  
  63. +-------------+-----------+---------+-----------+--------------+  
  64. | icmp        | -1        | -1      | 0.0.0.0/0 |              |  
  65. | tcp         | 22        | 22      | 0.0.0.0/0 |              |  
  66. +-------------+-----------+---------+-----------+--------------+  
11.连接虚拟机

使用ssh连接(进入)虚拟机
ssh –i 通过身份认证文件验证的方式登录。

[html]  view plain copy
  1. root@nova-controller:~# ssh -i .ssh/id_rsa2 ubuntu@10.0.0.2  
  2. The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.  
  3. RSA key fingerprint is aa:fc:78:9a:bd:6d:f3:bb:67:cd:28:15:b5:06:fb:c8.  
  4. Are you sure you want to continue connecting (yes/no)? yes  
  5. Warning: Permanently added '10.0.0.2' (RSA) to the list of known hosts.  

可以查看虚拟机的名字,就是创建的时候定的名字。

[html]  view plain copy
  1. ubuntu@secondvmzju:~$ hostname  
  2. secondvmzju  
  3. ubuntu@secondvmzju:~$  


12.备注

在计算节点上可以通过virsh对虚拟机进行管理(不过建议是用nova)。

[html]  view plain copy
  1. root@nova-compute-1:~# virsh list --all  
  2.  Id Name                 State  
  3. ----------------------------------  
  4.   1 instance-00000001    running  

instance在计算节点上的实际位置:
[html]  view plain copy
  1. root@nova-compute-1:/var/lib/nova/instances# ls  
  2. _base  instance-00000001  

可以把公网的ip与虚拟机解除绑定。

[html]  view plain copy
  1. root@nova-controller:~# nova remove-floating-ip Secondvmzju 192.168.1.2  
  2. 回收ip。  
  3. root@nova-controller:~# nova floating-ip-delete 192.168.1.2  

参考文献:

http://www.slideshare.net/slmagicbox/stackops-step-bystep-guide
http://docs.stackops.org/display/doc03/Operating+Openstack+with+Stackops+Distro

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值