设为首页 收藏本站
查看: 2767|回复: 6

[经验分享] Ubuntu12.04 OpenStack Folsom 安装(VLAN模式)之二

[复制链接]

尚未签到

发表于 2013-4-12 09:16:41 | 显示全部楼层 |阅读模式
二、安装计算节点
计算节点需要三块网卡,eth0、eth1 就接公网和内网网段,eth2相连的交换机要打开trunk
安装NTP服务

  • apt-get -y install ntp

编辑 /etc/ntp.conf, 指向控制节点

  • sed -i -e " s/server ntp.ubuntu.com/server 192.168.4.164/g" /etc/ntp.conf

重启服务

  • service ntp restart

配置 cat /etc/resolv.conf 文件

  • nameserver  192.168.4.164                //控制机内网ip

安装Hypervisor

  • apt-get install -y kvm libvirt-bin pm-utils

编辑 /etc/libvirt/qemu.conf ,添加下面内容

  • cgroup_device_acl = [
  •     "/dev/null", "/dev/full", "/dev/zero",
  •     "/dev/random", "/dev/urandom",
  •     "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
  •     "/dev/rtc", "/dev/hpet","/dev/net/tun",
  • ]

允许迁移

编辑 /etc/libvirt/libvirtd.conf, 去掉这三行的注释

  • listen_tls = 0
  • listen_tcp = 1
  • auth_tcp = "none"

或者运行下面命令

  • sed -i '/#listen_tls/s/#listen_tls/listen_tls/; /#listen_tcp/s/#listen_tcp/listen_tcp/; /#auth_tcp/s/#auth_tcp/auth_tcp/; /auth_tcp/s/sasl/none/' /etc/libvirt/libvirtd.conf

编辑 /etc/init/libvirt-bin.conf

  • env libvirtd_opts="-d -l"
或者使用命令

  • sed -i '/env libvirtd_opts/s/-d/-d –l/' /etc/init/libvirt-bin.conf

编辑 /etc/default/libvirt-bin

  • libvirtd_opts="-d -l"
或者使用命令

  • sed -i '/libvirtd_opts/s/-d/-d -l/' /etc/default/libvirt-bin

重启服务

  • service libvirt-bin restart

安装nova服务

配置eth2网卡开机自动up
编辑/etc/network/interfaces   
  • auto eth2
  • iface eth2 inet manual
  • pre-up ifconfig eth2 up
/etc/init.d/networking restart


安装 nova

  • sudo apt-get  install nova-compute nova-network nova-api python-keystone novnc bridge-utils  

注意:/etc/nova 这个目录的权限,安装完成后有时会出现这个目录的权限问题,这个目录属于nova 用户


编辑/etc/nova/nova.conf
  • [DEFAULT]
  • logdir=/var/log/nova
  • state_path=/var/lib/nova
  • lock_path=/run/lock/nova
  • verbose=False
  • api_paste_config=/etc/nova/api-paste.ini
  • scheduler_driver=nova.scheduler.simple.SimpleScheduler
  • s3_host=192.168.4.164
  • ec2_host=192.168.4.164
  • ec2_dmz_host=192.168.4.164
  • rabbit_host=192.168.4.164
  • rabbitrabbit_password=rabbit-pass
  • cc_host=192.168.4.164
  • nova_url=http://192.168.4.164:8774/v1.1/
  • sql_connection=mysql://nova:nova-pass@192.168.4.164/nova
  • ec2_url=http://192.168.4.164:8773/services/Cloud
  • root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
  •   
  • # Auth
  • use_deprecated_auth=false
  • auth_strategy=keystone
  • keystone_ec2_url=http://192.168.4.164:5000/v2.0/ec2tokens
  • # Imaging service
  • glance_api_servers=192.168.4.165:9292
  • image_service=nova.image.glance.GlanceImageService
  •   
  • # Vnc configuration
  • novnc_enabled=true
  • novncproxy_base_url=http://0.0.0.0:6080/vnc_auto.html
  • novncproxy_port=6080
  • vncserver_proxyclient_address=0.0.0.0
  • vncserver_listen=0.0.0.0
  •   
  • # Network settings
  • #network_api_class=nova.network.quantumv2.api.API
  • #quantum_url=http://192.168.4.164:9696
  • #quantum_auth_strategy=keystone
  • #quantum_admin_tenant_name=service
  • #quantumquantum_admin_username=quantum
  • #quantum_admin_password=
  • #quantum_admin_auth_url=http://192.168.4.164:35357/v2.0
  • #libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
  • #linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
  • #firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
  •   
  • ###### NETWORK
  • #network_manager=nova.network.manager.FlatDHCPManager
  • network_manager=nova.network.manager.VlanManager
  • force_dhcp_release=True
  • dhcpbridge_flagfile=/etc/nova/nova.conf
  • dhcpbridge=/usr/bin/nova-dhcpbridge
  • firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
  • public_inter>
  • flat_inter>
  • vlan_inter>
  • flat_network_bridge=br100
  • fixed_range=10.100.0.0/24
  • multi_host=true
  •   
  • # Compute #
  • #compute_driver=libvirt.LibvirtDriver
  •   
  • ###### COMPUTE
  • libvirt_type=kvm
  • #libvirt_type=qemu
  • connection_type=libvirt
  • instanceinstance_name_template=instance-%08x
  • api_paste_config=/etc/nova/api-paste.ini
  • allow_resize_to_same_host=True
  • libvirt_use_virtio_for_bridges=true
  • #start_guests_on_host_boot=true
  • #resume_guests_state_on_host_boot=true
  •   
  • # Cinder #
  • volume_api_class=nova.volume.cinder.API
  • osapi_volume_listen_port=5900

所有计算节点配置一样,配置中的ip需要注意

重启服务
  • restart nova-compute
  • restart nova-network
  • restart nova-api   


在控制节点上运行
nova-manage service list

135831333.jpg

状态是 :-) 的表示正常。

创建虚拟机网络

因为我们使用的VlanManager ,创建网络的过程中要制定vlan id,使用vlan,在nova.conf 有两个配置

  • vlan_interface=eth0
  • network_manager=nova.network.manager.VlanManager

查看tenant

  • keystone tenant-list   

这里会列出最一开始创建的tenant : openstackDemo , service下面指定vlan给哪个tenant是 openstackDemo 可以使用, service最好别用,service表示服务容器。


创建网络

  • nova-manage network create private --multi_host=T --fixed_range_v4=192.168.195.0/28 --vlan=2 --project_id=<tenant_id> --num_networks=1 --network_size=<ip个数>

注意: 上面创建网络的时候,可以指定参数 --project_id=<project id> ,就会把相应的网络分配给特定的tenant , <tenant_id>为 tenant 的ID 。这个参数可以不指定,这样创建的vlan网段,就不会被立刻分配出去,但是,当有tenant 需要vlan网段时,这些没有被分配出去的vlan网段会被自动分配给没有网段的tenant的,这样随机性会比较大一些。


查看创建的网络

  • nova-manage  network  list
删除网络
  • nova-manage project scrub --project=<tenant_id>
  • nova-manage network delete --uuid=<uuid_id>


使用新创建的tenant 和user 使用source 生效变量 新建虚拟机就属于那个tenant
  • export OS_USERNAME=seconduser
  • export OS_TENANT_NAME=secondtenant
  • export OS_PASSWORD=password
  • export OS_AUTH_URL=http://192.168.4.164:5000/v2.0/
  • export OS_REGION_NAME=RegionOne

以后要使用哪个tenant 就加载那个tenant的环境变量

创建虚拟机

创建虚拟机之前,要注意把nova.conf 里配置的vlan端口起来,这里是eth0
ifconfig eth0 up
否则的话,下面创建虚拟机时会失败,因为会创建一个vlan端口, 把vlan端口绑定在eth0上, 如果eth0没有起来,那么相应的vlan端口也是起不来的,就会出错。

注意:因为nova.conf配置中把虚拟机内网IP绑定到eth0上,请确保连接网连,状态为UP,在控制机上能解析计算机节点的主机名,计算节点更改BIOS 支持HVM
nova boot *****
查看帮助 nova help boot
例子:

  • nova boot –image  0912cd43-a5dd-4719-8b0f-3c1ebff77fa5 --flavor 1 "test_name"
--image 参数是使用哪个镜像来创建虚拟机,使用 nova image-list查看
--flavor 参数是使用多大内存、cpu等参数的模块,使用nova flavor-list查看

或者,加一个ssh登录密钥
key 创建
  • nova keypair-add key_name > mykey.pem

查看key
  • nova keypair-list

删除key
  • nova keypair-delete <name>

使用key登入的方式 创建虚拟机

  • nova boot --image 0912cd43-a5dd-4719-8b0f-3c1ebff77fa5 --flavor 2 "test_name” --key_name  key_name
查看虚拟机列表
  • nova list  

查看vm列表


  • nova-manage vm list

删除虚拟机

  • nova delete <id>
重启虚拟机

  • nova reboot   <id>

会发现新创建的虚拟机分配的ip地址在第一个vlan里面

再次创建一个新的tenant和user ,再用这个新的tenant 和user 创建虚拟机
则第二个vlan 被分配到这个tenant里面了


要删除一个网桥时
  • vconfig rem vlan2
  • ifconfig virbr0 down
  • brctl delbr virbr0

查看开放端口:

  • nova secgroup-list-rules default
打开所有端口:

  • nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
  • nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0
  • nova secgroup-add-rule default udp 1 65535    0.0.0.0/0

查看资源限制

  • nova-manage project quota "$tid"

更改tenant 资源限制
  • tid=1dc31a6445a64373939825ae546bd896 (tenant_id)
  • nova-manage project quota "$tid"    volumes 1000  
  • nova-manage project quota "$tid"    gigabytes 10000      
  • nova-manage project quota "$tid"   ram   5120000   
  • nova-manage project quota "$tid"   instances   5120000  
  • nova-manage project quota "$tid"  floating_ips   5120000   
  • nova-manage project quota "$tid"  cores       5120000  

创建floating_ip


  • nova-manage floating create --ip_range=192.168.3.160/27
创建使用的floating_ip

  • nova floating-ip-create
绑定到虚拟机

  • nova add-floating-ip  <server> <address>  
从虚拟机移除


  • nova remove-floating-ip  <server> <address>
删除使用的floating_ip

  • nova floating-ip-delete   <address>
查看使用floating_ip

  • nova floating-ip-list
查看所有floating_ip


  • nova-manage floating list

如果虚拟启动后同网段无法ping 通 重启计算节点的restart   libvrit-bin后会出现virbr0 设备 在重启restart nova-network


140937746.jpg


三、安装nfs实现动态迁移:

动态迁移需要配置各个资源机之间的libvirtd ,能够监听到网络上传来的数据,并且这里的实现方式使用NFS
环境:

compute-01.test.com 和compute-02.test.com是两台资源机

使用共享存储nfs , 将存储服务器compute-02.test.com上的/storage挂载到compute-01.test.com  /user/lib/nova/instances 目录下。

注意:如果两台资源机上的nova用户的uid不一致,或者libvirt-* 用户的uid不一致,迁移的过程中就会出现权限问题。

还要注意要能ping 各个计算节点的主机名,这个可以通过修改 /etc/hosts 文件来实现   
ping HostA
ping HostB
ping HostC
       注意:控制节点不能在hosts中写本机内网IP的对应关系,要不mysql 使用内网ip登入不上
在ubunt2上配置nfs ,

  • apt-get install nfs-kernel-server

使用fdisk 把磁盘分出一个分区挂载到 /storage

修改文件 /etc/exports ,添加

  • /storage   *(rw,sync,no_root_squash)
更改宿主
  • chown nova:nova / storage   
  • /etc/init.d/nfs-kernel-server restart
  • /etc/init.d/idmapd restart     (貌似跟uid 和用户名的对应有关,必需的)

在所有计算节点安装客户端

  • apt-get install nfs-common

修改 /etc/fstab

  • 192.168.4.166:/storage   /var/lib/nova/instances nfs4 defaults 0 0
挂载
mount -av
挂载成功

141108926.jpg

查看宿主是否为nova

  • ll -d /var/lib/nova/instances

迁移过程中,最开始测试的两台物理主机的cpu不一样,然后迁移中从A主机迁到B主机成功,但是从B主机迁到A主机失败,报错是cpu信息不一致。最好各个计算节点型号都是一致的
nova live-migration <server> <host>

141154737.jpg


四、resize 功能
默认情况下运行resize时,openstack会通过 scheduler 服务选出一个节点来,把resize   之后的虚拟机运行在其上面,这样有一个问题,所有的物理机之间需要配置ssh信任关系,因为做这样的resiize的时候,需要ssh登录到目的主机上,否则如果登录不到目的主机上,resize就会报错。

建立计算节点之间的信任关系

  • ssh-keygen -t rsa                              //直接回车使用默认就可以
  • ssh-copy-id -i  ~/.ssh/id_rsa.pub  '-p20009 root@192.168.4.166'
  • scp –P20009 ~/.ssh/id_rsa root@192.168.4.166: /root/.ssh/
注意 需要把 root@192.168.4.166: /root/.ssh/authorized_keys 拷贝到 165上面

查看flavors列表
  • nova flavor-list

为虚拟机增加内存,cpu等
  • nova resize  <server>  <flavor>

虚拟机状态为VERIFY_RESIZE时执行

  • nova  resize-confirm  <server id>  

如果不运行 resize-confirm 24小时之后自动resize-confirm ,在这个状态下可以把 resize撤销,也可以把resize 确认



运维网声明 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-5184-1-1.html 上篇帖子: Ubuntu12.04 OpenStack Folsom 安装(VLAN模式)之一 下篇帖子: openstack G版源码分析 安装
发表于 2013-4-12 09:45:26 | 显示全部楼层
一时的冲动,子孙的危机!

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

尚未签到

发表于 2013-5-16 01:39:40 | 显示全部楼层
如果没有毛片,中国的性教育简直就是一片空白!

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

尚未签到

发表于 2013-5-16 12:49:43 | 显示全部楼层
看帖回帖是美德!:lol

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

尚未签到

发表于 2013-5-17 07:29:16 | 显示全部楼层
微机原理闹危机,随机过程随机过,实变函数学十遍,汇编语言不会编!

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

累计签到:2 天
连续签到:1 天
发表于 2013-5-17 18:20:21 | 显示全部楼层
学习了,谢谢分享、、、

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

发表于 2013-5-18 09:11:11 | 显示全部楼层
做爱做的事,交配交的人。

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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