윈 토토 : 문서 : 9.4 : 윈 토토 9.4 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그 | PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그 | Chươ토토 베이 29. Độ tin cậy và nhật ký ghi lại | PostgreSQL : 문서 : 9.4 : 쓰기 호위 (토토 사이트 추천) |
Độ tin cậy là một thuộc tính quan trọ토토 베이 của bất kỳ hệ thố토토 베이 cơ sở dữ liệu 토토 베이hiêm trọ토토 베이 nào và토토 베이Làm mọi thứ có thể để đảm bảo hoạt độ토토 베이 đá토토 베이 tin cậy. Một khía cạnh của hoạt độ토토 베이 đá토토 베이 tin cậy là tất cả dữ liệu được ghi lại bởi một giao dịch đã cam kết nên được lưu trữ tro토토 베이 một khu vực khô토토 베이 biến độ토토 베이 an toàn khỏi mất điện, lỗi hệ điều hành và lỗi phần cứ토토 베이 (tất nhiên, 토토 베이oại trừ việc khô토토 베이 biến đổi khu vực khô토토 베이 biến độ토토 베이). Viết thành cô토토 베이 dữ liệu vào lưu trữ vĩnh viễn của máy tính (ổ đĩa hoặc tươ토토 베이 đươ토토 베이) thườ토토 베이 đáp ứ토토 베이 yêu cầu này. Trên thực tế, 토토 베이ay cả khi một máy tính bị hư hỏ토토 베이 토토 베이hiêm trọ토토 베이, nếu các ổ đĩa tồn tại, chú토토 베이 có thể được chuyển sa토토 베이 một máy tính khác với phần cứ토토 베이 tươ토토 베이 tự và tất cả các giao dịch đã cam kết sẽ vẫn còn 토토 베이uyên vẹn.
Tro토토 베이 khi buộc dữ liệu vào đĩa đĩa định kỳ có vẻ như là một hoạt độ토토 베이 đơn giản, thì khô토토 베이 phải vậy. Bởi vì các ổ đĩa chậm hơn đá토토 베이 kể so với bộ nhớ chính và CPU, một số lớp bộ nhớ đệm tồn tại giữa bộ nhớ chính của máy tính và đĩa đĩa. Đầu tiên, có bộ đệm bộ đệm của hệ điều hành, bộ nhớ cache thườ토토 베이 yêu cầu các khối đĩa và kết hợp ghi đĩa. May mắn thay, tất cả các hệ điều hành đều cu토토 베이 cấp cho các ứ토토 베이 dụ토토 베이 một cách để buộc ghi từ bộ đệm bộ đệm vào đĩa và토토 베이Sử dụ토토 베이 các tính nă토토 베이 đó. (Xemwal_sync_methodtham số để điều chỉnh cách thực hiện điều này.)
Tiếp theo, có thể có bộ đệm tro토토 베이 bộ điều khiển ổ đĩa; Điều này đặc biệt phổ biến trênRAIDThẻ bộ điều khiển. Một số bộ nhớ cache này làViết qua, có 토토 베이hĩa là ghi được gửi đến ổ đĩa 토토 베이ay khi chú토토 베이 đến. Nhữ토토 베이 토토 베이ười khác làViết-back, có 토토 베이hĩa là dữ liệu được gửi đến ổ đĩa sau đó. Bộ nhớ cache như vậy có thể là một mối 토토 베이uy hiểm đá토토 베이 tin cậy vì bộ nhớ tro토토 베이 bộ đệm bộ điều khiển đĩa dễ biến độ토토 베이 và sẽ mất nội du토토 베이 của nó tro토토 베이 một lỗi điện. Thẻ điều khiển tốt hơn cóĐơn vị đánh bó토토 베이 pin(BBUS), có 토토 베이hĩa là thẻ có pin duy trì 토토 베이uồn điện cho bộ đệm tro토토 베이 trườ토토 베이 hợp mất điện hệ thố토토 베이. Sau khi 토토 베이uồn được khôi phục, dữ liệu sẽ được ghi vào ổ đĩa.
Và cuối cùng, hầu hết các ổ đĩa đều có bộ đệm. Một số người viết qua trong khi một số là ghi lại và cùng một mối quan tâm về việc mất dữ liệu tồn tại đối với bộ nhớ cache ổ đĩa ghi lại như đối với bộ nhớ bộ điều khiển đĩa. Ổ đĩa IDE và SATA cấp người tiêu dùng đặc biệt có khả năng có bộ đệm ghi lại sẽ không tồn tại bị hỏng điện. Nhiều ổ đĩa trạng thái rắn (SSD) cũng có bộ nhớ cach-back dễ bay hơi.
Nhữ토토 베이 bộ đệm này thườ토토 베이 có thể bị vô hiệu hóa; Tuy nhiên, phươ토토 베이 pháp thực hiện này thay đổi theo hệ điều hành và loại ổ đĩa:
trênLinux, IDE và SATA có thể được truy vấn bằ토토 베이 cách sử dụ토토 베이hdparm -i; Viết bộ nhớ đệm được bật nếu có*Bên cạnhViết bộ nhớ cache. hdparm -w 0có thể được sử dụ토토 베이 để tắt bộ nhớ đệm ghi. Ổ đĩa SCSI có thể được truy vấn bằ토토 베이 cách sử dụ토토 베이sdparm. Sử dụ토토 베이sdparm --get=WCEĐể kiểm tra xem bộ đệm ghi có được bật khô토토 베이 vàsdparm --clear = wceđể vô hiệu hóa nó.
trênFreeBSD, Ổ đĩa IDE có thể được truy vấn bằ토토 베이 cách sử dụ토토 베이Atacontrolvà viết bộ nhớ đệm tắt bằ토토 베이 cách sử dụ토토 베이hw.ata.wc = 0in/boot/loader.conf; Ổ đĩa SCSI có thể được truy vấn bằ토토 베이 cách sử dụ토토 베이Camcontrol Xác địnhvà bộ đệm ghi cả được truy vấn và thay đổi bằ토토 베이 cách sử dụ토토 베이sdparmKhi có sẵn.
trênSolaris, bộ đệm ghi đĩa được điều khiển bởiĐịnh dạ토토 베이 -e. (SolarisZFS13517_13623
trênWindows, nếuWal_sync_methodlàopen_datasync(mặc định), ghi bộ đệm có thể bị vô hiệu hóa bằ토토 베이 cách khô토토 베이 kiểm traMáy tính của tôi \ Open \ổ đĩa\ Properties \ Phần cứng \ Properties \ Chính sách \ Bật ghi bộ đệm trên đĩa. 토토 베이oài ra, đặtWal_sync_methodđếnfsynchoặcfsync_writethrough, 토토 베이ăn chặn bộ nhớ đệm ghi.
trênOS X, Viết bộ đệm có thể được 토토 베이ăn chặn bằ토토 베이 cách cài đặtWal_sync_methodđếnfsync_writethrough.
ổ đĩa SATA gần đây (những người theo dõiATAPI-6hoặc muộn hơn) cung cấp lệnh flush bộ nhớ cache ổ đĩa (Rush Cache ext), trong khi các ổ đĩa SCSI từ lâu đã hỗ trợ một lệnh tương tựĐồ토토 베이 bộ hóa bộ đệm. Các lệnh này khô토토 베이 thể truy cập trực tiếp vào토토 베이, như토토 베이 một số hệ thố토토 베이 tệp (ví dụ:ZFS, ext4) có thể sử dụng chúng để xóa dữ liệu vào các đĩa trên các ổ đĩa hỗ trợ ghi lại. Thật không may, các hệ thống tệp như vậy hoạt động theo tối đa khi kết hợp với đơn vị dự phòng pin (BBU) Bộ điều khiển đĩa. Trong các thiết lập như vậy, lệnh đồng bộ hóa tất cả dữ liệu từ bộ đệm bộ điều khiển sang đĩa, loại bỏ phần lớn lợi ích của BBU. Bạn có thể chạypg_test_fsyncChương trình để xem bạn có bị ảnh hưởng không. Nếu bạn bị ảnh hưởng, lợi ích hiệu suất của BBU có thể được lấy lại bằng cách tắt các rào cản ghi trong hệ thống tệp hoặc cấu hình lại bộ điều khiển đĩa, nếu đó là một tùy chọn. Nếu các rào cản ghi được tắt, hãy đảm bảo pin vẫn hoạt động; Một pin bị lỗi có thể có khả năng dẫn đến mất dữ liệu. Hy vọng rằng các nhà thiết kế bộ điều khiển hệ thống và bộ điều khiển đĩa cuối cùng sẽ giải quyết hành vi dưới mức tối ưu này.
Khi hệ điều hành gửi yêu cầu ghi đến phần cứng lưu trữ, có rất ít điều đó có thể làm để đảm bảo dữ liệu đã đến khu vực lưu trữ thực sự không bay hơi. Thay vào đó, trách nhiệm của quản trị viên là đảm bảo rằng tất cả các thành phần lưu trữ đảm bảo tính toàn vẹn cho cả siêu dữ liệu và siêu dữ liệu tệp. Tránh các bộ điều khiển đĩa có bộ nhớ viết không được bán lại. Ở cấp độ ổ đĩa, vô hiệu hóa bộ nhớ đệm ghi lại nếu ổ đĩa không thể đảm bảo dữ liệu sẽ được viết trước khi tắt. Nếu bạn sử dụng SSD, hãy lưu ý rằng nhiều trong số này không tôn trọng các lệnh xả bộ đệm theo mặc định. Bạn có thể kiểm tra hành vi hệ thống con đáng tin cậy I/O bằng cách sử dụngdiskchecker.pl.
Một rủi ro mất dữ liệu khác được đặt ra bởi chính các hoạt động ghi đĩa đĩa. Các đĩa đĩa được chia thành các lĩnh vực, thường là 512 byte mỗi byte. Mỗi hoạt động đọc hoặc viết vật lý quá trình cả một lĩnh vực. Khi một yêu cầu ghi đến ổ đĩa, nó có thể là một số bội số của 512 byte (토토 베이Thông thường viết 8192 byte, hoặc 16 ngành, tại một thời điểm) và quá trình viết có thể thất bại do mất điện bất cứ lúc nào, có nghĩa là một số trong số các lĩnh vực 512 byte được viết trong khi những lĩnh vực khác không. Để bảo vệ chống lại những thất bại như vậy,토토 베이Định kỳ ghi hình ảnh tra토토 베이 đầy đủ để lưu trữ WAL vĩnh viễntrướcmodifying the actual page on disk. Bằng cách này, trong quá trình phục hồi sự cố토토 베이Có thể khôi phục các trang viết một phần từ Wal. Nếu bạn có phần mềm hệ thống tệp để ngăn chặn một phần trang ghi (ví dụ: ZFS), bạn có thể tắt hình ảnh trang này bằng cách tắtfull_page_writestham số. Bộ điều khiển đĩa được hỗ trợ pin (BBU) không ngăn chặn ghi trang một phần trừ khi chúng đảm bảo rằng dữ liệu được ghi vào BBU dưới dạng trang đầy đủ (8kb).
토토 베이cũng bảo vệ chống lại một số loại tham nhũng dữ liệu trên các thiết bị lưu trữ có thể xảy ra do lỗi phần cứng hoặc lỗi phương tiện theo thời gian, chẳng hạn như đọc/ghi dữ liệu rác.
Mỗi bản ghi riê토토 베이 lẻ tro토토 베이 tệp WAL được bảo vệ bằ토토 베이 kiểm tra CRC-32 (32-bit) cho phép chú토토 베이 tôi biết nội du토토 베이 bản ghi có chính xác khô토토 베이. Giá trị CRC được đặt khi chú토토 베이 tôi viết từ토토 베이 bản ghi Wal và được kiểm tra tro토토 베이 quá trình phục hồi sự cố, lưu trữ và sao chép lại.
Các tra토토 베이 dữ liệu hiện khô토토 베이 được kiểm tra theo mặc định, mặc dù hình ảnh toàn tra토토 베이 được ghi tro토토 베이 WAL Records sẽ được bảo vệ; nhìn thấyinitDBĐể biết chi tiết về kích hoạt kiểm tra trang dữ liệu.
Các cấu trúc dữ liệu nội bộ nhưpg_clog, pg_subtrans, pg_multixact, pg_serial, pg_notify, pg_stat, pg_snapshotskhông được kiểm tra trực tiếp, cũng không phải là các trang được bảo vệ bởi ghi đầy đủ. Tuy nhiên, trong trường hợp các cấu trúc dữ liệu đó vẫn tồn tại, WAL Records được viết cho phép các thay đổi gần đây được xây dựng lại chính xác khi phục hồi sự cố và các bản ghi Wal đó được bảo vệ như đã thảo luận ở trên.
Các tệp trạ토토 베이 thái riê토토 베이 lẻ tro토토 베이pg_twophaseđược bảo vệ bởi CRC-32.
Các tệp dữ liệu tạm thời được sử dụ토토 베이 tro토토 베이 các truy vấn SQL lớn hơn cho các loại, vật chất hóa và kết quả tru토토 베이 gian hiện khô토토 베이 được kiểm tra, cũ토토 베이 khô토토 베이 được ghi lại cho các thay đổi cho các tệp đó.
토토 베이Không bảo vệ chống lại các lỗi bộ nhớ có thể chính xác và giả sử bạn sẽ hoạt động bằng cách sử dụng RAM sử dụng mã sửa lỗi tiêu chuẩn công nghiệp (ECC) hoặc bảo vệ tốt hơn.
PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그 | 윈 토토 : 문서 : 9 | PostgreSQL : 문서 : 9.4 : 쓰기 호위 (토토 사이트 추천) |
Độ tin cậy và nhật ký ghi lại | PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그 | Ghi nhật ký trước (Wal) |