一、前言

上一篇文章講了OpenStack的部署和簡(jiǎn)單操作,今天介紹一下如何實(shí)現(xiàn)虛擬機(jī)的Migrate以及Resize。Migrate操作和Resize操作基本上屬于同一種操作,Migrate操作只是Resize操作的一個(gè)特例,無(wú)需更改虛擬機(jī)的配置。

二、操作

2.1 應(yīng)用需求

這兩個(gè)需求的應(yīng)用場(chǎng)景如下:

  1. 某臺(tái)宿主機(jī)不再使用需要將其內(nèi)虛擬機(jī)遷出。

  2. 當(dāng)前宿主機(jī)內(nèi)虛擬機(jī)數(shù)量過(guò)多,遷出一部分。理論上這種情況不存在,因?yàn)镺penStack在建立虛擬機(jī)的時(shí)候會(huì)考慮這些問(wèn)題,但是如果新添加了宿主機(jī)節(jié)點(diǎn)則有可能出現(xiàn)此問(wèn)題。

  3. 虛擬機(jī)的配置過(guò)低,需要提高配置。

2.2 實(shí)操

理論上此操作很簡(jiǎn)單,只需要在web管理界面中點(diǎn)下按鈕即可。但是我實(shí)際測(cè)試卻木有反應(yīng),是何道理?檢查日志發(fā)現(xiàn)是因?yàn)椴荒苓M(jìn)行從當(dāng)前宿主機(jī)到目標(biāo)宿主機(jī)的ssh,于是操作失敗。經(jīng)過(guò)多次測(cè)試發(fā)現(xiàn)如下解決方案。

首先通過(guò)ps -ef命令可以發(fā)現(xiàn)nova-compute進(jìn)程的啟動(dòng)用戶是stack。所以是stack用戶之間不能進(jìn)行ssh造成的上述問(wèn)題。解決方案便是實(shí)現(xiàn)宿主機(jī)集群內(nèi)所有服務(wù)器兩兩之間的ssh無(wú)密碼登錄。(參考https://funcptr.net/2014/09/29/openstack-resizing-of-instances/)

  1. 生成公鑰

切換到stack用戶(以下操作全在stack用戶下),執(zhí)行

ssh-keygen -t rsa
  1. 關(guān)閉host校驗(yàn)

執(zhí)行

cat << EOF > ~/.ssh/config
Host *
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/nullEOF

    網(wǎng)友評(píng)論