2014年6月24日 星期二

OpenStack Cinder 使用磁碟的概念

在 OpenStack 中,關於儲存的服務有 Cinder(Block Storage)以及 Swift(Object Storage)
其中 Cinder 在定位上強調的是永久並且快速的儲存空間
同時 Cinder 也在運算單元產生虛擬機器時,負責提供虛擬機器所需要的實體空間。

2014年6月16日 星期一

OpenStack Swift 的儲存結構最佳化

當需要使用大型雲端基礎建設時,在國外有蠻多企業選擇 OpenStack 這個開源雲端專案。
OpenStack 裡面又有 Swift(不是 Apple Swift 程式語言 XD)這個 Object Storage 服務,可以提供關於物件儲存的解決方案。
Swift 主要提供的是高可用性且易於擴展的儲存服務~
它的儲存結構中區分為 account、container 以及 object 三個階層
因此想要建構在 OpenStack 之上的應用服務時,也需要稍微思考一下要如何去建構 Swift 的結構。

2014年6月13日 星期五

在 ubuntu 安裝 All-In-One 開發版的 OpenStack

想要安裝 OpenStack 時,一般是可以直接看官方文件一步一步安裝
但因為中間設定很多又很繁雜,開發階段可以用 DevStack 來簡化安裝過程。
要使用 DevStack 來安裝,動作很簡單~
以 ubuntu 來說,只需要在一台剛裝好的 ubuntu 上安裝 git,然後用 git 的指令從 github 上把 DevStack 的安裝包下載下來
最後執行 DevStack 上的安裝指令 [1] 就可以一鍵安裝完成。

2014年6月5日 星期四

system() 執行的路徑帶有空格的解決方法

正常在 C/C++ 呼叫 system() 時,system() 函式在 Windows 上會呼叫 cmd.exe,然後代入 system() 的括號裡給的參數 [1]
不過參數如果帶有空格,例如想執行某個外部的程式,而該程式位在 Program Files 資料夾內時,有可能出現類似這樣的錯誤訊息:
windows找不到'C:\Program' 請確定您輸入的正確名稱,並且重試
而解決方法就是把有空格的部分用 \" 包起來 [2-3],讓 C 語言執行時看到的字串是這樣:
C:\"Program Files"\....
例如:
system("C:\\\"Program Files\"\\Java\\jdk1.7.0_45");

參考資料:
1、c++ system()和WinExec()的区别
2、C語言可以呼叫名字有空格的資料夾嗎???
3、C语言 system()函数打开一个程序,路径有空格的问题

2014年6月4日 星期三

在 eclipse 上開發 JNI:設定 CDT + MinGW 的操作環境

這篇是在記錄使用 eclipse 開發 JNI 時,在 eclipse 上如何開發 C/C++ 的程式(CDT)
以及在 eclipse 上如何建立 JNI 的關連,讓 C/C++ 的 JNI 程式可以透過 eclipse 完成開發。
主要參考對象是 [1-2],其中 [2] 是比較詳細的教學。