導航:首頁 > 程序命令 > 冷遷移命令

冷遷移命令

發布時間:2023-01-19 10:39:35

Ⅰ 數控中M90是什麼意思

你好,在數控車床裡面m90是主軸松開的意思,由於這個代碼對於比較平常廠很少使用,一般只有機修員比較常用

Ⅱ Openstack 虛機實例操作總結

Openstack作為常見的IAAS服務,其最核心的對象就是虛機實例,而Openstack下支持的虛機操作有很多種,有些是特別常見的虛機操作比如創建虛機、啟動虛機、刪除虛機等,而有些虛機操作則是針對特定場景下比如出現故障而提供的保護/恢復虛擬機資源的各種解決方案,下面先通過一張圖總體了解一下Openstack的各種虛機操作及及其應用場景:

文章餘下部分將藉助上圖中常規操作和故障操作這兩大應用場景來對Openstack各種虛機實例的操作一一展開說明。

所謂常規操作,這里是指日常對Openstack虛機最基本的操作,且Openstack集群及虛機運行狀態良好的情況下。

創建虛機,Openstack專業術語:啟動虛機實例,根據已經定義好的主機類型、存儲資源、網路資源等從無到有新建一個虛擬機。如果底層的虛擬化基於KVM,相當於先編輯一個虛機的 XML 文件然後進行 DEFINE

以上兩種操作後的虛機實例,都可以通過其他Openstack的介面重新恢復(Pause--> Unpause,Suspend--> Resume)虛機,並且顯然經過Pause操作的虛機實例恢復要快的多。

對應Openstack Resize操作,用來修改虛機實例的規格,當原始的主機類型(Flavor)無法滿足其上運行的業務需求時,通過新的Flavor在當前宿主機或者新的宿主機上重新啟動一個新的虛機,但是這個虛機的資源比如網路資源、OS版本等還是跟之前的虛機是一樣的,只是擴展了CPU Core數目、內存和磁碟大小,提高了虛機性能。

對應Openstack Snapshot操作,用來作備份恢復的,將某個狀態下的虛機導出image並上傳至Glance管理,方便以後通過快照來恢復一個出現故障的虛機,另外Openstack快照跟傳統意義的快照不是一個含義。

對應Openstack Lock操作,用來作資源保護,如果為防止誤操作或者不想讓某些人操作虛機實例可以執行此操作,當然可以通過Unlock操作來解除鎖定。

首先解釋一下,這里的故障操作不是指錯誤操作或者誤操作,而是Openstack虛機實例或者其它組件出現故障時應對的措施或者操作。

冷遷移(Migrate)和熱遷移(Live Migrate)最大的區別在於將虛機實例從一個計算節點遷移到另一個計算節點的過程中是不是做了虛機關閉的操作。

對應Openstack Shelve操作,用作釋放暫不使用的虛機資源。

對於暫時不用的虛機如前文所述可以通過Pause/Suspend來暫停以節約成本,不過這兩種操作下虛機實例需要的比如CPU、內存等資源宿主機仍然要維護,如果想從底層來釋放這些資源可以執行Shelve操作,它的原理是釋放虛機之前先會對虛機做快照並上傳Glance,然後才從宿主機刪除虛機,當然如果想恢復則可以執行Unshelve操作。

當虛機實例因為某個文件系統誤刪或者許可權導致虛機實例無法正常開啟時,可以執行Rescue操作來嘗試恢復:選擇一個虛機image來引導虛機正常起來,同時把之前的系統盤作為數據盤掛載到起來的虛機OS下,修復好之後使用Unrescue操作從原啟動盤重新引導虛機。

對應Openstack Rebuild操作,當虛機實例損壞無法正常開啟,而一般的修復操作比如Rescue不起作用,此時可以考慮在原先虛機實例的基礎上利用虛機鏡像或者快照進行Rebuild操作,它的原理替換原先虛機實例的鏡像文件,同時保持虛機其他比如網路資源、其他分配屬性不變而實現虛機正常開啟。

上述的操作都是在宿主機ok的情況下進行的,如果虛機實例的宿主機直接掛掉該怎麼辦呢?還好有Evacuate操作,它能夠在當前宿主機宕掉的情況,將其上的虛機實例遷移到其它正常的計算節點,不過它需要滿足共享存儲(比如後端採用NFS、CEPH等)。

以上基本上就是目前Openstack所支持的對虛機實例的所有操作,實際使用中需要結合具體的業務場景。

Ⅲ 誰知道蘇聯時期民族遷移那事

斯大林執政後,進行了多次民族遷移決定,具體如下:
1 根據1936年4月28日蘇聯人民委員會第776—120號決議,從烏克蘭遷移35820名「不可靠的」波蘭人到哈薩克。
2 根據1937年7月17日聯共(布)中央和人民委員會第103/1127—267號決議,把毗連伊朗、阿富汗、土耳其的蘇聯邊境地帶的各族居民遷往內地,例如1325名庫爾德人被遷往吉爾吉斯和哈薩克。
3 30年代上半期日本佔領中國東北後,蘇聯遠東地區邊界受到威脅。根據1937年8月21日蘇聯人民委員會和聯共(布)中央第1428—326號決議,從遠東(主要是濱海邊疆區)遷移全部朝鮮人171781名到哈薩克等地,以防被日本人「利用」。
4 根據1938年10月8日蘇聯人民委員會第1084—269號決議,從亞塞拜然邊境地區遷移6000名伊朗人到哈薩克。
5 1939年斯大林出兵波蘭,將烏克蘭和白俄羅斯西部地區強行並入蘇聯。在建立蘇維埃政權過程中,從那裡遷移10%的居民,即1173180人到東部,其中波蘭人389382名(1944年的數字),其餘為德意志人、烏克蘭人、白俄羅斯人等。
6 1940年波羅的海三國和比薩拉比亞並入蘇聯後,從立陶宛、拉脫維亞、愛沙尼亞、摩爾達維亞分別遷移工廠主、地主、資產階級政府成員的家屬3600人、6850人、9115人、27000人到國家東部地區。
7 根據1941年6月14日蘇聯內務人民委員部的命令,從愛沙尼亞、立陶宛、拉脫維亞、摩爾達維亞、烏克蘭和白俄羅斯西部分別遷移犯有反革命罪等罪行的人3668名、12682名、9236名、22648名、9595名、27887名,至9月完成,接收地區是西伯利亞、哈薩克、科米自治共和國。
8 1939年初蘇聯有德意志人1427222名,主要分布在俄羅斯(700231人)和烏克蘭(392458人)。1941年6月德國進攻蘇聯後,蘇聯的德意志人被看作是法西斯德國的內應。根據1941年8月12日蘇聯人民委員會和聯共(布)中央第2060—935號聯合決議和8月28日蘇聯最高蘇維埃主席團第21—160號命令,將伏爾加河地區的德意志人遷移到西伯利亞、哈薩克和中亞各共和國。至10月28日從伏爾加河德意志自治共和國遷出446480人,該自治共和國被撤銷。1941~1942年總共遷移德意志人1209430名。遷移行動一直持續到40年代末。
9 根據1941年8月26日、1942年3月9日列寧格勒戰線軍事委員會第196號和第00713號決議,從列寧格勒市和列寧格勒州遷移全部芬蘭人,1942年4月完成,共遷走9000餘人去西伯利亞。他們起初被當作「行政遷移者」,1944年末成為特種移民。
10 根據1943年10月12日蘇聯最高蘇維埃主席團第115—136號決議和10月14日蘇聯人民委員會第1118—342號決議,以通敵為由遷移整個卡拉查伊民族,撤銷卡拉查伊-切爾克斯自治州,總共遷移69267人去哈薩克和吉爾吉斯。
11 根據1943年12月27日蘇聯最高蘇維埃主席團命令和12月28日蘇聯人民委員會第1432—425號決議,以通敵為由遷移整個卡爾梅克民族,撤銷卡爾梅克自治共和國。結果有93139名卡爾梅克人被遷往西伯利亞。
12 根據1944年1月31日蘇聯國防委員會第5073號決議和2月21日蘇聯內務人民委員部第00193號命令,以通敵為由遷移整個車臣民族和印古什民族。共遷移車臣人393229名、印古什人91250名到哈薩克和吉爾吉斯。根據1944年3月7日蘇聯最高蘇維埃主席團第116—102號命令,車臣-印古什自治共和國被撤銷。
13 根據1944年3月5日蘇聯國防委員會第5309號決議,以「背叛行為」和「土匪活動」為由遷移整個巴爾卡爾民族。共遷移37107名巴爾卡爾人去哈薩克和吉爾吉斯。根據4月7日最高蘇維埃主席團的命令,將卡巴爾達-巴爾卡爾自治共和國更名為卡巴爾達自治共和國。
14 根據1944年3月31日蘇聯內務人民委員部命令,遷移從事反蘇活動的烏克蘭民族主義者聯盟和烏克蘭起義軍成員100300人到國家東部地區。
15 根據1944年4月2日和5月11日蘇聯國防委員會第5859號和5943號決議,將全部克里米亞韃靼人遷往烏茲別克,罪名是「背叛行為」,共遷移180014人。1945年6月30日克里米亞自治共和國被撤銷。
16 根據1944年6月2日蘇聯國防委員會第5984號決議,因通敵和反蘇行為從克里米亞自治共和國遷移保加利亞人、希臘人、亞美尼亞人12422名、15040名、9621名到東部地區,同時遷移德意志人、義大利人、羅馬尼亞人等共1000多名。
17 根據1944年6月24日蘇聯國防委員會第6100號決議,從克里米亞往烏茲別克遷移外籍希臘人3531名,從羅斯托夫州和克拉斯諾達爾邊疆區遷移無國籍希臘人8300名,從喬治亞、亞塞拜然、亞美尼亞共遷移16375名希臘人到國家東部地區。
18 根據1944年7月31日蘇聯國防委員會第6279號決議,從喬治亞毗連土耳其的邊境地區遷移梅斯赫特土耳其人、庫爾德人、赫姆申人(亞美尼亞人穆斯林)共91095人去烏茲別克、哈薩克和吉爾吉斯,他們被懷疑為「叛徒、土耳其的代理人」。1944年從外高加索總共遷移庫爾德人4萬名。
19 根據1945~1946年蘇聯政府一系列決議,遷移「弗拉索夫分子」(弗拉索夫將軍領導的反蘇的「俄國解放軍」成員,由烏克蘭人以及俄羅斯人等組成)到國家東部地區。至1947年中期共遷移118252人,顯然有擴大化之嫌。
20 根據1947年9月10日蘇聯部長會議第3214—1050號決議,從烏克蘭西部遷移烏克蘭民族主義者聯盟成員及其家屬74898人到國家東部地區。至50年代初,總共遷移171566人。
21 根據1948年2月21日蘇聯部長會議第417—160號決議,從波羅的海三國遷移民族主義者、土匪、富農家庭的成員。這次代號為「春天」的行動於1948年5月22日開始,僅從立陶宛就遷移49331人去西伯利亞。根據1949年1月29日蘇聯部長會議第390—138號決議,再次從波羅的海三國遷移上述人員,分別從拉脫維亞、愛沙尼亞、立陶宛遷移42149人、20173人、31917人。1945~1949年共遷移拉脫維亞人38911名、立陶宛人80189名、愛沙尼亞人19237名。1940~1953年在國家北部和東部地區的特種移民中,來自拉脫維亞的有52541人;來自愛沙尼亞的有32540人;來自立陶宛的有118599人。
22 根據1949年4月6日蘇聯部長會議第129—467號決議,從摩爾達維亞遷移富農、地主、通敵者及其家屬35050人到西伯利亞。
23 根據1949年5月29日蘇聯部長會議第2214—856號決議,從外高加索和黑海沿岸地區遷移希臘人6121名、梅斯赫特土耳其人49049名、其他民族及達什納克黨(亞美尼亞反革命組織)成員2510人到哈薩克、西伯利亞。根據1951年11月23日蘇聯部長會議第4893—號決議,從上述地區再次遷移餘下的同類人員11504人到哈薩克。
24 根據1952年3月25日蘇聯部長會議第6435號決議,從白俄羅斯遷移富農及其家屬4298人到哈薩克。
以上數據參見俄聯邦國家檔案館檔案,全宗P-9401、P-9479等;〔俄〕H· ·布蓋:《貝利亞致斯大林:「遵照您的指示……」》,俄文版,莫斯科,20世紀俄羅斯社會研究者協會,1995年。
上述24次較大規模的行動共遷移約440萬人,涉及民族20個以上,其中整個民族被遷移的有11個。當然這不是遷移行動的全部,還有一些小規模的遷移行動沒有列入。關於移民的總人數,沒有確切的統計數字,上引數字雖出自檔案材料,但由於戰時條件和遷移行動的緊急性,統計數字的混亂在所難免。蘇聯學者對移民總數的估計從布蓋的320萬人到麥德維傑夫的500萬人不等,足見在移民數量的統計上出入之大。①
移民在路上一般要顛簸二三十天才能到達中亞或西伯利亞的移居地。移民列車嚴重超載,缺少食物和水,車廂里陰暗、寒冷(有些車廂本來是專門裝運活牲畜用的),又沒有醫護人員,有時傳染病流行,奪去了一些人的生命。究竟有多少人死於途中?官方文件很少涉及,而一些當事人的回憶錄只能反映局部的情況,可以說至今還沒有發現能回答這個問題的可靠史料。因此研究者們只能作大概的估計,例如有人估計途中病死幾十萬.

Ⅳ 如何對VMware vSphere vMotion虛擬機進行遷移的步驟方法

隨著VMware在企業的快速使用,對於VMware的各種相關技術的訴求也成了很多用戶的難題,今天就與大家分享一下VMware VSphere VMotion網路配置及虛擬機遷移方法。
分享兩種遷移的方法:採用Storage vMotion遷移數據存儲的方法;採用vSphere Web Client進行跨主機Storage vMotion遷移虛擬機的方法。

方法一、採用Storage vMotion遷移數據存儲的方法和步驟
通過Storage vMotion,可以在虛擬機運行時將虛擬機及其磁碟文件從一個數據存儲遷移到另一個數據存儲,在通過 Storage vMotion遷移時,可以將虛擬機及其所有磁碟放置在同一位置,或者為虛擬機配置文件和每個虛擬磁碟選擇單獨的位置,但需要注意,通過 Storage vMotion遷移虛擬機時不會更改ESXi主機,而且虛擬機運行的主機必須有包括 Storage VMotion 的許可證。
通過Storage vMotion遷移虛擬機時並不進行有內存克隆,只進行簡單的數據克隆,因此在Storage vMotion開始時,並沒有主機的參與,只是單純的文件在不同存儲設備間克隆。VMware Storage VMotion允許以完全透明的方式將虛擬機的磁碟重新定位到不同的數據存儲位置,而保持虛擬機處於運行狀態且不停機,在移動虛擬機磁碟文件之前,Storage VMotion將虛擬機的「主目錄」移到新的位置,「主目錄」包含有關虛擬機的元數據信息,如配置文件、替換文件、日誌文件,它然後會「自我VMotion」至新的 VM 主位置,完成主目錄遷移後,會對磁碟進行移動;首先,Storage VMotion為每個要遷移的虛擬機磁碟創建一個「子磁碟」,啟動遷移操作後,所有磁碟寫入都將轉到此「子磁碟」,其次,將「父級」或原始虛擬磁碟從舊的存儲設備復制到新的存儲設備,然後,將正在捕獲寫入操作的子磁碟與新復制的父磁碟重新建立父子關系,最後,將子磁碟整合到新的父磁碟,並且ESX 主機現在會重新轉到新的父磁碟位置,在切換主目錄和磁碟遷移的過程,創建子磁碟和父磁碟、重建父子關系以及整合子磁碟將在不到兩秒的時間里發生,速度之快令應用程序用戶根本察覺不到。
通過 Storage vMotion遷移時,可以將虛擬磁碟從厚置備轉換為精簡置備或從精簡置備轉換為厚置備,無需虛擬機停機便可升級數據存儲,也可以把虛擬機從存儲設備上移開,從而對存儲設備進行維護和重新配置,也可以可以使用 Storage vMotion手動將虛擬機或虛擬磁碟重新分配到不同的存儲卷,以平衡容量或提高性能。
1、點擊『新建虛擬機-1』,它是一台正在運行的虛擬機,並且VMware Tools在虛擬機已經正確安裝並激活,並且虛擬的數據文件是在esxi02的本地磁碟上,我們將此虛擬機遷移到共享存儲VMware01中。

2、滑鼠右擊『新建虛擬機-1』,在彈出的菜單中選擇『遷移』。

3、在彈出遷移向導中,點選『選擇遷移類型』的『更改數據存儲』,將虛擬機移到另一存儲上,單擊『下一步』。

4、選擇「目標數據存儲」,確認兼容性為「驗證成功」(下方的兼容性顯示框),在選擇虛擬磁碟格式里,選擇遷移後的磁碟格式(「精簡置備」為用多少佔多少,「厚格式」立刻在存儲上分配虛擬機所置空間)或者選擇與原格式相同。

5、查看當前設置,單擊「完成」按鈕,開始Storage VMotion。

6、虛擬正在遷移中,且需要注意遷移過程中,虛擬機不中斷、不重啟。

方法二、採用vSphere Web Client進行跨主機Storage vMotion遷移虛擬機的方法和步驟
使用vSphere Web Client管理vSphere虛擬化平台,是vSphere5.1所推薦的,在vSphere Web Client中進行Storage vMotion可以同時遷移主機和數據存儲,而在遷移過程中不中斷虛擬的運行,可以使用跨主機 Storage vMotion 將虛擬機同時遷移到其他主機和數據存儲,此外,可在不受可訪問性限制的情況下遷移虛擬機,這與 Storage vMotion 不同,Storage vMotion 要求一個主機能夠同時訪問源數據存儲和目標數據存儲。
跨主機 Storage vMotion 不要求環境中存在共享存儲,在目標群集計算機可能無權訪問源群集存儲的情況下執行跨群集遷移時,該功能非常有用。在通過跨主機 Storage vMotion 進行遷移期間,虛擬機工作流程將繼續運行,可將虛擬機及其所有磁碟放置在同一位置,也可為虛擬機配置文件和每個虛擬磁碟選擇單獨的位置,此外,可將虛擬磁碟從厚置備更改為精簡置備格式或從精簡置備更改為厚置備格式,對於虛擬兼容性模式 RDM,可遷移映射文件或從 RDM 轉換成 VMDK。如圖7

將虛擬機移至另一主機,並將其磁碟或虛擬機文件夾移至另一數據存儲,可使用冷遷移或熱遷移更改主機和數據存儲,熱遷移是 Storage vMotion與稱為跨主機 Storage vMotion 的 vMotion 的組合,在vSphere Client里是無法進行跨主機 Storage vMotion 遷移,要求必須關閉虛擬機的電源才能進行遷移,

1、在vSphere Web Client中,選擇要遷移的虛擬機(如:新建虛擬機-1),滑鼠右鍵,選擇『遷移』。

2、進入遷移向導,在『選擇遷移類型』中選擇『更改主機和數據存儲』,點擊下一步。

3、在『選擇目標資源』選擇(註:遷移的目標必須要通過兼容性的檢測,點選後下方能顯示),之後點擊下一步。

4、在『選擇目標存儲』,這里選擇本地磁碟。點擊下一步。

5、在『選擇vMotion優先順序』,然後點擊下一步。

6、在『調度選項』進行虛擬機配置,設置是否立刻執行或者按計劃執行,點擊下一步

7、需配置調度程序。

8、檢查設置,點擊下一步開始遷移。

9、在操作面板中可以看到虛擬機遷移的過程(各種信息和百分比)。

10、在虛擬機中使用Ping命令來檢測虛擬機的中斷情況,實際上在遷移過程中只中斷了1秒鍾而已,所以不影響整個虛擬機運行。

11、成功完成遷移。

Ⅳ 如何使用OpenStack,Docker和Spark打造一個雲服務

蘑菇街基於 OpenStack 和 Docker 的私有雲實踐

本次主要想分享一下過去一年時間里,我們在建設基於Docker的私有雲實踐過程中,曾經遇到過的問題,如何解決的經驗,還有我們的體會和思考,與大家共勉。
在生產環境中使用Docker有一些經歷和經驗。私有雲項目是2014年聖誕節期間上線的,從無到有,經過了半年多的發展,經歷了3次大促,已經逐漸形成了一定的規模。

架構
集群管理
大家知道,Docker自身的集群管理能力在當時條件下還很不成熟,因此我們沒有選擇剛出現的 Swarm,而是用了業界最成熟的OpenStack,這樣能同時管理Docker和KVM。我們把Docker當成虛擬機來跑,是為了能滿足業務上對虛擬化的需求。今後的思路是微服務化,把應用進行拆分,變成一個個微服務,實現PaaS基於應用的部署和發布。
通過OpenStack如何管理Docker?我們採用的是OpenStack+nova-docker+Docker的架構模式。nova- docker是StackForge上一個開源項目,它做為nova的一個插件,通過調用Docker的RESTful介面來控制容器的啟停等動作。
我們在IaaS基礎上自研了編排調度等組件,支持應用的彈性伸縮、灰度升級等功能,並支持一定的調度策略,從而實現了PaaS層的主要功能。
同時,基於Docker和Jenkins實現了持續集成(CI)。Git中的項目如果發生了git push等動作,便會觸發Jenkins Job進行自動構建,如果構建成功便會生成Docker Image並push到鏡像倉庫。基於CI生成的Docker Image,可以通過PaaS的API或界面,進行開發測試環境的實例更新,並最終進行生產環境的實例更新,從而實現持續集成和持續交付。
網路和存儲
網路方面,我們沒有採用Docker默認提供的NAT網路模式,NAT會造成一定的性能損失。通過OpenStack,我們支持Linux bridge和Open vSwitch,不需要啟動iptables,Docker的性能接近物理機的95%。
容器的監控
監控方面,我們自研了container tools,實現了容器load值的計算,替換了原有的top、free、iostat、uptime等命令。這樣業務方在容器內使用常用命令時看到的是容器的值,而不是整個物理機的。目前我們正在移植Lxcfs到我們的平台上。
我們還在宿主機上增加了多個閾值監控和報警,比如關鍵進程監控、日誌監控、實時pid數量、網路連接跟蹤數、容器oom報警等等。
冗災和隔離性
冗災和隔離性方面,我們做了大量的冗災預案和技術准備。我們能夠在不啟動docker daemon的情況下,離線恢復Docker中的數據。同時,我們支持Docker的跨物理機冷遷移,支持動態的CPU擴容/縮容,網路IO磁碟IO的限速。
遇到的問題及解決方法
接近一年不到的產品化和實際使用中我們遇到過各種的問題,使用Docker的過程也是不斷優化Docker、不斷定位問題、解決問題的過程。
我們現在的生產環境用的是CentOS 6.5。曾經有個業務方誤以為他用的Docker容器是物理機,在Docker容器裡面又裝了一個Docker,瞬間導致內核crash,影響了同一台物理機的其他Docker容器。
經過事後分析是2.6.32-431版本的內核對network namespace支持不好引起的,在Docker內創建bridge會導致內核crash。upstream修復了這個bug,從2.6.32-431升級到2.6.32-504後問題解決。
還有一個用戶寫的程序有bug,創建的線程沒有及時回收,容器中產生了大量的線程,最後在宿主機上都無法執行命令或者ssh登陸,報的錯是"bash: fork: Cannot allocate memory",但通過free看空閑的內存卻是足夠的。
經過分析,發現是內核對pid的隔離性支持不完善,pid_max(/proc/sys/kernel/pid_max)是全局共享的。當一個容器中的pid數目達到上限32768,會導致宿主機和其他容器無法創建新的進程。最新的4.3-rc1才支持對每個容器進行pid_max限制。
我們還觀察到docker的宿主機內核日誌中會產生亂序的問題。經過分析後發現是由於內核中只有一個log_buf緩沖區,所有printk列印的日誌先放到這個緩沖區中,docker host以及container上的rsyslogd都會通過syslog從kernel的log_buf緩沖區中取日誌,導致日誌混亂。通過修改 container里的rsyslog配置,只讓宿主機去讀kernel日誌,就能解決這個問題。
除此之外,我們還解決了device mapper的dm-thin discard導致內核crash等問題。
體會和思考
最後分享一下我們的體會和思考,相比KVM比較成熟的虛擬化技術,容器目前還有很多不完善的地方,除了集群管理、網路和存儲,最重要的還是穩定性。影響穩定性的主要還是隔離性的不完善造成的,一個容器內引起的問題可能會影響整個系統。
容器的memcg無法回收slab cache,也不對dirty cache量進行限制,更容易發生OOM問題。還有,procfs上的一些文件介面還無法做到per-container,比如pid_max。
另外一點是對容器下的運維手段和運維經驗的沖擊。有些系統維護工具,比如ss,free,df等在容器中無法使用了,或者使用的結果跟物理機不一致,因為系統維護工具一般都會訪問procfs下的文件,而這些工具或是需要改造,或是需要進行適配。
雖然容器還不完善,但是我們還是十分堅定的看好容器未來的發展。Kubernetes、Mesos、Hyper、CRIU、runC等容器相關的開源軟體,都是我們關注的重點。
Q&A
Q:請問容器間的負載均衡是如何做的?
A: 容器間的負載均衡,更多是PaaS和SaaS層面的。我們的P層支持4層和7層的動態路由,通過域名的方式,或者名字服務來暴露出對外的介面。我們能夠做到基於容器的灰度升級,和彈性伸縮。
Q:請問你們的OpenStack是運行在CentOS 6.5上的嗎?
A: 是的,但是我們針對OpenStack和Docker依賴的包進行了升級。我們維護了內部的yum源。
Q:請問容器IP是靜態編排還是動態獲取的?
A: 這個跟運維所管理的網路模式有關,我們內部的網路沒有DHCP服務,因此對於IaaS層,容器的IP是靜態分配的。對於PaaS層來說,如果有DHCP服務,容器的App所暴露出來IP和埠就可以做到動態的。
Q:請問你們當時部署的時候有沒有嘗試過用Ubuntu,有沒有研究過兩個系統間的區別,另外請問你們在OpenStack上是怎樣對這些虛擬機監控的?
A: 我們沒有嘗試過Ubuntu,因為公司生產環境上用的是CentOS。我們的中間件團隊負責公司機器的監控,我們和監控團隊配合,將監控的agent程序部署到宿主機和每個容器里,這樣就可以當成虛擬機來進行監控。
當然,容器的數據是需要從cgroups里來取,這部分提取數據的工作,是我們來實現的。
Q:容器間的網路選型有什麼建議,據說採用虛擬網卡比物理網卡有不小的性能損失,Docker自帶的weaves和ovs能勝任嗎?
A: 容器的網路不建議用默認的NAT方式,因為NAT會造成一定的性能損失。之前我的分享中提到過,不需要啟動iptables,Docker的性能接近物理機的95%。Docker的weaves底層應該還是採用了網橋或者Open vSwitch。建議可以看一下nova-docker的源碼,這樣會比較容易理解。
Q:靜態IP通過LXC實現的嗎?
A: 靜態IP的實現是在nova-docker的novadocker/virt/docker/vifs.py中實現的。實現的原理就是通過ip命令添加 veth pair,然後用ip link set/ip netns exec等一系列命令來實現的,設置的原理和weaves類似。
Q:容器內的進程gdb你們怎麼弄的,把gdb打包到容器內嗎?
A: 容器內的gdb不會有問題的,可以直接yum install gdb。
Q:共享存儲能直接mount到容器里嗎?
A: 雖然沒試過,但這個通過docker -v的方式應該沒什麼問題。
Q:不啟動Docker Daemon的情況下,離線恢復Docker中的數據是咋做到的?
A: 離線恢復的原理是用dmsetup create命令創建一個臨時的dm設備,映射到Docker實例所用的dm設備號,通過mount這個臨時設備,就可以恢復出原來的數據。
Q:Docker的跨物理機冷遷移,支持動態的CPU擴容/縮容,網路IO磁碟IO的限速,是怎麼實現的,能具體說說嗎?
A:Docker的冷遷移是通過修改nova-docker,來實現OpenStack遷移的介面,具體來說,就是在兩台物理機間通過docker commit,docker push到內部的registry,然後docker pull snapshot來完成的。
動態的CPU擴容/縮容,網路IO磁碟IO的限速主要是通過novadocker來修改cgroups中的cpuset、iops、bps還有TC的參數來實現的。
Q:請問你們未來會不會考慮使用Magnum項目,還是會選擇Swarm?
A:這些都是我們備選的方案,可能會考慮Swarm。因為Magnum底層還是調用了Kubernetes這樣的集群管理方案,與其用Magnum,不如直接選擇Swarm或者是Kubernetes。當然,這只是我個人的看法。
Q:你們的業務是基於同一個鏡像么,如果是不同的鏡像,那麼計算節點如何保證容器能夠快速啟動?
A:運維會維護一套統一的基礎鏡像。其他業務的鏡像會基於這個鏡像來製作。我們在初始化計算節點的時候就會通過docker pull把基礎鏡像拉到本地,這也是很多公司通用的做法,據我了解,騰訊、360都是類似的做法。
Q:做熱遷移,有沒有考慮繼續使用傳統共享存儲的來做?
A: 分布式存儲和共享存儲都在考慮范圍內,我們下一步,就計劃做容器的熱遷移。
Q:請問你們是直接將公網IP綁定到容器嗎,還是通過其他方式映射到容器的私有IP,如果是映射如何解決原本二層的VLAN隔離?
A:因為我們是私有雲,不涉及floating ip的問題,所以你可以認為是公網IP。VLAN的二層隔離完全可以在交換機上作。我們用Open vSwitch劃分不同的VLAN,就實現了Docker容器和物理機的網路隔離。
Q:Device mapper dm-thin discard問題能說的詳細些嗎?
A:4月份的時候,有兩台宿主機經常無故重啟。首先想到的是查看/var/log/messages日誌,但是在重啟時間點附近沒有找到與重啟相關的信息。而後在/var/crash目錄下,找到了內核crash的日誌vmcore-dmesg.txt。日誌的生成時間與宿主機重啟時間一致,可以說明宿主機是發生了kernel crash然後導致的自動重啟。「kernel BUG at drivers/md/persistent-data/dm-btree-remove.c:181!」。 從堆棧可以看出在做dm-thin的discard操作(process prepared discard),雖然不知道引起bug的根本原因,但是直接原因是discard操作引發的,可以關閉discard support來規避。
我們將所有的宿主機配置都禁用discard功能後,再沒有出現過同樣的問題。
在今年CNUTCon的大會上,騰訊和大眾點評在分享他們使用Docker的時候也提到了這個crash,他們的解決方法和我們完全一樣。
Q:閾值監控和告警那塊,有高中低多種級別的告警嗎,如果當前出現低級告警,是否會採取一些限制用戶接入或者砍掉當前用戶正在使用的業務,還是任由事態發展?
A:告警這塊,運維有專門的PE負責線上業務的穩定性。當出現告警時,業務方和PE會同時收到告警信息。如果是影響單個虛擬機的,PE會告知業務方,如果嚴重的,甚至可以及時下掉業務。我們會和PE合作,讓業務方及時將業務遷移走。
Q:你們自研的container tools有沒有開源,GitHub上有沒有你們的代碼,如何還沒開源,後期有望開源嗎,關於監控容器的細粒度,你們是如何考慮的?
A:雖然我們目前還沒有開源,單我覺得開源出來的是完全沒問題的,請大家等我們的好消息。關於監控容器的細粒度,主要想法是在宿主機層面來監控容器的健康狀態,而容器內部的監控,是由業務方來做的。
Q:請問容器的layer有關心過層數么,底層的文件系統是ext4么,有優化策略么?
A:當然有關心,我們通過合並鏡像層次來優化docker pull鏡像的時間。在docker pull時,每一層校驗的耗時很長,通過減小層數,不僅大小變小,docker pull時間也大幅縮短。
Q:容器的memcg無法回收slab cache,也不對dirty cache量進行限制,更容易發生OOM問題。----這個緩存問題你們是怎麼處理的?
A:我們根據實際的經驗值,把一部分的cache當做used內存來計算,盡量逼近真實的使用值。另外針對容器,內存報警閾值適當調低。同時添加容器OOM的告警。如果升級到CentOS 7,還可以配置kmem.limit_in_bytes來做一定的限制。
Q:能詳細介紹下你們容器網路的隔離?
A:訪問隔離,目前二層隔離我們主要用VLAN,後面也會考慮VXLAN做隔離。 網路流控,我們是就是使用OVS自帶的基於port的QoS,底層用的還是TC,後面還會考慮基於flow的流控。
Q:請問你們這一套都是用的CentOS 6.5嗎,這樣技術的實現。是運維還是開發參與的多?
A:生產環境上穩定性是第一位的。CentOS 6.5主要是運維負責全公司的統一維護。我們會給運維在大版本升級時提建議。同時做好虛擬化本身的穩定性工作。
Q:請問容器和容器直接是怎麼通信的?網路怎麼設置?
A:你是指同一台物理機上的嗎?我們目前還是通過IP方式來進行通信。具體的網路可以採用網橋模式,或者VLAN模式。我們用Open vSwitch支持VLAN模式,可以做到容器間的隔離或者通信。
Q:你們是使用nova-api的方式集成Dcoker嗎,Docker的高級特性是否可以使用,如docker-api,另外為什麼不使用Heat集成Docker?
A:我們是用nova-docker這個開源軟體實現的,nova-docker是StackForge上一個開源項目,它做為nova的一個插件,替換了已有的libvirt,通過調用Docker的RESTful介面來控制容器的啟停等動作。
使用Heat還是NOVA來集成Docker業界確實一直存在爭議的,我們更多的是考慮我們自身想解決的問題。Heat本身依賴的關系較為復雜,其實業界用的也並不多,否則社區就不會推出Magnum了。
Q:目前你們有沒有容器跨DC的實踐或類似的方向?
A:我們已經在多個機房部署了多套集群,每個機房有一套獨立的集群,在此之上,我們開發了自己的管理平台,能夠實現對多集群的統一管理。同時,我們搭建了Docker Registry V1,內部准備升級到Docker Registry V2,能夠實現Docker鏡像的跨DC mirror功能。
Q:我現在也在推進Docker的持續集成與集群管理,但發現容器多了管理也是個問題,比如容器的彈性管理與資源監控,Kubernetes、Mesos哪個比較好一些,如果用在業務上,那對外的域名解析如何做呢,因為都是通過宿主機來通信,而它只有一個對外IP?
A: 對於Kubernetes和Mesos我們還在預研階段,我們目前的P層調度是自研的,我們是通過etcd來維護實例的狀態,埠等信息。對於7層的可以通過Nginx來解析,對於4層,需要依賴於naming服務。我們內部有自研的naming服務,因此我們可以解決這些問題。對外雖然只有一個IP,但是暴露的埠是不同的。
Q:你們有考慮使用Hyper Hypernetes嗎? 實現容器與宿主機內核隔離同時保證啟動速度?
A:Hyper我們一直在關注,Hyper是個很不錯的想法,未來也不排除會使用Hyper。其實我們最希望Hyper實現的是熱遷移,這是目前Docker還做不到的。
Q:你們宿主機一般用的什麼配置?獨立主機還是雲伺服器?
A:我們有自己的機房,用的是獨立的伺服器,物理機。
Q:容器跨host通信使用哪一種解決方案?
A: 容器跨host就必須使用3層來通信,也就是IP,容器可以有獨立的IP,或者宿主機IP+埠映射的方式來實現。我們目前用的比較多的還是獨立ip的方式,易於管理。
Q:感覺貴公司對Docker的使用比較像虛擬機,為什麼不直接考慮從容器的角度來使用,是歷史原因么?
A:我們首先考慮的是用戶的接受程度和改造的成本。從用戶的角度來說,他並不關心業務是跑在容器里,還是虛擬機里,他更關心的是應用的部署效率,對應用本身的穩定性和性能的影響。從容器的角度,一些業務方已有的應用可能需要比較大的改造。比如日誌系統,全鏈路監控等等。當然,最主要的是對已有運維系統的沖擊會比較大。容器的管理對運維來說是個挑戰,運維的接受是需要一個過程的。
當然,把Docker當成容器來封裝應用,來實現PaaS的部署和動態調度,這是我們的目標,事實上我們也在往這個方向努力。這個也需要業務方把應用進行拆分,實現微服務化,這個需要一個過程。
Q:其實我們也想用容器當虛擬機使用。你們用虛擬機跑什麼中間件?我們想解決測試關鍵對大量相對獨立環境WebLogic的矛盾?
A:我們跑的業務有很多,從前台的主站Web,到後端的中間件服務。我們的中間件服務是另外團隊自研的產品,實現前後台業務邏輯的分離。
Q:貴公司用OpenStack同時管理Docker和KVM是否有自己開發Web配置界面,還是單純用API管理?
A:我們有自研的Web管理平台,我們希望通過一個平台管理多個集群,並且對接運維、日誌、監控等系統,對外暴露統一的API介面。
Q:上面分享的一個案例中,關於2.6內核namespace的bug,這個低版本的內核可以安裝Docker環境嗎,Docker目前對procfs的隔離還不完善,你們開發的container tools是基於應用層的還是需要修改內核?
A:安裝和使用應該沒問題,但如果上生產環境,是需要全面的考慮的,主要還是穩定性和隔離性不夠,低版本的內核更容易造成系統 crash或者各種嚴重的問題,有些其實不是bug,而是功能不完善,比如容器內創建網橋會導致crash,就是network namespace內核支持不完善引起的。
我們開發的container tools是基於應用的,不需要修改內核。
Q:關於冗災方面有沒有更詳細的介紹,比如離線狀態如何實現數據恢復的?
A:離線狀態如何實現恢復數據,這個我在之前已經回答過了,具體來說,是用dmsetup create命令創建一個臨時的dm設備,映射到docker實例所用的dm設備號,通過mount這個臨時設備,就可以恢復出原來的數據。其他的冗災方案,因為內容比較多,可以再另外組織一次分享了。你可以關注一下http://mogu.io/,到時候我們會分享出來。
Q:貴公司目前線上容器化的系統,無狀態為主還是有狀態為主,在場景選擇上有什麼考慮或難點?
A:互聯網公司的應用主要是以無狀態的為主。有狀態的業務其實從業務層面也可以改造成部分有狀態,或者完全不狀態的應用。不太明白你說的場景選擇,但我們盡量滿足業務方的各種需求。
對於一些本身對穩定性要求很高,或對時延IO特別敏感,比如redis業務,無法做到完全隔離或者無狀態的,我們不建議他們用容器。

多進程好還是多線程好等等,並不是說因為Spark很火就一定要使用它。在遇到這些問題的時候、圖計算,目前我們還在繼續這方面的工作:作為當前流行的大數據處理技術? 陳,它能快速創建一個Spark集群供大家使用,我們使用OpenStack? 陳。 問,Hadoop軟硬體協同優化,在OpenPOWER架構的伺服器上做Spark的性能分析與優化:您在本次演講中將分享哪些話題。 問。多參與Spark社區的討論。曾在《程序員》雜志分享過多篇分布式計算、Docker和Spark打造SuperVessel大數據公有雲」,給upstrEAM貢獻代碼都是很好的切入方式、SQL,並擁有八項大數據領域的技術專利,MapRece性能分析與調優工具。例如還有很多公司在用Impala做數據分析:企業想要擁抱Spark技術,對Swift對象存儲的性能優化等等。例如與Docker Container更好的集成,大數據雲方向的技術負責人,Spark還是有很多工作可以做的?企業如果想快速應用Spark 應該如何去做,具體的技術選型應該根據自己的業務場景,Docker Container因為在提升雲的資源利用率和生產效率方面的優勢而備受矚目,高性能FPGA加速器在大數據平台上應用等項目,再去調整相關的參數去優化這些性能瓶頸,一些公司在用Storm和Samaza做流計算: 相比於MapRece在性能上得到了很大提升?

Ⅵ openstack虛擬機熱遷移和冷遷移的區別

就是一個關機遷移,一個不關機遷移。

Ⅶ openstack雲主機冷遷移

1:開啟nova計算節點之間互信

冷遷移需要nova計算節點之間使用nova用戶互相免密碼訪問
默認nova用戶禁止登陸,開啟所有計算節點的nova用戶登錄shell。

2:修改控制節點nova.conf

3:修改所有計算節點

4:dashboard上進行操作

閱讀全文

與冷遷移命令相關的資料

熱點內容
java跳轉到jsp 瀏覽:819
327平方根演算法 瀏覽:214
win7美化命令行終端 瀏覽:797
免加密狗圖片 瀏覽:485
一隻透明的鳥是什麼app 瀏覽:817
空氣壓縮機油批發商 瀏覽:69
linuxifexist 瀏覽:4
加密tf卡拷入文件 瀏覽:399
山西php工資 瀏覽:673
福州看病預約用什麼小程序app 瀏覽:238
php保留兩位小數不四捨五入 瀏覽:292
黑馬程序員路徑大全 瀏覽:1000
saas平台PHP 瀏覽:333
雲伺服器科學計算配置怎麼選 瀏覽:649
jar解壓命令 瀏覽:609
php正則問號 瀏覽:299
無線已加密不可上網是怎麼了 瀏覽:464
什麼app可以免費做手機 瀏覽:376
異性下載什麼app 瀏覽:680
51單片機程序單步視頻 瀏覽:241