版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
m動(dòng)化運(yùn)維東西
Puppet+MCollective
情況搭建手冊(cè)
V1.0
IT治理辦事部
2014.10.10
編號(hào)日期描述版本作者審核
12014.10.10創(chuàng)建文檔1.0鞠向明
目錄
一、Puppet介紹6
1.為什么要開發(fā)puppei6
2.作為東西的puppet7
3.穩(wěn)定性7
4.puppet的細(xì)節(jié)和原理8
5.底層支撐東西Providers8
6.修改系統(tǒng)配置9
7.資源之間的干系9
8.exec資源9
9.puppet語言9
10.語言的其他雌14
11.puppet語言高級(jí)特性16
12.語言教程18
13.典范的puppet使用要領(lǐng)18
14.總結(jié)18
二、安裝puppet19
1.更新yum源19
2.配置主機(jī)名19
3.安裝puppet辦事端20
1)安裝軟件包20
2)驗(yàn)證安裝包20
3)修改主機(jī)配置文件20
4)配置文件辦事21
5)啟動(dòng)puppet-server辦事21
4.安裝Puppet客戶端21
1)安裝軟件包21
2)配置主機(jī)名21
3)配置puppel客戶端22
4)啟動(dòng)客戶端背景進(jìn)程22
5.測試連接22
6.節(jié)點(diǎn)治理23
三、Puppet參考文檔23
四、MCollective介紹24
1.簡介24
2.MCollective特點(diǎn)24
五、安裝MCollective25
1.server端安裝25
1)安裝軟件包25
2)酉己置activemq26
3)酉己置mcollective26
4)啟動(dòng)27
2.client安裝配置:27
1)安裝軟件包27
2)配置客戶端27
3)啟動(dòng)客戶端28
3.直察連接情況28
4.其他使用命令28
六、Rsync安裝29
1.Rsync介紹29
2.安裝rsync29
3.酉己置rsync29
1)設(shè)定/etc/rsyncd.conf3()
2)設(shè)定/etc/rsyncd.secrets密碼文件31
3)設(shè)定rsyncd.motd文件32
4.rsyncd.conf酉己置文彳牛詳解32
1)全局界說33
2)模塊界說34
5,啟動(dòng)「sync辦事器36
6.防火墻設(shè)置37
7.通過r*ync客戶端來同步數(shù)據(jù)37
8.一些實(shí)例39
9.FAQ43
七、一鍵安裝clienl腳本47
一、Puppet介紹
以下介紹來自/
關(guān)于puppet各資源及其用法,請(qǐng)參考上述網(wǎng)址。
1.為什么要開發(fā)puppet
系統(tǒng)治理員都喜歡自己寫點(diǎn)小東西來讓自己的事情完成的更快大概更好,
不管是在大企業(yè)治理大量的辦事器照舊只治理兩三臺(tái)呆板.但是很少人會(huì)把他
們的東西宣布出來.也就是是說少少有東西能被重用,大概說許多東西就只能在
所在的組織內(nèi)部有用,拷貝給別的組織,他們也用不上.也就是說,每個(gè)系統(tǒng)治理
員,在一個(gè)新的公司,都市另起爐灶開發(fā)一套基于ssh,fo「循環(huán)的"系統(tǒng)”來資助自
己完成系統(tǒng)治理任務(wù).
開發(fā)puppet是為了讓系統(tǒng)治理員社區(qū)可以相互交換和共享成熟的東西,制
止重復(fù)的勞動(dòng).通過以下兩個(gè)特性來實(shí)現(xiàn)這一目標(biāo):
I.提供一個(gè)簡便的但是強(qiáng)大的框架來完成系統(tǒng)治理任務(wù)
2.系統(tǒng)治理任務(wù)可以描述成puppet語言,因此可以相互分享代碼,就像分享
其他語言的代碼一樣,比如python,c等
因此,作為系統(tǒng)治理員的你可以更快的完成事情,因?yàn)槟憧梢杂胮uppet來處
理懲罰所有的治理細(xì)節(jié).甚至你還可以下載其他治理員的puppet代碼來讓你的
事情完成的更快.
2.作為東西的puppet
puppet是一個(gè)配置治理東西,典范的,puppet是一個(gè)C/S結(jié)構(gòu),雖然,這
里的C可以有許多,因此,也可以說是一個(gè)星型結(jié)構(gòu).所有的puppet客戶端同一
個(gè)辦事器端的puppet通訊.每個(gè)puppet客戶端每半小時(shí)(可以設(shè)置)連接一次
辦事器端,下載最新的配置文件,并且嚴(yán)格憑據(jù)配置文件來配置辦事器.配置完
成以后,puppet客戶端可以反饋給辦事器端一個(gè)消息.如果墮落,也會(huì)給辦事器
端反饋f消息.
叵I
3.穩(wěn)定性
puppet與其他手工操縱東西有一個(gè)最大的區(qū)別就是puppet的配置具有穩(wěn)
定性,因此你可以多次執(zhí)行puppet,一旦你更新了你的配置文件,puppet就會(huì)
憑據(jù)配置文件來變動(dòng)你的呆板配置,通常每30分鐘直抄一次.puppet會(huì)讓你的
系統(tǒng)狀態(tài)同配置文件所要求的狀態(tài)保持一致.比如你配置文件里面要求ssh辦
事必須開啟.如果不小心ssh辦事被封閉了,那么下一次執(zhí)行puppet的時(shí)
候,puppet會(huì)發(fā)明這個(gè)異常,然后會(huì)開啟ssh辦事.以使系統(tǒng)狀態(tài)和配置文件
保持一致.puppet就象一個(gè)魔術(shù)師,會(huì)讓你的雜亂的系統(tǒng)收斂到puppet配置文
件所想要的狀態(tài).
可以使用puppet治理辦事器的整個(gè)生命周期,從初始化到退役.差別于傳統(tǒng)
的例如sun的Jumpstart大概redhat的Kickstart,puppet可以長年讓辦事
器保持最新狀態(tài).只要一開始就正確的配置他們,然后再也不消去管他們.通常
puppet用戶只需要給呆板安裝好puppet并讓他們運(yùn)行,然后剩余的事情都由
puppet來完成.
4.puppet的細(xì)節(jié)和原理
puppet的目的是讓你只會(huì)合于你要治理的目標(biāo),而忽略實(shí)現(xiàn)的細(xì)節(jié),例如命
令名,參數(shù)大概文件格式.puppet把系統(tǒng)里面的用戶,軟件包,辦事看作是“資源,
puppet的作用就是治理這些資源以及資源之間的相互聯(lián)系.
5.底層支撐東西Providers
puppet有許多的資源類型,例如文件,用戶,軟件包,辦事,差別的操縱系統(tǒng)
上對(duì)資源的治理命令是不一樣的,例如debian下面用apt-get安裝軟件,redhat
下面用yum安裝軟件.
因此puppet對(duì)同一資源的治理可以有多個(gè)實(shí)現(xiàn),配置資源的時(shí)候,可以明
確的指定用什么provider.例如在redhat上配置一個(gè)package資源的時(shí)候,
可以指定provide是yum.
6.修改系統(tǒng)配置
puppet通過治理資源的方法來治理系統(tǒng),例如治理某個(gè)軟件是否要安裝,
是安裝最新的照舊安裝了就行.治理某個(gè)辦事是否開啟,治理某個(gè)文件的屬性,
內(nèi)容等等.所有的資源都有對(duì)應(yīng)的幾個(gè)屬性可以設(shè)置.通過設(shè)置屬性的方法來
治理資源.有一種特殊的屬性可以用在所有的資源上面,這種屬性叫做
metaparams(元參數(shù)大概元屬性).
7.資源之間的干系
支持資源之間的干系配置是puppet的要害特性之一.一個(gè)資源的變動(dòng)可以對(duì)另一個(gè)資
源產(chǎn)生一個(gè)行動(dòng).例如/etc/apache.conf這個(gè)資源有竄改,可以讓/etc/init.d/apache這個(gè)資源
reload一下.
如果一個(gè)資源依賴另一個(gè)資源,那么puppet會(huì)優(yōu)先配置被依賴的資源,因此如果你的配置
文件沒有準(zhǔn)備好,對(duì)應(yīng)的辦事是不會(huì)先啟動(dòng)的.
8.exec資源
有時(shí)候.沒有符合的資源來治理辦事器上的配置,為了處理懲罰這個(gè)情況,puppet提供一
個(gè)叫做exec的資源類型.利用這個(gè)資源,你可以執(zhí)行外部命令.例如你可以用svnadmin命令
來創(chuàng)建一個(gè)svn庫.
9-puppet語言
資源
puppet的全部就是治理資源,因此puppet語言的核心就是處理懲罰這些資源,
下面是一個(gè)根本的治理單個(gè)資源的例子.
file{"/etc/hosts":
owner=root,
group=root,
mode=644
)
上面的列子給出了界說一個(gè)資源所需要的所有組件,類型,名字和屬性.界說了一
個(gè)file資源,資源的title(標(biāo)題)是"/etc/hosts",資源的屬性里面設(shè)置了該
文件屬于那個(gè)用戶和組,以及文件的權(quán)限.
也可以在一個(gè)大括號(hào)里面界說多個(gè)資源,通太過號(hào)來區(qū)分.
file(
'7etc/sudoers":
owner="root",
group="root",
mode=644;
"/usr/sbin/sudo":
owner="root",
group="root",
mode=4111
I
制止重復(fù)配置
puppet的編譯器會(huì)制止在差別的代碼段里面治理同一個(gè)資源,如果在差別的代
碼段對(duì)同一個(gè)資源進(jìn)行配置,執(zhí)行puppet的時(shí)候你會(huì)得到一個(gè)語法錯(cuò)誤.
puppet探測這種辯論的情況是通過判斷資源類型和資源的title(標(biāo)題);如果
兩個(gè)資源有相同的資源類型和title;那么就認(rèn)為這兩個(gè)資源是體現(xiàn)同一個(gè)資源.
類class
下面討論如何組合種種資源,把多個(gè)相關(guān)的資源界說在一起,組成一個(gè)類,例如
下面的代碼.
classsudo{
package{sudo:ensure=installed}
file(
"/elc/sudoers":
owner="root",
group="root",
mode=644:
7usr/sbin/sudo":
owner="root",
group="root",
mode=4111
}
)
你在別的代碼段includesudo這個(gè)類,就會(huì)把sudo這個(gè)軟件包(package那
里界說)安裝好,以及兩個(gè)配置文件設(shè)置好.
Inheritance繼承
puppet支持有限制的類的繼承,但是它只有一個(gè)唯一的作用就是:子類里面
的屬性可以籠罩父類里面的屬性.下面是一個(gè)勉強(qiáng)正確的例子.
classbase{
file{〃/my/filo”:content=template(^base.erb,z))
}
classsubinheritsbase(
#overridethecontent
File[〃/my/file〃](content=template(''other.erbz,)}
}
注意,在子類里面的資源類型的界說是用的大寫的File;體現(xiàn)對(duì)這個(gè)資源重新界說,如果用小
寫的file;就會(huì)引起前面說的資源的重復(fù)配置的情況彳導(dǎo)到一個(gè)語法錯(cuò)誤.
一個(gè)龐大的真實(shí)的例子
生活總是不容易阿,真實(shí)情況中,一個(gè)包經(jīng)常關(guān)聯(lián)到幾個(gè)辦事,同時(shí)又關(guān)聯(lián)到差別
的配置文件.險(xiǎn)些所有的類unix系統(tǒng)里面都有ssh辦事.通常,你不但是想安裝
ssh包,并且你還想啟動(dòng)ssh辦事.看看下面的例子
classssh{
package{ssh:ensure=installed}
file{sshd_config:
name=$operatingsystem?{
Darwin=7etc/sshd_config",
Solaris=Vopt/csw/etc/ssh/sshd.config",
default=7etc/ssh/sshd_config"
}.
source=npuppet:///files/ssh/sshd_config"
)
service{ssh:
name=$operatingsystem?{
Solaris=openssh,
default=ssh
},
ensure=running,
subscribe=[Package[ssh],File[sshd_config]]
)
)
上面的代碼安裝好ssh包并開啟ssh辦事,因?yàn)樵诓顒e的操縱系統(tǒng)上面,ssh的配置文件名字
不一樣,所以還可以通過判斷操縱系統(tǒng)的類型來指定資源的title(標(biāo)題).那么操縱系統(tǒng)的類
型是怎么判斷的呢?下面就會(huì)解釋這個(gè)問題.
FacterVariablesfacter變量
在上面的ssh代碼里面.我們引入了一些新的東西,首先是Soperatingsystem這個(gè)變量,這個(gè)
變量被引用.在puppet闡發(fā)代碼的時(shí)候,會(huì)把從facter傳送過來的對(duì)應(yīng)的值賦值給這個(gè)變量.
你可以單獨(dú)手工執(zhí)行facter這個(gè)命令,這個(gè)命令會(huì)打印出它所收集到的關(guān)于主機(jī)的信息、例如
ip地點(diǎn)等等.facter把收集到值發(fā)送個(gè)puppet辦事器端,辦事器端就可以憑據(jù)差別的條件來對(duì)
差別的呆板生成差別的puppet配置文件.最重要的一個(gè)就是辦事器的主機(jī)名.
selectors選擇器
另一個(gè)新東西就是?{.?.}這個(gè)語法,通過對(duì)?前面的變量與括號(hào)里面的選擇項(xiàng)進(jìn)行比擬,
然后把相應(yīng)的值賦值給資源,例如上面的例子.Soperatingsystem如何是Solaris那么ssh這個(gè)
資源的name屬性就是"印enssh":如果不匹配,就賦值成defualt的指,匹配將區(qū)分巨細(xì)寫.
titlevsname(標(biāo)題和名字)
如果你足夠細(xì)心,你會(huì)發(fā)明我們資源指定了第2個(gè)名字,例如上面的service資源ssh.
注意.冒號(hào)前面的名字叫做title(標(biāo)題),標(biāo)題的作用讓作者標(biāo)識(shí)差別的資源.是寫給人以及
puppet語法闡發(fā)器看的.因此配置資源相互干系的時(shí)候,也是用資源的title,name是指定這個(gè)
資源的具體路徑,是寫給盤算機(jī)看的.通常,name會(huì)默認(rèn)和title的值一樣.因此,你可以省略
name.只有情況特殊的時(shí)候才設(shè)置name屬性.
資源之間的干系
最后我們來闡發(fā)所有資源直接的干系.配置文件包辦事最后一行的File[sshd_config]語法
指定了一個(gè)資源參考,注意這里是用的資源的title,這樣你就不消指定資源的全路徑.
subscribe=[Package[sshl,File[sshd_config]]這個(gè)語句體現(xiàn),如果package"ssh"大概文件”
sshd_config"有修改,servicessh需要重啟.
10.語言的其他特性
真相
險(xiǎn)些所有的東西和標(biāo)記在puppet里面都被看作是字符串,包羅數(shù)字和布爾值.
但是如果你用引號(hào)把true和false引起來,他們會(huì)被當(dāng)做字符串,例如你想賦值
給某個(gè)資性“yes”的字符串.
變量
我們已經(jīng)看過什么是變量了,雖然,你還可以直接給他賦值,例如
Smyvar=value
puppet不允許你在同一個(gè)類里面對(duì)一個(gè)變量進(jìn)行兩次賦值.
更多的條件語句
我們已經(jīng)在前面介紹過了選擇器(selectors),在為變量選擇特定的值的時(shí)候非常有用,
Puppet同時(shí)也支持條件語句,使得你能憑據(jù)差別的條件導(dǎo)入差別的資源界說(resource
specifications):
case$opcratingsystcm{
Darwin:{file{"/some/file":ensure=>present})
default:{file{"/other/file":ensure=>present}}
I
與選擇器(selectors)配合,case語句可以進(jìn)行casc-insensitivc匹配。
這里另有一個(gè)簡單的if/else結(jié)構(gòu):
if$should{
file{"/some/file":ensure=>present}
)else(
file{"/other/file":ensure=>present}
)
另外,Puppet從版本0.246開始支持比力運(yùn)算符。
數(shù)組
puppet非常有限的支持?jǐn)?shù)組這種類型,你可以創(chuàng)建數(shù)組,并且給他們賦值,但是
你不能刪除它們.數(shù)組用的最多的情況就是上面ssh例子里面,資源依賴哪種情
況.大概是一次治理多個(gè)相同類型的資源.例如:
user{[bin,adm]:ensure=present}
函數(shù)
puppet支持簡單的函數(shù)語法,例如
notice("Thisisalogmessage")
puppet提供一些有用的函數(shù),例如template利用erb模板來生成文件內(nèi)容,這
樣就可以憑據(jù)差別主機(jī)的情況,生成差別的配置文件,例如配置squid的內(nèi)存緩
存巨細(xì),可以利用facter返回的內(nèi)存值做一個(gè)簡鑿的數(shù)學(xué)盤算,然后寫入到
squid的配置文偉就是通過template來完成的.另外一個(gè)函數(shù)include可以
讀入另外的puppet配置文件大概類.這樣可以把puppet的文件支解的更有規(guī)
津具體的文檔參考puppet的函數(shù)文檔[點(diǎn)這里]
11.puppet語言高級(jí)特性
界說
puppet里面有一個(gè)非常有用的語法結(jié)構(gòu),叫做"definitions”,通過
definitions可以把多個(gè)資源包裝成一個(gè)資源,大概把一個(gè)資源包裝成一個(gè)模型,
便于使用.例如,在debian里面治理一個(gè)apache虛擬機(jī)酢常簡單,把一個(gè)虛擬主
機(jī)的配置文件放到/etc/sites-dvailable/里面,然后做一個(gè)標(biāo)記鏈接到
/etc/sites-enabled目錄,你可以為你每個(gè)虛擬主機(jī)復(fù)制同樣的配置代碼,但是
如果你使用下面的代碼就會(huì)更好和更簡單.
defineviriual_host($docroot,$ip,$order=5()0,$ensure="enabled"){
$file=Vetc/sites-available/Sname.conf
#Thetemplatefillsinthedocroot,ip,andname,
file{
content=>templal3("virtual_host.erb"),
notify=>Service[apache]
)
file{7etc/si(es-enabled/$order-$name.conf:
ensure=>$cnsurc?{
enabled=>$file,
disabled=>absent
然后,你就可以使用這個(gè)界說來治理一個(gè)apache虛擬主機(jī),如下面代碼所示
virtual_host{
order=>100,
ip=>"()0",
docroot=>"/var/www//htdocs"
I
你可以在其他地方重用這個(gè)界說,另一個(gè)界說的用法就是包裝一組exec資源,
讓使用者越發(fā)清晰思路,例如下面的代碼實(shí)現(xiàn)了一個(gè)svn庫的創(chuàng)建的界說.
#Createanewsubversion用ository.
definesvnrcpo(Spath){
exec{"create-svn-$name":
command=>"/usr/bin/svnadmincreate$path/$namc",
creates=>"$palh/$name"#onlyrunifthisfiledocsnotexist
)
)
然后,你可以在其他地方用下面的代碼來創(chuàng)建一個(gè)svn庫
svnrcpo{puppet:path=>"/var/lib/svn"}
nodes節(jié)點(diǎn)
最后一個(gè)關(guān)于puppet語言的語法是節(jié)點(diǎn)界說(nodedefinition),節(jié)點(diǎn)界
說很象類界說,也支持繼承特性.當(dāng)一個(gè)節(jié)點(diǎn)(puppet客戶端)連接到puppet辦
事器端,puppet解析器會(huì)查找這個(gè)節(jié)點(diǎn)的node代碼片斷,然后利用這個(gè)代碼片
斷來生成該客戶端的配置代碼.puppet里面主機(jī)名來標(biāo)明一個(gè)主機(jī),因此主機(jī)名
在puppet里面相當(dāng)重要.如果puppet找不到匹配該主機(jī)名的node界說,就
會(huì)用默認(rèn)的節(jié)點(diǎn)界說來配置該主機(jī).在node里面使用主機(jī)名,需要用單引號(hào)把
主機(jī)名括起來.
node'www.exaKAp/'{
includepublickcy_auth
在上面的代碼中,如果www.examD這個(gè)主機(jī)連接至ijDuniet:辦事
器,DUDDet辦事器就會(huì)憑據(jù)上面的代碼來配置這個(gè)呆板.
12.語言教程
詳細(xì)的DUDDet語言教程,參考「puppet教程]
13.典范的pu叩et使用要領(lǐng)
puppet既可以在單機(jī)上使用,也可以以c/s結(jié)構(gòu)使用.在大范圍使用puppet
的情況下,通常使用c/s結(jié)構(gòu),在這種結(jié)構(gòu)中puppet客戶端只是指運(yùn)行puppet
的辦事器,puppet辦事器端是只運(yùn)行puppetmaster的辦事器.
puppet客戶端首先會(huì)連接到puppet辦事器端,并且通過facter東西把客
戶端的配置信息發(fā)送給辦事器端.辦事器端通過闡發(fā)客戶端的主機(jī)名,通過
node界說,找到該主機(jī)的配置代碼,然后編譯配置代碼,把編譯好的配置代碼發(fā)
回客戶端.客戶端執(zhí)行代碼完成配置.并且把代碼執(zhí)行情況反饋給puppet辦事
器端.
14.總結(jié)
以上列舉了許多非常有用的用法,但所有的這些只是Puppet成果的一個(gè)大
概介紹。這里有一份全面的[文檔],里面附帶了許多例子:為了讓你能過越發(fā)深
入的了解Puppet.我們會(huì)一直維護(hù)這個(gè)文檔,所以如果你有什么具體的要求,
請(qǐng)通過「pupD]與我們聯(lián)系。
二、安裝puppet
Puppet是一款開源的東西,使用自有的puppet描述語言,可治理配置文件、用戶、
cron任務(wù)、軟件包、系統(tǒng)辦事等,實(shí)現(xiàn)自動(dòng)化擺設(shè)。
安裝情況:Redhat5.5
安裝方法:yum
1.更新yum源
rpm-ivh“httD:〃vum.DupDetJ/el/5/Droducts/i386/cuDDetlabs-release-5-l,.noarch.rpm”
rpm-ivh"httD:〃vum.DUDDetlabs.eom/el/5/Droducts/x8664/DUDDeHabs-release-5-Lnoarch.rDrrr
rpm-ivh"http:〃yum.Diwetg/el/6/products/i386/cuDDetlabs-release-6T.noarch.rpm”
rpm-ivh"http:〃vum.DUDvetlabs.eom/el/5/Droducts/x8664/DUDDetlabs-releasD-5-l.noarch.rpm”
2.配置主機(jī)名
puppet的客戶端和辦事器是通過ssl鏈接的,在辦事器有一個(gè)自簽名的根證書,在安
裝軟件的時(shí)候自動(dòng)生成。
注意:
要在安裝軟件以前先設(shè)置主機(jī)名,因?yàn)樯勺C書的時(shí)候,要把主機(jī)名寫入證書。
我們把puppet辦事器的主機(jī)名和域名定為:
vi/etc/hosts
1
3.安裝p叩pet辦事端
1)安裝軟件包
yuminstallmysql-server
yum-yinstallpuppet-serverpuppet
使用yum安裝會(huì)自動(dòng)解決依賴干系,安裝ruby情況。
2)驗(yàn)證安裝包
|root@puppetservcrrpm-qa|grcpmysql-server
mysql-server-5.0.95-5.e15_9
[root@puppetscrvcr?]#rpm-qa|grcppuppet-server
puppet-server-3.6.2-1.el5
[root@puppetserver-]#rpm-qa|greppuppet
puppet-3.6.2-Lel5
puppetlabs-release-5-1
puppet-server-3.6.2-1.e!5
3)修改主機(jī)配置文件
進(jìn)入目錄/etc/puppet/manifbsts
編輯主機(jī)配置文件
Visitc.pp
import"nodes/*.pp"
新建節(jié)點(diǎn)文件夾:mkdirnodes/
在nodes下面新建一個(gè)默認(rèn)節(jié)點(diǎn)文件default_node.pp,新建一個(gè)file資源供測試。
內(nèi)容如下
node/.*\.S/
file{
"/tmp/test_puppet_01.log":
content=>
"hello
thisismyfirstmanifestfile
II
f
mode=>0644;
)
4)配置文件辦事
vi/etc/puppet/fileserver.conf
[MyFileService]文件辦事名
pathZopt/MyFileService文件辦事的目錄設(shè)定
allow*權(quán)限設(shè)定
5)啟動(dòng)puppet-server辦事
[rool@puppetservermanifests]#servicepuppetmasterstart
Startingpuppetmaster:[OK
[root@puppetservermanifests]#servicepuppetmasterstatus
puppet(pid14516)isrunning...
4.安裝Puppet客戶端
1)安裝軟件包
yuminstallpuppet
2)配置主機(jī)名
vi/etc/hosts
1
3)配置puppet客戶端
修改配置文件/etc/puppet/puppet.conf:
server=
certname=認(rèn)證名稱
runinterval=1800同步隔斷秒數(shù)
4)啟動(dòng)客戶端背景進(jìn)程
servicepuppetstart
這樣puppetclient會(huì)在背景執(zhí)行,每到默認(rèn)1800秒會(huì)主動(dòng)與server同步一次。
5.測試連接
每個(gè)客戶端的證書要經(jīng)過根證書簽名才華和辦事器連接C
所以首先要在客戶端執(zhí)行下面的命令來請(qǐng)求辦事器簽名證書。
Puppetagent-test
登錄到辦事器端,執(zhí)行下面的命令杳察是否有客戶端的證書請(qǐng)求:
puppetcertlist-all
如果看到了客戶端的證書請(qǐng)求,用下面的命令對(duì)所有證書請(qǐng)求簽名:
puppetcert-signpuppet_client(客戶端主機(jī)名)#這條命令加客戶端主機(jī)名就能簽字,
自此可以通信。
再次執(zhí)行
Puppetagent-test
就會(huì)從server端得到manifest文件,在客戶端指定位置生產(chǎn)一個(gè)文件。
查察/tmp/test_puppet_01.log即可驗(yàn)證。
6.節(jié)點(diǎn)治理
puppet如何區(qū)分差別的客戶端,并且給差別的辦事端分派manifest呢?
在/etc/puppet/manifests/nodes/目錄下,每臺(tái)辦事器創(chuàng)建一個(gè)節(jié)點(diǎn)文件:
[root@puppetservermanifests]#Is/etc/puppet/manifests/nodes/*.pp
/etc/puppet/manifests/nodes/default_node.pp
/etc/puppet/manifests/nodes/nodeO.pp
/etc/puppet/manifests/nodes/kvm_.pp
/etc/puppet/manifests/nodes/.pp
/etc/puppet/manifests/nodes/nodeOOOOO.pp
/etc/puppet/manifests/nodes/.pp
/etc/puppet/manifests/nodes/.pp
/etc/puppet/manifests/nodes/.pp
/etc/puppet/manifests/nodes/.pp
puppet使用node資源做這件事情,node背面跟客戶端的主機(jī)名。
node''
三、Puppet參考文檔
英文
https://docs.puppetlabs.com/
四、MCollective介紹
1.簡介
MCollective是一1^構(gòu)建辦事器編排(ServerOrchestralion)和并行事情執(zhí)行系統(tǒng)的框架。
首先,MCollective是一種針對(duì)辦事器集群進(jìn)行可編程控制的系統(tǒng)治理解決方案。在這
一點(diǎn)上,它的成果類似:Func,Fabric和Capistrano。
其次,MCollective的設(shè)計(jì)沖破基于中心存儲(chǔ)式系統(tǒng)和像SSH這樣的東西,不再僅
僅癡迷于SSH的For循環(huán)。它使用宣布訂閱中間件(PublishSubscribeMiddleware)這
樣的現(xiàn)代化東西和通過目標(biāo)數(shù)據(jù)(metadata)而不是主機(jī)名(hostnames)來實(shí)時(shí)發(fā)明網(wǎng)絡(luò)資源
這樣的現(xiàn)代化理念。提供了一個(gè)可擴(kuò)展的并且迅速的并行執(zhí)行情況。
MCollective東西為命令行界面,但它可與數(shù)千個(gè)應(yīng)用實(shí)例進(jìn)行通信,并且傳輸速度驚
人。無論擺設(shè)的實(shí)例位于什么位置,通信都能以線速進(jìn)行傳輸,使用的是一個(gè)類似多路傳
送的推送信息系統(tǒng)。MCollective東西沒有可視化用戶界面,用戶只能通過檢索來獲取需
要應(yīng)用的實(shí)例。PuppetDashboard提供有這部分成果。
2.MCollective特點(diǎn)
?能夠與小到人型辦事招集群交互
?使用廣播范式(broadcastparadigm)來進(jìn)行請(qǐng)求分發(fā),所有辦事器會(huì)同時(shí)收到請(qǐng)求,而只
有與請(qǐng)求所附帶的過濾器匹配的辦事器才會(huì)去執(zhí)行這些請(qǐng)求。沒有中心數(shù)據(jù)庫來進(jìn)行同步,
網(wǎng)絡(luò)是唯一的真理
?沖破了以往用主機(jī)名作為身份驗(yàn)證手段的龐大命名規(guī)矩。使用每臺(tái)呆板自身提供的富厚
的目標(biāo)數(shù)據(jù)來定位它們。目標(biāo)數(shù)據(jù)來自于:Puppet,Chef,Facter,Ohai大概自身提供的插
?使用命令行調(diào)用遠(yuǎn)程署理
?能夠?qū)懽越缯f的設(shè)備陳訴
?大量的署理來治理包,辦事和其他來自于社區(qū)的通用組件
?允許寫SimplcRPC氣勢派頭的署理、客戶端和使用Ruby實(shí)現(xiàn)WebUis
?外部可插件化(pluggable)實(shí)現(xiàn)本地需求
?中間件系統(tǒng)已有富厚的身份驗(yàn)證和授權(quán)模型,利用這些作為控制的第一道防地。
?重用中間件來做集群、路由和網(wǎng)絡(luò)斷絕以實(shí)現(xiàn)寧靜和可擴(kuò)展安裝。
五、安裝MCollective
1-server端安裝
1)安裝軟件包
首先要確保puppetyum源在,沒有的話請(qǐng)安裝,如下(redhat6、centos6):
rpm-ivhhttp://yum.puppetlabs.eom/el/6/products/x8664/puppetlabs-release-6-6.noarch
.rpm
yuminstallmcollective-*-y
yuminstallactivemqactivemq-info-provider-y
2)配置activemq
vi/etc/activemq/activemq.xml
找至!Jauthenticationuser修改用戶名和密碼:默認(rèn)是:admin,secret
找到transportconnector修改其中的
name="stomp+nio"uri="stomp+nio://:61637&
gt;為name="stomp"uri="stomp://:61637>
3)配置mcollective
vi/etc/mcollective/server.cfg
plugin.stomp.host=localhost##mcollectiveserverIPO
plugin.stomp.user=mcollective##這個(gè)是activemq.xml里的用戶名
plugin.stomp.password=secret##這個(gè)是activemq.xml里界說的密碼
vi/etc/mcollective/client.cfg
plugin.stomp.host=localhost##mcollectiveserverIP
plugin.stomp.user=mcollective##這個(gè)是activemq.xml里的用戶名
plugin.stomp.password=secret##這個(gè)是activemq.xml里界說的密碼
4)啟動(dòng)
/etc/init.d/activemqstart
/etc/init.d/mcollectivestart
chkconfigmcollectiveon
chkconfigactivemqon
2.client安裝配置:
1)安裝軟件包
yuminstallmcollective-*-y
2)配置客戶端
vi/etc/mcollective/server.cfg
plugin.stomp.host=04##指向mcoolective的IP。
plugin.stomp.user=mcollective##這個(gè)是activemq.xml里的用戶名
plugin.stomp.password=secret##這個(gè)是activemq.xml里界說的密碼
identity=(界說主機(jī)名帶域名)
vi/etc/mcollective/client.cfg
##指向的
plugin.stomp.host=04mcoolectiveIPO
plugin.stomp.user=mcollective##這個(gè)是activemq.xml里的用戶名
plugin.stomp.password=secret##這個(gè)是activemq.xml里界說的密碼
3)啟動(dòng)客戶端
/etc/init.d/mcollectivestart
chkconfigmcollectiveon
3.查察連接情況
在server端執(zhí)行:
mcofind大概是mcoping即可找到client
4.其他使用命令
重啟syslog辦事:mcoservicesyslogrestart
安裝軟件:mcopackage-vinstallscreen##-v顯示詳細(xì)信息
創(chuàng)建文件:mcorpcfilemgrtouchfile=/tmp/test.txt
刪除文件:mcorpcfilemgr-vremovefile=/tmp/test.txt
查察文件狀態(tài):mcorpcfilemgrstatusfile=/etc/puppet/puppet.conf
資助:mcohelp
六、Rsync安裝
1.Rsync介紹
rsync,remotesynchronize顧名思意就知道它是一款實(shí)現(xiàn)遠(yuǎn)程同步成果的軟件,它
在同步文件的同時(shí),可以呆持原來文件的權(quán)限、時(shí)間、軟硬鏈接等附加信息。rsync是用
"rsync算法”提供了一個(gè)客戶機(jī)和遠(yuǎn)程文件辦事器的文件同步的快速要領(lǐng),并且可以通過
ssh方法來傳輸文件,這樣其保密性也非常好,另外它照舊免費(fèi)的軟件。
rsync包羅如下的一些特性:
?能更新整個(gè)目錄和樹和文件系統(tǒng);
?有選擇性的保持標(biāo)記鏈鏈、硬鏈接、文件屬于、權(quán)限、設(shè)備以實(shí)時(shí)間等;
?對(duì)付安裝來說,無任何特殊權(quán)限要求;
?對(duì)付多個(gè)文件來說,內(nèi)部流水線淘汰文件期待的延時(shí);
?能用rsh、ssh或直接端口做為傳輸入端口;
?支持匿名rsync同步文件,是理想的鏡像東西;
2.安裝rsync
Yuminstallrsync
Yuminstallxinetd
3.配置rsync
rsync的主要有以下三個(gè)配置文件rsyncd.conf(主配置文件)、rsyncd.secrets(密碼文
件)、rsyncd.motd(rysnc辦事器信息)
辦事器配置文件(/etc/rsyncd.conf),該文件默認(rèn)不存在,請(qǐng)創(chuàng)建它。
具體步調(diào)如下:
#touch/etc/rsyncd.conf
#創(chuàng)建rsyncd.conf,這是rsync辦事器的配置文件。
#touch
#創(chuàng)建rsyncd.secrets,這是用戶密碼文件。
/etc/rsyncd.secrets
chmod600/etc/rsyncd/rsyncd.secrets
將rsyncd.secrets這個(gè)密碼文件的文件屬性設(shè)為root
擁有,且權(quán)限要設(shè)為600,不然無法備份樂成!
#touch/etc/rsyncd.motd
1)設(shè)定/etc/rsyncd.conf
rsyncd.conf是rsync辦事器主要配置文件。我們先來個(gè)簡單的示例,背面在詳細(xì)說明各
項(xiàng)作用。
比如我們要備份辦事器上的/home和/opt,在/home中我想把easylife和samba目錄
排除在外;
#DistributedunderthetermsoftheGNUGeneralPublicLicensev2
#Minimalconfigurationfileforrsyncdaemon
#Seersync(l)andrsyncd.conf(5)manpagesforhelp
#Thislineisrequiredbythe/etc/init.d/rsyncdscript
pidfile=/var/run/rsyncd.pid
port=873
address=71
#uid=nobody
#gid=nobody
uid=root
gid=root
usechroot=yes
readonly=yes
#limitaccesstoprivateLANs
hostsallow=//
hostsdeny=*
maxconnections=5
motdfile=/etc/rsyncd.motd
#Thiswillgiveyouaseparatelogfile
#logfile=/var/log/rsync.log
#Thiswilllogeveryfiletransferred-upto85,000+peruser,persync
#transferlogging=yes
logformat=%t%a%m%f%b
syslogfacility=Iocal3
timeout=300
[rhel4home]
path=/home
list=yes
ignoreerrors
authusers=root
secretsfile=/etc/rsyncd.secrets
comment=ThisisRIILL4data
exclude=easylife/samba/
[rhel4opt]
path=/opt
list=no
ignoreerrors
comment=ThisisRHEL4opt
authusers=easylife
secretsfile=/etc/rsyncd/rsyncd.secrets
注:關(guān)于authusers是必須在辦事器上存在的真實(shí)的系統(tǒng)用戶,如果你想用多個(gè)用戶以,
號(hào)離隔,比如authusers=easylife,root
2)iS^/etc/rsyncd.secrets密碼文件
密碼文件格式很簡單,rsyncd.secrets的內(nèi)容格式為:
用戶名:密碼
我們?cè)诶又衦syncd.secrets的內(nèi)容如下類似的;在文檔中說,有些系統(tǒng)不支持長密碼,
自己實(shí)驗(yàn)著設(shè)置一下吧。
easylife:keer
root:mike
chownroot.rootrsyncd.secrets#修改屬主
chmod600rsyncd.secrets#修改權(quán)限
注:1、將rsyncd.secrets這個(gè)密碼文件的文件屬性設(shè)為root擁有,且權(quán)限要設(shè)為600,不
然無法備份樂成!出于寧靜目的,文件的屬性必須是只有屬主可讀。
2、這里的密碼值得注意,為了寧靜你不能把系統(tǒng)用戶的密碼寫在這里。比如你的系統(tǒng)用戶
easylife密碼是000000,為了寧靜你可以讓rsync中的easylife為keer。這和samba
的用戶認(rèn)證的密碼原理是差不多的。
3)設(shè)定rsyncd.motd文件
它是界說rysnc辦事器信息的,也就是用戶登錄信息。比如讓用戶知道這個(gè)辦事器是誰提
供的等;類似ftp辦事器登錄時(shí),我們所看到的ftp……。雖然這在全局界
說變量時(shí),并不是必須的,你可以用#號(hào)注掉,或刪除,我在這里寫了一個(gè)rsyncd.門otd
的內(nèi)容為:
++++++++++++++++++++++++++++++++++++++++++++++
Welcometousethersyncservices!
20022009
++++++++++++++++++++++++++++++++++++++++++++++
4.rsyncd.conf酉己置文件詳解
1)全局界說
在rsync辦事器中,全局界說有幾個(gè)比力關(guān)健的,憑據(jù)我們前面所給的配置文件
rsyncd.conf文件;
pidfile=/var/run/rsyncd.pid注:報(bào)告進(jìn)程寫到/var7run/rsyncd.pid文件中;
port=873注:指定運(yùn)行端口,默認(rèn)是873,您可以自己指定;
address=71注:指定辦事器IP地點(diǎn)
uid=nobody
gid=nobdoy
注辦事器端傳輸文件時(shí),要發(fā)哪個(gè)用戶和用戶組來執(zhí)行,默認(rèn)是nobody.如果用nobody
用戶和用戶組,可能遇到權(quán)限問題,有些文件從辦事器上拉不下來。所以我就偷懶,為了方
便,用了root0不外您可以在界說要同步的目錄時(shí)界說的模塊中指定用戶來解決權(quán)限的問
題。
usechroot=yes
注:用chroot,在傳輸文件之前,辦事器守護(hù)步伐在將chroot到文件系統(tǒng)中的目錄中,
這樣做的利益是可能掩護(hù)系統(tǒng)被安裝漏洞侵襲的可能。缺點(diǎn)是需要超等用戶權(quán)限。另外對(duì)標(biāo)
記鏈接文件,將會(huì)排除在外。也就是說,你在「sync辦事器上,如果有標(biāo)記鏈接,你在備
份辦事器上運(yùn)行客戶端的同步數(shù)據(jù)時(shí),只會(huì)把標(biāo)記鏈接名同步下來,并不會(huì)同步標(biāo)記鏈接的
內(nèi)容;這個(gè)需要自己來嘗試
readonly=no
readonly
指定是否允許客戶上傳文件,若為yes則不允許上傳;若為no并且辦事器目錄也具有讀寫
權(quán)限則允許上傳.
writeonly
指定是否允許客戶下載文件.若為yes則不允許下載;若為no并且辦事器目錄也具有讀權(quán)限則
允許下載
#limitaccesstoprivateLANs
hostsallow=//
注:在您可以指定單個(gè)IP,也可以指定整個(gè)網(wǎng)段,能提高寧靜性。格式是ip與ip之間、
ip和網(wǎng)段之間、網(wǎng)段和網(wǎng)段之間要用空格離隔;
maxconnections=5
注:客戶端最多連接數(shù)
motdfile=/etc/rsyncd/rsyncd.motd
注:motdfile是界說辦事器信息的,要自己寫rsyncd.motd文件內(nèi)容。當(dāng)用戶登錄時(shí)
會(huì)看到這個(gè)信息。比如我寫的是:
++++++++++++++++++++++++++++++++++++++++++++++
Welcometousethersyncservices!
20022009
++++++++++++++++++++++++++++++++++++++++++++++
logfile=/var/log/rsync.log
注:rsync辦事器的日志;
transferlogging=yes
注:這是傳輸文件的日志
logformat=%t%a%m%f%b
syslogfacility=Iocal3
timeout=300
2)模塊界說
模塊界說什么呢?主要是界說辦事器哪個(gè)目錄要被同步,每個(gè)模塊都要以[name]形式。這
個(gè)名字就是在rsync客戶端看到的名字,其實(shí)有點(diǎn)象Samba辦事器提供的共享名。而辦
事器真正同步的數(shù)據(jù)是通過path指定的。我們可以憑據(jù)自己的需要,來指定多個(gè)模塊。每
個(gè)模塊要指定認(rèn)證用戶,密碼文件、但排除并不是必須的
下面是前面配置文件模塊的例子:
[rhel4home]#模塊它為我們提供了一個(gè)鏈接的名字,在本模塊中鏈接到了/home目錄;
要用[name]形式
path=/home#指定文件目錄所在位置,這是必須指定的
authusers=root#認(rèn)證用戶是root,是必須在辦事器上存在的用戶
list=yes#list意思是舊rsync辦事器上提供同步數(shù)據(jù)的目錄在辦事器上模塊是否顯示
列出來。默認(rèn)是yes。如果你不想列出來,就n。;如果是no是比力寧靜的,至少別人
不知道你的辦事器上提供了哪些目錄。你自己知道就行了;
ignoreerrors#忽略10錯(cuò)誤
secretsfile=/etc/rsyncd.secrets#密碼存在哪個(gè)文件
comment=linuxsirhomedata#注釋可以自己界說
exclude=beinan/samba/
注:exclude是排除的意思,也就是說,要把/home目錄下的easylife和samba排除在
外;easylife/和samba/目錄之間有空格離開
[rhel4opt]
path=/opt
list=no
comment=optdir
authusers=beinan
secretsfile=/etc/rsyncd/rsyncd.secrets
ignoreerrors
5.啟動(dòng)rsync辦事器
啟動(dòng)rsync辦事器相當(dāng)簡單,有以下幾種要領(lǐng)
A、-daemon參數(shù)方法,是讓rsync以辦事器模式運(yùn)行
#/usr/bin/rsync-daemon-config=/etc/rsyncd/rsyncd.conf#-config用于
指定rsyncd.conf的位置,如果在/etc下可以不寫
B、xinetd方法
通過servicexinetdrestart來重啟rsync辦事
修改services參加如下內(nèi)容
#nano-w/etc/services
rsync873/tcp#rsync
rsync873/udp#rsync
這一步一般可以不做,通常都有這兩行(我的RHEL4和GENTOO默認(rèn)都有)。修改的目的
是讓系統(tǒng)知道873端口對(duì)應(yīng)的辦事名為rsync。如沒有的話就自行參加。
設(shè)定/etc/xinetd.d/rsyncz簡單例子如下:
#default:off
#description:Thersyncserverisagoodadditiontoamftpserver,asit\
#allowscrcchecksummingetc.
servicersync
(
disable=no
socket_type=stream
wait=no
user=root
server=/usr/bin/rsync
server_args=—daemon
log_on_failure+=USERID
)
上述,主要是要打開rsyncdaemon,一旦有rsyncclient要連接除xinetd會(huì)把它
轉(zhuǎn)介東合rsyncd(port873)。然后servicexinetdrestart,使上述設(shè)定生效.
6.防火墻設(shè)置
Linux防火墻是用iptables,所以我們至少在辦事器端要讓你所界說的「sync辦事器端口
通過,客戶端上也應(yīng)該讓通過。
#iptables-AINPUT-ptcp-mstate-stateNEW-mtcp—dport873-jACCEPT
#iptables-L查察一下防火墻是不是打開了873端口
如果你不太懂防火墻的配置,可以先serviceiptablesstop將防火墻關(guān)掉。雖然在生產(chǎn)情
況這是很危險(xiǎn)的,做實(shí)驗(yàn)才可以這么做喲!
7.通過rsync客戶端來同步數(shù)據(jù)
語法詳解
在配置完rsync辦事器后,就可以從客戶端發(fā)出「sync命令來實(shí)現(xiàn)種種同步的操縱。rsync
有許多成果選項(xiàng),下面就對(duì)介紹一下常用的選項(xiàng):
rsync的命令格式可以為:
1.rsync[OPTION]...SRC[SRC]...[USER@]HOST:DEST
2.rsync[OPTION]...[USER@]HOST:SRCDEST
3.rsync[OPTION]...SRC[SRC]...DEST
4.rsync[OPTION]...[USER@]HOST::SRC[DEST]
5.rsync[OPTION]...SRC[SRC]...[USER@]HOST::DEST
6.rsync[OPTION]...rsync://[USER@]HOST[:PORT]/SRC[DEST]
rsync有六種差別的事情模式:
1.拷貝本地文件;當(dāng)SRC和DES路徑信息都不包羅有單個(gè)冒號(hào)”:“離開符時(shí)就啟動(dòng)這種事
情模式。
2.使用一個(gè)遠(yuǎn)程shell步伐(如rsh、ssh)來實(shí)現(xiàn)將本地呆板的內(nèi)容拷貝到遠(yuǎn)程呆板,當(dāng)
DST路徑地點(diǎn)包羅單個(gè)冒號(hào)”:“離開符時(shí)啟動(dòng)該模式。
3.使用一個(gè)遠(yuǎn)程shell步伐(如rsh.ssh)來實(shí)現(xiàn)將因呈呆板的內(nèi)容拷貝到本地呆板,當(dāng)
SRC地點(diǎn)路徑包羅單個(gè)冒號(hào)”:“離開符時(shí)啟動(dòng)該模式。
4.從遠(yuǎn)程rsync辦事器中拷貝文件到本地機(jī)。當(dāng)SRC路徑信息包羅”::“離開符時(shí)啟動(dòng)該
模式。
5.從本地呆板拷貝文件到遠(yuǎn)程rsync辦事器中。當(dāng)DST路徑信息包羅”::“離開符時(shí)啟動(dòng)
該模式。
6.列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸,不外只要在命令中省略掉本地機(jī)信息即可。
-a以archive模式操縱、復(fù)制目錄、標(biāo)記連接相當(dāng)于-HptgoD
rsync中的參數(shù)
-r是遞歸
-I是鏈接文件,意思是拷貝鏈接文件;-P體現(xiàn)保持文件原有權(quán)限;-t保持文件原有時(shí)間;
-g保持文件原有用戶組;-0保持文件原有屬主;-D相當(dāng)于塊設(shè)備文件;
-z傳輸時(shí)壓縮;
-P傳輸進(jìn)度;
-V傳輸時(shí)的進(jìn)度等信息,和有點(diǎn)干系,自己試試??梢钥次臋n;
-essh的參數(shù)創(chuàng)建起加密的連接“
-u只進(jìn)行更新,防備本地新文件被重寫,注意兩者呆板的時(shí)鐘的同時(shí)
-progress是指顯示出詳細(xì)的進(jìn)度情況
-delete是指如果辦事器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的
T
-password-file=/password/path/file來指定密碼文件,這樣就可以在腳本中使用而無
需交互式地輸入驗(yàn)證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有屬主可
讀。
8.一些實(shí)例
B1,列出rsync辦事器上的所提供的同步內(nèi)容;
首先:我們看看rsync辦事器上提供了哪些可用的數(shù)據(jù)源
#rsync-list-onlyroot@::
++++++++++++++++++++++++++++++++++++++++++++++
Welcometousethersyncservices!
20022009
++++++++++++++++++++++++++++++++++++++++++++++
rhel4homeThisisRHEL4data
注:前面是rsync所提供的數(shù)據(jù)源,也就是我們?cè)趓syncd.conf中所寫的[rhel4home]模
塊。而ThisisRHEL4data”是由[rhel4home]模塊中的comment=ThisisRHEL4
data提供的;為什么沒有把rhel40Pt數(shù)據(jù)源列出來呢?因?yàn)槲覀冊(cè)冢踨hel4opt]中已經(jīng)把
list=no了。
$rsync-list-onlyroot@::::rhel4home
++++++++++++++++++++++++
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑造獨(dú)特定制新我
- 旅游行業(yè)創(chuàng)新驅(qū)動(dòng)
- 2落花生說課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語文統(tǒng)編版
- 外聘勞務(wù)合同(2篇)
- 培訓(xùn)機(jī)構(gòu)受單位委托培訓(xùn)合同(2篇)
- 大宗礦產(chǎn)品銷售代理合同(2篇)
- 2024版二手房買賣協(xié)議(含裝修情況)2篇
- 2024氣體購銷合同范本
- 專業(yè)油罐儲(chǔ)存服務(wù)協(xié)議模板(2024年)版
- 物業(yè)管理裝修協(xié)議書
- 挑戰(zhàn)杯生命科學(xué)獲獎(jiǎng)作品范例
- 微信如何進(jìn)行視頻聊天
- T∕CNFMA B003-2018 林火防撲機(jī)械 以汽油機(jī)為動(dòng)力的便攜式化學(xué)泡沫滅火機(jī)
- 醫(yī)院崗位設(shè)置與人員編制標(biāo)準(zhǔn)
- 全貼合OCA工藝簡介
- 部編版八上語文古代詩歌鑒賞對(duì)比閱讀(含答案)
- 帶壓堵漏夾具及規(guī)范化設(shè)計(jì)和選擇
- 單人簡易呼吸球囊操作流程1
- 標(biāo)書密封條格式模板大全(共33頁)
- 鐵路交通事故分類表
- 維修確認(rèn)單(共4頁)
評(píng)論
0/150
提交評(píng)論