Postgresql 9.1.24 문서 | ||||
---|---|---|---|---|
범퍼카 토토 : 문서 : 9.1 : 신뢰성 및 쓰기 로그 | 범퍼카 토토 : 문서 : 9.1 : 신뢰성 및 쓰기 로그 | 29 장. 신뢰성 및 쓰기 전달 로그 | 스포츠 토토 사이트 : 문서 : 9.1 : 쓰기 호위 (WAL) |
신뢰성은 모든 심각한 데이터베이스의 중요한 속성입니다 시스템 및토토 사이트 순위신뢰할 수있는 운영을 보장하기 위해 가능한 모든 것. 한 가지 측면 신뢰할 수있는 작업은 커밋 된 모든 데이터가 거래는 안전한 비 휘발성 지역에 저장해야합니다. 전력 손실, 운영 체제 고장 및 하드웨어 고장으로부터 (물론 비 휘발성 영역 자체의 실패 제외). 컴퓨터의 영구 저장소에 데이터를 성공적으로 작성합니다 (디스크 드라이브 또는 이와 동등한) 일반적 으로이 요구 사항을 충족합니다. ~ 안에 사실, 컴퓨터가 치명적으로 손상 되더라도 디스크가 운전하는 경우 생존하면 비슷한 상태에서 다른 컴퓨터로 옮길 수 있습니다. 하드웨어 및 모든 커밋 된 거래는 그대로 유지됩니다.
디스크 플래터에 데이터를 강제하는 동안 주기적으로 가능합니다 간단한 작동처럼 보이지만 그렇지 않습니다. 디스크 드라이브이기 때문에 메인 메모리 및 CPU보다 극적으로 느리게 컴퓨터의 메인 메모리와 디스크 사이에 캐싱이 존재합니다. 플래터. 먼저 운영 체제의 버퍼 캐시가 있으며 캐시는 자주 디스크 블록을 요청하고 디스크를 결합합니다 쓴다. 다행히 모든 운영 체제는 응용 프로그램을 제공합니다 버퍼 캐시에서 디스크로 쓰기를 강제로하는 방법토토 사이트 순위해당 기능을 사용합니다. (참조Wal_Sync_Method이 작업이 수행되는 방식을 조정하는 매개 변수.)
다음으로 디스크 드라이브 컨트롤러에 캐시가있을 수 있습니다. 이것은 특히 일반적입니다Raid컨트롤러 카드. 이 캐시 중 일부 이다쓰기 스루, 의미는입니다 도착하자마자 드라이브로 보냈습니다. 다른 사람은쓰기 백, 즉 데이터가 드라이브로 전송됩니다 나중에. 이러한 캐시는 신뢰성 위험이 될 수 있습니다 디스크 컨트롤러 캐시의 메모리는 휘발성이며 정전으로 내용물을 잃습니다. 더 나은 컨트롤러 카드 가지다배터리 백 쿠크 장치(BBUs) - 카드에 a 시스템 전원의 경우 캐시에 전원을 유지하는 배터리 손실. 전원이 복원 된 후 데이터는 디스크 드라이브.
마지막으로 대부분의 디스크 드라이브에는 캐시가 있습니다. 일부는입니다 글을 쓰는 동안 일부는 쓰기와 같은 우려가 있습니다 디스크와 같은 쓰기 드라이브 캐시의 데이터 손실에 대해 컨트롤러 캐시. 소비자 등급의 IDE 및 SATA 드라이브가 있습니다 특히 쓰기 캐시가있을 가능성이 높습니다 정전에서 살아남습니다. 많은 솔리드 스테이트 드라이브 (SSD)도 가지고 있습니다 휘발성 쓰기 백 캐시.
이 캐시는 일반적으로 비활성화 될 수 있습니다. 그러나 방법 이 작업을 수행하려면 운영 체제 및 드라이브 유형에 따라 다릅니다.
onLinux, IDE 드라이브 캔 사용을 쿼리해야hdparm -i; 쓰다 캐싱이 활성화되어 있습니다.*옆쓰기 캐시. HDPARM -W쓰기를 끄는 데 사용될 수 있습니다 캐싱. SCSI 드라이브는 사용을 쿼리 할 수 있습니다SDPARM. 사용sdparm --get = wce쓰기 캐시가 활성화되고sdparm -Clear = wce비활성화하려면
on13121_13130, IDE 드라이브 사용을 쿼리 할 수 있습니다atacontrol및 사용을 사용하여 캐싱을 끄는 쓰기hw.ata.wc = 0in/boot/loader.conf; SCSI 드라이브를 쿼리 할 수 있습니다 사용CamControl 식별캐시 작성 쿼리 및 변경 사항SDPARM가능한 경우.
onSolaris, 디스크 쓰기 캐시는에 의해 제어됩니다.형식 -E. (그만큼 SolarisZFS파일 시스템입니다 디스크 쓰기 캐시가 자체 문제로 인해 안전합니다. 디스크 캐시 플러시 명령.)
onWindows, ifWAL_SYNC_METHODisOpen_Datasync(기본값), 캐싱 캔을 쓰십시오 선택 취소로 비활성화내 컴퓨터 \ Open \디스크 운전하다\ Properties \ Hardware \ Properties \ Policies \ enable 디스크에 캐싱 쓰기. 또는 setWal_sync_methodtofsync또는fsync_writethrough, 쓰기 방지 캐싱.
onMac OS X, 쓰기 캐싱을 설정하여 캐싱을 방지 할 수 있습니다Wal_Sync_Methodtofsync_writethrough.
최근 SATA 드라이브 (이후의atapi-6또는 이후)는 드라이브 캐시 플러시를 제공합니다 명령 (플러시 캐시 Ext), SCSI 드라이브는 오랫동안 비슷한 명령을지지 해 왔습니다캐시 동기화. 이 명령은 직접적이지 않습니다 액세스 가능토토 사이트 순위, 그러나 일부 파일 시스템 (예 :ZFS, ext4)를 사용하여 플러시 할 수 있습니다 쓰기 백 지원 드라이브의 플래터에 대한 데이터. 안타깝게도, 이러한 파일 시스템은 결합 될 때 차 표적으로 행동합니다 배터리 백업 장치 (BBU) 디스크 컨트롤러. 이러한 설정에서 동기화 명령은 모두 힘을 강요합니다 컨트롤러 캐시에서 디스크로의 데이터를 많이 제거합니다. BBU의 이점. 당신은를 실행할 수 있습니다PG_TEST_FSYNC모듈이 있는지 확인하십시오 체하는. 당신이 영향을 받으면, 성능 혜택 파일의 쓰기 장벽을 끄면 BBU를 회복 할 수 있습니다. 디스크 컨트롤러 시스템 또는 재구성하는 경우 옵션. 쓰기 장벽이 꺼지면 배터리를 확인하십시오. 기능적으로 남아 있습니다. 배터리가 결함이 발생하면 잠재적으로 데이터로 이어질 수 있습니다 손실. 파일 시스템 및 디스크 컨트롤러 설계자가 할 수 있기를 바랍니다 결국이 차선책을 다루고 있습니다.
운영 체제가 저장소에 쓰기 요청을 보낼 때 하드웨어, 데이터에 데이터가 있는지 확인하기 위해 할 수있는 일은 거의 없습니다. 진정으로 비 휘발성 저장 공간에 도착했습니다. 오히려, 그것은입니다 모든 스토리지를 확인 해야하는 관리자의 책임 구성 요소는 데이터 무결성을 보장합니다. 디스크 컨트롤러를 피하십시오 비 버터 시게하는 쓰기 캐시가 있습니다. 드라이브 레벨에서 비활성화하십시오 드라이브가 데이터를 보장 할 수없는 경우 쓰기 캐싱 종료 전에 작성되었습니다. SSD를 사용하는 경우 많은 것입니다 이들은 기본적으로 캐시 플러시 명령을 존중하지 않습니다. 당신은 테스트 할 수 있습니다 신뢰할 수있는 I/O 하위 시스템 동작을 사용하여diskchecker.pl.
데이터 손실의 또 다른 위험은 디스크 플래터 쓰기에 의해 제기됩니다. 운영 자체. 디스크 플래터는 부문으로 나뉩니다. 일반적으로 512 바이트 각각. 모든 물리적 읽기 또는 쓰기 작업 전체 부문을 처리합니다. 쓰기 요청이 드라이브, 512 바이트의 일부 배수 (에 대한 것일 수 있습니다.토토 사이트 순위일반적으로 8192 바이트를 씁니다 16 개의 부문, 한 번에), 글쓰기 과정은 실패 할 수 있습니다. 언제라도 전력 손실로 512 바이트 부문 중 일부를 의미합니다. 다른 사람들은 그렇지 않은 동안 쓰여졌습니다. 그러한 반대를 지키기 위해 실패,토토 사이트 순위정기적으로 전체 페이지 이미지를 영구 월 스토리지에 씁니다전수정 디스크의 실제 페이지. 이렇게하면 충돌 회복 중토토 사이트 순위복원 할 수 있습니다 WAL에서 부분적으로 작성된 페이지. 파일 시스템이있는 경우 부분 페이지 쓰기 (예 : ZFS)를 방지하는 소프트웨어는 이 페이지를 끄면full_page_writes매개 변수. 배터리 지원 장치 (BBU) 디스크 컨트롤러는 그렇지 않습니다 데이터가 데이터가 BBU에 전체 (8KB) 페이지로 작성되었습니다.
범퍼카 토토 : 문서 : 9.1 : 신뢰성 및 쓰기 로그 | 홈 | 다음 |
신뢰성 및 쓰기 로그 | up | 쓰기 로깅 (Wal) |