锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
runsisi AT hust.edu.cn
2015/06/12
鏈枃鎬葷粨鍩轟簬ceph瀛樺偍鍚庣鐨?/span>iSCSI target瀹炵幇錛岄拡瀵瑰嚑縐嶅彲鑳界殑瀹炵幇鎬濊礬榪涜鍒嗘瀽錛屽茍杈撳嚭鏈枃妗o紝鏈枃鍐呭緇勭粐緇撴瀯濡備笅錛?/span>
1. 鎻忚堪鏈枃鐨勭洰鐨勫強鍐呭錛?/span>
2. iSCSI浣跨敤ceph浣滀負瀛樺偍鍚庣鐨勫熀鏈疄鐜版濊礬錛?/span>
3. 鍒嗗埆闃愯堪鍑犵鍙兘鐨勫疄鐜版柟寮忥紝鍒嗘瀽鍏跺悇鑷殑鐗圭偣鍜屽彲鑳藉瓨鍦ㄧ殑涓浜涙妧鏈殰紕嶏紱
4. 鏈鍚庣畝鍗曟葷粨鍏ㄦ枃銆?/span>
ceph浣滀負涓涓湡姝f剰涔変笂鐨勭粺涓瀛樺偍緋葷粺錛屾湁鐫寰堝ソ鐨勫簲鐢ㄥ墠鏅紝浣嗗埌鐩墠涓烘鏈夊縐嶅師鍥犻檺鍒朵簡鍏跺湪浼犵粺瀛樺偍搴旂敤棰嗗煙鐪熸澶ц寖鍥寸殑搴旂敤錛屽瀹㈡埛绔粎鏀寔GNU/Linux緋葷粺錛屽唴鏍告佸鎴風瀹炵幇涔熶粎浼氬悎鍏ラ珮鐗堟湰鐨勫唴鏍鎬腑絳夈傝屽浜?/span>iSCSI榪欑浼犵粺鐨勫瓨鍌ㄥ簲鐢ㄨ岃█錛岀敱浜庡鎴風閰嶇疆綆鍗曚笖瓚沖閫氱敤錛屽父瑙佺殑鍚勭緋葷粺錛堝寘鎷搷浣滅郴緇熷拰搴旂敤緋葷粺錛変竴鑸兘瀵?/span>iSCSI鏈夊緢濂界殑鏀寔錛屽洜姝や負浜嗘墿澶?/span>ceph鐨勫簲鐢ㄨ寖鍥達紝鐗瑰埆鏄簲瀵瑰彧鏀寔iSCSI鐨勭郴緇燂紝ceph蹇呴』閫氳繃鏌愮閫斿緞瀹炵幇瀵?/span>iSCSI鐨勬敮鎸併?/span>
ceph闆嗙兢鐩墠鏀寔涓夌褰㈠紡鐨勫瓨鍌ㄦ帴鍙o細鏂囦歡銆佸璞°佸潡錛屽叾涓潡鎺ュ彛(鍗?/span>RBD)涓?/span>SCSI鍧楄澶囪鍐欐墍瑕佹眰鐨勬帴鍙d竴鑷達紝鍥犳鍙互鍩轟簬ceph鐨?/span>RBD鎻愪緵SCSI瀛樺偍緋葷粺鍚庣錛屽綋鐒跺鏋滄湁瓚沖淇″績鐨勮瘽涔熷彲浠ュ畬鍏ㄦ姏寮?/span>ceph鎻愪緵鐨勮繖涓夌鍩虹鎺ュ彛錛岃屽湪鍘熷鐨?/span>RADOS鎺ュ彛涓婂紑鍙戞柊鐨勫潡鎺ュ彛錛屽綋鐒墮櫎闈炲師濮嬬殑RBD鎺ュ彛鏈夐噸瑕佺己闄鳳紝鍚﹀垯鏆傛椂榪樼湅涓嶅埌閲嶆柊鍙戞槑杞瓙鐨勫繀瑕侊紝娉ㄦ剰鍚庢枃鐨勮璁洪兘灝嗗熀浜庤繖涓鍩烘湰鍋囪銆?/span>
/Files/runsisi/鍩轟簬ceph-RBD鐨刬SCSI-target瀹炵幇鍒嗘瀽.pdf铏氭嫙鍖栵紝涓庣湡瀹炵殑銆佺墿鐞嗗瓨鍦ㄧ殑瀵硅薄鐩稿搴旓紝鐢ㄤ簬闅旂搴曞眰鐗╃悊瀹炵幇銆傚叾涓綆楁満紜歡铏氭嫙鍖栨槸鎴戜滑鎵鐔熺煡鐨勮櫄鎷熷寲鎶鏈紝濡備嬌鐢?/span>VirtualBox絳夎櫄鎷熸満杞歡鍒涘緩澶氬彴x86铏氭嫙鏈哄櫒錛屼嬌鐢?/span>qemu妯℃嫙澶氱紜歡騫沖彴錛?/span>x86錛?/span>PPC錛夌瓑銆傚叾瀹冨父瑙佺被鍨嬬殑铏氭嫙鍖栨妧鏈寘鎷細鎿嶄綔緋葷粺铏氭嫙鍖栵紙Docker錛?/span>FreeBSD jail錛夛紝瀛樺偍铏氭嫙鍖栵紙pooling錛夛紝搴旂敤杞歡铏氭嫙鍖栵紙virtualenv錛夌瓑[1]銆?/span>
http://www.shnenglu.com/runsisi
[鏈枃鎵鎻愬強鐨勯儴緗叉柟娉曞凡涓嶉傜敤浜庢柊鐗堢殑ceph-formula]
鏈枃綆鍗曟弿榪頒嬌鐢?/span>saltstack閮ㄧ講ceph闆嗙兢錛?/span>MON+OSD錛夌殑鏂規硶銆?/span>
1. saltstack鍩烘湰姒傚康
master錛?/span>saltstack鏈嶅姟绔紝鍙墽琛岀▼搴忎負salt-master錛?/span>
minion錛?/span>saltstack瀹㈡埛绔紝鍙墽琛岀▼搴忎負salt-minion錛?/span>
grains錛氬鎴風鑺傜偣鑷韓鎵鍥烘湁鐨勯潤鎬佹暟鎹紝濡傝妭鐐圭殑鍩烘湰淇℃伅絳夛紱
pillar錛氬湪鏈嶅姟绔畾涔夌殑銆侀拡瀵瑰叿浣撳鎴風鐨勬暟鎹?br />
/Files/runsisi/salt-ceph.pdf
runsisi AT hust
http://www.shnenglu.com/runsisi
鍓嶈█
鏈枃瀵逛嬌鐢?/span>puppet榪涜ceph闆嗙兢鐨勯儴緗叉祦紼嬭繘琛岀畝瑕佹葷粨銆傚叏鏂囩粨鏋勫涓嬶細絎竴銆佷簩鑺傚垎鍒puppet鍜?/span>ceph榪涜綆鍗曚粙緇嶏紱絎笁鑺傚垎鏋?/span>puppet-ceph妯″潡鐨勭粨鏋勫拰瀹炵幇錛涚鍥涜妭鎻忚堪ceph闆嗙兢閮ㄧ講鐨勬搷浣滄祦紼嬶紱絎簲鑺傛葷粨鍏ㄦ枃錛涢檮褰曚負鍙傝冩枃鐚強浠g爜銆?/span>
1. puppet
puppet鏄竴涓紑婧愮殑閰嶇疆綆$悊宸ュ叿(Puppet is an open source configuration management utility[1])錛屽悓鏃朵篃鏄綋鍓嶆渶涓繪祦鐨勯厤緗鐞嗚嚜鍔ㄥ寲宸ュ叿涔嬩竴銆?/span>
Puppet鏈夎嚜宸辯嫭绔嬬殑璇█[2]鐢ㄤ簬緙栧啓閰嶇疆鑴氭湰錛屼絾涓嶅悓浜庝竴鑸殑鑴氭湰璇█錛岃璇█鍙弿榪拌閰嶇疆瀵硅薄鐨勭姸鎬侊紙鍗?/span>puppet涓殑璧勬簮錛夛紝鑰屼笉闇瑕佹寚瀹氬疄鐜拌閰嶇疆鎵闇瑕佺殑鎿嶄綔姝ラ銆?/span>puppet鑷韓瀹氫箟浜嗗緢澶氬父瑙佺殑璧勬簮綾誨瀷錛屼絾鐢ㄦ埛涔熷彲浠ヨ嚜瀹氫箟璧勬簮綾誨瀷錛屽叿浣撳疄鐜扮粏鑺傚彲浠ュ弬闃?#8220;Puppet Types and Providers”涓涔︺?br />runsisi AT hust
http://www.shnenglu.com/runsisi
鍓嶈█
CHAP璁よ瘉鏄?/span>iSCSI鍗忚涓渶涓昏鐨勮璇佹柟寮忥紝鐜版湁鐨勫紑婧?/span>iSCSI瀹炵幇錛堝寘鎷?/span>initiator鍜?/span>target瀹炵幇錛夊熀鏈笂閮藉彧鏀寔CHAP璁よ瘉錛屾湰鏂囧皢瀵?/span>CHAP璁よ瘉鍙婂叾鍦?/span>iSCSI鍗忚涓殑搴旂敤浣滀竴涓畝鍗曠殑浠嬬粛銆?/span>
CHAP鍗忚
CHAP[1]鐨勫叏縐版槸Challenge-Handshake Authentication Protocol錛屽崗璁粏鑺傜敱RFC 1994榪涜瀹氫箟銆?/span>CHAP鏈鍒濆簲鐢ㄥ湪Point to Point Protocol錛?/span>PPP錛変腑錛岀敤浜庡疄鐜?/span>PPP鏈嶅姟鍣ㄥ瀹㈡埛绔殑韜喚璁よ瘉錛屼絾涔熷彲浠ュ簲鐢ㄥ湪鍏跺畠闇瑕佸鐢ㄦ埛鎴栦富鏈鴻繘琛岃韓浠借璇佺殑鍦哄悎錛屽iSCSI鍗忚灝辮瀹氫嬌鐢?/span>iSCSI鍗忚榪涜閫氫俊鐨勮澶囧繀欏伙紙MUST錛夊疄鐜?/span>CHAP璁よ瘉銆?br />
娉細闄勪歡涓殑鍘嬬緝鍖呬負iSCSI discovery浼氳瘽鐨勬姄鍖呬俊鎭紝涓ゆ鎶撳寘鍒嗗埆涓哄崟鍚慍HAP璁よ瘉鍜屽弻鍚慍HAP璁よ瘉榪囩▼錛?br />iSCSI normal浼氳瘽鐨凜HAP璁よ瘉榪囩▼鍜宒iscovery浼氳瘽鏄竴鏍風殑錛屾病鏈夊啀鍗曠嫭鎶撳寘銆?br />
/Files/runsisi/iSCSI_CHAP璁よ瘉.pdf
/Files/runsisi/iSCSI_CHAP_PCAP.7z
runsisi AT hust
http://www.shnenglu.com/runsisi
鐜板湪鍏徃鍐呴儴浣跨敤鐨?/span>RPM緋誨彂琛岀増搴旇澶氭暟榪樺仠鐣欏湪Centos6.x鎴?/span>RHEL6.x鐗堟湰錛?/span>6.x緋誨垪鐨勭増鏈甫鐨?/span>vim濂藉儚閮芥槸7.2鐗堟湰鐨勶紝鍍忔垜榪欑瑁呬簡spf13鎻愪緵鐨?/span>vim鎻掍歡鍖呯殑TX灝辨瘮杈冮儊闂蜂簡錛岃繖涓彃浠跺寘鍙敮鎸?/span>7.3鍙婁互涓婄殑鐗堟湰錛?/span>vim瀹樻柟濂藉儚鏄病鏈夋彁渚?/span>rpm鍖呬笅杞界殑錛屾垜姣忔閮芥槸鑷繁涓嬫潵婧愪唬鐮佽繘琛岀紪璇戯紝鍏跺疄鎸轟笉鏂逛究鐨勶紝鏈潵鍙渶瑕佽繘琛屼竴嬈$殑宸ヤ綔錛屾瘡嬈$‖鏄閲嶆柊緙栬瘧鎵撳寘銆傝鎴戞兂璧蜂簡鍦ㄥ鏍$淮鎶ょ郴閲岀殑緗戠珯鏃訛紝闇瑕佹坊鍔犱竴涓敓鎴愭湰縐戞瘯涓氳璁¢夐緇熻word鏂囨。鐨勫姛鑳斤紝澶ф鑺變簡鎴戜袱澶╃殑鏃墮棿鎵嶆妸榪欎釜鍔熻兘緇欏疄鐜頒簡錛屾瘡嬈¤佸笀浠兂瑕佺敓鎴愯繖涓枃妗o紝灝卞湪欏甸潰涓婄偣鍑諱竴涓嬫寜閽紝鐒跺悗紼嶇瓑涓灝忎細錛岀綉绔欏悗鍙頒細瀹炴椂鐢熸垚涓涓?/span>word鏂囨。鎻愪緵涓嬭澆錛屽ソ涔呬箣鍚庢垜鎵嶇獊鐒跺紑紿嶏紝鍏跺疄鍙渶瑕佹垜鑷繁鐢熸垚涓浠界劧鍚庢寕鍒扮綉绔欎笂灝辮浜嗙殑錛屽弽姝f瘯璁鵑夐姣忓勾鍙湁涓嬈★紝鍝敤SB浼肩殑姣忔閮藉幓鏌ユ暟鎹簱緇欑敓鎴愪竴浠?/span>:)
google琚?/span>GFW緇欏睆钄戒簡錛屽洜姝?/span>vim鐨勪唬鐮佷篃鍙栦笉涓嬫潵浜嗭紝鍙ソ浠?/span>Centos7鐨?/span>yum婧愰噷鍙栦簡涓浠斤紝璺緞濡備笅錛?/span>
http://vault.centos.org/7.0.1406/os/Source/SPackages/
/Files/runsisi/centos6.x緙栬瘧鎵撳寘vim7.4.pdf
runsisi AT hust
http://www.shnenglu.com/runsisi
1錛?nbsp;鑾峰彇婧愪唬鐮?/span>
鑾峰彇婧愪唬鐮佹湁澶氱閫斿緞錛屽叾涓?/span>ceph瀹樻柟鍙戝竷鐨勬簮浠g爜璺緞濡備笅錛?/span>
鍦ㄨ璺緞涓嬩笅杞界浉搴斿彂琛岀増鏈殑婧愪唬鐮?/span>tar鍖呭嵆鍙紝鍚屾椂涔熷彲浠ヤ嬌鐢?/span>git鐗堟湰綆$悊宸ュ叿鑾峰彇鏈鏂扮殑寮鍙戠増鏈殑婧愪唬鐮?/span>[1]錛?/span>
git clone --recursive https://github.com/ceph/ceph.git
2錛?nbsp;寤虹珛緙栬瘧鐜
緙栬瘧鎵撳寘ceph闇瑕佺浉搴旂殑宸ュ叿閾句互鍙婁竴緋誨垪鐨勭涓夋柟搴擄紝鍩轟簬deb鐨勫彂琛岀増鍜屽熀浜?/span>rpm鐨勫彂琛岀増鎵闇瑕佺殑渚濊禆騫朵笉灝界浉鍚岋紝濡傛灉浣跨敤git浠?/span>github鑾峰彇鐨勬簮浠g爜錛屽垯鍦ㄦ簮浠g爜鐨勬牴鐩綍鏈変袱涓枃浠訛細deps.deb.txt, deps.rpm.txt錛岃繖涓や釜鏂囦歡鍒嗗埆璁板綍浜嗚繖涓ょ綾誨瀷鐨勫彂琛岀増寤虹珛緙栬瘧鐜鎵闇鐨勫伐鍏峰強絎笁鏂逛緷璧栧簱錛屼絾鏄繖涓や釜鏂囦歡鎵璁板綍鐨勪緷璧栧叧緋誨茍涓嶄竴瀹氬畬鍏ㄥ噯紜紝濡傛灉鏈夌己澶辯殑渚濊禆錛岀紪璇戜綋緋昏繘琛屾瀯寤烘椂浼氭姤閿欙紝鍐嶅畨瑁呯浉搴旂殑渚濊禆鍗沖彲銆?br />
/Files/runsisi/ceph_build.pdf
runsisi AT hust
http://www.shnenglu.com/runsisi
璇ラ敊璇湪鎵ц鍛戒護錛?/span>ceph-deploy mon create-initial 鏃跺嚭鐜幫紝璇存槑璇?/span> monitor 鑺傜偣鏇劇粡閮ㄧ講榪?/span> ceph 鐜錛岃闂鐨勮В鍐蟲柟娉曞緢綆鍗曪紝鍦ㄦ墽琛岃鍛戒護涔嬪墠鍒犻櫎璇?/span> monitor 鑺傜偣 /etc/ceph/ 涓嬬殑{cluster}.client.admin.keyring 鏂囦歡錛?/span>cluster鍚嶉粯璁ら厤緗儏鍐典笅鏄?/span>ceph錛夈?/span>
璇ラ敊璇殑鍏蜂綋鍘熷洜寰呬細瑙i噴錛屽厛綆鍗曚粙緇嶄竴涓嬭鍛戒護鎵ц榪囩▼涓彂鐢熺殑浜嬫儏錛?/span>
1錛?nbsp;鍚姩 monitor 鑺傜偣鐨?/span> ceph monitor 瀹堟姢榪涚▼錛?/span>
2錛?nbsp;monitor 鑺傜偣鎵ц ceph-create-keys 鍛戒護錛?/span>
3錛?nbsp;ceph-create-keys鍒涘緩 {cluster}.client.admin.keyring錛?/span>
4錛?nbsp;ceph-create-keys鍒涘緩 bootstrap-{osd, mds}/{cluster}.keyring錛?/span>
5錛?nbsp;ceph-deploy 鎵鍦ㄨ繍琛岃妭鐐逛粠 monitor 鑺傜偣鍙?/span> {cluster}.client.admin.keyring, {cluster}.mon.keyring, bootstrap-{osd, mds}/{cluster}.keyring 鍒板綋鍓嶈礬寰勶紱
6錛?nbsp;浠ヤ笂浠諱綍涓姝ュ鏋滄枃浠跺凡瀛樺湪錛屽垯涓嶄細鏂板緩錛堟垨鍘?/span> monitor 鑺傜偣鍙栵級鏂囦歡銆?/span>
鍥炲埌鎴戜滑閬囧埌鐨勯敊璇紝鐢變簬 monitor 鑺傜偣涔嬪墠鍙兘浣跨敤 ceph-deploy 宸ュ叿榪涜榪囬儴緗詫紝鍐嶆閮ㄧ講鏃舵病鏈夊皢 {cluster}.client.admin.keyring 鍘熸湁鐨勯厤緗枃浠惰繘琛屾竻鐞嗭紝鍥犳絎?/span>3姝ヤ笉浼氬垱寤烘柊鐨?/span> keyring 鏂囦歡錛屼粛鐒朵嬌鐢ㄤ笂嬈¢儴緗蹭嬌鐢ㄧ殑keyring錛屼粠鑰屽鑷寸4姝ユ搷浣滀細澶辮觸錛屾渶緇堝嚭閿欍?/span>
浠庝笂闈㈢殑浠嬬粛錛屽彲浠ョ煡閬擄紝濡傛灉瑕佷嬌鐢?/span> ceph-deploy 宸ュ叿鍐嶆瀵?/span> ceph 闆嗙兢榪涜閮ㄧ講錛屾渶濂藉皢鍚勮妭鐐癸紙鍖呮嫭 ceph-deploy 宸ュ叿鎵鍦ㄨ妭鐐癸級涓婂師鏈夌殑閰嶇疆鏂囦歡娓呯悊涔嬪悗鍐嶈繘琛岄儴緗層?br />
/Files/runsisi/ceph_bootstrap_key_fail.pdf