Skip to content

天楚锐齿

人工智能 云计算 大数据 物联网 IT 通信 嵌入式

天楚锐齿

  • 下载
  • 物联网
  • 云计算
  • 大数据
  • 人工智能
  • Linux&Android
  • 网络
  • 通信
  • 嵌入式
  • 杂七杂八

OpenStack 安装和使用(六)

2018-03-14
VNC访问
安装:
# yum install –enablerepo=updates-testing openstack-nova-novncproxy
修改配置文件nova.conf:
这两行放在cloud controller节点:
# openstack-config –set /etc/nova/nova.conf DEFAULT novncproxy_host 0.0.0.0
# openstack-config –set /etc/nova/nova.conf DEFAULT novncproxy_port 6080
这四行放在compute节点:
# openstack-config –set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://10.24.1.47:6080/vnc_auto.html        这个地址为cloud controller的地址
# openstack-config –set /etc/nova/nova.conf DEFAULT vnc_enabled true
# openstack-config –set /etc/nova/nova.conf DEFAULT vncserver_listen 10.24.1.47                                                      这个地址为compute节点地址
# openstack-config –set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 10.24.1.47                                 这个地址为compute节点地址
重启consoleauth和novncproxy服务:
# systemctl restart openstack-nova-consoleauth.service
# systemctl status openstack-nova-novncproxy.service
# systemctl restart openstack-nova-novncproxy.service
# systemctl status openstack-nova-consoleauth.service
必须开放每个compute机器的VNC端口:
# lokkit -p 5900:tcp
# lokkit -p 5901-5963:tcp

…

使用:
# nova get-vnc-console f16jeos_vm_1 novnc
+——-+———————————————————————————+
|  Type |                                       Url                                       |
+——-+———————————————————————————+
| novnc | http://10.24.1.47:6080/vnc_auto.html?token=d5de2212-1102-413c-a0e3-36063a2ff464 |
+——-+———————————————————————————+
然后使用浏览器访问上面的Url即可。
从volume启动虚拟机:
# nova volume-create –display_name vol_1 10
# nova volume-list
+—-+——–+————–+——+————-+————————————–+
| ID | Status | Display Name | Size | Volume Type |             Attached to              |
+—-+——–+————–+——+————-+————————————–+
| 4  | in-use | vol_1        | 10   | None        | c2cbfc4b-a45d-4685-ba97-9c4e6e454981 |     这里的in-use状态是VM启动之后的状态,没有启动前应该是available的才行。
+—-+——–+————–+——+————-+————————————–+
# nova boot –flavor 2 –image cc507299-c5db-4003-bf89-66e3e646d0f6 –block_device_mapping vda=4::10:1 –key_name f16jeos –security_group default boot_from_vol
因为有个bug,所以这里用了–image,道理上是不需要的。
启动后,如果这个volume本身不能启动,则会尝试用PXE去启动。
–block_device_mapping <dev_name=mapping>
Block device mapping in the format <dev_name=<id>:<typ
e>:<size(GB)>:<delete_on_terminate>.
The command arguments are:
dev_name
A device name where the volume will be attached in the system at /dev/dev_name. This value is typically vda.
id
The ID of the volume to boot from, as shown in the output of nova volume-list.
type
This is either snap, which means that the volume was created from a snapshot, or anything other than snap (a blank string is valid). In the example above, the volume was not created from a snapshot, so we will leave this field blank in our example below.
size (GB)
The size of the volume, in GB. It is safe to leave this blank and have the Compute service infer the size.
delete_on_terminate
A boolean to indicate whether the volume should be deleted when the instance is terminated. True can be specified as True or 1. False can be specified as False or 0.

从cdrom以iso安装方式启动虚拟机:
先添加iso格式的image:
# glance add name=f17 is_public=true disk_format=iso container_format=bare < Fedora-17-x86_64-DVD.iso
# nova image-list
+————————————–+——————-+——–+——–+
|                  ID                  |        Name       | Status | Server |
+————————————–+——————-+——–+——–+
| a4966894-debd-4788-bd1a-4b6e27cc5dd2 | f17               | ACTIVE |        |
+————————————–+——————-+——–+——–+
启动后,使用VNC进入,即可看到已经进入了安装状态:
# nova boot –flavor 2 –image a4966894-debd-4788-bd1a-4b6e27cc5dd2 –key_name f16jeos –security_group default boot_from_cdrom
默认有flavor是有10GB硬盘空间的,安装时可以选择安装到这个10GB的vda里面。
动态迁移虚拟机,必须手工执行,不是全自动:
前提:
所有compute节点的/var/lib/nova/instances/都mount在某个nfs或共享存储上。
所有机器的hosts都可达或DNS可达。
修改libvirtd的配置,并重启:
# vi /etc/libvirt/libvirtd.conf
before : #listen_tls = 0
after : listen_tls = 0

before : #listen_tcp = 1
after : listen_tcp = 1

add: auth_tcp = “none”

# vi /etc/init/libvirt-bin.conf
before : SERVICE=libvirtd

before : PROCESS=libvirtd

after : SERVICE=libvirtd -l
after : PROCESS=libvirtd -l
# service libvirtd restart
所有节点开放libvirtd端口:
# lokkit -p 16509:tcp

# lokkit -p 49152-49261:tcp

使用nova show <ID>看看VM当前跑在哪个host上:

# nova show f16jeos_vm
+————————————-+———————————————————-+
|               Property              |                          Value                           |
+————————————-+———————————————————-+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-SRV-ATTR:host                | compute1                                                 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                                     |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000018                                        |
…
看看目的host的资源够不够:
# nova-manage service describe_resource cc
HOST                              PROJECT     cpu mem(mb)     hdd
cc              (total)                         8   16108      99
cc              (used_now)                      1    3029      74
cc              (used_max)                      4    8192     120
cc                       94d38db32a7d4107beeed36d9e98bf06       4    8192     120
动态迁移,VM几乎不会感觉到有中断:
# nova live-migration <ID> cc
错误处理:
现象:
# vi /var/log/nova/compute.log
Command: ssh 10.24.1.49 mkdir -p /var/lib/nova/instances/instance-0000001b
Exit code: 255
Stdout: ”
修复:
在compute节点间实现nova用户的免密码鉴权就可以了。
# vi /etc/passwd
nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/sbin/nologin
可以修改成可登录之后切换到nova用户操作,操作完成后再改回来:
nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/bash
# ll -a /var/lib/nova/.ssh/
-rwx——.  1 nova nova  402 Jul 20 14:26 authorized_keys
-rw——-.  1 nova nova 1675 Jul 20 14:26 id_rsa
-rw-r–r–.  1 nova nova  402 Jul 20 14:26 id_rsa.pub
# vi /etc/ssh/ssh_config
…
Host *
        StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
        GSSAPIAuthentication yes
…

Resize操作

resize可以修改VM的flavor,不过不是太好使,参考/var/log/nova/compute.log可以看到命令出错的地方。
假定原来用得flavor是2,即small方式,现在修改为3,即medium方式:
# nova resize f16jeos_vm 3
这个错误还没法处理:
现象:
# vi /var/log/nova/compute.log
Failed to mount filesystem: Unexpected error while running command.
Command: sudo nova-rootwrap guestmount –rw -a /var/lib/nova/instances/instance-0000001b/disk -i /tmp/tmpEB8ILz
Exit code: 1
Stdout: ”
Stderr: “/usr/bin/guestmount: multi-boot operating systems are not supported
原因:
虚拟机里面有多个可以boot的设备。
手工看一下:
# guestmount –rw -a /var/lib/nova/instances/instance-0000001c/disk -m /dev/sda1 /mnt/tmp/
# guestmount –rw -a /var/lib/nova/instances/instance-0000001c/disk -m /dev/sda2 /mnt/tmp1/
# guestmount –rw -a /var/lib/nova/instances/instance-0000001c/disk -m /dev/sda3 /mnt/tmp2/
# ls /mnt/tmp
EFI  images  isolinux  LiveOS  Packages  repodata  TRANS.TBL
# ls /mnt/tmp1
EFI
# ls /mnt/tmp2
EFI  mach_kernel  System
# fusermount -u /mnt/tmp/
# fusermount -u /mnt/tmp1/
# fusermount -u /mnt/tmp2/
可以看到三个都有EFI启动目录。
安装Dashboard:
# yum install –enablerepo=updates-testing memcached mod_wsgi openstack-dashboard

查看memcached的配置:
# vi /etc/sysconfig/memcached
PORT=”11211″
USER=”memcached”
MAXCONN=”1024″
CACHESIZE=”64″
OPTIONS=””

修改dashboard配置文件:
# vi /etc/openstack-dashboard/local_settings
匹配memcached为:
CACHE_BACKEND = ‘memcached://127.0.0.1:11211/’
修改数据库连接为:
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘dash’,
‘USER’: ‘dash’,
‘PASSWORD’: ‘dash’,
‘HOST’: ‘localhost’,
‘default-character-set’: ‘utf8’
},
}

建立mysql数据库:
mysql> CREATE DATABASE dash;
mysql> GRANT ALL ON dash.* TO ‘dash’@’%’ IDENTIFIED BY ‘dash’;
mysql> GRANT ALL ON dash.* TO ‘dash’@’localhost’ IDENTIFIED BY ‘dash’;
mysql> flush privileges;

同步数据库:
# /usr/share/openstack-dashboard/manage.py syncdb

启动:
# service memcached restart
# service httpd restart

这个dashboard几乎可以替代所有nova命令。包含虚拟机的管理,image的管理,vloume的管理,flavor的管理,tenant(project)的管理,user的管理。

如果能加个资源审查和计费功能的话,就可以直接运营了。
当然,安装了swift之后,dashboard同样可以管理swift的上传、下载等功能。
验证:
打开web即可进行验证,用户名、密码为keystone里面的admin/123456:
http://10.24.1.47/dashboard/

1,351次阅读

Post navigation

前一篇:

OpenStack 安装和使用(五)

后一篇:

OpenStack 安装和使用(七)

发表回复 取消回复

要发表评论,您必须先登录。

个人介绍

需要么,有事情这里找联系方式:关于天楚锐齿

=== 美女同欣赏,好酒共品尝 ===

微信扫描二维码赞赏该文章:

扫描二维码分享该文章:

分类

  • Linux&Android (81)
  • Uncategorized (1)
  • 下载 (28)
  • 云计算 (38)
  • 人工智能 (9)
  • 大数据 (35)
  • 嵌入式 (34)
  • 杂七杂八 (35)
  • 物联网 (65)
  • 网络 (25)
  • 通信 (22)

归档

近期文章

  • 飞书机器人发送卡片interactive消息
  • Springboot JPA实现对数据库表统一的增删改查
  • WEB的内容安全策略CSP(Content-Security-Policy)
  • CSS利用@media和viewport实现响应式布局自动适配手机电脑等
  • VUE前端增加国际化支持

近期评论

  • linux爱好者 发表在《Linux策略路由及iptables mangle、ip rule、ip route关系及一种Network is unreachable错误》
  • maxshu 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • Ambition 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • Ambition 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • maxshu 发表在《Android9下用ethernet 的Tether模式来做路由器功能》

阅读量

  • 使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序 - 23,810次阅读
  • 卸载深信服Ingress、SecurityDesktop客户端 - 18,519次阅读
  • 车机技术之车规级Linux-Automotive Grade Linux(AGL) - 10,569次阅读
  • linux下的unbound DNS服务器设置详解 - 9,323次阅读
  • 在Android9下用ndk编译vSomeIP和CommonAPI以及使用例子 - 9,136次阅读
  • linux的tee命令导致ssh客户端下的shell卡住不动 - 8,639次阅读
  • Linux策略路由及iptables mangle、ip rule、ip route关系及一种Network is unreachable错误 - 8,126次阅读
  • 车机技术之360°全景影像(环视)系统 - 8,088次阅读
  • 车机技术之Android Automotive - 7,940次阅读
  • Windows下安装QEMU并在qemu上安装ubuntu和debian - 7,840次阅读

其他操作

  • 注册
  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

联系方式

地址
深圳市科技园

时间
周一至周五:  9:00~12:00,14:00~18:00
周六和周日:10:00~12:00

标签

android AT命令 CAN centos docker Hadoop hdfs ip java kickstart linux mapreduce mini6410 modem nova OAuth openstack os python socket ssh uboot 内核 协议 安装 嵌入式 性能 报表 授权 操作系统 数据 数据库 月报 模型 汽车 深信服 源代码 统计 编译 脚本 虚拟机 调制解调器 车机 金融 鉴权
© 2025 天楚锐齿