Apr 222014
 

应该是在2010年的时候,虚拟机的磁盘大小是由虚拟机的模板决定,这个就比较痛苦,如果你希望提供多种磁盘格式,那么你就需要搞多个镜像。

还有一种做法,就是固定磁盘大小,操作系统是20G,你可以通过增加磁盘,不能调整硬盘大小。硬盘调整是有风险的,很有可能造成数据丢失。

不过当时在国外,linode和Rackspace,都已经实现磁盘的大小是根据创建的时候选择的硬盘大小。那么这个如何实现的呢。

可以猜测到,肯定是虚拟机启动后,运行的磁盘调整的工具,实现分区扩大,具体如何实现,我们就无从知道。

Openstack上,实现了这个功能,虚拟机的大小是由Flovor来决定,那么我就好好研究一下,这个分区调整是如何实现的。

对于linux的虚拟机镜像的分区,大家有不同的看法。目前我看到的反馈就是

  1. 不需要swap分区
  2. lvm分区没太多意义
  3. 就一个 根分区 / 就可以

要想实现分区扩大,其实需要做的工作是很多的,大家会发现,自己做的镜像,分区是无法调整的。而Ubuntu官方的镜像是可以调整的。而且如果你是多个分区,那么他的扩大的分区,其实是根分区。

Continue reading »

Apr 022014
 

目前Redhat的RDO,packstack的bug还是很多,rpm包的更新比较慢,所以你遇到的bug,很可能在trunk里已经更新,所以,你可以直接用packstack的源码来安装。

设置源

我的实验环境,其实已经配置后源。

yum install -y http://rdo.fedorapeople.org/openstack-icehouse/rdo-release-icehouse.rpm

安装packstack

yum install -y python-netaddr python-setuptools git
git clone git://github.com/stackforge/packstack
cd packstack
python setup.py install_puppet_modules
./bin/packstack --gen-answer-file=node12.txt

剩下的就是设置应答文件

Jan 162014
 

 

以前一直都没怎么关注过镜像的制作,使用Ubuntu官方提供的image来测试,发现还是挺方便。不过最近要到自己做CentOS镜像的时候,发现里面学问还是很多,这里就整理一下。

对于云和虚拟化来说,镜像的重要性应该是不言而喻。镜像制作,会影响到你后期的使用的很多功能。什么是Openstack镜像,和我们日常的KVM的镜像有什么区别呢?

Continue reading »

Jan 082014
 

一直以来,我都是使用Ubuntu的镜像,自己没动手做过镜像。对于Openstack的镜像来说,需要在image里安装cloud init,这样才能注入密钥,网络的设置,也是需要cloud init。

做镜像的步骤,比较繁琐,其实就是一个kvm的image,有什么办法可以简化呢?Oz这个工具,应该可以完全满足你的要求,可以很方便让你定制各种操作系统的image,功能还是很强大的,Oz开发和更新还是非常频繁,非常值得关注的一个软件

目前EPEL源已经有Oz的安装包,更新还是非常及时,和开发同步,并且Redhat也是推荐使用这个工具来创建镜像。由于Oz需要使用网络来自动化创建镜像,所以建议别在Openstack的环境下进行使用,建议采用一台干净的机器来做。

我用下面的配置文件制作的镜像,放到网盘上,大家可以测试一下。

http://yunpan.cn/QiQ6syasRAH7Q 访问密码 90e3

 

Continue reading »

Dec 202013
 

 

RDO装完后,其实还是不能马上使用,还是需要你做点工作,根据你的需要定制一下。我这里整理一个,根据GRE网络,需要做的定制工作。

 

创建br-ex

要想让Floating IP可以访问,你需要在网络节点创建br-ex。

# cat /etc/sysconfig/network-scripts/ifcfg-br-ex 
DEVICE=br-ex
IPADDR=172.28.1.12
PREFIX=16
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0,注意:一定要加上eth0 的mac地址,不然会出错。

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
HWADDR=00:E0:81:D8:43:BE

然后运行下面命令

ovs-vsctl add-port br-ex eth0; service network restart

这个时候,你才能访问floating IP

设置MTU

对于GRE网络来说,这是必须做的,编辑 /etc/neutron/dhcp_agent.ini

dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

创建一个 /etc/neutron/dnsmasq-neutron.conf

dhcp-option-force=26,1400

重启服务

service neutron-dhcp-agent restart

nova账号无密码计算节点访问

openstack上的虚拟机迁移,需要你设置nova账号无密码互相访问。在所有的计算节点进行下面操作。

usermod -s /bin/bash nova
su nova
cd
ssh-keygen
touch .ssh/authorized_keys

id_rsa.pub 复制到远程的authorized_keys

ssh nova@ip

互相访问以下。

 

修改计算节点Nova.conf

你需要修改所有计算节点的nova.conf文件,很多功能默认是不启用

如果你希望可以在Dashboard里设置root的密码

libvirt_inject_password=true

修改虚拟机配置,不需要迁移

allow_resize_to_same_host=true

迁移和修改配置,不需要手工确认,1表示1秒的时间让你确认,如果没确认就继续

resize_confirm_window=1

重启服务

service openstack-nova-compute restart
Nov 282013
 

以前基本都是为了学习去配置Openvpn,不过这次真的是到实际需求,需要使用Openvpn,也就下工夫好好整理一下。

各种的中文的文档,让人很晕。还是看官方文档 http://openvpn.net/index.php/open-source/documentation/howto.html#quick

需求很简单。在家里需要通过Openvpn访问到公司的内网,可以访问公司内网我实验的服务器,同时我上网,还是走我自己的网络。

Continue reading »