2013年7月1日星期一

cloudstack 4管理器安装备忘

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
cloudstack 4管理器安装备忘  阅读原文»

cloudstack 4管理器安装备忘

基本需求

1、硬件支持虚拟化

2、centos 6.3 64位系统

准备工作

1、确保selinux处于关闭状态

2、确保hostname -f有正确的输出。我遇到执行出现"hostname:unknown host",经查是因为/etc/resolv.conf设置了 search所致,干掉它。再检查/etc/hosts文件。

3、确保服务器能访问互联网,因为yum 安装需要远程的安装源。

开始安装

1、配置yum仓库 reposity

创建文件/etc/yum.repo.d/cloudstack.repo,使其内容为:

[cloudstack]

name=cloudstack

baseurl=http://cloudstack.apt-get.eu/rhel/4.0/

enabled=1

gpgcheck=0

2、安装时间服务:

yum install ntp

3、安装管理服务器器

任意路径执行 yum install cloud-client ,稀里哗啦一通,神不知鬼不觉的不知道安装了啥!通过事后侦查,安装了ant、jdk、tomcat6等等,似乎省了不少事情。不过后边维护和排错,就费劲了。

4、安装mysql

偷懒 yum install mysql-server.需要设置一下密码。也一并偷懒,以mysql_secure_install代替了。官方文档说明,需要在/etc/my.cnf加下面的内容,注意,要放在[mysqld]的下面第一行。可不可以放其他地方,有时间可以试试。其内容如下:

innodb_rollback_on_timeout = 1

innodb_lock_wait_timeout = 600

max_connections = 350

log-bin = mysql-bin

binlog-format = 'ROW'

比我日常安装的数据库选项文件/etc/my.cnf简单多了。

5、创建cloudstack相关的数据库和表

执行命令 cloud-setup-databases cloud:cloudstack@localhost --deploy-as=root:cloudstack

root:后边那个cloudstack是数据库的root密码,初始化时(mysql_secure_install设定的);cloud:cloudstack@localhost--cloud是连接的用户名,紧跟着的是cloud的连接密码,你可以指定一个复杂的哟。

文件cloud-setup-databases 是用python写的一个工具,好复杂,本人表示看不懂。不过当它执行完毕后,数据库连接的配置文件我却找到了,具体是/etc/cloud/management/db.properties 。打开可以看到用户名,数据库主机名,还有加密后的密码。

实际上为了安全,还需要初始化cloud数据库采用加密措施,这里一并简化了。

6、启动cloudstack管理器:

cloud-setup-management

如果输出为:

Starting to configure CloudStack Management Server:

Configure sudoers ... [OK]

Configure Firewall ... [OK]

Configure CloudStack Management Server ...[OK]

CloudStack Management Server setup is Done!

基本上可以认为是正确了。但你执行netstat -angrep 8080的时候,根本没我们期待的。我在这里费了些时间。这个也是问题的关键,不解决服务一直都起不来。执行chown -R cloud:cloud /var/log/cloud/management ,然后再启动,浏览器输入 http://manager_ip:8080/client ,登录窗口就出来了。有人会问,你凭什么知道问题在这里呢?我有个习惯,凡是遇到问题,先找找有没有日志,然后才是搜索引擎。我先到/var/log下逛一圈,真有发现,有个目录是cloud,里面的子目录有

rwxrwxr-x. 2 root cloud 4096 Apr 21 03:00 agent

drwxr-xr-x. 2 root root 4096 Apr 21 03:00 ipallocator

drwxrwxr-x. 2 cloud cloud 4096 Jul 1 00:04 management

-rw-r--r--. 1 root root 5667 Jul 1 00:33 setupManagement.log

花点时间,查看目录下面的文件,就会有收获。management目录下的catalina.out,是我发现问题的地方,它提示我没有权限。

本文出自 "sery" 博客,请务必保留此出处http://sery.blog.51cto.com/10037/1236505

返回顶部

<Power Shell>13 powershell三个实用特性和功能实例  阅读原文»

<Power Shell>13 powershell三个实用特性和功能实例

昨天:周六和的今天周日的合在一起了,最近Cantgis比较忙。。。

管道绑定参数绑定到脚本区

我看到许多的PowerShell对堆栈溢出 看起来类似下面:

  Get-ChildItem *.txt | Foreach {     Rename-Item -Path $_ -NewName "$($_.basename).bak"  }  

上面使用的foreach对象cmdlet是不必要的,因为"重命名"项目接受管道输入路径和新名称参数。

下面的例子大家可以看到结果

  PS> $obj = New-Object PSObject Property `             @{Path='C:\Users\Cantgis\foo.txt';NewName='bar.txt'}  PS> $obj | Rename-Item WhatIf  What if: Performing operation "Rename File" on Target  "Item: C:\Users\Cantgis\foo.txt Destination: C:\Users\Cantgis\bar.txt".  

你也许会想,虽然这可能是一个有趣的问题,但是它是如何对比早期的powershell版本的呢?

如果使用foreach对象会更好吗?
powershell有一个诀窍来帮助我们实现这个重命名操作。
诀窍是,PowerShell将接受任何参数是管道的约束,脚本调用的脚本区的一段。

你可以看到,如果一个参数是通过获取帮助,例如管道绑定:

  PS> Get-Help Rename-Item  ...  -LiteralPath      ...      Accept pipeline input? true (ByPropertyName)  -Path      ...      Accept pipeline input? true (ByValue, ByPropertyName)  -NewName      ...      Position?                    2      Accept pipeline input? true (ByPropertyName)  

上面的信息告诉我们,LiteralPath:路径和新名称的参数接受管道输入。
Get-ChildItem:管道输出,重命名项:cmdlet LiteralPath参数。
我们可以使用脚本区结合这个诀窍来指定新名称。

  PS> Get-ChildItem *.txt | Rename-Item -NewName {"$($_.BaseName).bak"}  

使用PowerShell 3.0 输出GridView的多重选择

在PowerShell 3.0的更新GridView的命令支持PassThru参数。

此外,OUT-GridView控件支持多选的项目传入以及取消操作。

例如,你可能想从列表中选择进程停止。

  PS> Get-Process devenv |      Select Name,Id,MainWindowTitle |      Out-GridView -PassThru | Stop-Process  

此命令显示出GridView的对话框,如下图所示。

我们可以看到基于MainWindowTitle属性的Visual Studio实例。

我可以选择一个或多个devenv的进程。

如果我按"确定",然后我选择的进程将被停止。

如果我按出GridView的对话框上的取消按钮,停止管道,也没有进程被停止哦!

使用PowerShell社区的扩展的命令来显示树视图_关于供应商的

提示:如果需要可以下载免费的PowerShell社区扩展模块(PSCX)。

PSCX是一组通用的PowerShell命令。它提供的命令之一是显示树,基于PowerShell驱动器,如:

  • WSMan:\

  • Cert:\

  • HKLM:\

  • IIS:\ (if you have imported the WebAdministration module)

通常情况下,如果你想查找的驱动器,你可以使用Windows资源管理器。

不幸的是,除了那些基于文件系统上的,剩下的Windows资源管理器比不上可视性PowerShell驱动器

同样不幸的是,像WSMAN驱动器和IIS:即所包含的功能是不是很发现,隐藏了很多功能。

这时这个社区提供的扩展模块命令,生成显示树是非常方便的。

它可以在PowerShell驱动器,来显示文件系统结构在控制台显示的信息。

例如,下面是在IIS上运行显示树的输出示例:\驱动器:

  PS> Show-Tree IIS:\ -Depth 3  IIS:\  ├──AppPools  │  ├──ASP.NET v4.0  │  │  └──WorkerProcesses  │  ├──ASP.NET v4.0 Classic  │  │  └──WorkerProcesses  │  ├──Classic .NET AppPool  │  │  └──WorkerProcesses  │  └──DefaultAppPool  │     └──WorkerProcesses  ├──Sites  │  └──Default Web Site  │     ├──aspnet_client  │     └──Blog  └──SslBindings  

在一般情况下,在PowerShell驱动器执行条件,可以是容器也可以是项目。

我们在上面看到的仅是容器项目

例如,在项目属性为默认应用:

  PS> Show-Tree IIS:\AppPools\DefaultAppPool -ShowProperty  IIS:\AppPools\DefaultAppPool  ├──Property: applicationPoolSid = S-1-5-82-3006700770-424185619-1745488364-7...  ├──Property: Attributes = Microsoft.IIs.PowerShell.Framework.ConfigurationAt...  ├──Property: autoStart = True  ├──Property: ChildElements = Microsoft.IIs.PowerShell.Framework.Configuratio...  ├──Property: CLRConfigFile =  ├──Property: cpu = Microsoft.IIs.PowerShell.Framework.ConfigurationElement  ├──Property: ElementTagName = add  ├─?p>阅读更多内容

没有评论:

发表评论