설정
나는 지금 꽤 오랫동안 프로그래머 였지만 여전히 깊고 내부적 인 것들에 대해서는 약간 모호하다.
지금. 나는 다음 중 어느 것도 좋지 않다는 것을 잘 알고있다.
- 프로세스를 죽이십시오 -9 (나쁜)
- 실행중인 컴퓨터 나 서버의 전원 플러그를 자발적으로 당기십시오 (심각한 경우)
그러나 때로는 평범해야합니다. 때로는 프로세스가 수행 한 작업에 관계없이 응답하지 않고 때로는 컴퓨터가 수행 한 작업에 관계없이 응답하지 않는 경우가 있습니다.
mod_wsgi를 통해 Apache 2, MySQL 5, PHP 5 및 Python 2.6.5를 실행하는 시스템을 가정 해 봅시다.
참고 : 여기서 Mac OS X에 대해 가장 관심이 있지만 UNIX 시스템과 관련된 답변이 도움이 될 것입니다.
내 관심사
이 중 하나, 특히 두 번째 중 하나를 수행해야 할 때마다 일정 기간 동안 무언가가 깨 졌다는 것이 매우 걱정됩니다. 어딘가에 파일이 손상되었을 수 있습니다. 누가 어떤 파일을 알고 있습니까? 컴퓨터에 1,000,000 개가 넘는 파일이 있습니다.
OS X를 자주 사용하므로 디스크 유틸리티를 통해 "디스크 확인"작업을 실행합니다. 아무 문제도보고하지 않지만 여전히 우려하고 있습니다.
어딘가에 일부 구성 파일이 망가지면 어떻게 될까요? 또는 바이너리 파일이 손상된 경우 어떻게해야합니까? 또는 어딘가에 스크립트 파일이 손상되었습니다. 일부 하드웨어가 손상된 경우 어떻게합니까?
부패 나 피해가 재앙을 일으키는 중대한 시나리오에서 다음 달까지 그 사실을 알지 못하면 어떻게해야합니까?
또는 귀중한 데이터가 이미 손실 된 경우 어떻게해야합니까?
내 희망
나는 이러한 우려와 걱정이 근거가 없다는 것을 희망한다. 결국, 여러 번이 작업을 수행 한 후에도 아직까지는 전혀 나쁜 일이 없었습니다. 최악의 경우 일부 MySQL 테이블을 복구해야했지만 데이터가 손실되지 않은 것 같습니다.
그러나 내 걱정이 근거가없고 상황 1 또는 2에서 실제 피해가 발생할 수 있다면, 그것을 감지하고 예방할 수있는 방법이 있기를 바랍니다.
내 질문
현대 운영 체제는 이러한 시나리오에서 아무것도 손실되지 않도록 설계 되었기 때문일 수 있습니까? 현대 소프트웨어가 손실되지 않도록 설계 되었기 때문일 수 있습니까? 현대 하드웨어 디자인은 어떻습니까? 전원 플러그를 뽑을 때 어떤 조치가 취해 있습니까?
내 질문은 두 시나리오 모두에 대해 정확히 무엇이 잘못 될 수 있으며 문제를 해결하기 위해 취해야 할 조치는 무엇입니까?
잘못 될 수있는 한 가지는 일부 프로그램이 디스크로 데이터를 플러시하지 않았을 수 있으므로 디스크에 기록되어야하는 최신 데이터 (예 : 전원 풀기 몇 초 전) )가 손실 될 수 있습니다. 그러나 그 이상은 어떻습니까? 5 초의 데이터 손실 문제로 시스템이 망가질 수 있습니까?
하드 드라이브의 거대한 파일 포리스트 어딘가에 임의의 파일이 숨겨져있는 경우는 어떻습니까?
하드웨어 손상은 어떻습니까?
가장 도움이 될 것
프로세스를 종료 (-9)하거나 전체 시스템의 전원을 끌 때 내부적으로 진행되는 작업에 대한 자세한 설명. (즉시처럼 보이지만 누군가 나를 위해 속도를 늦출 수 있습니까?)
이러한 시나리오에서 잘못 될 수있는 모든 문제에 대한 설명과 함께 (물론) 가능성이 있습니다 (즉, 가능성은 거의 없지만 가능성이 높습니다) ...
이러한 시나리오가 발생할 때 손상 또는 손상을 방지하기 위해 최신 하드웨어, 운영 체제 및 소프트웨어에 적용된 조치에 대한 설명. (나를 위로하기 위해)
드라이브 어딘가에 손상이나 손상이 없는지 확인하기 위해 "디스크 확인"을 넘어서 kill -9 또는 power pull 후 수행 할 작업에 대한 지침.
컴퓨터 설치를 강화하기 위해 취해야 할 조치로 무언가를 죽이거나 전원을 꺼야 할 경우 잠재적 인 손상이 완화됩니다.
이진 파일에 대한 일부 정보-아파치 이진 파일 또는 일부 라이브러리의 중간에 임의의 바이트가 손상되어 나중에 나오지 않고 나중에 문제가 발생한다는 사실이 사실이 아닙니까? 파워 풀이나 킬로 인해 이런 일이 발생하지 않았다고 어떻게 확신 할 수 있습니까?
정말 고마워!