예기치 못한 시스템 종료로 인해 Linux 컴퓨터가 손상 될 수 있습니까?
예기치 않은 종료는 다른 운영 체제와 마찬가지로 Linux에 해롭지 않습니까? Linux 파일 시스템에서 치명적인 시스템 종료의 영향을 조사하면서 계속 읽어보십시오..
오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 중심 그룹 인 Stack Exchange의 하위 부문 인 수퍼 유저의 도움으로 이루어졌습니다..
질문
수퍼 유저 리더 User208554는 리눅스 파일 구조에 대해 궁금해하며 그가 작업중인 앱 / 설치에 대해 우려하고 있습니다.
Linux 임베디드 보드 (데비안 실행)에서 응용 프로그램을 개발 중입니다. 라스베리 파이, 비글 보드 / 뼈, 또는 olimex. 이 보드는 예기치 않게 전기가 끊기는 환경에서 작동합니다 (PSU를 배치하기에는 너무 복잡합니다). 매일 두 번씩 발생합니다. 예기치 않은 전원 차단으로 인해 Linux 운영 체제에서 문제가 발생하는지 궁금합니다. 내가 걱정해야 할 부분이라면 예상치 못한 전원 차단에 대비하여 OS에 대한 피해를 막기 위해 무엇을 제안 하시겠습니까??
추신. 응용 프로그램은 저장 매체 (SD 카드)에 일부 데이터를 기록해야합니다. 읽기 전용으로 마운트하는 것은 적합하지 않다고 생각합니다..
그렇다면 평결은 무엇입니까??
대답
수퍼 유저 기고가 l0b0은 저널링 / 비 저널링 파일 시스템에 대한 통찰력을 제공합니다.
이것은에 달려있다.
- 저널링 파일 시스템을 사용하고 있는지,
- 응용 프로그램이 중단 된 처리를 얼마나 잘 처리 할 수 있는지.
예를 들어 파일을 처리하고 계산 된 결과 (입력 행당 하나의 출력 행)를 다른 파일에 씁니다. 처리 중에 전원이 끊기고 다시 시작한 후에 동일한 응용 프로그램이 실행되면 입력 파일 시작부터 처리를 다시 시작할 수 없습니다. 즉, 출력 파일에 중복 정보가 포함될 수 있습니다..
가설적인 복잡한 시스템에 대해 명확한 것을 말하기는 매우 어려울 수 있지만, 가장 안정적인 Linux 소프트웨어는 충돌을 아주 잘 처리 할 수있는 것 같습니다..
Stu는 배터리 백업을 추가 할뿐만 아니라 운영 체제와 데이터 분리를 제안합니다.
OS 손상 가능성을 최소화하려면 SD 카드에 별도의 "시스템"및 "데이터"파티션을 설치하는 것이 가장 좋습니다. 그렇게하면 "시스템"파티션을 읽기 전용으로 마운트하고 "데이터"파티션에 탄력성이 높은 FS를 사용할 수 있습니다.
또한 대부분의 보드는 전력 요구량이 매우 낮으므로 배터리 백업이 가능합니다. 라즈베리 파이를위한 "LiPo rider"보드는 전력 손실에 대한 완벽한 종료를 제공하는 기본 UPS로 사용될 수 있습니다.
마지막으로 Jenny D는 저널링 파일 시스템 제안을 확장합니다.
예기치 않은 정전으로 인해 파일 시스템 데이터가 손상 될 수 있습니다. 프로세스가 파일에 쓰기를 시작했지만 아직 쓰기를 완료하지 않은 경우 파일의 절반 만 작성 될 수 있습니다. 이제 커널 업그레이드를 통해 절반 정도 힘이 들었을 때 전원 차단이 발생했는지 상상해보십시오 ...
l0b0이 쓴 것처럼 저널링 파일 시스템을 사용하면 실제로 완료된 내용을 추적 할 수 있으므로 도움이됩니다. l0b0가 링크 된 위키 피 디아 정보 외에도, 전원 장애 후에도 저널링 파일 시스템이 손상에 대한 보장을하고 있습니까?.
프로그래머는 명백히 파일에 쓰기를 처리하여 원자 프로세스 (즉, 완전히 완료되었거나 완료되지 않았지만 결코 완료되지 않은 작업)가되도록주의 깊게 고려해야합니다. 상당히 복잡한 문제입니다..
설명에 추가 할 것이 있습니까? 의견에서 소리가 나지. 다른 기술에 정통한 Stack Exchange 사용자의 답변을 더 읽고 싶습니까? 전체 토론 스레드를 여기에서 확인하십시오..