首页 文章 精选 留言 我的

精选列表

搜索[openstack],共3159篇文章
优秀的个人博客,低调大师

openstack iptables nat模块引发云主机访问redis超时问题解决办法

问题描述: 电商新申请的云主机访问同机房的redis ,出现小部分超时,时段时序,很是头疼,经过排查,宿主机iptables 规则导致,卸载iptables 解决不了问题,需要彻底卸载iptalbes nat 模块,搞定! 操作方法: 1 2 #rmmodip_tables ERROR:Moduleip_tablesis in usebyiptable_filter 1 2 3 4 5 6 rmmodip_tables提示已使用,采用modprobe-r强制卸载 #modprobe-riptable_filter #modprobe-rip_tables #lsmod|grep-ctables 业务反馈,服务正常 本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1962080

优秀的个人博客,低调大师

排错经历:openstack 创建实例错误,系统处理器不支持硬件加速

创建实例失败 其实这种报错提示太笼统,很多错误都会显示这样,具体还得查日志找错误。 【compute节点】 进入nova日志查到错误信息提示: cat /var/log/nova/compute.log 2016-10-13 23:43:36.037 2602 WARNING nova.virt.disk.vfs.guestfs [req-cb7213d5-9468-4a6b-9f05-9ba5cf954f1d 2ab12a2b980847c6bd29e3ecb2ca694b 18d3b8dee68940c69cb2479d8394c0e4] Failed to close augeas aug_close: do_aug_close: you must call 'aug-init' first to initialize Augeas 2016-10-13 23:43:39.568 2602 ERROR nova.virt.libvirt.driver [req-cb7213d5-9468-4a6b-9f05-9ba5cf954f1d 2ab12a2b980847c6bd29e3ecb2ca694b 18d3b8dee68940c69cb2479d8394c0e4] An error occurred while trying to define a domain with xml: <domain type="kvm"> 解决: 检查系统处理器是否支持虚拟机的硬件加速 egrep -c '(vmx|svm)' /proc/cpuinfo 返回1以上说明支持 若返回0,说明不支持,配置libvirt取代KVM来使用QEMU 修改/etc/nova/nova.conf [libvirt] virt_type=kvm 修改为virt_type=qemu (去掉#) 重启服务: for xx inlibvirtdmessagebusopenstack-nova-compute; do service $xx restart; done 成功解决启动实例. 本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1861880,如需转载请自行联系原作者

优秀的个人博客,低调大师

创建 OVS vlan101 并部署 instance - 每天5分钟玩转 OpenStack(139)

前面我们创建了 OVS vlan100 并部署了 instance,今天继续创建 vlan101。 subnet IP 地址为 172.16.101.0/24。 底层网络发生了什么变化 Neutron 自动在 br-int 网桥上创建了 vlan100 dhcp 的接口 “tap1820558c-0a”。 现在,网络结构如下: 将 instance 连接到 vlan101 launch 新的 instance “cirros-vm3”,网络选择 vlan101。 cirros-vm3 分配到的 IP 为 172.16.101.103。 cirros-vm3 被 schedule 到计算节点,虚拟网卡已经连接到 br-int。 当前网络结构如下: cirros-vm1 位于控制节点,属于 vlan100。 cirros-vm2 位于计算节点,属于 vlan100。 cirros-vm3 位于计算节点,属于 vlan101。 cirros-vm1 与 cirros-vm2 都在 vlan100,它们之间能通信。 cirros-vm3 在 vlan101,不能与 cirros-vm1 和 cirros-vm2 通信。 上面的结论是毋庸置疑的,但我们更需要关心的是:Open vSwitch 是如何实现 vlan100 和 vlan101 隔离? 下一节我们将详细分析这个问题。

优秀的个人博客,低调大师

将 instance 连接到 second_local_net - 每天5分钟玩转 OpenStack(85)

今天是 local network 的最后一个小节,我们将验证两个local network 的连通性。 launch 新的 instance “cirros-vm3”,网络选择 second_local_net。 cirros-vm3 分配到的 IP 为 172.16.1.102。 cirros-vm3 被 schedule 到控制节点,对应的 tap 设备为 tap5395d19b-ed。 控制台显示 cirros-vm3 已经成功从 DHCP 拿到 IP 地址 172.16.1.102。 但是 cirros-vm3 无法 Ping 到 cirros-vm1。 这是在预料之中的,因为 cirros-vm3 和 cirros-vm1 位于不同的 local network,之间没有连通,即使都位于同一个宿主机也不能通信。 网络结构如下: 小结 到这里 local network 的知识点已经讨论完毕,做个小结吧。 1. 位于同一 local network 的 instance 可以通信。2. 位于不同 local network 的 instance 无法通信。3. 一个 local network 只能位于一个物理节点,无法跨节点。虽然在实际应用中极少使用 local network,但学习 local network 的意义在于:local network 可以作为学习 flat, vlan, vxlan 等更复杂网络类型的起点,降低 Neutron 的学习难度。下一节开始我们将进入 flat network。

优秀的个人博客,低调大师

创建第二个 local network - 每天5分钟玩转 OpenStack(84)

GUI 中有两个地方可以创建 network: 1. Project -> Network -> Networks 这是普通用户在自己的 tenant 中创建 network 的地方。 2. Admin -> Networks这是 admin 创建 network 的地方。 前面我们已经用第一种方式创建了 "first_local_net",本节将以第二种方式创建 local network "second_local_net"。 菜单路径为 Admin -> Networks,此菜单只有 admin 用户才能够访问。 点击 “Create Network” 按钮。 显示创建页面。 可以看到几个与普通用户创建 network 不同的地方: 可以选择该 network 属于哪个 Project(租户)。 可以选择 network type。 可以指定 network 是否与其他 Project 共享。 可以指定是否为 external network。 可见,这种方式赋予 admin 用户创建 network 更大的灵活性,后面我们都将采用这种方式创建 network。 点击 “Create Network”,second_local_net 创建成功。 点击 second_local_net 链接,进入 network 配置页面,目前还没有 subnet,点击 “Create Subnet” 按钮。 设置 IP 地址为 “172.16.1.0/24”。 点击 “Next”,设置 IP 地址范围为 172.16.1.101-172.16.1.200。 点击 “Create”,subnet 创建成功。 查看控制节点的网络结构,增加了 second_local_net 对应的网桥 brq161e0b25-58,以及 dhcp 的 tap 设备 tapae547b6b-2a。 下一节将部署 instance 到 second_local_net 并验证两个 local network 之间的连通性。

优秀的个人博客,低调大师

将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)

上一节 first_local_net 已经就绪,下面创建 instance 并将其连接到该网络。 将 instance 连接到 first_local_net launch 一个 instance,在“Networking”标签页面选择 first_local_net 网络。 instance 部署成功,分配的 IP 地址为 172.16.1.3 底层网络发生了什么变化? 对于 instance “cirros-vm1”,Neutron 会在 subnet 中创建一个 port,分配 IP 和 MAC 地址,并将 port 分配给 cirros-vm1。 如上图所示,port 列表中增加了一个 port “(fa7e090e-a29c)”,IP 为 172.16.1.3。 点击 port 名称查看 MAC 信息: 当 cirros-vm1 启动时: 1. 宿主机上的 neutron-linuxbridge-agent 会根据 port 信息创建 tap 设备,并连接到 local 网络所在的 bridge 2. 同时该 tap 会映射成 cirros-vm1 的虚拟网卡,即 virtual interface (VIF)。 下面我们验证一下以上信息: cirros-vm1 部署到了控制节点,通过 brctl show 查看 bridge 的配置。 可以看到 bridge brqbb9b6d21-c6 上连接了一个新的 tap 设备 tapfa7e090e-a2 从命名上可知 tapfa7e090e-a2 对应着 port “(fa7e090e-a29c)”。 virsh list 中显示的虚拟机 instance-00000001 即为 “cirros-vm1”,命名方式有所不同,需注意。 通过 virsh edit 命令查看 cirros-vm1 的配置,确认 VIF 就是 tapfa7e090e-a2 另外,VIF 的 MAC 地址为 fa:16:3e:c1:66:a5,这个数据就是从 port “(fa7e090e-a29c)” 取过来的。 在 cirros-vm1 中执行 ifconfig,通过 MAC 地址可以确认 eth0 与 tapfa7e090e-a2 对应。 下图展示了创建 cirros-vm1 后宿主机当前的网络结构。 下一节我们将部署第二个instance 到first_local_net 并验证两个 instance 之间的连通性。

优秀的个人博客,低调大师

在 ML2 中 enable local network - 每天5分钟玩转 OpenStack(79)

前面完成了一系列准备工作,本节开始将创建各种 Neutorn 网络,我们首先讨论 local network。 local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID。 对于每个 local netwrok,ML2 linux-bridge 会创建一个 bridge,instance 的 tap 设备会连接到 bridge。位于同一个 local network 的 instance 会连接到相同的 bridge,这样 instance 之间就可以通信了。 因为 bridge 没有与物理网卡连接,所以 instance 无法与宿主机之外的网络通信。 同时因为每个 local network 有自己的 bridge,bridge 之间是没有连通的,所以两个 local network 之间也不能通信,即使它们位于同一宿主机上。 下图是 local network 的示例: 创建了两个 local network,分别对应两个网桥 brqXXXX 和 brqYYYY。 VM0 和 VM1 通过 tap0 和 tap1 连接到 brqXXXX。 VM2 通过 tap2 连接到 brqYYYY。 VM0 与 VM1 在同一个 local network中,它们之间可以通信。 VM2 位于另一个 local network,由于 brqXXXX 和 brqYYYY 没有联通,所以 VM2 无法与 VM0 和 VM1 通信。 下面我们将一步一步实现 local network。 在 ML2 配置中 enable local network 创建 local 网络之前请先确保 ML2 已经加载了 local type driver。 ML2 的配置文件位于 /etc/neutron/plugins/ml2/ml2_conf.ini。 type_drivers 告诉 ML2 加载所有 5 种网络的 type driver。 type_drivers = local,flat,vlan,gre,vxlan 这样所有类型的网络我们都可以创建(虽然在本节只创建 local 网络)。 普通用户和 admin 都可以通过 CLI 或者 Web GUI 创建网络,但只有 amdin 才能指定网络的 type,所以需要用 tenant_network_types 告诉 ML2 当普通用户在自己的 Tenant(Project)中创建网络时,默认创建哪种 type 的网络,这里 type 是 local。 tenant_network_types = local tenant_network_types 可以指定多种 type,比如: tenant_network_types = vlan, local 其作用是先创建 vlan 网络,当没有 vlan 可创建时(比如 vlan id 用完),便创建 local 网络。 当配置文件发生了变化,需要重启 Neutron 相关服务使之生效。 有了上面的这些准备,我们可以开始深入学习 linux bridge 如何实现每种 network type 了。 下一节将创建第一个 local network。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册