nova实例僵死的解决办法

openstack grizzly的nova模块还是有时候不稳定,异常时可能会出现一些实例僵死在soft reboot和hard reboot中,就算过几天还是这个状态,在horizon界面中唯一的办法是terminate这些实例,但是如果有数据怎么办?

这个问题还不能直接从命令行搞定:
# nova reboot –hard 366a2e92-9483-4074-984d-7ec0de130c14
ERROR: Cannot ‘reboot’ while instance is in task_state rebooting_hard (HTTP 409) (Request-ID: req-1bf39445-5bb5-49d5-8dd6-dcf12aeceae1)

解决办法不是没有,下面是我搜索到的:

1 代码入手,分析问题,然后提交patch到mainstream中,例如

但是我发现我的nova版本是最新的,没有解决我的问题

2 手动重置,如

# nova reset-state –active 366a2e92-9483-4074-984d-7ec0de130c14
# nova reboot 366a2e92-9483-4074-984d-7ec0de130c14

如此即可重启实例

在此吐槽一下nova不够稳定、horizon的功能太少,同时期待更多人和组织贡献代码进来

latex使用遇到的一些问题

用texlive编译中,遇到一些问题,在此记录一下。

1 不要使用smartdraw的eps导出,发现sd导出的eps效果非常差,不如直接用png导出,尺寸为200%,然后使用latexlive的bmeps命令,参数为-c png文件 eps文件,-c是表示转换为彩色的eps文件。

2 用eps的时候,不要用pdflatex,后者不支持eps

3 引用参考文献上标可以建立新命令upcite,然后用upcite{}替换即可

newcommand{upcite}[1]{textsuperscript{cite{#1}}}

its攻击

攻击有几类

第一类是,攻击者是非法用户,用户企图获得认证权限,冒充是合法用户,这类可以使用PKI及其相关认证技术进行预防

第二类是,攻击者是合法用户,这类用户危害更大,攻击手段有

1 发布虚假信息,例如路面拥塞信息,诱导其他车辆避让,使其能够在宽敞的路面行驶

2 拒绝服务攻击

我认为,系统应该有一个入侵检测系统,检测此类信息,如果检测到合法用户,则将其封禁,类似BBS,根据用户的行为作出不同程度的处罚。

rail autocomplete

具体就是参考这篇文章:

http://ajax.howtosetup.info/savor-the-scriptaculous/create-an-auto-complete-field/

但是我复制代码发现没有效果,抓包看日志的结果是HTTP422错误(但是GET请求没有问题,POST请求需要带token key?):
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb:86:in `verify_authenticity_token’
/vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in `send’
……

google了一下,在相应的controller中添加这句话:
protect_from_forgery :only => [:create, :update, :destroy]

这样即可。