国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種面向節(jié)能的虛擬機在線遷移解決方案

2018-03-05 02:40:16沈蘇彬吳振宇
計算機技術與發(fā)展 2018年2期
關鍵詞:計算中心拷貝內存

趙 丹,沈蘇彬,吳振宇

(1.南京郵電大學 物聯(lián)網學院,江蘇 南京 210003;2.南京郵電大學 計算機學院,江蘇 南京 210003)

0 引 言

云計算以按需付費、動態(tài)擴展等優(yōu)勢極大地方便了各用戶,在滿足客戶業(yè)務需求的同時,大大降低了他們的使用成本。然而,出于對溫度等環(huán)境因素的需求,云計算中心每年要消耗大量的能源。據IDC統(tǒng)計,2014年我國云計算中心整體耗電量占社會總用電的1.6%,并預測10年后,云計算中心整體的耗電量大約要占15%[1]。云計算中心的能耗主要來源于IT設備、照明系統(tǒng)、空調系統(tǒng)、供配電系統(tǒng),而在所有因素中,IT設備的耗電量居首,約占45%,而空調系統(tǒng)次之,約占40%[2]。由此可見,云計算中心的節(jié)能措施首先是降低IT設備的能耗。

在云計算中心,針對IT設備的節(jié)能技術分為靜態(tài)節(jié)能技術和動態(tài)節(jié)能技術。靜態(tài)節(jié)能是指在系統(tǒng)設計之初就將能耗因素考慮進來,在電路層采用節(jié)能技術,如停用未使用的電路組件,對CPU、RAM和磁盤等主要耗電組件采用電壓頻率動態(tài)調整技術。動態(tài)節(jié)能是從資源管理角度出發(fā),根據運行云任務的負載的動態(tài)變化,自適應地對云平臺的能耗進行管理。目前,云計算中心的能耗優(yōu)化管理技術主要有電壓動態(tài)調整技術、關閉/休眠技術和虛擬化技術[3]。在云計算架構的基礎設施即服務(IaaS)層,云平臺使用KVM、VMware等虛擬化技術對計算、存儲等資源進行擴展,以提高資源利用率,并將資源進行封裝,以虛擬機的形式向用戶提供服務[4]。因此,虛擬機可作為云計算的基本服務單元。在節(jié)能措施上,可通過虛擬機的遷移將負載重新整合,減少運行節(jié)點的數(shù)量,從而達到節(jié)能的目的。

幾個主流的云計算平臺,如OpenStack[5]、OpenNebula[6],不支持資源的動態(tài)調配,作為業(yè)界成功應用IaaS商業(yè)模式的代表AWS,其彈性云計算EC2中集成了彈性負載均衡(ELB)功能,提供基于動態(tài)配置和動態(tài)遷移的資源調配,卻沒有提供針對節(jié)能目標的調度策略[7]。而在以節(jié)能為目標的實現(xiàn)方式上,使用KVM、Xen等作為底層虛擬機管理程序的云計算平臺,使用基于內存頁預拷貝方式的虛擬機在線遷移技術,該技術存在傳輸速率以及頁重傳問題。針對這些問題,有人提出了基于內存頁后拷貝方式的虛擬機在線遷移技術,極大地改進了預拷貝方式在停機時間上的不足,但存在由于內存頁丟失而導致的虛擬機遷移失敗問題。為了保證在虛擬機遷移過程中的魯棒性,需要一種更為高效可靠的遷移方式。

基于以上問題,文中分析了針對云計算節(jié)能的相關工作,設計了一種節(jié)能方案,并通過實驗對其進行驗證分析。

1 相關工作分析

在IaaS層,目前常用的節(jié)能措施是通過針對節(jié)能的資源調度策略為虛擬機重新匹配物理主機,并通過虛擬機在線遷移技術將虛擬機遷移到對應的物理主機上,提高單個節(jié)點的資源使用率,減少節(jié)點的運行數(shù)量。

在面向節(jié)能的資源調度策略中,文獻[8]通過將效率控制器EC、服務器管理器SM、附件管理器EM、群組管理器GM和虛擬機控制器VMC五種不同的能源管理策略相結合來研究云計算中心的能源管理問題,并在協(xié)調控制器上對控制理論和反饋控制循環(huán)進行了深入研究。這種方式不受工作負載類型的約束,但只針對CPU資源,并未考慮系統(tǒng)中的其他資源,如RAM、磁盤等。文獻[9]綜合考慮了多種資源(CPU、磁盤、網絡)的使用情況,將負載集中于少數(shù)物理節(jié)點,關閉閑置節(jié)點,以達到節(jié)能的目的。該方案指定能源或性能的開銷值,以保證負載的整合不會對應用的性能產生影響。然而該方案并沒有考慮如何將虛擬機的遷移數(shù)量降到最小,從而節(jié)省遷移總時間。

在面向節(jié)能的資源調度完成之后,需要通過虛擬機遷移實現(xiàn)節(jié)能目標。Clark等[10]提出了基于內存頁預拷貝方式的虛擬機在線遷移技術,將虛擬機在線遷移的過程視為兩個主機的透明交互,將虛擬機的在線遷移過程細分為六個階段:預遷移階段、保留階段、迭代預拷貝階段、停機拷貝階段、應答階段和激活階段。通過這六個階段將虛擬機從源主機遷移到目的主機上。由虛擬機在線遷移算法優(yōu)劣的評判標準[11]可知,內存頁預拷貝方式存在著傳輸速率問題和頁重傳問題。針對這些問題,Hines等[12]提出一種基于內存頁后拷貝方式的虛擬機在線遷移技術,該技術直接在源主機上掛起虛擬機,然后將虛擬機的CPU(vCPU)狀態(tài)拷貝到目的主機,大大降低了采用預拷貝方式產生的停機時間,最后通過按需拷貝方式按照需求從源主機獲取內存頁。

2 云計算節(jié)能方案設計

針對云計算能耗高的問題,文中提出一種面向節(jié)能的虛擬機在線遷移技術,綜合多種性能參數(shù)衡量節(jié)點的資源使用情況,而不僅僅是文獻[8]中所考慮的CPU參數(shù),并在資源調度策略中考慮虛擬機的遷移數(shù)量因素,盡可能減少虛擬機的遷移數(shù)量,降低虛擬機遷移對服務質量的影響。最后通過一種更高效可靠的基于內存頁混合拷貝方式的虛擬機在線遷移技術完成虛擬機的遷移。待遷移工作完成后,關閉空閑節(jié)點,從而優(yōu)化整個云計算中心的節(jié)能目標。

從上述分析可知,該方案主要完成三個功能:

(1)資源監(jiān)測:根據應用需求,靈活監(jiān)測云計算中心節(jié)點的資源使用率。

(2)資源調度:根據節(jié)點的資源使用情況,為所有需要遷移的虛擬機匹配最佳節(jié)點。

(3)虛擬機遷移:根據資源的匹配結果,通過一種更高效可靠的虛擬機遷移技術,將虛擬機遷移到目標節(jié)點上。

2.1 節(jié)點資源的監(jiān)測

節(jié)點資源的監(jiān)測負責周期性監(jiān)測云計算中心所有運行節(jié)點的負載率,定量分析各節(jié)點的資源使用情況。

為根據應用需求靈活反映節(jié)點的負載情況,節(jié)點負載率應為多種負載使用率的加權綜合值。針對節(jié)能需求,文中的性能參數(shù)有CPU、內存、磁盤、帶寬以及溫度,因此節(jié)點的負載性能參數(shù)可用一個集合L={L1,L2,…,L5}表示。其中Li(1≤i≤5)分別表示vCPU核數(shù)、RAM、磁盤的使用率、帶寬以及溫度/100。

假設云計算中心有m個節(jié)點,則節(jié)點Nj(1≤j≤m)的負載率為:

(1)

其中,αi為性能參數(shù)Li所對應的權重系數(shù),且∑αi=1。

可以根據應用需求對權重系數(shù)進行調整,如對計算性能要求更高,可以增加CPU和RAM使用率的權重系數(shù),如果應用偏重于數(shù)據的存儲,可以提高磁盤使用率的權重系數(shù)。

2.2 資源調度

資源調度負責根據資源調度的約束條件,選擇需要遷移的虛擬機,并為它們匹配最佳的節(jié)點。

為實現(xiàn)節(jié)能目標,優(yōu)化資源調度的時間損耗,對待遷移的虛擬機的選擇和目標節(jié)點的處理做如下約束:

(1)為達到節(jié)能目的,設定負載率遷出閾值,低于該閾值的節(jié)點上的所有虛擬機都需要遷移。

(2)為減少虛擬機和節(jié)點匹配的計算量,設定負載率遷入閾值。在虛擬機遷入之后節(jié)點負載率不能低于負載率遷入閾值。在此閾值之上,表明該節(jié)點滿負載,不再與其他虛擬機匹配。

在上述條件約束下,根據設定的負載率遷出閾值,將云計算中心所有運行的節(jié)點劃分為正常負載節(jié)點和欠載節(jié)點,所有欠載節(jié)點上的虛擬機均為需要遷移的虛擬機,并將這些虛擬機添加到遷移列表中。

為降低占用資源多的虛擬機遷移的概率,從而減少虛擬機遷移的數(shù)量以及所有虛擬機遷移的總時間,按照虛擬機遷移時間的大小,對所有待遷移的虛擬機作升序排序。在虛擬機遷移時間的計算上,因虛擬機在線遷移傳輸?shù)氖窃撎摂M機的RAM和CPU的數(shù)據,因此虛擬機遷移時間為該虛擬機占用的RAM和CPU的資源與帶寬的比值。

在確定虛擬機遷移的順序后,按序為每個需要遷移的虛擬機匹配目標節(jié)點。在節(jié)點的選擇順序上,首先考慮正常負載節(jié)點集合中的資源,若正常負載節(jié)點集合無節(jié)點可用,且遷移列表未空,則選擇欠載節(jié)點集合中的資源。在欠載節(jié)點集合中節(jié)點的選擇順序上,倒序選擇遷移列表中的元素所在的節(jié)點,以此減少虛擬機遷移的數(shù)量以及所有虛擬機遷移的總時間。在目標節(jié)點的匹配上,通過計算待遷移虛擬機和所有符合條件的節(jié)點的成本值[13],定量分析虛擬機和各節(jié)點的匹配程度,并以最小成本值為原則,為虛擬機匹配最佳的目標節(jié)點。虛擬機VMk(1≤k≤n,k為待遷移虛擬機的個數(shù))與節(jié)點Nj的成本值計算公式如下所示:

total_cost(VMkNj)=min{solo_cost(Si)}

(2)

其中

(3)

其中,left_Si為節(jié)點上剩余的Si資源;request_Si為虛擬機所請求的Si資源;total_Si為節(jié)點上所有的Si資源。

2.3 虛擬機遷移

基于文獻[11]提出的虛擬機遷移原則,綜合考慮現(xiàn)有遷移方式中存在的問題,提出一種更高效可靠的虛擬機在線遷移方式—基于內存頁混合拷貝方式的虛擬機在線遷移技術。該技術借鑒了內存頁預拷貝方式中的迭代拷貝思想,并將其應用于虛擬機內存頁后拷貝方式的起始階段,從而降低虛擬機因缺頁導致的在目標節(jié)點恢復失敗的風險,同時虛擬機在遷移過程的按需拷貝階段可首先查詢本地數(shù)據,從而減少遷移總時間,進一步提高服務性能。遷移流程如圖1所示。

圖1 虛擬機混合拷貝在線遷移流程

如圖1所示,該遷移流程分為三個階段:內存頁迭代拷貝階段、vCPU狀態(tài)拷貝階段和內存頁按需拷貝階段。在內存頁迭代拷貝階段,將某一時刻虛擬機的內存數(shù)據保存下來,并通過迭代拷貝方式傳輸?shù)侥康闹鳈C。vCPU狀態(tài)拷貝階段在虛擬機所占用的內存數(shù)據拷貝完成后,掛起虛擬機,并將此刻該虛擬機的vCPU狀態(tài)拷貝到目的主機中,在目的主機中啟動該虛擬機。在內存頁按需拷貝階段,優(yōu)先從本地獲取數(shù)據,如果該數(shù)據所在頁面被標記為“臟頁”或者查找不到該數(shù)據,則向源主機發(fā)送缺頁請求。而在源主機上,啟動計時器,計算等待請求的時間,每收到一次請求就更新一次計時器。如果在設定時間內沒有收到目的主機發(fā)送過來的請求,則表明虛擬機在目的主機上恢復運行,終止源主機上的虛擬機。

3 基于OpenStack的節(jié)能實現(xiàn)

基于OpenStack平臺,通過擴展其計算服務Nova[14]和虛擬機管理軟件Qemu實現(xiàn)節(jié)能目標。首先,利用資源調度功能生成遷移列表vm_migrating_table和匹配列表mapping_table。然后,通過虛擬機遷移技術將每一個待遷移的虛擬機按序遷移到其對應的目標節(jié)點上。在遷移技術的實現(xiàn)上,首先擴展Qemu實現(xiàn)基于混合拷貝技術的單個虛擬機的遷移,然后通過編寫腳本實現(xiàn)多個虛擬機的自動遷移。

通過腳本文件migration.sh實現(xiàn)多個虛擬機的遷移。該腳本的功能是首先配置環(huán)境變量,獲取管理員權限,調用遷移功能;然后讀取遷移列表和匹配列表,遍歷遷移列表,根據匹配列表的匹配結果調用遷移命令nova live-migration完成遷移工作。腳本實現(xiàn)代碼如下:

#!/bin/bash

#配置環(huán)境變量

echo “source admin-openrc.sh”

#遍歷遷移列表vm_migrating_table中所有 #虛擬機

for key in `cat /vm_migrating_table `

do

#調用nova live-migration命令根據匹配#列表mapping_table遷移所有虛擬機

echo “nova live-migration $key `cat /mapping_table |grep key `”

done

nova live-migration命令通過調用基于內存頁混合拷貝方式的虛擬機在線遷移技術完成遷移工作。該技術通過Qemu的自定義模塊myMigration實現(xiàn)。該技術的實現(xiàn)分為三個階段:內存頁迭代預拷貝階段、vCPU狀態(tài)拷貝階段和內存頁按需拷貝階段。假設通過資源的調度為host1上的虛擬機vm1匹配節(jié)點host2,遷移步驟如下:

階段1:迭代預拷貝內存頁。首先在源主機host1上,啟動Qemu中的socket接口,監(jiān)聽目的主機host2,等待host2連接;調用遷移線程函數(shù)migration_thread()完成迭代預拷貝功能。該函數(shù)的具體功能是:保存虛擬機vm1的狀態(tài),確保虛擬機vm1在遷移失敗之后還可以在源主機上繼續(xù)運行;將vm1的狀態(tài)改為“migrating”;獲取vm1所占用的內存數(shù)據大?。槐4娈斍八袃却骓摂?shù)據;設定傳輸速率,通過socket接口將所有數(shù)據迭代拷貝到目的主機。在目的主機host2上,啟動Qemu中的socket接口,調用qemu_loadvm_state()函數(shù)保存接收到的所有內存頁。

階段2:拷貝vCPU數(shù)據。首先,在源主機host1上,所有內存頁傳輸完畢,將虛擬機vm1的狀態(tài)改為“suspend”;調用qemu_savevm_state_complete()函數(shù)同步CPU所有信息(包括寄存器數(shù)據以及緩存數(shù)據)。然后,在目的主機host2上,通過socket接收數(shù)據,并存儲在/var/lib/nova/instances目錄下。等待所有數(shù)據傳輸完畢,啟動虛擬機。

階段3:按需拷貝內存頁。在目的主機host2上,如果所用數(shù)據在內存頁中找到且未被更新過,就繼續(xù)運行。如果找不到或已被更新,就向源主機發(fā)送請求,請求所用數(shù)據的相應內存頁,接收數(shù)據,并通過逆xbzrle算法(xbzrle算法的反過程)恢復數(shù)據,并繼續(xù)運行。在源主機host1上,等待接收虛擬機的請求信息,如果接收到請求信息,就將該信息所占用的內存頁數(shù)據與備份數(shù)據對比,通過xbzrle算法壓縮數(shù)據再傳輸?shù)絟ost2上;如果超過設定的時間沒有接收到請求,表明遷移完成,將虛擬機終止并刪除中間過程中產生的信息。

4 實驗及結果分析

實驗基于Centos7操作系統(tǒng),搭建OpenStack Kilo版本五節(jié)點平臺,并在該平臺上進行驗證。根據官方文檔依照基本環(huán)境配置、Keystone服務安裝和配置、Glance服務安裝和配置、Nova服務安裝和配置、Cinder服務安裝和配置的流程搭建完成OpenStack平臺[15]。為實現(xiàn)遷移功能,采用NFS軟件實現(xiàn)共享存儲服務[13]。在該系統(tǒng)中,OpenStack平臺由一個控制節(jié)點、一個網絡節(jié)點和三個計算節(jié)點組成,各節(jié)點硬件環(huán)境如表1所示。

表1 OpenStack平臺硬件環(huán)境

在平臺部署完成之后,首先在控制節(jié)點上,在Nova Scheduler的過濾模塊filters擴展一個vmMigratingFilter子模塊,計算節(jié)點負載率并完成待遷移虛擬機的選擇功能,然后在Nova Scheduler的權衡模塊weights中擴展一個myMetrics子模塊,為每一個待遷移的虛擬機匹配目標節(jié)點,并完成能耗計算。擴展完成后,將這兩個模塊在配置文件nova.conf中做相應配置[13],啟用這兩個子模塊。在根目錄下添加腳本文件migration.sh實現(xiàn)多個虛擬機的遷移,然后在各個計算節(jié)點的Qemu中添加一個自定義模塊myMigration,實現(xiàn)虛擬機的混合拷貝在線遷移技術。

為了驗證該方案的性能,進行了如下測試。

(1)能效測試。

重啟Nova服務,指定多組{負載率遷出閾值,負載率遷入閾值},發(fā)送節(jié)能請求,完成測試過程,計算能效[16],并查看遷移后虛擬機的狀態(tài)信息,從而計算虛擬機遷移失敗率。根據這些權限值測得的數(shù)據如表2所示。

表2 基于OpenStack的能效相關統(tǒng)計信息 %

分析表2中的數(shù)據可知,負載率遷出閾值越高,虛擬機遷移失敗率就越高,而能效基本保持不變。這是因為負載率遷出閾值越高,待遷移的虛擬機數(shù)目越大,正常負載集合可用資源變少,致使虛擬機遷移失敗率增高;由于負載率遷入閾值不變,資源總量基本不變,所以能效基本保持不變。負載率遷入閾值越高,虛擬機遷移失敗率越高,且能效越高。這是由于負載率遷入閾值越高,節(jié)點的資源使用率越高,因而能效越高,但由于滿負載區(qū)間(負載率為100%和負載率遷入閾值的差值)變小,虛擬機遷移失敗率會增高。因此可以得出,在OpenStack環(huán)境中,為達到節(jié)能目標,必定會帶來虛擬機遷移失敗問題,即二者不可兼得;此外,為提高能效,可盡量提高負載率遷入閾值。

(2)虛擬機在線遷移技術測試。

使用Nova服務原有的在線遷移命令nova live-migration 對四種大小的虛擬機進行遷移性能測試,其中server為待遷移的虛擬機,destination host為與該虛擬機對應的目的主機。首先使用OpenStack已有的遷移算法測試,其中Qemu版本為Qemu-2.0.0,然后使用Qemu中自定義模塊myMigration測得遷移信息。虛擬機兩種在線遷移方式的停機時間以及遷移總時間對比如圖2和圖3所示。

圖2 虛擬機在線遷移停機時間對比

通過圖2和圖3可以看出,對于停機時間參數(shù),隨著虛擬機越來越大,混合拷貝方式的停機時間低于預拷貝方式。這是由于混合拷貝方式在停機拷貝階段只傳輸該虛擬機的CPU信息,而預拷貝方式在停機拷貝階段傳輸?shù)牟粌H有CPU信息還有內存頁數(shù)據。在遷移總時間方面,內存頁混合拷貝方式的遷移總時間較預拷貝方式也明顯降低。這是因為預拷貝方式的迭代傳輸會造成內存頁冗余較大,而混合拷貝方式在按需拷貝階段只需傳輸一次內存頁即可。實驗結果證明了這一理論,說明該方案可以降低虛擬機在線遷移過程中的停機時間,同時也大大降低了遷移總時間,從而提高了服務性能。

圖3 虛擬機在線遷移總時間對比

5 結束語

在云計算環(huán)境中,針對由于其基本服務單元虛擬機的動態(tài)變化造成某些節(jié)點負載過低而導致資源閑置和能源消耗的問題,提出一種面向節(jié)能的虛擬機在線遷移解決方案。通過虛擬機整合,提高單個節(jié)點的資源使用率,減少運行節(jié)點的數(shù)量,關閉零負載節(jié)點,從而達到節(jié)能的目的。該方案通過節(jié)點資源的監(jiān)測、資源的調度和虛擬機的遷移技術,綜合衡量節(jié)點的資源使用率,選擇待遷移的虛擬機、為待遷移虛擬機匹配最佳的節(jié)點,實現(xiàn)高效可靠的基于內存頁混合拷貝方式的虛擬機在線遷移技術,并在OpenStack平臺上進行了實現(xiàn)。實驗結果表明,該方案可以進一步提高虛擬機遷移過程中的服務質量,有效降低能耗,實現(xiàn)了節(jié)能的優(yōu)化目標。

[1] 中國云計算數(shù)據中心節(jié)能現(xiàn)狀深度分析[EB/OL].2016.http://tech.idcquan.com/pro/102749.shtml.

[2] 張慧珍,李長春,周培琴,等.云計算數(shù)據中心節(jié)能技術研究[J].信息系統(tǒng)工程,2013(10):79-80.

[3] 譚一鳴,曾國蓀,王 偉.隨機任務在云計算平臺中能耗的優(yōu)化管理方法[J].軟件學報,2012,23(2):266-278.

[4] CORRADI A,FANELLI M,FOSCHINI L.VM consolidation:a real case based on OpenStack cloud[J].Future Generation Computer Systems,2014,32:118-127.

[5] 陳 恂.OpenStack平臺的虛擬機調度關鍵技術研究[D].杭州:杭州電子科技大學,2014.

[6] OpenNebula. The cloud data center management solution[EB/OL].2016.https://www.opennebula.org/.

[7] 王 旭.基于能耗約束的虛擬機調度策略研究[D].昆明:云南大學,2011.

[8] RAGHAVENDRA R,RANGANATHAN P,TALWAR V,et al.No power struggles:coordinated multi-level power management for the data center[J].ACM SIGARCH Computer Architecture News,2008,36(1):48-59.

[9] PINHEIRO E,BIANCHINI R,CARRERA E V,et al.Load balancing and unbalancing for power and performance in cluster-based systems[C]//Workshop on compilers and operating systems for low power.[s.l.]:[s.n.],2003:182-195.

[10] CLARK C,FRASER K,HAND S,et al.Live migration of virtual machines[C]//Proceedings of the 2nd conference on symposium on networked systems design & implementation.Berkeley,CA,USA:USENIX Association,2005:273-286.

[12] HINES M R,GOPALAN K.Post-copy based live virtual machine migration using adaptive pre-paging and dynamic self-ballooning[C]//Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on virtual execution environments.Washington,DC:ACM,2009:51-60.

[13] 陳伯龍,程志鵬.云計算與OpenStack(虛擬機Nova篇)[M].北京:電子工業(yè)出版社,2013.

[14] 戢 友.OpenStack開源云-王者歸來[M].北京:清華大學出版社,2014.

[15] OpenStack.Install guides[EB/OL].2016.http://docs.open stack.org/kilo/.

[16] BELOGLAZOV A,BUYYA R.Adaptive threshold-based approach for energy-efficient consolidation of virtual machines in cloud data centers[C]//Proceedings of the 8th international workshop on middleware for grids,clouds and e-science.New York:ACM,2010:1-6.

猜你喜歡
計算中心拷貝內存
中國—東盟人工智能計算中心正式發(fā)布
面向反應堆設計的高性能計算中心建設及應用
騰訊云首個5G邊緣計算中心正式對外開放
“春夏秋冬”的內存
當代陜西(2019年13期)2019-08-20 03:54:22
唐氏綜合征是因為“拷貝”走樣了
西部最大規(guī)模云計算中心啟動
基于內存的地理信息訪問技術
文件拷貝誰最“給力”
上網本為什么只有1GB?
漫話拷貝
樟树市| 平度市| 华容县| 固始县| 阜城县| 大竹县| 赣榆县| 陇川县| 威宁| 麻城市| 玛沁县| 怀来县| 长宁区| 诸城市| 茂名市| 古浪县| 福清市| 阿拉善左旗| 会泽县| 玉树县| 德令哈市| 富宁县| 乐陵市| 温州市| 庆阳市| 安达市| 淳化县| 荆州市| 肥乡县| 眉山市| 淮南市| 枞阳县| 曲靖市| 嫩江县| 雷山县| 汉沽区| 杭州市| 洛阳市| 大余县| 东台市| 鸡东县|