Aug 272012
 

搞技术的,经常都讨论这个问题,开源里就更是,选择太多,那个是最好的。所有人都希望自己的选择是最优的,而不会出错的。

但是现实的条件,其实很难做出最优决策。举一个简单的例子:Xen和KVM,你选择谁,不同的时候,你的选择会不一样。

下面这段话,我相信真的是过来人,以其在办公室里开会讨论那个更好,不然先用简单的办法去尝试一下,而不是指望在办公室里可以讨论出一个最佳的方案。

选择简单但是不完美的技术解决问题,先做!然后再不断优化。如果不去尝试,我们永远也不知道下一步要做什么,总是停留在对技术方案本身优劣的讨论上,是没有意义的。

http://www.infoq.com/cn/news/2012/08/ssd-trend

Aug 242012
 

对于ubuntu来说,keystone是比较麻烦安装,也是最容易出错,一旦出错,后面就基本没法进行。

今天尝试一下,安装Essex的版本的步骤,来安装一个keystone看看。没想到,真的遇到那个可怕的问题:keystone client无法找到啥。

我是使用以前的keystone导入脚本,但是不知道什么原因出错。尝试手工去添加,添加完 user,role,tenant后,进行授权,提示user id不对。

赶紧去看看devstack脚本是如何添加

https://github.com/openstack-dev/devstack/blob/master/files/keystone_data.sh

明白了

现在改成 –user_id, –role_id

keystone user-role-add --user_id $ADMIN_USER \
--role_id $ADMIN_ROLE --tenant_id $ADMIN_TENANT

以前是

keystone user-role-add --user $ADMIN_USER \
--role $KEYSTONESERVICE_ROLE --tenant_id $ADMIN_TENANT

这样更加清楚。不会搞错。剩下的就是怎么调整一下脚本.

folsome_keystone_data.sh.txt

 

Aug 242012
 

今天ubuntu已经正式发布了ubuntu 12.04.1,我更新了一下我的源,为了保证更新,我直接到 archive.ubuntu.com 下载更新的。

更新完后,直接用pxe装系统,我想装完后,看看是啥版本。

root@node06:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:        12.04
Codename:       precise

还有一个办法

# cat /etc/issue
Ubuntu 12.04.1 LTS \n \l

看来日后就不需要去下载什么iso.

Aug 232012
 

目前Folsom的源,还是在ppa中,估计到9月27号正式发布后,才会正式发布。如果现在希望测试。

https://launchpad.net/~openstack-ubuntu-testing/+archive/folsom-trunk-testing

你需要先安装python-software-properties,这个工具

apt-get -y install python-software-properties 

这个时候,你就可以添加ppa。运行命令,会提示你按一下 enter,回车键.

root@node06:~# add-apt-repository ppa:openstack-ubuntu-testing/folsom-trunk-testing
You are about to add the following PPA to your system:
 
 More info: https://launchpad.net/~openstack-ubuntu-testing/+archive/folsom-trunk-testing
Press [ENTER] to continue or ctrl-c to cancel adding it

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring 
/tmp/tmp.obkMXJSCc9 --trustdb-name /etc/apt/trustdb.gpg --keyring 
/etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg
 --keyserver hkp://keyserver.ubuntu.com:80/ 
--recv 0B91000371B127C2FF62A62781DCD8423B6F61A6
gpg: requesting key 3B6F61A6 from hkp server keyserver.ubuntu.com
gpg: key 3B6F61A6: public key "Launchpad PPA for Openstack Ubuntu Testers" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

 

Aug 232012
 

把源放到本地,可以大大提供效率,加上现在的公司,网络并不是太好,所以就更需要解决这个问题。对于centos和ubuntu,本地源的制作,其实有很大的差异。

这里做一个总结。

CentOS

对于CentOS来说,全部的源其实包括好几部分,这些包都分为x86和i386,我在服务器,也就只使用x86的包就足够。

  1. 光盘的包
  2. centos update,就是安全的补丁,redhat出的补丁,都会在这里。
  3. Centos plus, 这是centos团队制作的,额外的包,质量是有保证的。数量不多。

对于CentOS6.x来说,update和plus是相同的。

用cobbler,可以很方便制作本地源。你可以采用光盘导入,+update和pluse下载的方式,整合起来使用。

对于其他例如puppet的centos的源,也是可以用相同的方式来下载和管理。

对于EPEL的源,redhat的策略是先放在epel-testing上测试,没问题,再移到epel上。同步本地的方式,都是一样的。

Ubuntu

对我来说,ubuntu和centos的源,最大的不同是:ubuntu各个版本的软件包,全部都是在一个目录下。这样比较考验你的rsync的水平。

对于ubuntu的源来说,如ubuntu 12.04的源,分为

  1. precise
  2. precise-backports
  3. precise-proposed
  4. precise-security
  5. precise-updates

你安装完一个ubuntu后,他默认的源,就是上面的5个,并且还需要包括x86,i386和源码包。所以为了客户端不报错。最简单的办法,就是直接把全部的源下载到本地,120G的内容。

这个可以采用脚本下载。http://www.chenshake.com/centos6-x-production-of-ubuntu12-04-source/

对于puppet的第三方的源,如果是给ubuntu 12.04使用的,基本可以用相同的脚本,修改一下就可以使用。目前我正在下载puppet的apt源,

不过就是需要解决一个源的签名的问题:http://www.chenshake.com/the-following-signatures-couldnt-be-verified-because-the-public-key-is-not-available-the-solution/

可以考虑使用安装的时候,用脚本导入。

Aug 232012
 

今天很郁闷,一直都用的好好的cobbler,出现了这个问题。

cobbler

查找了半天,终于找到原因。

因为我第一次导入centos 6.3的iso的时候,由于我没指定x86_64, 导致有点小问题,我就删除,再导入,这个时候就出现不少问题。

/var/www/cobbler/links

会对导入的iso做一个软连接,不过我删除后,这个软连接没删除,也就导致出现问题。我把以前的软连接删除后,重新建立链接。发现问题还是一样。

[root@node05 links]# ls -la
 CentOS6.2-x86_64 -> /var/www/cobbler/ks_mirror/CentOS6.2-x86_64
 CentOS6.3-x86_64 -> /var/www/cobbler/ks_mirror/CentOS6.3-x86_64

[root@node05 links]# pwd
/var/www/cobbler/links

发现kickstart文件,无法对

url –url=$tree

进行转换。幸好我有一个没问题的环境,进行对比了一下。

tree

tree=http://@@http_server@@/cblr/links/CentOS6.3-x86_64

加上就一切正常。看来对cobbler熟悉,从排错开始。

所谓tree,就是centos网络的安装路径。