ใช้ RSYNC กับ Amazon S3 [ปิด]


39

ฉันสนใจที่จะใช้ Amazon S3 เพื่อสำรองข้อมูลอิมเมจเซิร์ฟเวอร์ของเรา ~ 100gb (สร้างผ่านเครื่องมือสำรองข้อมูลของ Acronis)

เห็นได้ชัดว่าการอัปโหลดไฟล์ S3 ทุกคืนจะมีราคาแพงทั้งในแง่ของแบนด์วิดท์และค่าใช้จ่าย ฉันกำลังพิจารณาใช้ rsync กับ S3 และเจอs3rsync ฉันแค่สงสัยว่าใครมีประสบการณ์ใช้งานนี้หรือยูทิลิตี้อื่น ๆ ?


1
สิ่งหนึ่งที่ฉันสังเกตเห็นเกี่ยวกับ s3rsync คือในปัจจุบันคุณ จำกัด ขนาดถัง 10GB (ตรวจสอบคำถามที่พบบ่อย) คุณสามารถมีที่เก็บหลายอันได้ แต่คุณต้องแยกข้อมูลของคุณออกเป็น 10GB ชิ้น
dana

คำตอบ:


35

ฉันเพิ่งเจอหัวข้อนี้ใน Google และดูเหมือนว่าภูมิทัศน์มีการเปลี่ยนแปลงเล็กน้อยตั้งแต่ถามคำถาม โซลูชันส่วนใหญ่ที่แนะนำในที่นี้ไม่ได้รับการดูแลรักษาอีกต่อไปหรือเปลี่ยนเป็นเชิงพาณิชย์

หลังจากผิดหวังกับการทำงานกับ FUSE และโซลูชันอื่น ๆ ที่นั่นฉันตัดสินใจเขียน rsone "clone" บรรทัดคำสั่งของฉันเองสำหรับ S3 และ Google Storage โดยใช้ Python

คุณสามารถตรวจสอบโครงการใน GitHub: http://github.com/seedifferently/boto_rsync

อีกโครงการที่ฉันเพิ่งทราบเมื่อไม่นานมานี้คือ "ความซ้ำซ้อน" มันดูละเอียดกว่านี้นิดหน่อยและดูได้ที่นี่: http://duplicity.nongnu.org/

หวังว่านี่จะช่วยได้

UPDATE

ทีม Python ที่ AWS ทำงานอย่างหนักในโครงการ CLI ที่ทำงานบน boto สำหรับบริการคลาวด์ เครื่องมือที่รวมอยู่ในนั้นคืออินเทอร์เฟซสำหรับ S3 ซึ่งซ้ำซ้อน (และมีหลายวิธีที่ใช้แทน) ฟังก์ชันการทำงานส่วนใหญ่ที่จัดทำโดย boto-rsync:

https://github.com/aws/aws-cli

โดยเฉพาะอย่างยิ่งsyncคำสั่งสามารถกำหนดค่าให้ทำงานเกือบเหมือน rsync:

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html


ผลงานที่ดี! ขอบคุณและฉันจะให้โค้ดของคุณในไม่ช้า คุณมีการอ่านเพื่อเรียนรู้ python / django หรือไม่? ไชโย
iainlbc

โปรแกรมของคุณมีข้อดี / ข้อแตกต่างอะไรบ้างเมื่อเปรียบเทียบกับ S3cmd และ S3sync
James McMahon

@JamesMcMahon s3cmd / s3sync เป็น CLI ที่มีคุณลักษณะครบถ้วนมากขึ้นสำหรับ S3 (จัดการที่เก็บข้อมูลเนื้อหารายการ ฯลฯ ) ในขณะที่ boto-rsync นั้นพยายามเลียนแบบ rsync อย่างเคร่งครัด
เซท

มีฟิวส์ s3fs: github.com/s3fs-fuse/s3fs-fuseซึ่งใช้งานได้ดีมากและสามารถใช้ร่วมกับ rsync ได้ แต่ฉันไม่แน่ใจว่ามีประสิทธิภาพอย่างไร
Stanislav

มันจะยอดเยี่ยมถ้าคุณสามารถอธิบายว่า "คำสั่งซิงค์สามารถกำหนดค่าให้ทำงานเกือบเหมือน rsync"
trusktr

10

ฉันโชคดีกับS3cmdและS3syncซึ่งทั้งสองอย่างนั้นฟรี


+1 สำหรับ S3cmd -.-
fnkr

S3cmd มีปัญหากับไฟล์ขนาดใหญ่ (> ไฟล์ 300k) .. มันกินประมาณ 1gig ต่อ 100k ไฟล์ของหน่วยความจำที่ใช้งานได้ดีดังนั้นโปรดจำไว้ว่าข้อ จำกัด นั้น ..
Tuxie

7

ขึ้นอยู่กับการสร้างภาพ Acronis ของคุณฉันไม่แน่ใจว่า rsync ชนิดใดจะประหยัดแบนด์วิดท์ของคุณ รูปภาพ Acronis เป็นไฟล์เดียวดังนั้น rsync จะไม่สามารถอ่านข้างในเพื่อสำรองสิ่งที่เปลี่ยนแปลงไปเท่านั้น ยังไม่แน่ใจว่าอิมเมจเซิร์ฟเวอร์แบบใดที่คุณสร้าง แต่เมื่อคุณบอกว่า 100GB ฉันจะถือว่าเต็มหรือไม่ ภาพที่เพิ่มขึ้นจะลดขนาดภาพในตอนกลางคืนลงอย่างมากดังนั้นจึงช่วยประหยัดแบนด์วิดท์ คุณสามารถลองบันทึกรูปภาพไปยังตำแหน่งอื่นที่ไม่ใช่ S3 เช่นสื่อบันทึกเทปและจัดเก็บนอกสถานที่


4
ไม่ rsync ใช้งานไม่ได้ มันทำงานได้กับไฟล์ทุกประเภทและไม่จำเป็นต้องมีความรู้เกี่ยวกับไฟล์ภายในของการซิงค์ แต่จะเปรียบเทียบแฮชของไฟล์และโอนย้ายเฉพาะกลุ่มที่แตกต่างกัน en.wikipedia.org/wiki/Rsync
Alan Donnelly

2
และไม่มี chucks ใดที่จะตรงกันเนื่องจากการเปลี่ยนแปลงเล็กน้อยในไฟล์ภายในภาพจะทำให้ไฟล์ทั้งหมดเปลี่ยนแปลงเนื่องจากการบีบอัด แม้จะปิดการบีบอัดฉันไม่แน่ใจว่ามันจะ rsync ได้ดีเพราะไฟล์ที่อยู่ในภาพสามารถเปลี่ยนลำดับและมันตรงกับการหมุนแทนที่จะค้นหาเพียงก้อนเดียวกัน
JamesRyan

4

ฉันไม่เคยลอง S3rsync

ฉันใช้ความซ้ำซ้อนสำหรับการสำรองข้อมูลนอกสถานที่ของเรา รองรับการสำรองข้อมูลเพิ่มขึ้นใน S3 แม้ว่าจะไม่ได้ประหยัดแบนด์วิดท์เนื่องจากโปรโตคอลจัดเก็บข้อมูล Amazon S3 ซึ่งการแก้ไขไฟล์ใด ๆ บังคับให้คุณอัปโหลดไฟล์ใหม่ทั้งหมดอีกครั้ง อย่างไรก็ตามความซ้ำซ้อนจะอัปโหลดความแตกต่างจากการสำรองข้อมูลส่วนเพิ่มครั้งล่าสุดเท่านั้น

ด้วย Duplicity คุณไม่จำเป็นต้องผ่านเซิร์ฟเวอร์อื่นอย่างที่ S3sync ทำอย่างไรก็ตามถ้าคุณเข้ารหัสข้อมูลของคุณมันควรจะคุ้มค่าที่จะลอง S3sync


1

S3 ยังมีบริการเสริมที่เรียกว่า AWS นำเข้า / ส่งออกที่ช่วยให้คุณส่งไดรฟ์ USB พร้อมชุดข้อมูล 100Gb เริ่มต้นของคุณและพวกเขาจะโหลดมันบนคลาวด์ S3 โดยใช้เครื่องมือแบ็คเอนด์ที่ศูนย์ข้อมูลของพวกเขา เมื่อ 100Gb ของคุณอยู่ที่นั่นคุณสามารถสำรองข้อมูลต่างกันในแต่ละคืนเพื่อสำรองข้อมูลทุกอย่างที่มีการเปลี่ยนแปลง

เว็บไซต์นี้เป็นhttp://aws.amazon.com/importexport/

หากข้อมูลส่วนใหญ่ของคุณค่อนข้างคงที่นี่จะเป็นตัวเลือกที่ดีถ้าข้อมูล 100Gb ทั้งหมดเปลี่ยนแปลงทุกวันนั่นจะไม่ช่วยคุณมากนัก


3
คุณคิดว่าพวกเขา "โหลด" แฟลชไดรฟ์ 128Gb ได้อย่างไร? ฉันนึกภาพฮับ usb ที่ใหญ่ที่สุดในโลกแผงเพดานจากพื้นถึงเพดานของคอนเนคเตอร์ USB, 3/4 เต็มรูปแบบของแฟลชไดรฟ์ที่ลูกค้าจัดมาให้ทั้งหมดนั้นอยู่ด้านหลังเบลดเซิร์ฟเวอร์เดี่ยว
พอล

ช่างเป็นภาพอะไร !! ในความเป็นจริงอาจมีบางคนยากจนในมุมมืดของศูนย์ข้อมูลที่มีฮับ usb ที่ใหญ่ที่สุดในโลกของคุณเชื่อมต่อกับพีซีของเขา :)
23490

0

คุณสามารถลองไคลเอนต์ minioหรือที่รู้จักว่า "mc" mc มีเครื่องมือน้อยที่สุดในการทำงานกับที่เก็บข้อมูลบนคลาวด์ที่เข้ากันได้กับ Amazon S3 และระบบไฟล์

mc ใช้คำสั่งต่อไปนี้

  ls        List files and folders.
  mb        Make a bucket or folder.
  cat       Display contents of a file.
  pipe      Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
  share     Generate URL for sharing.
  cp        Copy one or more objects to a target.
  mirror    Mirror folders recursively from a single source to many destinations.
  diff      Compute differences between two folders.
  rm        Remove file or bucket [WARNING: Use with care].
  access    Manage bucket access permissions.
  session   Manage saved sessions of cp and mirror operations.
  config    Manage configuration file.
  update    Check for a new software update.
  version   Print version.

คุณสามารถใช้คำสั่งมิเรอร์เพื่อดำเนินการของคุณ "localdir" เป็นไดเรกทอรีในเครื่อง & S3 [นามแฝงสำหรับ Amazon S3] และชื่อ "remoteDir" ของที่เก็บข้อมูลของคุณใน S3

$ mc mirror localdir/ S3/remoteDir

คุณยังสามารถเขียน cronjob ได้เช่นเดียวกัน นอกจากนี้ในกรณีที่เครือข่ายไม่พอใจคุณสามารถใช้ "$ mc session" เพื่อเริ่มการอัปโหลดจากเวลานั้น

PS: ฉันมีส่วนร่วมในโครงการ minio และยินดีที่จะรับข้อเสนอแนะและความช่วยเหลือของคุณ หวังว่ามันจะช่วย


-1

ใหม่ป่าดิสก์ Edition ของเซิร์ฟเวอร์ (เบต้า) อาจจะเป็นประโยชน์กับคุณ มันมีการทำซ้ำระดับบล็อกดังนั้นหากภาพ Acronis ของคุณมีอะไรที่เหมือนกันสิ่งนี้จะลดจำนวนเงินที่คุณต้องการสำรองลงอย่างมาก คุณสมบัติที่สมบูรณ์แบบสำหรับการสำรองข้อมูลเซิร์ฟเวอร์ ตรวจสอบบันทึกประจำรุ่น

ฉันได้ทำการทดสอบเบต้าเป็นเวลาสองสัปดาห์และนอกเหนือจากปัญหาเล็ก ๆ บางอย่างกับ GUI ที่ฉันแน่ใจว่าจะได้รับการแก้ไขในขั้นตอนสุดท้ายตื่นเต้นกับผลิตภัณฑ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.