设为首页 收藏本站
查看: 1242|回复: 0

[经验分享] openstack的安装(二) 安装nova服务同时建立计算节点

[复制链接]

尚未签到

发表于 2018-6-2 11:00:53 | 显示全部楼层 |阅读模式
  nova的安装
  准备网络
  

  1.启用网络接口的promisc功能
  

  ip link set eth0 promisc on
  

  确认开启primisc功能
  

  ip link show eth0
  

  2.创建桥接接口br100
  

  yum -y install bridge-utils
  

  yum -y install libvirt
  

  service libvirtd restart
  

  chkconfig libvirtd on
  

  virsh iface-bridge eth0 br100
  

  创建桥接设备 方法二
  

  禁用NetworkManager
  

  创建桥接设备
  

  创建一个名为br100的桥接设置,并将其桥接在eth0网卡上,两步即可完成:首先创建一个桥接类型的设备,为其制定地址的获取方式、ip地址等属性,类似于管理一个正常的网络接口,只是类型为brige,其次,为eth0接口指定其桥接至刚刚定义的桥接设备即可,eth0此接口不再需要配置ip地址等属性
  

  vim /etc/sysconfig/network-scripts/ifcfg-br100
  

  DEVICE=br100
  BOOTPROTO=none
  DNS1=192.168.253.1
  GATEWAY=192.168.253.1
  IPADDR=192.168.253.139
  NETMASK=255.255.255.0
  NM_CONTROLLED=no
  ONBOOT=yes
  TYPE=Brige
  USERCTL=no
  DELAY=0
  

  vim /etc/sysconfig/network-scripts/ifcfg-eth0
  

  DEVICE="eth0"
  BOOTPROTO="none"
  NM_CONTROLLED="no"
  ONBOOT="yes"
  TYPE=Ethernet
  HWADDR=00:0C:29:83:A4:B5
  IPV6INIT=no
  USERCTL=no
  BRIDGE=br100
  

  重启启动网络服务
  

  

  

  brctl show
  bridge name     bridge id          STP enabled     interfaces
  br100          8000.000c2983a4b5     yes          eth0
  virbr0          8000.5254003986f3     yes          virbr0-nic
  

  启动messagebus服务
  

  service messagebus start
  

  chkconfig messagebus on
  

  安装nova
  

  yum -y install openstack-utils memcached qpid-cpp-server
  

  yum -y install openstack-nova
  

  初始化nova数据库,同时建立用户、密码
  

  openstack-db --init --service nova --password nova
  

  为nova创建数据库的相关的用户
  

  grant all privileges on nova.* to nova@localhost identified by 'nova';
  

  grant all privileges on nova.* to nova@'%' identified by 'nova';
  

  flush privileges;
  

  配置nova连接数据库
  

  vim /etc/nova/nova.conf
  

  # AUTHENTICATION
  auth_strategy=keystone
  

  # LOGS/STATE
  verbose=True
  logdir=/var/log/nova
  state_path=/var/lib/nova
  lock_path=/var/lock/nova
  rootwrap_config=/etc/nova/rootwrap.conf
  

  # SCHEDULER
  compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
  

  # VOLUMES
  volume_driver=nova.volume.driver.ISCSIDriver
  volume_group=nova-volume
  volume_name_template=volume-%08x
  iscsi_helper=tgtadm
  

  # DATABASE
  sql_connection=mysql://nova:nova@192.168.0.100/nova
  

  # COMPUTE
  libvirt_type=qemu
  compute_driver=libvirt.LibvirtDriver
  instance_name_template=instance-%08x
  api_paste_config=/etc/nova/api-paste.ini
  

  # set the instances path
  # instances_path=/nova/instances
  

  # New add
  libvirt_nonblocking = True
  libvirt_inject_partition = -1
  

  # COMPUTE/APIS: if you have separate configs for separate services
  # this flag is required for both nova-api and nova-compute
  allow_resize_to_same_host=True
  

  # APIS
  osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
  ec2_dmz_host=192.168.0.100
  s3_host=192.168.0.100
  

  # Qpid
  rpc_backend = nova.openstack.common.rpc.impl_qpid
  qpid_hostname = 192.168.0.100
  

  # GLANCE
  image_service=nova.image.glance.GlanceImageService
  glance_api_servers=192.168.0.100:9292
  

  # NETWORK
  network_manager=nova.network.manager.FlatDHCPManager
  force_dhcp_release=True
  dhcpbridge_flagfile=/etc/nova/nova.conf
  # New Add
  dhcpbridge = /usr/bin/nova-dhcpbridge
  

  firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
  

  # Change my_ip to match each Compute host
  my_ip=192.168.0.100
  public_interface=eth0
  vlan_interface=eth0
  flat_network_bridge=br100
  flat_interface=eth0
  fixed_range=192.168.0.0/24
  

  # NOVNC CONSOLE
  novncproxy_base_url=http://192.168.0.100:6080/vnc_auto.html
  

  # Change vncserver_proxyclient_address and vncserver_listen to match each compute host
  vncserver_proxyclient_address=192.168.0.100
  vncserver_listen=192.168.0.100
  

  [keystone_authtoken]
  auth_host = 192.168.0.100
  auth_port = 35357
  auth_protocol = http
  admin_tenant_name = service
  admin_user = nova
  admin_password = nova
  signing_dirname = /tmp/keystone-signing-nova
  

  

  

  安装libguestfs-tools
  

  yum -y instrall libguestfs-tools
  

  设置livirt类型为qemu
  

  openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type qemu
  

  为qemu-kvm创建所需要的连接
  

  ln -sv /usr/libexec/qemu-kvm /usr/bin/qemu
  

  重启libvirtd服务
  

  service libvirtd restart
  

  导入或迁移nova数据库
  

  nova-manage db sync
  

  安装配置qpid队列服务
  

  vim /etc/qpidd.conf
  

  auth=no
  

  service qpidd restart
  

  chkconfig qpidd on
  

  启动nova服务
  

  首先创建nova所文件目录
  

  mkdir /var/lock/nova
  

  chown -R nova.nova /var/lo
  ck/nova/
  

  启动nova相关服务,并设置开机自启
  

  compute、api、network、scheduler、console、cert
  

  for svc in api compute network scheduler cert console;do service openstack-nova-$svc restart;chkconfig openstack-nova-$svc on; done
  

  查看服务运行状态
  

  nova-manage service list
  

  查看日志
  

  grep -i error /var/log/nova/*
  

  

  

  创建nova网络
  

  nova-manage network create  --label=private --multi_host=T --fixed_range_v4=192.168.0.0/24 --bridge_interface=eth0 --bridge=br100 --num_networks=1 --network_size=256
  

  nova-manage network list
  

  

  

  在keystone中注册nova  compute API(要以keystone的管理员admin身份运行,所以执行环境变量)
  

  keystone service-create --name=nova --type=compute --description="Nova Compute Service"
  +-------------+----------------------------------+
  |   Property  |              Value               |
  +-------------+----------------------------------+
  | description |       Nova Compute Service       |
  |      id     | 875164c08b7c43b0b0d3116007655942 |
  |     name    |               nova               |
  |     type    |             compute              |
  +-------------+----------------------------------+
  

  创建端点
  

  keystone endpoint-create --service-id 875164c08b7c43b0b0d3116007655942 --publicurl "http://192.168.0.100:8774/v1.1/\$(tenant_id)s" --adminurl "http://192.168.0.100:8774/v1.1/\$(tenant_id)s" --internalurl "http://192.168.0.100:8774/v1.1/\$(tenant_id)s"
  +-------------+----------------------------------------------+
  |   Property  |                    Value                     |
  +-------------+----------------------------------------------+
  |   adminurl  | http://192.168.0.100:8774/v1.1/$(tenant_id)s |
  |      id     |       cbac1b85c41349c8ac49a819e43385a7       |
  | internalurl | http://192.168.0.100:8774/v1.1/$(tenant_id)s |
  |  publicurl  | http://192.168.0.100:8774/v1.1/$(tenant_id)s |
  |    region   |                  regionOne                   |
  |  service_id |       875164c08b7c43b0b0d3116007655942       |
  +-------------+----------------------------------------------+
  

  

  

  运行vm实例
  安全组default
  

  nova secgroup-list 查看安全组
  

  nova secgroup-list
  +---------+-------------+
  | Name    | Description |
  +---------+-------------+
  | default | default     |
  +---------+-------------+
  

  nova secgroup-add-rule 可用于安全组定义访问规则,下面命令就实现了允许所有ip地址通过tcp协议的22端口访问关联的vm实例
  

  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 |              |
  +-------------+-----------+---------+-----------+--------------+
  

  允许所有主机发起ping请求,开放icmp协议
  

  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 |              |
  +-------------+-----------+---------+-----------+--------------+
  

  ssh公钥注入
  

  nova-keypair-add命令生成一对密钥,并将其公钥保存在compute服务
  

  ssh-keygen -t rsa -P ''
  

  nova keypair-add  --pub-key /root/.ssh/id_rsa.pub testkey
  

  显示添加的密钥信息
  

  nova keypair-list
  

  +---------+-------------------------------------------------+
  | Name    | Fingerprint                                     |
  +---------+-------------------------------------------------+
  | testkey | 7a:34:18:49:1d:60:30:29:18:66:69:d2:c4:c6:c0:2b |
  +---------+-------------------------------------------------+
  

  查看本地的密钥文件
  

  ssh-keygen -l -f /root/.ssh/id_rsa.pub
  

  确保每个节点都正常运行
  

  查看虚拟机实例
  

  nova flavor-list
  

  创建一个虚拟机实例
  

  nova flavor-create --swap 256 flavor.cirros 6 128 2 2
  

  查看image映像文件
  

  nova image-list
  +--------------------------------------+---------------------+--------+--------+
  | ID                                   | Name                | Status | Server |
  +--------------------------------------+---------------------+--------+--------+
  | b8964ced-5702-4be1-9644-32b14d9ebc25 | cirros-0.3.0-i386   | ACTIVE |        |
  | edc31b1b-d3bf-4c76-885c-1f56a9eee3bc | cirros-0.3.0-x86_64 | ACTIVE |        |
  +--------------------------------------+---------------------+--------+--------+
  

  加载映像文件,启动一个实例
  

  nova boot --flavor 1 --image edc31b1b-d3bf-4c76-885c-1f56a9eee3bc --key_name testkey --security_group default cirros1
  

  查看所启动的虚拟机的状态
  

  +--------------------------------------+---------+--------+---------------------+
  | ID                                   | Name    | Status | Networks            |
  +--------------------------------------+---------+--------+---------------------+
  | 1a09d053-ea12-4b16-ace0-e1ec8d842360 | cirros1 | ACTIVE | private=192.168.0.2 |
  +--------------------------------------+---------+--------+---------------------+
  

  

  登录测试
  

  nova console-log cirros1
  

  wget: server returned error: HTTP/1.1 404 Not Found
  cloud-userdata: failed to read user data url: http://169.254.169.254/2009-04-04/user-data
  WARN: /etc/rc3.d/S99-cloud-userdata failed
  ____               ____  ____
  / __/ __ ____ ____ / __ \/ __/
  / /__ / // __// __// /_/ /\ \
  \___//_//_/  /_/   \____/___/
  http://launchpad.net/cirros
  

  

  login as 'cirros' user. default password: 'cubswin:)'. use 'sudo' for root.
  cirros login:
  

  会闪退,使用以下方式登录
  

  ssh -l cirros 192.168.0.2
  

  

  注意事项
  brctl not found
  解决办法:yum install bridge-utils
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-506353-1-1.html 上篇帖子: openstack的安装(一) glance和keystone的安装、建立tenant 下篇帖子: puppet部署openstack(controller)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表