當前位置:
首頁 > 知識 > OpenStack(企業私有雲)萬里長征第五步——虛擬機Migrate&Resize

OpenStack(企業私有雲)萬里長征第五步——虛擬機Migrate&Resize


一、前言

上一篇文章講了OpenStack的部署和簡單操作,今天介紹一下如何實現虛擬機的Migrate以及Resize。Migrate操作和Resize操作基本上屬於同一種操作,Migrate操作只是Resize操作的一個特例,無需更改虛擬機的配置。


二、操作

2.1 應用需求

這兩個需求的應用場景如下:

  1. 某台宿主機不再使用需要將其內虛擬機遷出。
  2. 當前宿主機內虛擬機數量過多,遷出一部分。理論上這種情況不存在,因為OpenStack在建立虛擬機的時候會考慮這些問題,但是如果新添加了宿主機節點則有可能出現此問題。
  3. 虛擬機的配置過低,需要提高配置。

2.2 實操

理論上此操作很簡單,只需要在web管理界面中點下按鈕即可。但是我實際測試卻木有反應,是何道理?檢查日誌發現是因為不能進行從當前宿主機到目標宿主機的ssh,於是操作失敗。經過多次測試發現如下解決方案。

首先通過ps -ef命令可以發現nova-compute進程的啟動用戶是stack。所以是stack用戶之間不能進行ssh造成的上述問題。解決方案便是實現宿主機集群內所有伺服器兩兩之間的ssh無密碼登錄。(參考https://funcptr.net/2014/09/29/openstack-resizing-of-instances/)

  1. 生成公鑰

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

ssh-keygen -t rsa

  1. 關閉host校驗

執行

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

  1. 將公鑰拷入.authorized_keys

cat ~/.ssh/id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

  1. 將.ssh複製到所有主機

scp .ssh youruser@remotehost:~/

當然如果當前用戶是無密碼的,那麼你需要先用有密碼的用戶將.ssh遠程拷貝到此無密碼用戶的根目錄下,然後修改此目錄的許可權為無密碼用戶。當然逐台操作過於麻煩,可以寫腳本如下:

for node in node1 node2 node3 ;do ssh -t $node "sudo chown -R stack:stack /opt/stack/.ssh";done;

當然上述scp也可以寫個腳本一次執行。執行完如果虛擬機的狀態不對,可以執行

nova reset-state --active

來激活當前主機。


三、總結

以上便是解決Migrate以及Resize無法正常操作的方法,歡迎留言交流。天太熱,今天就不喝雞湯了。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

對於所有對象都通用方法的解讀
關於MySQL的commit非規律性失敗案例的深入分析
使用httpclient返回 header too long

TAG:達人科技 |

您可能感興趣

lncRNA實戰項目-第五步-差異表達的mRNA和lncRNA
赴美生子第五步:辦證
第五步,尿布升級訓練褲
美術生教人「五步成畫」,一開始很簡單,網友:第五步什麼個情況
盤點《鎧甲勇士》第五步《獵鎧》槽點,網友:這是病得治!
教你如何打通任督二脈之調息法第五步元神蓄力育生機
鳳眼菩提入手第五步:變異品種