




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE76云計(jì)算基礎(chǔ)平臺(tái)搭建與應(yīng)用課程教案授課題目:第14講OpenStack的云主機(jī)管理者——Nova教學(xué)時(shí)數(shù):4授課類型:R理論課R實(shí)踐課教學(xué)目的、要求:了解Nova的功能了解Nova的組件構(gòu)成及功能了解Nova的基本工作過程能夠安裝配置Nova放置組件教學(xué)重點(diǎn):Nova的組件構(gòu)成及基本工作過程安裝配置Nova服務(wù)教學(xué)方法和手段:通過微課講解跟著視頻實(shí)作教學(xué)條件:網(wǎng)課參考資料:
云計(jì)算基礎(chǔ)平臺(tái)搭建與應(yīng)用課程教案教學(xué)內(nèi)容及過程旁批課前準(zhǔn)備:檢查自己前面的系統(tǒng)配置是否完全完成,必須完成后才能進(jìn)入這一段學(xué)習(xí)。并且先進(jìn)行系統(tǒng)快照。教學(xué)引入:OpenStack云主機(jī)的創(chuàng)建和管理是由Nova組件負(fù)責(zé)的。安裝Nova組件和前面的Keystone、Glance、Placement組件類似,但是它需要在兩個(gè)節(jié)點(diǎn)(控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn))上進(jìn)行安裝,其中計(jì)算節(jié)點(diǎn)主機(jī)負(fù)責(zé)生成云主機(jī)。Nova是OpenStack中最核心的服務(wù)模塊,負(fù)責(zé)管理和維護(hù)計(jì)算資源。比如平臺(tái)提供的核心服務(wù)——云主機(jī)也稱為實(shí)例(Instances)的整個(gè)生命周期的所有活動(dòng)都由Nova管理。教學(xué)內(nèi)容與教學(xué)設(shè)計(jì):14.1Nova的基本概念14.1.1計(jì)算服務(wù)(Nova)Nova負(fù)責(zé)管理OpenStack中云主機(jī)實(shí)例的創(chuàng)建、刪除、啟動(dòng)、停止等。Nova位于Openstack架構(gòu)的中心,其他服務(wù)或者組件(比如Glance、Placement、Cinder、Neutron等)對它提供支持。其中Glance為實(shí)例提供鏡像、Cinder為實(shí)例提供塊存儲(chǔ)、Neutron為實(shí)例提供網(wǎng)絡(luò)支持。Nova自身并沒有任何虛擬化能力,它通過Libvirt(一種管理虛擬化平臺(tái)的開源應(yīng)用接口)來創(chuàng)建和管理云主機(jī)。LibvirtAPI是管理虛擬化平臺(tái)的開源的應(yīng)用接口,提供對多種虛擬化技術(shù)如KVM、Xen、VMwareESX,QEMU和其他虛擬化技術(shù)的統(tǒng)一接口服務(wù)。14.1.2Nova計(jì)算服務(wù)的組件架構(gòu)Nova這一組件由許多的小組件組成,主要組件如圖14.1所示。圖14.1Nova的模塊組成Nova-api接收和響應(yīng)外部請求,也是外部可用于管理NOVA的唯一組件。它是對外的窗口,負(fù)責(zé)與外部聯(lián)系并響應(yīng)用戶的請求。Nova-scheduler虛擬機(jī)調(diào)度服務(wù),與Placement合作,負(fù)責(zé)從計(jì)算機(jī)集群中選擇某一主機(jī)去創(chuàng)建虛擬機(jī)。Nova-computeNova的核心服務(wù),負(fù)責(zé)虛擬機(jī)的創(chuàng)建以及資源的分配。它本身并不提供任何虛擬化功能,但它卻通過LibvirtAPI實(shí)現(xiàn)生成、管理不同的虛擬機(jī)形式(如KVM、Xen、QEMU等)云主機(jī)。如圖14.1所示,三個(gè)組件之間的信息并不是直接傳遞,而是通過消息隊(duì)列(RabbitMQ)進(jìn)行消息的傳遞。Nova-conductorNova還有一個(gè)重要的組件是Nova-conductor,它負(fù)責(zé)與數(shù)據(jù)庫的連接管理,Nova中其他組件均通過它與數(shù)據(jù)庫交互。14.1.3Nova的基本工作流程圖14.2創(chuàng)建云主機(jī)基本流程通過圖14.2我們可以知道,在OpenStack中創(chuàng)建實(shí)例的大致流程為:1.用戶通過管理界面或命令行發(fā)起實(shí)例創(chuàng)建請求,Keystone從請求中獲取用戶相關(guān)信息并進(jìn)行身份驗(yàn)證;2.驗(yàn)證通過后,用戶獲得認(rèn)證Token,實(shí)例創(chuàng)建請求通過Nova-api傳遞給Nova-scheduler;3.Nova-scheduler進(jìn)行實(shí)例創(chuàng)建目的主機(jī)的調(diào)度選擇,主機(jī)選取完成后,請求轉(zhuǎn)入Nova-compute;4.Nova-compute通過Nova-conductor從數(shù)據(jù)庫中獲取創(chuàng)建實(shí)例的信息,在成功獲取實(shí)例信息后,Nova-compute分別與Glance、Neutron和Cinder交互以獲取鏡像資源、網(wǎng)絡(luò)資源和云存儲(chǔ)資源;5.一切資源準(zhǔn)備就緒后,Nova-compute調(diào)用Libvirt接口來創(chuàng)建虛擬機(jī)。14.2安裝與配置控制節(jié)點(diǎn)Nova計(jì)算服務(wù)14.2.1安裝和配置Nova安裝Nova軟件包[root@controller~]#yuminstallopenstack-nova-apiopenstack-nova-conductoropenstack-nova-novncproxyopenstack-nova-scheduler-y以上語句共安裝了四個(gè)軟件,它們分別是:openstack-nova-api:Nova與外部的接口組件;openstack-nova-conductor:Nova數(shù)據(jù)庫服務(wù),提供數(shù)據(jù)庫訪問;openstack-nova-novncproxy:Nova的vnc服務(wù),提供虛擬控制臺(tái),用戶可以通過該控制臺(tái)管理實(shí)例;nova-scheduler:Nova調(diào)度服務(wù),以選擇某臺(tái)計(jì)算節(jié)點(diǎn)主機(jī)進(jìn)行創(chuàng)建實(shí)例。安裝軟件包時(shí)和前面幾章的組件一樣會(huì)自動(dòng)創(chuàng)建“nova”用戶和同名的用戶組。[root@controller~]#cat/etc/passwd|grepnovanova:x:162:162:OpenStackNovaDaemons:/var/lib/nova:/sbin/nologin[root@controller~]#cat/etc/group|grepnovanobody:x:99:novanova:x:162:nova如上面的語句執(zhí)行后能獲得數(shù)據(jù),則說明“nova”用戶和用戶組已經(jīng)創(chuàng)建成功。創(chuàng)建一個(gè)nova數(shù)據(jù)庫并授權(quán)進(jìn)入數(shù)據(jù)庫[root@controller~]#mysql-uroot-p000000因?yàn)镸ariaDB數(shù)據(jù)庫完全兼容MySql數(shù)據(jù)庫,因此在使用方式上是與MySql數(shù)據(jù)庫是一樣的。該命令的參數(shù)“-u”后為用戶名,“-p”后為密碼,可以不需要空格。登錄數(shù)據(jù)庫成功后就進(jìn)入如上畫面。建立nova數(shù)據(jù)庫Nova需要?jiǎng)?chuàng)建三個(gè)數(shù)據(jù)庫,分別是nova、nova_api、nova_cell0數(shù)據(jù)庫,我們采用下面三條語句進(jìn)行創(chuàng)建:MariaDB[(none)]>CREATEDATABASEnova;MariaDB[(none)]>
CREATEDATABASEnova_api;MariaDB[(none)]>
CREATEDATABASEnova_cell0;為數(shù)據(jù)庫授權(quán)分別給三個(gè)數(shù)據(jù)各授予nova用戶從本地和遠(yuǎn)程的訪問權(quán)限。數(shù)據(jù)庫nova授權(quán)MariaDB[(none)]>GRANTALLPRIVILEGESONnova.*TO'nova'@'localhost'IDENTIFIEDBY'NOVA_DBPASS';MariaDB[(none)]>GRANTALLPRIVILEGESONnova.*TO'nova'@'%'IDENTIFIEDBY'NOVA_DBPASS';數(shù)據(jù)庫nova_api授權(quán)MariaDB[(none)]>GRANTALLPRIVILEGESONnova_api.*TO'nova'@'localhost'IDENTIFIEDBY'NOVA_DBPASS';MariaDB[(none)]>GRANTALLPRIVILEGESONnova_api.*TO'nova'@'%'IDENTIFIEDBY'NOVA_DBPASS';數(shù)據(jù)庫nova_cell0授權(quán)MariaDB[(none)]>GRANTALLPRIVILEGESONnova_cell0.*TO'nova'@'localhost'IDENTIFIEDBY'NOVA_DBPASS';MariaDB[(none)]>GRANTALLPRIVILEGESONnova_cell0.*TO'nova'@'%'IDENTIFIEDBY'NOVA_DBPASS';【提示】密碼可以根據(jù)需要變更,不一定是'NOVA_DBPASS',但是需要記住更改后的密碼,后面配置連接數(shù)據(jù)庫的配置文件時(shí)會(huì)使用得到。退出數(shù)據(jù)庫MariaDB[(none)]>exit;修改Nova配置文件該文件為“/etc/nova/nova.conf”。備份配置文件[root@controller~]#cp/etc/nova/nova.conf/etc/nova/nova.conf.bak去掉所有注釋,生成新的配置文件[root@controller~]#grep-Ev'^$|#'/etc/nova/nova.conf.bak>/etc/nova/nova.conf編輯新的配置文件[root@controller~]#vi/etc/nova/nova.conf我們可以看到該文件內(nèi)容已經(jīng)不存在空行和注釋行。接下來針對該配置文件進(jìn)行如下修改。[DEFAULT]enabled_apis=osapi_compute,metadatatransport_url=rabbit://openstack:RABBIT_PASS@controller:5672/my_ip=0use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver[api]auth_strategy=keystone[api_database]connection=mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
[database]connection=mysql+pymysql://nova:NOVA_DBPASS@controller/nova[glance]api_servers=http://controller:9292[keystone_authtoken]www_authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=NOVA_PASS[oslo_concurrency]lock_path=/var/lib/nova/tmp[placement]region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=PLACEMENT_PASS[vnc]enabled=trueserver_listen=$my_ipserver_proxyclient_address=$my_ip【提示】“my_ip”是當(dāng)前主機(jī)也就是控制節(jié)點(diǎn)的IP;在這個(gè)配置文件中要設(shè)置Nova與消息隊(duì)列RabbitMQ、Placement、nova和nova_api兩個(gè)數(shù)據(jù)庫的連接,需要用到它們的用戶名和密碼,請根據(jù)你所實(shí)際更改的用戶名和密碼進(jìn)行修改;在[keystone_authtoken]配置中設(shè)置的用戶名(username)和密碼(password)可以根據(jù)需求更改,但需要記住它們,它們必須和后面給Nova組件進(jìn)行初始化時(shí)添加的用戶名和密碼一致;[oslo_concurrency]中“l(fā)ock_path”用于存儲(chǔ)并發(fā)文件的路徑,其中“/var/lib/nova/”文件夾是Nova安裝時(shí)就已經(jīng)存在的,已經(jīng)授予了nova用戶權(quán)限,所以如果你在工作中需要更改目錄,請注意權(quán)限問題。同步數(shù)據(jù)庫將Nova本地文件信息傳入數(shù)據(jù)庫生成數(shù)據(jù)表:[root@controller~]#su-s/bin/sh-c"nova-manageapi_dbsync"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2map_cell0"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2create_cell--name=cell1--verbose"nova[root@controller~]#su-s/bin/sh-c"nova-managedbsync"nova驗(yàn)證novacell0和cell1是否正確注冊[root@controller~]#su-s/bin/sh-c"nova-managecell_v2list_cells"nova14.2.2Nova組件初始化在OpenStack中創(chuàng)建nova用戶并分配admin角色導(dǎo)入admin環(huán)境變量[root@controller~]#.admin-openrc在OpenStack中創(chuàng)建用戶“nova”[root@controller~]#openstackusercreate--domaindefault--passwordNOVA_PASSnova該語句在default域中創(chuàng)建了一個(gè)名為nova,密碼為NOVA_PASS的用戶。【提示】這里的用戶名和密碼要和在配置文件中[keystone_authtoken]節(jié)里的用戶名和密碼一致。給用戶“nova”設(shè)定角色為“admin”[root@controller~]#openstackroleadd--projectservice--usernovaadmin該語句為service項(xiàng)目下的nova用戶添加一個(gè)admin角色,也就是讓nova具有admin的權(quán)限。創(chuàng)建服務(wù)實(shí)體“nvoa”[root@controller~]#openstackservicecreate--namenovacompute該語句創(chuàng)建了一個(gè)名為nova,類型為compute的服務(wù)。創(chuàng)建Nova計(jì)算服務(wù)訪問端點(diǎn)(Endpoint)創(chuàng)建為一般用戶訪問Nova服務(wù)的端點(diǎn)(Endpoint)[root@controller~]#openstackendpointcreate--regionRegionOnecomputepublichttp://controller:8774/v2.1創(chuàng)建為內(nèi)部組件訪問Nova服務(wù)的端點(diǎn)(Endpoint)[root@controller~]#openstackendpointcreate--regionRegionOnecomputeinternalhttp://controller:8774/v2.1創(chuàng)建為admin用戶訪問Nova服務(wù)的端點(diǎn)(Endpoint)[root@controller~]#openstackendpointcreate--regionRegionOnecomputeadminhttp://controller:8774/v2.1啟動(dòng)控制節(jié)點(diǎn)的Nova計(jì)算服務(wù)[root@controller~]#systemctlenableopenstack-nova-apiopenstack-nova-scheduleropenstack-nova-conductoropenstack-nova-novncproxy#開機(jī)啟動(dòng)[root@controller~]#systemctlstartopenstack-nova-apiopenstack-nova-scheduleropenstack-nova-conductoropenstack-nova-novncproxy#立即啟動(dòng)14.2.3驗(yàn)證控制節(jié)點(diǎn)的Nova計(jì)算服務(wù)這里我們采用三種方式來驗(yàn)證服務(wù)查看端口占用情況Nova服務(wù)會(huì)占用8774和8775端口,通過查看這兩個(gè)端口的狀態(tài),可以判斷nova服務(wù)是否已經(jīng)運(yùn)行。[root@controller~]#netstat-tnlup檢驗(yàn)服務(wù)端點(diǎn)[root@controller~]#curlhttp://controller:8774能得到這樣的返回?cái)?shù)據(jù)說明服務(wù)正常。查看服務(wù)運(yùn)行狀態(tài)[root@controller~]#nova-statusupgradecheck可以看到四個(gè)Success,說明服務(wù)運(yùn)行正常。14.3安裝和配置計(jì)算節(jié)點(diǎn)Nova計(jì)算服務(wù)先確定計(jì)算節(jié)點(diǎn)主機(jī)已經(jīng)啟動(dòng),并用SSH客戶端連上計(jì)算節(jié)點(diǎn)主機(jī)IP如:“0”。14.3.1安裝和配置Nova安裝Nova軟件包[root@compute~]#yuminstallopenstack-nova-compute-y這里的安裝用時(shí)比較長,需要耐心等待。安裝完成后與控制節(jié)點(diǎn)一樣會(huì)自動(dòng)生成Linux的用戶“nova”和同名用戶組。[root@compute~]#cat/etc/passwd|grepnovanova:x:162:162:OpenStackNovaDaemons:/var/lib/nova:/sbin/nologin[root@compute~]#cat/etc/group|grepnovanobody:x:99:novaqemu:x:107:novalibvirt:x:991:novanova:x:162:nova修改Nova配置文件該文件為“/etc/nova/nova.conf”。備份配置文件[root@compute~]#cp/etc/nova/nova.conf/etc/nova/nova.conf.bak去掉所有注釋,生成新的配置文件[root@compute~]#grep-Ev'^$|#'/etc/nova/nova.conf.bak>/etc/nova/nova.conf編輯新的配置文件[root@compute~]#vi/etc/nova/nova.conf按照下面所示對文件進(jìn)行修改[DEFAULT]enabled_apis=osapi_compute,metadatatransport_url=rabbit://openstack:RABBIT_PASS@controllermy_ip=0use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver[api]auth_strategy=keystone[glance]api_servers=http://controller:9292[keystone_authtoken]www_authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=NOVA_PASS[oslo_concurrency]lock_path=/var/lib/nova/tmp[placement]region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=PLACEMENT_PASS[vnc]enabled=trueserver_listen=server_proxyclient_address=$my_ipnovncproxy_base_url=0:6080/vnc_auto.html【提示】這里“my_ip”是當(dāng)前主機(jī)也就是計(jì)算節(jié)點(diǎn)的IP;在這個(gè)配置文件中要設(shè)置Nova與消息隊(duì)列RabbitMQ、Placement的連接,需要用到它們的用戶名和密碼,請根據(jù)你所實(shí)際更改的用戶名和密碼進(jìn)行修改;在[keystone_authtoken]配置中設(shè)置的用戶名(username)和密碼(password)必須和控制節(jié)點(diǎn)配置的用戶名和密碼一致;[oslo_concurrency]中“l(fā)ock_path”用于存儲(chǔ)并發(fā)文件的路徑,其中“/var/lib/nova/”文件夾是Nova安裝后就已經(jīng)存在的,已經(jīng)授予了nova用戶權(quán)限,所以如果你在工作中需要更改目錄,請注意權(quán)限問題。虛擬機(jī)不支持硬件加速時(shí)的Nova設(shè)置[root@compute~]#grep-c'(vmx|svm)'/proc/cpuinfo如果得到的信息是0,那么說明計(jì)算節(jié)點(diǎn)不支持虛擬機(jī)硬件加速。我們就需要對“/etc/nova/nova.conf”再次進(jìn)行修改,配置[libvirt]部分“virt_type”為使用QEMU而不是默認(rèn)的KVM。如下進(jìn)行修改:[libvirt]virt_type=qemu【提示】修改成qemu后并不會(huì)改變“grep-c'(vmx|svm)'/proc/cpuinfo”獲得的值。啟動(dòng)計(jì)算節(jié)點(diǎn)的Compute服務(wù)[root@compute~]#systemctlenablelibvirtdopenstack-nova-compute#開機(jī)啟動(dòng)[root@compute~]#systemctlstartlibvirtdopenstack-nova-compute#立即啟動(dòng)【命令解釋】Libvirtd:是管理虛擬化平臺(tái)的開源的API,提供對KVM、Xen、VMwareESX,QEMU和其他虛擬化技術(shù)的統(tǒng)一管理接口服務(wù)。openstack-nova-compute:是管理虛擬機(jī)的核心服務(wù),在計(jì)算節(jié)點(diǎn)上運(yùn)行。14.3.2驗(yàn)證計(jì)算節(jié)點(diǎn)Nova計(jì)算服務(wù)我們可以通過查看線程運(yùn)行情況來驗(yàn)證Nova計(jì)算服務(wù)的運(yùn)行是否正常。查看nova-compute服務(wù)[root@compute~]#psaux|grepnova查看livirtd服務(wù)[root@compute~]#ps-aux|greplibvirtd14.4發(fā)現(xiàn)計(jì)算節(jié)點(diǎn)并驗(yàn)證服務(wù)本節(jié)任務(wù)操作均在控制節(jié)點(diǎn)上執(zhí)行。14.4.1發(fā)現(xiàn)計(jì)算節(jié)點(diǎn)導(dǎo)入環(huán)境變量進(jìn)行鑒權(quán)[root@controller~]#.admin-openrc發(fā)現(xiàn)新的計(jì)算節(jié)點(diǎn)[root@controller~]#su-s/bin/sh-c"nova-managecell_v2discover_hosts--verbose"nova由于OpenStack系統(tǒng)中可以有多個(gè)計(jì)算節(jié)點(diǎn)的存在,每增加一個(gè)新的節(jié)點(diǎn)就需要運(yùn)行上面的語句進(jìn)行發(fā)現(xiàn)。設(shè)置適當(dāng)?shù)淖詣?dòng)發(fā)現(xiàn)時(shí)間間隔[root@controller~]#vi/etc/nova/nova.conf在配置文件中修改如下配置,間隔60秒自動(dòng)發(fā)現(xiàn)一次[scheduler]discover_hosts_in_cells_interval=60重啟nova-api服務(wù)[root@controller~]#systemctlrestartopenstack-nova-api14.4.2驗(yàn)證Nova計(jì)算服務(wù)查看計(jì)算服務(wù)列表[root@controller~]#openstackcomputeservicelist此語句查看運(yùn)算單元的所有服務(wù)列表。這里可以看到有三個(gè)服務(wù):nova-conductor、nova-scheduler、nova-compute。其中nova-conductor和nova-scheduler安裝在控制節(jié)點(diǎn),nova-compute安裝在計(jì)算節(jié)點(diǎn),它們都處于啟用(enabled)和開啟(up)狀態(tài)。查看所有OpenStack服務(wù)及端點(diǎn)目錄[root@controller~]#openstackcataloglist可以從上面看到OpenStack中已存在的四個(gè)服務(wù)名、類型和它們的服務(wù)端點(diǎn)(Endpoints)信息。查看Nova服務(wù)狀態(tài)[root@controller~]#nova-statusupgradechec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅合同范本
- 低價(jià)轉(zhuǎn)讓轉(zhuǎn)租合同范本
- 出售積水別墅合同范例
- 代理退保委托合同范本
- 信用貸購車合同范例
- 關(guān)于承包保潔合同范本
- 《物資采購合同范本》
- 養(yǎng)殖回購合同范本
- 買裝修制式合同范本
- 醫(yī)藥咨詢合同范本
- 巴馬格紡絲控制系統(tǒng)軟件說明書(共46頁)
- 肺結(jié)核患者管理ppt課件
- 煤矸石綜合利用項(xiàng)目可行性研究報(bào)告寫作范文
- 清華大學(xué)MBA課程——運(yùn)籌學(xué)
- 《計(jì)量經(jīng)濟(jì)學(xué)》超全題庫及答案(完整版)
- 濕法冶金浸出凈化和沉積PPT課件
- 生產(chǎn)現(xiàn)場作業(yè)十不干PPT課件
- 雨污水管網(wǎng)勞務(wù)施工分包合同
- 通信桿路工程施工
- 初中物理光學(xué)經(jīng)典題(共23頁)
- 封條VVTT檢查流程程序參考模板
評論
0/150
提交評論