OpenStack刪除僵尸實(shí)例

openstack集群中發(fā)現(xiàn)某計(jì)算節(jié)點(diǎn)計(jì)算服務(wù)down

在計(jì)算節(jié)點(diǎn)輸入:

service nova-compute restart

服務(wù)無(wú)法啟動(dòng)餐弱,查看:

/var/log/nova/nova-compute.log

發(fā)現(xiàn)如下錯(cuò)誤:

InstanceNotFound: Instance 00f71bfc-b8c5-474c-94c8-02686c1af24b could not be found

說(shuō)明出現(xiàn)了僵尸實(shí)例宴霸,可能是使用虛擬機(jī)時(shí)非法關(guān)閉nova服務(wù)或關(guān)閉虛擬機(jī)導(dǎo)致。解決辦法是刪除該實(shí)例膏蚓。

首先出現(xiàn)該問(wèn)題的計(jì)算節(jié)點(diǎn)上找到如下目錄:

/var/lib/nova/instacnes

刪除該實(shí)例文件:

sudo rm -rf 00f71bfc-b8c5-474c-94c8-02686c1af24b

然后在控制節(jié)點(diǎn)數(shù)據(jù)庫(kù)中刪除該實(shí)例,以下語(yǔ)句中
$1 代表 00f71bfc-b8c5-474c-94c8-02686c1af24b

sudo mysql -u root -p
use nova;
delete from security_group_instance_association where instance_uuid='$1';  
delete from instance_info_caches where instance_uuid='$1';  
delete from block_device_mapping where instance_uuid='$1';  
delete from instance_actions where instance_uuid='$1'; //注意瓢谢,這里需要手動(dòng)刪除另外的記錄,下文會(huì)提到
delete from instance_faults where instance_uuid='$1';  
delete from instance_extra where instance_uuid='$1';
delete from instance_system_metadata where instance_uuid='$1';
delete from instances where uuid='$1'; //注意驮瞧,在我使用的pike版本中氓扛,instances 表中為 uuid,而不是 instance_id

在如下語(yǔ)句中:

delete from instance_actions where instance_uuid='$1';

提示:

Cannot delete or update a parent row: a foreign key constraint fails('nova'.'instance_actions_events', CONSTRAINT 'instance_actions_events_ibfk_1' FOREIGN KEY ('action_id') REFERENCES 'instance_actions'('id'))

因?yàn)?instance_actions 表中 主鍵idinstance_actions_events 表中 action_id 的外鍵论笔,如果刪除 instance_actions 表中記錄采郎,且該記錄中的id主鍵被 instance_actions_events 表中 action_id 引用,就會(huì)報(bào)錯(cuò)狂魔。

所以先判斷刪除 instance_action_events 表中的數(shù)據(jù)蒜埋。

首先根據(jù) uuid 找到 instance_actions 表中的記錄:

select id from instance_actions where instance_uuid='$1';

記錄找到的id,然后去 instance_actions_events 表中刪除記錄,假設(shè)id=$2:

delete from instance_actions_events where action_id='$2';

最后執(zhí)行:

delete from instance_actions where instance_uuid='$1';

成功刪除最楷。

在以下語(yǔ)句時(shí):

delete from instances where uuid='$1';

遇到類(lèi)似問(wèn)題:

Cannot delete or update a parent row: a foreign key constraint fails ('nova'.'migrations', CONSTRAINT 'fk_migrations_instance_uuid' FOREIGH KEY ('instance_uuid') REFERENCES 'instances('uuid')')

看來(lái)這次產(chǎn)生僵尸實(shí)例是虛擬機(jī)遷移出錯(cuò)整份,所以在 migrations 表中刪除記錄:

delete from migrations where instance_uuid='$1';

再次執(zhí)行:

delete from instances where uuid='$1';

遇到相似提示:

Cannot delete or update a parent row: a foreign key constraint fails ('nova'.'virtual_interfaces', CONSTRAINT 'virtual_interfaces_instance_uuid' FOREIGH KEY ('instance_uuid') REFERENCES 'instances('uuid')')

執(zhí)行:

delete from virtual_interfaces where instance_uuid='$1';

最后執(zhí)行:

delete from instances where uuid='$1';

成功刪除記錄!

在出錯(cuò)的計(jì)算節(jié)點(diǎn)中運(yùn)行:

service nova-compute restart
service nova-compute status

發(fā)現(xiàn)服務(wù)成功啟動(dòng)管嬉,錯(cuò)誤解決皂林。

更新

由于手動(dòng)操作太麻煩,于是針對(duì)實(shí)驗(yàn)情況寫(xiě)了自動(dòng)刪除腳本蚯撩,如下:

sudo mysql -u root -e  "select id from instance_actions where instance_uuid='$1'" nova > tmp.txt

for line in $(cat tmp.txt)
do 
    if [ $line -gt 0 ] 2>/dev/null
    then
        echo $line
        sudo mysql -u root -e "delete from instance_actions_events where action_id='$line'" nova
    fi
done
sudo mysql -u root -e "delete from instance_actions where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from security_group_instance_association where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from instance_info_caches where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from block_device_mapping where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from instance_faults where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from instance_extra where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from instance_system_metadata where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from migrations where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from virtual_interfaces where instance_uuid='$1'" nova
sudo mysql -u root -e "delete from instances where uuid='$1'" nova

該腳本可自動(dòng)刪除由于遷移產(chǎn)生僵尸實(shí)例的問(wèn)題(不適用于所有情況)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末础倍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胎挎,更是在濱河造成了極大的恐慌沟启,老刑警劉巖忆家,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異德迹,居然都是意外死亡芽卿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)胳搞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卸例,“玉大人,你說(shuō)我怎么就攤上這事肌毅】曜” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵悬而,是天一觀的道長(zhǎng)呜舒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)笨奠,這世上最難降的妖魔是什么袭蝗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮般婆,結(jié)果婚禮上到腥,老公的妹妹穿的比我還像新娘。我一直安慰自己腺兴,他們只是感情好左电,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著页响,像睡著了一般篓足。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闰蚕,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天栈拖,我揣著相機(jī)與錄音,去河邊找鬼没陡。 笑死涩哟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的盼玄。 我是一名探鬼主播贴彼,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼埃儿!你這毒婦竟也來(lái)了器仗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎精钮,沒(méi)想到半個(gè)月后威鹿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轨香,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年忽你,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臂容。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡科雳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脓杉,到底是詐尸還是另有隱情炸渡,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布丽已,位于F島的核電站,受9級(jí)特大地震影響买决,放射性物質(zhì)發(fā)生泄漏沛婴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一督赤、第九天 我趴在偏房一處隱蔽的房頂上張望嘁灯。 院中可真熱鬧,春花似錦躲舌、人聲如沸丑婿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)羹奉。三九已至,卻和暖如春约计,著一層夾襖步出監(jiān)牢的瞬間诀拭,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工煤蚌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耕挨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓尉桩,卻偏偏與公主長(zhǎng)得像筒占,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜘犁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • MQ服務(wù)消息超時(shí)或者任何其他中斷實(shí)例創(chuàng)建或者刪除的情況翰苫,都會(huì)造成“僵死”實(shí)例的存在。也即是這個(gè)實(shí)例并不存在沽瘦,或者即...
    山大刀閱讀 766評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理革骨,服務(wù)發(fā)現(xiàn)农尖,斷路器,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,923評(píng)論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法良哲,類(lèi)相關(guān)的語(yǔ)法盛卡,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法筑凫,異常的語(yǔ)法滑沧,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,598評(píng)論 18 399
  • 本文參加#我的軍訓(xùn)我來(lái)說(shuō)#活動(dòng),本人承諾巍实,文章內(nèi)容為原創(chuàng)滓技,且未在其他平臺(tái)發(fā)表過(guò)。 時(shí)光流連棚潦,轉(zhuǎn)眼間令漂,軍訓(xùn)已匆匆流逝...
    Title丶梧桐閱讀 560評(píng)論 0 0