製做 OpenStack Linux 鏡像 - 天天5分鐘玩轉 OpenStack(151)

這是 OpenStack 實施經驗分享系列的第 1 篇。ubuntu


OpenStack 的 instance 是經過 Glance 鏡像部署的,因此準備鏡像是必需要作的工做。本節介紹 Linux 鏡像的製做方法,後面還會討論 Windows 鏡像。centos

下載clould 鏡像

最簡單的方法是使用標準鏡像。主流的Linux發行版都提供能夠在 OpenStack 中直接使用的cloud鏡像,下載地址:

安全

CentOS6:http://cloud.centos.org/centos/6/p_w_picpaths/網絡


CentOS7:http://cloud.centos.org/centos/7/p_w_picpaths/ssh


Ubuntu14.04:http://cloud-p_w_picpaths.ubuntu.com/trusty/current/ide


Ubuntu16.04:http://cloud-p_w_picpaths.ubuntu.com/xenial/current/工具


下面以Ubuntu16.04爲例演示如何將標準鏡像導入 Glance。開發工具

建立Glance鏡像

登陸 OpenStack,打開 「項目->Compute->鏡像」菜單。spa



點擊「建立鏡像」按鈕。rest

在建立頁面填寫鏡像相關信息,其中包括:


  1. 鏡像名稱爲「Ubuntu 16.04」


  2.  「鏡像源」選擇「鏡像文件」


  3. 點擊「選擇文件」定位Ubuntu 16.04的Cloud p_w_picpath文件xenial-server-cloudimg-amd64-disk1.img


  4. 「鏡像格式」選擇「QCOW2」


  5. 最小磁盤填寫「20」,這至關於設置instance啓動盤的最小容量


  6. 勾選「共有」選擇框,這樣全部Project均可以使用該鏡像


點擊「建立鏡像」按鈕,開始上傳鏡像。完成後,新的鏡像將出如今鏡像列表上。


定製鏡像

cloud 鏡像是標準鏡像,沒有圖像界面,是美國時區,並且只能經過密鑰登陸。能夠根據須要對該鏡像進行定製,其方法是:


  1. 經過 cloud 鏡像部署出一個實例。


  2. 定製該實例。


  3. 建立該實例的快照,該快照將保存在Glance中。


  4. 之後經過該快照部署新的實例。


下面咱們以CentOS標準鏡像爲例演示定製鏡像的每一個步驟,定製內容包括:添加圖形界面,設置中國時區,設置ssh密碼登陸等。

1. 經過cloud鏡像部署出一個實例

進入 「項目->Compute->鏡像」菜單,點擊鏡像「CentOS6」後面的「啓動雲主機」按鈕。



命名爲「centos6-vm」。



由於cloud鏡像默認是經過密鑰對訪問,點擊「訪問&安全」標籤,選擇事先建立好的密鑰對「template」。



點擊「運行」, centos6-vm部署成功。



 在「項目->Compute->訪問&安全」菜單中管理密鑰對。「template」就是在這裏建立的。也支持已有的密鑰對。



在建立密鑰時下載並保管好私鑰文件template.pem,下面經過此文件登陸centos6-vm。


ssh -i <key-path>/template.pem centos@172.17.24.97


而後切換到root用戶:

sudo su –


2. 定製該實例

設置中國時區

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



設置yum 源


由於要安裝圖形等相關包,yum源需提早準備好(固然也能夠用官網的源)。而後編輯 /etc/yum.repos.d/CentOS-Base.repo 



若是是CentOS7,內容以下:



安裝開發工具和圖形界面


CentOS6安裝以下包:

yum groupinstall "Desktop"

yum groupinstall "X Window System"

yum groupinstall "Development tools"


CentOS7安裝以下包:

yum groupinstall "Server with GUI"

yum groupinstall "GNOME Desktop"

yum groupinstall "Development Tools"


設置系統默認啓動圖形界面


CentOS6,編輯 /etc/inittab,



CentOS7,執行 systemctl set-default graphical.target



設置 root密碼


設置root密碼默認爲「passw0rd」



容許root 經過密碼ssh登陸


編輯 /etc/ssh/sshd_config,做如下修改。



重啓ssh服務


service sshd restart



修改 /etc/cloud/cloud.cfg

cloud p_w_picpath都是用 cloudinit 初始化instance,好比配置網絡,extend 系統盤等,cloudinit 全部的配置都寫在/etc/cloud/cloud.cfg,下面的配置將容許 root 經過password  ssh 登陸。



至此,centos6-vm已經能夠啓動圖形界面,而且能夠用密碼經過ssh登陸了。


安裝cloud-utils-growpart(CentOS 6 only)


cloudint 會用到這個軟件管理磁盤分區,由於 CentOS6 cloud p_w_picpath 中沒有安裝,因此這裏須要手工安裝。下載地址:https://pkgs.org/centos-6/epel-x86_64/cloud-utils-growpart-0.27-10.el6.x86_64.rpm/download/

rpm -Uvh cloud-utils-growpart-0.27-10.el6.x86_64.rpm


3. 建立新鏡像

咱們在instance中完成了定製工做,接下來對instance作個快照,生成新的鏡像。點擊「centos6-vm」後面的「建立快照」按鈕。



爲快照命名。

點擊「建立快照」。


4. 部署新實例

點擊「啓動雲主機」經過快照部署新的實例。


點擊「運行」,實例部署成功。



能夠看到,該實例已經啓動了圖形界面,而且root能夠經過ssh密碼登陸。



將 snapshot 轉化爲 p_w_picpath(可選)

Glance鏡像有兩類:p_w_picpath和snapshot,前面經過對instance作快照建立的鏡像類型爲 snapshot,有時候可能會以爲不太方便,能夠將snapshot轉化爲p_w_picpath。



以 CentOS 6.7n爲例,能夠直接glance p_w_picpath-create命令經過將其轉化爲p_w_picpath類型。步驟以下:


1. 在其詳細信息裏面記錄下ID爲:228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b



2. 該鏡像默認存放於控制節點 /var/lib/glance/p_w_picpaths/228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b。


3. 執行glance p_w_picpath-create建立新的鏡像。

glance p_w_picpath-create --name "CentOS 6.7" --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --is-public true --progress       



4. 新建立的鏡像類型爲p_w_picpath。



以上就是定製 OpenStack Linux 鏡像的常規操做,下一節咱們討論 Windows 鏡像的製做方法。


相關文章
相關標籤/搜索