PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Các tính năng của phương pháp sao lưu PostgreSQL trong AWS S3

Amazon đã phát hành S3 vào đầu năm 2006 và công cụ đầu tiên cho phép các tập lệnh sao lưu PostgreSQL tải lên dữ liệu trên đám mây - s3cmd - ra đời chỉ một năm sau đó. Đến năm 2010 (theo kỹ năng tìm kiếm trên Google của tôi) Mở các blog BI về nó. Sau đó, có thể an toàn khi nói rằng một số DBA PostgreSQL đã sao lưu dữ liệu vào AWS S3 trong 9 năm. Nhưng bằng cách nào? Và điều gì đã thay đổi trong thời gian đó? Mặc dù s3cmd vẫn được một số người tham khảo trong ngữ cảnh của các công cụ sao lưu PostgreSQL đã biết, nhưng các phương pháp này đã có những thay đổi cho phép tích hợp tốt hơn với hệ thống tệp hoặc các tùy chọn sao lưu gốc PostgreSQL để đạt được các mục tiêu khôi phục mong muốn RTO và RPO.

Tại sao sử dụng Amazon S3

Như đã chỉ ra trong tài liệu Amazon S3 (Câu hỏi thường gặp về S3 là điểm khởi đầu rất tốt), những lợi thế của việc sử dụng dịch vụ S3 là:

  • Độ bền 99,999999999 (mười một nines)
  • bộ nhớ dữ liệu không giới hạn
  • chi phí thấp (thậm chí còn thấp hơn khi kết hợp với BitTorrent)
  • lưu lượng truy cập mạng đến miễn phí
  • chỉ có lưu lượng mạng đi ra ngoài là có thể lập hóa đơn

AWS S3 CLI Gotchas

Bộ công cụ AWS S3 CLI cung cấp tất cả các công cụ cần thiết để truyền dữ liệu vào và ra khỏi bộ lưu trữ S3, vậy tại sao bạn không sử dụng những công cụ đó? Câu trả lời nằm trong chi tiết triển khai Amazon S3 bao gồm các biện pháp xử lý các hạn chế và ràng buộc liên quan đến lưu trữ đối tượng:

  • Kích thước tối đa 5TB cho mỗi đối tượng được lưu trữ
  • Kích thước tối đa 5GB của một đối tượng PUT
  • tải lên nhiều phần được khuyến nghị cho các đối tượng lớn hơn 100MB
  • chọn một lớp lưu trữ thích hợp theo biểu đồ hiệu suất S3
  • tận dụng Vòng đời S3
  • Mô hình nhất quán dữ liệu S3

Tham khảo ví dụ trên trang trợ giúp của aws s3 cp:

--eosystem-size (string) Đối số này chỉ định kích thước dự kiến ​​của một luồng tính theo byte. Lưu ý rằng đối số này chỉ cần thiết khi một luồng đang được tải lên s3 và kích thước lớn hơn 5GB. Việc không bao gồm đối số này trong các điều kiện này có thể dẫn đến việc tải lên không thành công do tải lên quá nhiều phần.

Để tránh những cạm bẫy đó đòi hỏi kiến ​​thức chuyên sâu về hệ sinh thái S3, đây là điều mà các công cụ sao lưu PostgreSQL và S3 đang cố gắng đạt được.

PostgreSQL Native Backup Tools With Amazon S3 Support

Tích hợp S3 được cung cấp bởi một số công cụ sao lưu nổi tiếng, triển khai các tính năng sao lưu gốc của PostgreSQL.

BarmanS3

BarmanS3 được triển khai dưới dạng Tập lệnh Hook của Barman. Nó dựa trên AWS CLI, mà không giải quyết các đề xuất và hạn chế được liệt kê ở trên. Thiết lập đơn giản khiến nó trở thành một ứng cử viên sáng giá cho các cài đặt nhỏ. Quá trình phát triển có phần bị đình trệ, bản cập nhật gần đây nhất cách đây khoảng một năm, khiến sản phẩm này trở thành lựa chọn cho những người đã sử dụng Barman trong môi trường của họ.

Bãi chứa S3

S3dumps là một dự án đang hoạt động, được triển khai bằng cách sử dụng thư viện Python của Amazon Boto3. Cài đặt được thực hiện dễ dàng thông qua pip. Mặc dù dựa trên Amazon S3 Python SDK, việc tìm kiếm mã nguồn cho các từ khóa regex như multi. * Part hoặc storage. * Class không tiết lộ bất kỳ tính năng nâng cao nào của S3, chẳng hạn như truyền nhiều phần.

pgBackRest

pgBackRest triển khai S3 làm tùy chọn kho lưu trữ. Đây là một trong những công cụ sao lưu PostgreSQL nổi tiếng, cung cấp một bộ tùy chọn sao lưu phong phú về tính năng như hỗ trợ sao lưu và khôi phục song song, mã hóa và không gian bảng. Nó chủ yếu là mã C, cung cấp tốc độ và thông lượng mà chúng tôi đang tìm kiếm, tuy nhiên, khi nói đến tương tác với API AWS S3, điều này phải trả giá bằng công việc bổ sung cần thiết để triển khai các tính năng lưu trữ S3. Phiên bản gần đây triển khai tải lên nhiều phần S3.

WAL-G

WAL-G được công bố cách đây 2 năm đang được tích cực bảo trì. Công cụ sao lưu PostgreSQL vững chắc này thực hiện các lớp lưu trữ, nhưng không tải lên nhiều phần (tìm kiếm mã cho CreateMultipartUpload không tìm thấy bất kỳ sự cố nào).

PGHoard

pghoard đã được phát hành khoảng 3 năm trước. Nó là một công cụ sao lưu PostgreSQL giàu tính năng và hiệu quả với hỗ trợ chuyển nhiều phần S3. Nó không cung cấp bất kỳ tính năng nào khác của S3, chẳng hạn như lớp lưu trữ và quản lý vòng đời đối tượng.

S3 dưới dạng hệ thống tệp cục bộ

Có thể truy cập bộ lưu trữ S3 như một hệ thống tệp cục bộ, là một tính năng rất được mong đợi vì nó mở ra khả năng sử dụng các công cụ sao lưu gốc PostgreSQL.

Đối với môi trường Linux, Amazon cung cấp hai tùy chọn:NFS và iSCSI. Họ tận dụng Cổng lưu trữ AWS.

NFS

Chia sẻ NFS được gắn cục bộ được cung cấp bởi dịch vụ Tệp cổng lưu trữ AWS. Theo liên kết, chúng tôi cần tạo Cổng tệp.

Tại màn hình Chọn nền tảng máy chủ, chọn Amazon EC2 và nhấp vào nút Khởi chạy phiên bản để khởi động trình hướng dẫn EC2 để tạo phiên bản.

Bây giờ, vì sự tò mò của Sysadmin này, chúng ta hãy kiểm tra AMI được trình hướng dẫn sử dụng vì nó cho chúng ta góc nhìn thú vị về một số phần nội bộ AWS. Với ID hình ảnh đã biết ami-0bab9d6dffb52fef5, hãy xem chi tiết:

Như hình trên, tên AMI là aws-thinstaller - vậy tên AMI là gì một "trình cài đặt"? Các tìm kiếm trên Internet cho thấy Thinstaller là một công cụ quản lý cấu hình phần mềm IBM Lenovo dành cho các sản phẩm của Microsoft và được tham chiếu đầu tiên trong blog năm 2008 này, sau đó trong bài đăng trên diễn đàn Lenovo này và yêu cầu dịch vụ của khu học chánh này. Tôi không có cách nào để biết điều đó, vì công việc sysadmin Windows của tôi đã kết thúc 3 năm trước đó. Vì vậy, AMI này được xây dựng với sản phẩm Thinstaller. Để làm cho vấn đề khó hiểu hơn nữa, hệ điều hành AMI được liệt kê là “Linux khác” có thể được xác nhận bởi SSH-ing vào hệ thống với tư cách là quản trị viên.

Lỗi thuật sĩ:bất chấp hướng dẫn thiết lập tường lửa EC2, trình duyệt của tôi đã hết thời gian chờ khi kết nối với cổng lưu trữ. Việc cho phép cổng 80 được ghi lại tại Yêu cầu cổng - chúng tôi có thể tranh luận rằng trình hướng dẫn nên liệt kê tất cả các cổng được yêu cầu hoặc liên kết đến tài liệu, tuy nhiên theo tinh thần của đám mây, câu trả lời là "tự động hóa" với các công cụ như CloudFormation.

Trình hướng dẫn cũng đề xuất bắt đầu với một phiên bản kích thước xlarge.

Khi cổng lưu trữ đã sẵn sàng, hãy định cấu hình chia sẻ NFS bằng cách nhấp vào Tạo nút chia sẻ tệp trong menu Cổng:

Sau khi chia sẻ NFS sẵn sàng, hãy làm theo hướng dẫn để gắn hệ thống tệp:

Trong ảnh chụp màn hình trên, lưu ý rằng lệnh mount tham chiếu đến IP cá nhân Địa chỉ. Để gắn kết từ một máy chủ công cộng, chỉ cần sử dụng địa chỉ công cộng cá thể như được hiển thị trong chi tiết phiên bản EC2 ở trên.

Trình hướng dẫn sẽ không chặn nếu nhóm S3 không tồn tại tại thời điểm tạo chia sẻ tệp, tuy nhiên, khi nhóm S3 được tạo, chúng ta cần khởi động lại phiên bản, nếu không, lệnh mount không thành công với:

[[email protected] ~]# mount -t nfs -o nolock,hard 34.207.216.29:/s9s-postgresql-backup /mnt

mount.nfs: mounting 34.207.216.29:/s9s-postgresql-backup failed, reason given by server: No such file or directory

Xác minh rằng chia sẻ đã được cung cấp:

[[email protected] ~]# df -h /mnt

Filesystem                            Size Used Avail Use% Mounted on

34.207.216.29:/s9s-postgresql-backup  8.0E 0 8.0E 0% /mnt

Bây giờ chúng ta hãy chạy thử nghiệm nhanh:

[email protected][local]:54311 postgres# \l+ test

                                                List of databases

Name |  Owner | Encoding |   Collate | Ctype | Access privileges |  Size | Tablespace | Description

------+----------+----------+-------------+-------------+-------------------+---------+------------+-------------

test | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 2763 MB | pg_default |

(1 row)

[[email protected] ~]# date ; time pg_dump -d test | gzip -c >/mnt/test.pg_dump.gz ; date

Sun 27 Oct 2019 06:06:24 PM PDT



real    0m29.807s

user    0m15.909s

sys     0m2.040s

Sun 27 Oct 2019 06:06:54 PM PDT

Lưu ý rằng dấu thời gian được sửa đổi lần cuối trên nhóm S3 muộn hơn khoảng một phút, như đã đề cập trước đó đối với mô hình nhất quán dữ liệu Amazon S3.

Đây là một bài kiểm tra toàn diện hơn:

~ $ for q in {0..20} ; do touch /mnt/touched-at-$(date +%Y%m%d%H%M%S) ;

sleep 1 ; done



~ $ aws s3 ls s3://s9s-postgresql-backup | nl

    1      2019-10-27 19:50:40          0 touched-at-20191027194957

    2      2019-10-27 19:50:40          0 touched-at-20191027194958

    3      2019-10-27 19:50:40          0 touched-at-20191027195000

    4      2019-10-27 19:50:40          0 touched-at-20191027195001

    5      2019-10-27 19:50:40          0 touched-at-20191027195002

    6      2019-10-27 19:50:40          0 touched-at-20191027195004

    7      2019-10-27 19:50:40          0 touched-at-20191027195005

    8      2019-10-27 19:50:40          0 touched-at-20191027195007

    9      2019-10-27 19:50:40          0 touched-at-20191027195008

   10      2019-10-27 19:51:10          0 touched-at-20191027195009

   11      2019-10-27 19:51:10          0 touched-at-20191027195011

   12      2019-10-27 19:51:10          0 touched-at-20191027195012

   13      2019-10-27 19:51:10          0 touched-at-20191027195013

   14      2019-10-27 19:51:10          0 touched-at-20191027195014

   15      2019-10-27 19:51:10          0 touched-at-20191027195016

   16      2019-10-27 19:51:10          0 touched-at-20191027195017

   17      2019-10-27 19:51:10          0 touched-at-20191027195018

   18      2019-10-27 19:51:10          0 touched-at-20191027195020

   19      2019-10-27 19:51:10          0 touched-at-20191027195021

   20      2019-10-27 19:51:10          0 touched-at-20191027195022

   21      2019-10-27 19:51:10          0 touched-at-20191027195024

Một vấn đề đáng nói khác:sau khi chơi với các cấu hình khác nhau, tạo và phá hủy các cổng và chia sẻ, tại một số điểm khi cố gắng kích hoạt Cổng tệp, tôi gặp phải Lỗi nội bộ:

Dòng lệnh cung cấp thêm một số chi tiết, mặc dù không chỉ ra bất kỳ vấn đề nào:

~$ curl -sv "http://107.22.30.30/?gatewayType=FILE_S3&activationRegion=us-east-1"

*   Trying 107.22.30.30:80...

* TCP_NODELAY set

* Connected to 107.22.30.30 (107.22.30.30) port 80 (#0)

> GET /?gatewayType=FILE_S3&activationRegion=us-east-1 HTTP/1.1

> Host: 107.22.30.30

> User-Agent: curl/7.65.3

> Accept: */*

>

* Mark bundle as not supporting multiuse

< HTTP/1.1 500 Internal Server Error

< Date: Mon, 28 Oct 2019 06:33:30 GMT

< Content-type: text/html

< Content-length: 14

<

* Connection #0 to host 107.22.30.30 left intact

Internal Error~ $

Bài đăng trên diễn đàn này đã chỉ ra rằng vấn đề của tôi có thể liên quan đến Điểm cuối VPC mà tôi đã tạo. Cách khắc phục của tôi là xóa điểm cuối VPC mà tôi đã thiết lập trong nhiều lần chạy thử iSCSI khác nhau.

Trong khi S3 mã hóa dữ liệu ở trạng thái nghỉ, lưu lượng dây NFS là văn bản thuần túy. Nói ngắn gọn, đây là kết xuất gói tcpdump:

23:47:12.225273 IP 192.168.0.11.936 > 107.22.30.30.2049: Flags [P.], seq 2665:3377, ack 2929, win 501, options [nop,nop,TS val 1899459538 ecr 38013066], length 712: NFS request xid 3511704119 708 getattr fh 0,2/53

[email protected]@.......k.......        ...c..............

q7s..D.......PZ7...........................4........omiday.can.local...................................................5.......]...........!....................C...

..............&...........]....................# inittab is no longer used.

#

# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target

#

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:

#

# multi-user.target: analogous to runlevel 3

# graphical.target: analogous to runlevel 5

#

# To view current default target, run:

# systemctl get-default

#

# To set a default target, run:

# systemctl set-default TARGET.target

.....   .........0..

23:47:12.331592 IP 107.22.30.30.2049 > 192.168.0.11.936: Flags [P.], seq 2929:3109, ack 3377, win 514, options [nop,nop,TS val 38013174 ecr 1899459538], length 180: NFS reply xid 3511704119 reply ok 176 getattr NON 4 ids 0/33554432 sz -2138196387

Cho đến khi bản dự thảo IEE này được phê duyệt, tùy chọn bảo mật duy nhất để kết nối từ bên ngoài AWS là sử dụng đường hầm VPN. Điều này làm phức tạp việc thiết lập, làm cho tùy chọn NFS tại chỗ kém hấp dẫn hơn so với các công cụ dựa trên FUSE mà tôi sẽ thảo luận một chút sau.

iSCSI

Tùy chọn này được cung cấp bởi dịch vụ Khối lượng Cổng Lưu trữ AWS. Sau khi dịch vụ được định cấu hình, hãy chuyển đến phần thiết lập ứng dụng Linux iSCSI.

Lợi thế của việc sử dụng iSCSI so với NFS bao gồm khả năng tận dụng các dịch vụ sao lưu, nhân bản và chụp nhanh trên đám mây Amazon. Để biết chi tiết và hướng dẫn từng bước, hãy làm theo các liên kết tới AWS Backup, Volume Cloning và EBS Snapshots

Mặc dù có rất nhiều ưu điểm, nhưng có một hạn chế quan trọng có thể khiến nhiều người dùng bỏ qua:không thể truy cập cổng thông qua địa chỉ IP công cộng của nó. Vì vậy, cũng giống như tùy chọn NFS, yêu cầu này làm tăng thêm độ phức tạp cho quá trình thiết lập.

Mặc dù có giới hạn rõ ràng và bị thuyết phục rằng tôi sẽ không thể hoàn thành thiết lập này, nhưng tôi vẫn muốn xem nó được thực hiện như thế nào. Trình hướng dẫn chuyển hướng đến màn hình cấu hình AWS Marketplace.

Lưu ý rằng trình hướng dẫn Marketplace tạo một đĩa phụ, tuy nhiên không đủ lớn trong kích thước, và do đó chúng tôi vẫn cần thêm hai khối lượng bắt buộc như được chỉ ra trong hướng dẫn thiết lập máy chủ. Nếu các yêu cầu lưu trữ không được đáp ứng, trình hướng dẫn sẽ chặn ở màn hình cấu hình đĩa cục bộ:

Dưới đây là cái nhìn thoáng qua về màn hình cấu hình Amazon Marketplace:

Có giao diện văn bản có thể truy cập thông qua SSH (đăng nhập với tư cách người dùng) cung cấp các công cụ khắc phục sự cố mạng cơ bản và các tùy chọn cấu hình khác không thể thực hiện được qua GUI web:

~ $ ssh [email protected]

Warning: Permanently added 'ec2-3-231-96-109.compute-1.amazonaws.com,3.231.96.109' (ECDSA) to the list of known hosts.

'screen.xterm-256color': unknown terminal type.




      AWS Storage Gateway Configuration



      #######################################################################

      ##  Currently connected network adapters:

      ##

      ##  eth0: 172.31.1.185

      #######################################################################



      1: SOCKS Proxy Configuration

      2: Test Network Connectivity

      3: Gateway Console

      4: View System Resource Check (0 Errors)



      0: Stop AWS Storage Gateway



      Press "x" to exit session



      Enter command:

Và một số điểm quan trọng khác:

  • Trái ngược với thiết lập NFS, không có quyền truy cập trực tiếp vào bộ lưu trữ S3 như đã lưu ý trong phần Câu hỏi thường gặp về Cổng âm lượng.
  • Tài liệu AWS khẳng định về việc tùy chỉnh cài đặt iSCSI để cải thiện hiệu suất và tính bảo mật của kết nối.

FUSE

Trong danh mục này, tôi đã liệt kê các công cụ dựa trên FUSE cung cấp khả năng tương thích S3 hoàn chỉnh hơn so với các công cụ sao lưu PostgreSQL và ngược lại với Amazon Storage Gateway, cho phép truyền dữ liệu từ máy chủ lưu trữ tại chỗ lên Amazon S3 mà không cần cấu hình bổ sung. Thiết lập như vậy có thể cung cấp bộ nhớ S3 như một hệ thống tệp cục bộ mà các công cụ sao lưu PostgreSQL có thể sử dụng để tận dụng các tính năng như pg_dump song song.

s3fs-fuse

s3fs-fuse được viết bằng C ++, một ngôn ngữ được hỗ trợ bởi bộ công cụ Amazon S3 SDK và như vậy rất phù hợp để triển khai các tính năng nâng cao của S3 như tải lên nhiều phần, bộ nhớ đệm, lớp lưu trữ S3, máy chủ- mã hóa bên và lựa chọn khu vực. Nó cũng tương thích với POSIX cao.

Ứng dụng được bao gồm trong Fedora 30 của tôi giúp việc cài đặt trở nên đơn giản.

Để kiểm tra:

~/mnt/s9s $ time pg_dump -d test | gzip -c >test.pg_dump-$(date +%Y%m%d-%H%M%S).gz

real    0m35.761s

user    0m16.122s

sys     0m2.228s

~/mnt/s9s $ aws s3 ls s3://s9s-postgresql-backup

2019-10-28 03:16:03   79110010 test.pg_dump-20191028-031535.gz

Lưu ý rằng tốc độ hơi chậm hơn so với việc sử dụng Amazon Storage Gateway với tùy chọn NFS. Nó bù đắp cho hiệu suất thấp hơn bằng cách cung cấp hệ thống tệp tương thích với POSIX cao.

S3QL

S3QL cung cấp các tính năng của S3 như lớp lưu trữ và mã hóa phía máy chủ. Nhiều tính năng được mô tả trong Tài liệu S3QL đầy đủ, tuy nhiên, nếu bạn đang tìm kiếm tải lên nhiều phần thì nó không được đề cập đến. Điều này là do S3QL triển khai thuật toán tách tệp của riêng mình để cung cấp tính năng khử trùng lặp. Tất cả các tệp được chia thành các khối 10 MB.

Việc cài đặt trên hệ thống dựa trên Red Hat rất đơn giản:cài đặt các phụ thuộc RPM bắt buộc qua yum:

sqlite-devel-3.7.17-8.14.amzn1.x86_64

fuse-devel-2.9.4-1.18.amzn1.x86_64

fuse-2.9.4-1.18.amzn1.x86_64

system-rpm-config-9.0.3-42.28.amzn1.noarch

python36-devel-3.6.8-1.14.amzn1.x86_64

kernel-headers-4.14.146-93.123.amzn1.x86_64

glibc-headers-2.17-260.175.amzn1.x86_64

glibc-devel-2.17-260.175.amzn1.x86_64

gcc-4.8.5-1.22.amzn1.noarch

gcc48-4.8.5-28.142.amzn1.x86_64

mpfr-3.1.1-4.14.amzn1.x86_64

libmpc-1.0.1-3.3.amzn1.x86_64

libgomp-6.4.1-1.45.amzn1.x86_64

libgcc48-4.8.5-28.142.amzn1.x86_64

cpp48-4.8.5-28.142.amzn1.x86_64

python36-pip-9.0.3-1.26.amzn1.noarch

python36-libs-3.6.8-1.14.amzn1.x86_64

python36-3.6.8-1.14.amzn1.x86_64

python36-setuptools-36.2.7-1.33.amzn1.noarch

Sau đó, cài đặt các phụ thuộc Python bằng cách sử dụng pip3:

pip-3.6 install setuptools cryptography defusedxml apsw dugong pytest requests llfuse==1.3.6

Một đặc điểm đáng chú ý của công cụ này là hệ thống tệp S3QL được tạo trên đầu nhóm S3.

Những chú ngốc

goofys là một tùy chọn khi hiệu suất vượt trội hơn việc tuân thủ POSIX. Mục tiêu của nó ngược lại với s3fs-fuse. Tập trung vào tốc độ cũng được phản ánh trong mô hình phân phối. Đối với Linux, có các tệp nhị phân được tạo sẵn. Sau khi tải xuống chạy:

~/temp/goofys $ ./goofys s9s-postgresql-backup ~/mnt/s9s/

Và sao lưu:

~/mnt/s9s $ time pg_dump -d test | gzip -c >test.pg_dump-$(date +%Y%m%d-%H%M%S).gz



real    0m27.427s

user    0m15.962s

sys     0m2.169s



~/mnt/s9s $ aws s3 ls s3://s9s-postgresql-backup

2019-10-28 04:29:05   79110010 test.pg_dump-20191028-042902.gz

Lưu ý rằng thời gian tạo đối tượng trên S3 chỉ cách dấu thời gian của tệp 3 giây.

ObjectFS

ObjectFS dường như đã được duy trì cho đến khoảng 6 tháng trước. Quá trình kiểm tra tải lên nhiều phần cho thấy nó không được triển khai. Từ bài nghiên cứu của tác giả, chúng tôi biết rằng hệ thống vẫn đang trong quá trình phát triển và kể từ khi bài báo được phát hành vào năm 2019, tôi nghĩ cần phải đề cập đến nó.

Ứng dụng khách S3

Như đã đề cập trước đó, để sử dụng AWS S3 CLI, chúng ta cần xem xét một số khía cạnh cụ thể đối với lưu trữ đối tượng nói chung và Amazon S3 nói riêng. Nếu yêu cầu duy nhất là khả năng truyền dữ liệu vào và ra khỏi bộ lưu trữ S3, thì một công cụ tuân thủ chặt chẽ các đề xuất của Amazon S3 có thể thực hiện công việc.

s3cmd là một trong những công cụ đứng trước thử thách của thời gian. Blog Open BI năm 2010 này nói về nó, vào thời điểm S3 là đứa trẻ mới trong khối.

Tính năng đáng chú ý:

  • mã hóa phía máy chủ
  • tải lên nhiều phần tự động
  • điều chỉnh băng thông

Đi tới S3cmd:Câu hỏi thường gặp và Cơ sở Kiến thức để biết thêm thông tin.

Kết luận

Các tùy chọn có sẵn để sao lưu một cụm PostgreSQL vào Amazon S3 khác nhau về phương thức truyền dữ liệu và cách chúng phù hợp với chiến lược Amazon S3.

AWS Storage Gateway bổ sung cho bộ lưu trữ đối tượng S3 của Amazon, với chi phí là sự phức tạp tăng lên cùng với kiến ​​thức bổ sung cần thiết để tận dụng tối đa dịch vụ này. Ví dụ:việc chọn đúng số lượng đĩa yêu cầu lập kế hoạch cẩn thận và việc nắm bắt tốt các chi phí liên quan đến S3 của Amazon là điều bắt buộc để giảm thiểu chi phí hoạt động.

Mặc dù có thể áp dụng cho bất kỳ bộ lưu trữ đám mây nào không chỉ Amazon S3, quyết định lưu trữ dữ liệu trong đám mây công cộng có ý nghĩa bảo mật. Amazon S3 cung cấp mã hóa cho dữ liệu ở trạng thái nghỉ và dữ liệu đang chuyển, không đảm bảo không có kiến ​​thức hoặc không có bằng chứng kiến ​​thức. Các tổ chức muốn có toàn quyền kiểm soát dữ liệu của họ nên triển khai mã hóa phía máy khách và lưu trữ khóa mã hóa bên ngoài cơ sở hạ tầng AWS của họ.

Đối với các giải pháp thay thế thương mại để ánh xạ S3 tới hệ thống tệp cục bộ, bạn nên kiểm tra các sản phẩm từ ObjectiveFS hoặc NetApp.

Cuối cùng, các tổ chức đang tìm cách phát triển các công cụ sao lưu của riêng họ, bằng cách xây dựng trên nền tảng được cung cấp bởi nhiều ứng dụng nguồn mở hoặc bắt đầu từ con số 0, nên xem xét sử dụng thử nghiệm tính tương thích của S3, được cung cấp bởi dự án Ceph.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt đối chiếu utf8 trong PostgreSQL

  2. Sắp xếp không chính xác PostgreSQL

  3. Các cài đặt sẵn có cao của PostgreSQL Patroni

  4. Postgres sql chèn lỗi cú pháp truy vấn từ phpPgAdmin

  5. chuyển đổi định dạng hình học Postgres sang WKT