在GT3上安裝GridFtp服務(wù)的配置心得_第1頁
在GT3上安裝GridFtp服務(wù)的配置心得_第2頁
在GT3上安裝GridFtp服務(wù)的配置心得_第3頁
在GT3上安裝GridFtp服務(wù)的配置心得_第4頁
在GT3上安裝GridFtp服務(wù)的配置心得_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、在GT3上安裝GridFtp服務(wù)的配置心得清華大學(xué)計算機系高性能所 王 慶1. 系統(tǒng)結(jié)構(gòu)程序流程 認(rèn)證過程GridFtp ServerGridFtp ServerGlobus Service ContainerReliableFileTransfer Service(it works just like globus-url-copy in GT 2.2)Client ApplicationAccess Service InstanceStatus ReportPostgresDatabaseServerProxyHost CertificationUser CertificationProx

2、yProxyUser CertificationProxy2. 系統(tǒng)配置a. 配置GridFtp服務(wù)器用戶名: gridftp 機器名: frank.tsinghua* 設(shè)置環(huán)境變量set GLOBUS_LOCATION=<Globus Toolkit alpha3 安裝目錄>, set path=$path:$GLOBUS_LOCATION/bin: $GLOBUS_LOCATION/sbinset LD_LIBARAYPATH=$GLOBUS_LOCATION/lib:$ LD_LIBARAYPATH在進(jìn)行一下操作之前,請先確定以上環(huán)境變量是否配置正確,任何時候系統(tǒng)報告找不到某

3、某文件,請再次檢查你的環(huán)境變量*獲取證書開啟GridFtp的站點必須擁有host證書,關(guān)于如何配置自己的CA站點和獲取host證書,請參考1,2,3*建立證書代理 為了方便,請在$HOME目錄下建立.globus目錄,并執(zhí)行以下命令 >ln s /etc/grid-security/hostcert.pem $HOME/.globus/usercert.pem>ln s /etc/grid-security/hostkey.pem $HOME/.globus/userkey.pem然后就可以建立用戶代理證書>grid-proxy-init verify debug (出錯,請

4、參考3.1)如果要消除該證書,請執(zhí)行>grid-proxy-destroy*配置GridFtp用戶subject到本地系統(tǒng)用戶的映射 GridFtp必須把用戶證書的subject映射到本地系統(tǒng)用戶,才能夠?qū)Ρ镜啬夸涍M(jìn)行訪問,因此必須建立grid-mapfile。 在$HOME目錄下建立文件”.gridmap” 文件結(jié)構(gòu)為: “<subject name>” <local system username> 我在測試時,填入的是: “/O=Globus/OU=frank.tsinghua/CN=kantsky” gridftp*啟動服務(wù) 在完成以上各步驟以后,就可以啟

5、動GridFtp服務(wù)了 >in.ftpd S p 9844 (-S選項是讓服務(wù)在后臺運行,-p 選項是設(shè)置服務(wù)端口)* 測試* 用另一用戶kantsky登陸(請確保該用戶已有統(tǒng)一CA站點簽署的用戶證書,并建立好了證書代理),執(zhí)行以下命令:>globus-url-copy s “/O=Globus/OU=frank.tsinghua/CN=host/frank.tsinghua” gsiftp:/localhost:9844/tmp/file1 file:/tmp/file2如果執(zhí)行發(fā)生錯誤,請參考3.2如果你已完成下面的步驟b,可執(zhí)行以下命令測試GridFtpClient, >

6、;java org.globus.ftp.app.Transfer localhost 9844 /tmp file1 localhost 9844 /tmp file2 注意這里是8個參數(shù),一個不能少。b. ServiceContainer站點配置用戶名: kantsky *安裝Globus toolkit alpha3.0 binary package 參考有關(guān)文章,并測試以保證你安裝成功。 *數(shù)據(jù)庫服務(wù)器設(shè)置(如果沒有安裝postgres數(shù)據(jù)庫,請先安裝再執(zhí)行以下步驟) >su postgres>initdb/初始化數(shù)據(jù)庫 >pg_ctl o “-i” l logfil

7、e start /啟動服務(wù)器 >createdb ogsa /建立ogsa數(shù)據(jù)庫 >psql d ogsa l rft_database_schema.sql /執(zhí)行該文件中的sql語句,建立關(guān)系表 注: 我安裝完后,發(fā)現(xiàn)找不到該文件,不知道是我安裝的問題,還是globus忘給了。如果你沒有找到,就自己建一個吧,可能的命令如下(因為是反編譯binary版所帶的rft包得到的,所以可能有不全的地方):drop sequence transferid_seq;create sequence transferid_seq;drop table proxyinfo;drop table r

8、estart;drop table transfer;create table transfer(id int primary key default nextval('transferid_seq'),source_url text not null,dest_url text not null,status int,attempts int,dcau bool,parallel_streams int,tcp_buffer_size int);create table proxyinfo( transfer_id int references transfer, proxy

9、_loc text not null);create table restart( transfer_id int references transfer, marker text not null);要停止服務(wù)器,執(zhí)行: >pg_ctl stop 由于你需要對數(shù)據(jù)庫進(jìn)行操作,所以還需要建立合法的賬號,建議和你當(dāng)前的用戶名相同 >createuser kantsky*測試* 執(zhí)行 >psql d ogsa u kantsky c “select * from Transfer”如果執(zhí)行成功表明你的數(shù)據(jù)庫配置成功了。*ReliableFileTransfer(RFT) Serv

10、ice的配置打開server-config.wsdd文件,找到 RFT服務(wù)的配置位置修改以下幾個參數(shù)<parameter name="username" value="kantsky"/> /你的用戶名<parameter name="connectionURL" value="jdbc:postgresql:/localhost/ogsa"/>/數(shù)據(jù)庫連接字符串<parameter name="password" value=""/>/用

11、戶密碼<parameter name="JdbcDriver" value="org.postgresql.Driver"/>/ jdbc驅(qū)動<parameter name="gridmap" value="/etc/grid-security/grid-mapfile"/> /grid-mapfile位置*獲取證書和建立證書代理這個站點只需要用戶證書,所以你只要擁有該用戶的用戶證書就可以了。(關(guān)于用戶證書獲取,請參考1,2,3),執(zhí)行>grid-proxy-init verify d

12、ebug 建立證書代理*配置grid-mapfile和GridFtp服務(wù)器站點一樣,這個站點也必須配置相應(yīng)的subject到用戶名的映射,文件結(jié)構(gòu)同前面提到的.gridmap文件一樣。這里我們設(shè)置為:“/O=Globus/OU=frank.tsinghua/CN=kantsky” kantsky“/O=Globus/OU=frank.tsinghua/CN=client” kantsky*啟動服務(wù)在Globus安裝目錄下,執(zhí)行>ant startContainer啟動服務(wù)c. 客戶端配置用戶名:client 基本配置:擁有與前述站點相同的CA簽署的用戶證書,并建立證書代理你可以自己寫客戶

13、端測試,也可以直接用globus的那個服務(wù)瀏覽程序測試。1 用globus的服務(wù)瀏覽程序測試在client-gui-config.wsdd文件中加入以下幾行:<panel portType="ReliableTransferPortType" class="org.globus.ogsa.gui.ReliableTransferPortTypePanel"/><panel serviceData="FileTransferProgress" class="org.globus.ogsa.gui.FileTr

14、ansferProgressServiceDataPanel"/><panel serviceData="FileTransferRestartMarker" class="org.globus.ogsa.gui.FileTransferRestartMarkerServiceDataPanel"/>(1)執(zhí)行ant gui, 在服務(wù)列表中找到ReliableFileTransfer服務(wù)項,雙擊該項。(2) 在Authorization一欄中,將XML Signature和后面Delegation中的Full選上(3) 輸入你

15、要建立的實例名, 單擊create instance按鈕如果成功,將出現(xiàn)一個新的窗口.(4) 在sourceURL和destURL中填入相應(yīng)的文件位置,如: gsiftp:/localhost:9844/tmp/file1和 gsiftp:/localhost:9844/tmp/file2(5) 在Authorization一欄中,將XML Signature和后面Delegation中的Full選上(6) 單擊submitJob執(zhí)行拷貝2 自己寫客戶端測試如果你想自己寫個客戶端測試一下,可以參考以下代碼:url="96:8081/ogsa/service

16、s/base/reliabletransfer/ReliableTransferFactoryService"try setProperty(Constants.MSG_SEC_TYPE, Constants.SIGNATURE);/建立實例 FactoryServiceGridLocator factoryService = new FactoryServiceGridLocator(); URL endpoint=new URL(url); FactoryPortType factory = factoryService.getFactoryPort(endpoint); GSI

17、Utils.setDefaultGSIProperties(Stub)factory,endpoint); CreationType creation = new CreationType(); / 建立安全上下文 (Stub)factory)._setProperty(Constants.MSG_SEC_TYPE, Constants.SIGNATURE); (Stub)factory)._setProperty(GSIConstants.GSI_MODE,GSIConstants.GSI_MODE_FULL_DELEG); ServiceTerminationReferenceType s

18、tatus = factory.createService(creation); GSR reference = GSR.newInstance(status.getReference();/獲取實例的引用ReliableFileTransferServiceGridLocator locator=new ReliableFileTransferServiceGridLocator(); ReliableTransferPortType client=locator.getReliableTransferPort(status);/進(jìn)行文件傳輸 String sourceURL="g

19、si96:9844/tmp/frank.txt" String destURL="gsi96:9844/tmp/wang.txt" ReliableTransferAttributes attributes=new ReliableTransferAttributes(); ReliableTransferOptions options=new ReliableTransferOptions(); options.setParallelStreams(1); options.setTcpBufferSize(10

20、24); attributes.setReliableTransferOptions(options);/ 該引用的安全上下文 (Stub)client)._setProperty(Constants.MSG_SEC_TYPE, Constants.SIGNATURE); (Stub)client)._setProperty(GSIConstants.GSI_MODE,GSIConstants.GSI_MODE_FULL_DELEG); client.submitTransferJob(sourceURL,destURL,attributes); catch(Exception e) e.pr

21、intStackTrace(); 3. 典型錯誤 1. grid-proxy-init出錯a. 系統(tǒng)找不到usercert.pem,請檢查你是否已獲取證書且usercert.pem的所有者是你而非root賬號,并把它拷到$HOME/.globus/目錄下b. usercert.pem和userkey.pem權(quán)限設(shè)置錯誤,請確保兩個文件的所有者是該用戶,并且userkey的權(quán)限分別是400c. 對于用戶證書,當(dāng)你加上-verify選項時,報verify error,這一般發(fā)生在自己建立CA站點的情況下,在配置CA站點時,請注意一級站點和二級站點的設(shè)置,必須保證每個證書的subject除Commo

22、nName外,其他項都和CA的subject相同d. 本地分布式CA的設(shè)置,必須把CA站點所給的分布式CA包設(shè)置為默認(rèn)CA機構(gòu)2. globus-url-copy 出錯a. connection refused, 可能是你的服務(wù)器未啟動,或者端口已被占用(通常使用 S選項時會發(fā)生)b. system call faild, 一般是由于你沒有全限操作你需要讀取或?qū)懭氲哪繕?biāo)文件或目錄c. target subject name匹配錯誤, 確定-s 后所跟的subject名是否和ftp服務(wù)器的subject 名字相同d. no local globus id map ,在$HOME/.gridmap文件里找不到相應(yīng)的名字映射e. 找不到/tmp/x509_u*文件,你必須建立證書代理才能使用這個程序f. n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論