這是 OpenStack 實施經驗分享系列的第 4 篇。
cloudbase-init 的一項功能是自動擴展 windows 的 C 盤。比如 windows 鏡像是 20G,在部署 instance 時選擇的 flavor 磁盤定義是 40G,那么 instance 部署時 cloudbase-init 會自動將 C 盤擴到 40G。
cloudbase-init 自動擴盤這個操作是我們需要的,但它有個副作用。
在 windows 中,我們可以將硬盤划分成多個邏輯盤 C:,D: 等,比如對於 40G 的空間,用戶可以給 C 盤 20G,D 盤 20G,但這對於安裝了 cloudbase-init 的系統就會有問題。*
系統每次啟動時 cloudbase-init 都會把 C 盤 和 D 盤合並為一個 C 盤。
解決這個問題的方法很簡單:卸載掉 cloudbase-init,這樣就是一個普通 windwos 虛擬機了。不過如果后面在 OpenStack 中對 instance 做了 resize 操作就只能手工擴盤了。
推薦的方式為:系統盤只作 C 盤,如果需要 D 盤、E 盤,通過添加 cinder volume 實現。
下一節討論 Linux cloud-init 的使用技巧。