一、前言

昨天又装了一遍OpenStack。码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤。在装的过程中倒是很顺利,只是在安装完成之后碰到了两个之前没有碰到的问题,这里记录下来以供需要之人查阅。

二、Q1 网络问题

由于管理网络需要访问互联网且虚拟机同样需要访问互联网,所以管理网络和external网络考虑能不能放到同一个网段去。我本身对网络这块不是很熟悉,之前我考虑同一个服务器不同网卡如果配置同一个网段势必会造成只有一个网卡能起作用,因为数据只可能从一个网口出去。网上也查阅了相关资料,都说理论上可以,但是这种场合最好只出现在负载均衡等情况下,想来是有道理的。

但是对于我这个爱折腾的人来说,什么东西都要亲自试过了我才能确定,而且我考虑虚拟机访问外部网络网卡是指定好的,这样应当不会造成冲突,于是在安装好之后就开始实验。

网络配置情况是这样的:管理网络采用外部网络192.168.10.0/24,虚拟机网络无需多言,外部网络也采用192.168.10.0/24网段,即从交换机直接接了两根线到主节点上。

安装好OpenStack后修改/etc/neutron/plugins/ml2/ml2_conf.ini文件,将外部网络配置到主节点的第三块网卡(具体参考OpenStack(企业私有云)万里长征第四步——DevStack整体安装规划及使用)。而后在OpenStack中采用上述文章中的方式创建外部网络,结果居然成功了。

说明将管理网络和外部网络配置成同一个网段的方案是可行的,但是此处需要注意的是在创建external网络的时候需要设置一下地址池,选择一个网段,防止IP冲突。

三、Q2 虚拟机存储位置问题

新的服务器配置比较高,有两块固态硬盘,剩下的为机械硬盘,这样就考虑两块固态硬盘做RAID 0用于安装操作系统,其余硬盘做RAID 5用于存放数据(但是由于固态硬盘还没有完全到货,有几台全部为机械硬盘,即只做了一个RAID)。在安装前我心里就一惊,之前我没有碰到过这种方案,因为OpenStack势必是把虚拟机、镜像等数据存放在操作系统目录中的,这样几百G的固态硬盘显然是不可能够用的。

安装完之后,果然如我所设想,在创建虚拟机的时候由于OpenStack的策略,使得虚拟机全部部署到了不包含固态硬盘的服务器上,这是因为NOVA的filter Scheduler,在创建虚拟机的时候会根据各种条件对计算节点进行打分,而后根据权重算出最有节点去部署,当然包含固态硬盘的服务器由于硬盘太小,所以分数太低而无法部署虚拟机。

码农的职责就是无论碰到的是惊喜或者忧伤都要迎难而上,既然这样那就尝试着能不能把包含固态硬盘服务器的虚拟机存储位置改到机械硬盘上。

于是在简单的搜索之后开始尝试。首先查到了虚拟即存放位置存储在/etc/nova/nova.conf文件的下面两行信息中。

instances_path = /opt/stack/data/nova/instances
state_path = /opt/stack/data/nova

这就容易了,我只需要将机械硬盘创建分区、格式化,而后挂载到一个新目录,并修改上述虚拟机存储位置就好了嘛。

3.1 创建分区、格式化及自动挂载

显示所有硬盘及所属分区情况

sudo fdisk -lu

通过此命令可以看到服务器中包含哪些硬盘,以及是否创建分区等。

对硬盘进行分区

sudo fdisk /dev/sdb

查看第一步中需要分区的硬盘,执行上述命令,将/dev/sdb替换为你要分区的硬盘。

硬盘格式化

sudo mkfs -t ext4 /dev/sdb

同样将/dev/sdb替换为你要分区的硬盘,上述命令将分好区的硬盘格式化为ext4格式。

挂载硬盘分区

sudo mount -t ext4 /dev/sdb /devdata

同样将/dev/sdb替换为你要分区的硬盘,并将/devdata替换为想要挂载的地方并创建该目录,此命令将 /dev/sdb 分区挂载到目录 /devdata。

在终端窗口中输入如下命令查看挂载情况:

sudo df -lh

配置硬盘在系统启动时自动挂载

1、首先查看需要自动挂载硬盘的UUID

ls -all /dev/disk/by-uuid 

2、在文件 /etc/fstab 中加入如下配置:

# /devdata was on /dev/sdb
UUID=37eaa526-5d96-4237-8468-603df5216ce9     /devdata     ext4     defaults     0     3

将上述UUID后的值替换为1中查看到的硬盘对应的UUID号,将/devdata替换为你的挂载目录。

3.2 迁移虚拟机存储位置

我将机械硬盘直接挂载到了/data目录,满心欢喜的以为将存储位置修改成/data之后即可搞定,然而一切高兴的太早,无论我怎么操作(又是将原始目录中的内容copy到/data下,又是修改/data的所属用户)在OpenStack中始终无法查看虚拟机,甚至整个OpenStack几乎崩溃。

这让我很是着急,难道白辛苦一天又要从头开始吗,于是机智如我怎能不立即想到将机械硬盘直接挂载到/opt/stack/data/nova下而不去修改nova.conf配置,这样应该就能直接解决问题了吧,说干就干。在简单折腾之后直接成功了。So Easy。

当然此步需要注意两点:

  1. 挂载完成之后需要在/opt/stack/data/nova目录中创建instances目录,否则会报找不到目录的错误。
  2. 修改此目录的权限为stack,此目录权限可能会改成root。

所以最好是先将/opt/stack/data/nova中的内容拷至其他目录进行备份,待挂载后再粘贴回来。当然最好的方式是先进行挂载操作,再安装OpenStack。

四、总结

以上便是此次部署中碰到并解决的两个实际问题,此次安装整体较顺利,相对于去年安装Cloudera的过程,不知道要好了多少倍。大概经历了一年之后,各方面都变化不少吧。

OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置的更多相关文章

  1. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  2. OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  3. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...

  4. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  6. OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  7. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. OpenStack 企业私有云的若干需求(6):大规模扩展性支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. OpenStack 企业私有云的若干需求(9): 云管理平台 CMP

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

随机推荐

  1. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由

    原文:Routing to Controller Actions 作者:Ryan Nowak.Rick Anderson 翻译:娄宇(Lyrics) 校对:何镇汐.姚阿勇(Dr.Yao) ASP.NE ...

  2. Callable与Future的介绍

    http://www.cnblogs.com/whgw/archive/2011/09/28/2194760.html

  3. 跨域解决方案二:使用JSONP实现跨域

    跨域的实现方式有多种,除了 上篇文章 提到的CORS外,常见的还有JSONP.HTML5.Flash.iframe.xhr2等. 这篇文章对JSONP的跨域原理进行了探索,并将我的心得记录在这里和大家 ...

  4. HTML标记之Form表单

    一.表单的作用 从访问的Web站点的用户那里获得信息.访问者可以使用诸如文本域.列表框.复选框以及单选按钮之类的表单元素输入信息,然后单击某个按钮提交这些信息.是客户端与服务器端的交流途径. 二.说明 ...

  5. lamp环境搭配(centos6.4)

    (一)如果你的服务器没有链接网络可以先挂载本地光盘.设置yum源. 挂载光盘: [root@delphi ~]# mkdir /mnt/cdrom #新建挂载点 [root@delphi ~]# mo ...

  6. system(linux) power on note

    读詹荣开文档摘 BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Loader Boot Loader执行全 ...

  7. JS 实现中英文翻译

    缺点就是还是会闪出中文,但是效果还行. var langPackage = { "主题":"Title", "下一页":"Next ...

  8. 【转】 远程到服务器安装visualSVN server,出现Service 'VisualSVN Server' failed to start的解决方法

    在帮助远程到服务器上安装visualSVN server的时候,出现Service 'VisualSVN Server' failed to start. 解决方法(先不要关闭安装弹出的错误窗口): ...

  9. 【翻译习作】 Windows Workflow Foundation程序开发-第一章05

    1.3      开发我们的第一个工作流 也许你曾经在这样的产品经理手下搞过开发:他总是在你身边转悠,并不时的问一句“你还没做完吗?”.在这一部分,我们将用一个简单的Windows Workflow程 ...

  10. [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置

    前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完成Ruby on Rails开发环境的配置. 在配置环 ...