CentOS를 정상적으로 다시 시작하는 가장 좋은 방법은 무엇입니까? 발생합니다. CentOS를 다시 시작하는 가장 좋은

나는 항상 다음 명령을 사용했습니다.

shutdown -r now

그러나 때로는 MySQL 문제가 발생합니다.

CentOS를 다시 시작하는 가장 좋은 방법은 무엇입니까?

나는 본 적이:

reboot

halt

머신을 부드럽게 재부팅하려면 어떻게해야합니까?



답변

해당 명령 이외의 다른 것을 사용하여 서버를 다시 시작하는 더 좋은 방법은 없습니다.

  • 시스템 종료 는 가장 일반적인 방법입니다. 인수 -r와 특정 시간 (또는 ‘ now‘)을 추가하면 시스템 종료 시퀀스 후에 시스템을 중지하지 않고 재부팅합니다.
  • reboot 는 일부 하드 디스크 유지 관리 (동기화 및 / 또는 대기 모드로 설정되며 실제로는 관련이 없음)를 수행하는 래퍼 라운드 종료입니다.
  • 런레벨 0 또는 6이 아닌 경우 새 버전 reboot(> 2.74)이 시작 shutdown됩니다.
  • 대부분의 init 스크립트는 정지 를 호출 하여 utmp에 로그인 합니다.

최신 배포판에는 사용중인 명령에 관계없이 모든 작업이 포함됩니다. 기본적으로 그들은 모두 SysV (CentOS <7) 또는 시스템 (CentOS> = 7) 스크립트 의 종료 런타임을 시작합니다 (읽기 쉽도록 init 스크립트라고 부릅니다).

init 스크립트를 사용하여 단계별로 종료하면 일반적으로 실행 수준 ‘S’로 등록 된 모든 서비스가 중지됩니다 . CentOS의 MySQL init 스크립트와 같이 개별 init 스크립트에 시간 초과가있을 수 있습니다. stop 인수가 주어지고 데몬이 상당한 시간 내에 종료되지 않으면 스크립트는 중지하고 실패하여 종료합니다. 종료 프로세스는 아무 문제가없는 것처럼 계속 진행되며 조금 더 오래 걸리고 아마도 경고를 인쇄합니다. 결국, 모든 초기화 스크립트가 실행될 때 불가피한 일이 발생합니다. 여전히 실행중인 모든 프로세스가 SIGTERM 신호를 받고 몇 초 (2 또는 5) 후에 a를 얻 습니다 SIGKILL. 이렇게하면 시스템을 실제로 재부팅하거나 종료 하기 위해 ACPI 호출이 수행 되기 전에 나머지를 정리합니다 .

옵션 reboot과 함께 명령을 사용하는 한 가지 예외는 -finit 스크립트 실행을 건너 뛰고 시스템을 직접 재부팅합니다.

걱정의 근본 원인을 해결하는 것이 좋습니다. MySQL이 제대로 종료되지 않습니다.

종종 이것은 데몬을 안전하게 종료하기 전에 수행해야하는 엄청난 양의 작업으로 인해 발생합니다. 한때 +300.000 테이블이있는 MySQL 인스턴스가 있었으며 종료하는 데 1 시간 이상 걸렸습니다. 거대한 버퍼와 드문 I / O 가용성을 사용하는 시스템에서 비슷한 문제가 발견 될 수 있습니다.


답변

다음 명령을 루트로 사용하여 Centos 6.x를 정상적으로 종료해야합니다.

shutdown -h now

서버를 정상적으로 종료하기 전에 실행중인 모든 서비스를 중지하려고합니다.

이 명령을 사용하면 mySQL 소켓 문제도 방지 할 수 있습니다.

마찬가지로, 정상적인 재부팅의 경우 :

reboot -h now

비슷한 질문에 대한 이전 답변을 여기에서 읽을 수 있습니다.

https://stackoverflow.com/questions/20407292/centos-another-mysql-daemon-already-running-with-the-same-unix-socket


답변

최종 사용자와 고객에게 원격 지침을 제공 할 때 poweroff시스템을 종료하고 전원을 끄는 데 사용 하도록 지시합니다 .

웜 재부팅을 원한다면 reboot명령 을 사용하는 것이 좋습니다 .

나는 발행Ctrl-Alt-Delete 이 이것을 달성 한다고 말할 수 있다고 생각 한다.)


답변

‘init 6’명령을 사용합니다.

init 6은 init 프로세스에 init 파일에 기록 된대로 생성 된 모든 프로세스 / 데몬을 셧다운하고 (시작된 역순으로) 마지막으로 shutdown -r now 명령을 호출하여 시스템을 재부팅합니다.

자세한 내용은 이 질문에 나와 있습니다.


답변

이 답변이 마음에 들지 않을 수도 있지만이 답변에는 다른 사람이 고려하지 않은 통찰력이 포함되어 있습니다. . . 당신은 쓰기:

나는 항상 다음 명령을 사용했습니다.

shutdown -r now

그러나 때로는 MySQL 문제가 발생합니다.

여기서 문제는 시스템 종료 방법이 아니며 시스템 종료를 올바르게 처리 할 수없는 소프트웨어입니다. MySql.

실제로이 문제를 해결할 수있는 유일한 방법은 MySql을 대체하거나 (PostgreSql은 대용 대체품) FIRST가 아기처럼 MySql을 방해하는 자체 종료 스크립트를 작성하고 종료하면 기꺼이 시스템을 종료합니다.

… 26 년 이상 데이터베이스 시스템을 전문화 한 사람으로서, 최근 MySql이 데이터베이스 시스템의 가장 중요한 측면에서 역량과 관련하여 함께 행동하기 시작한 것은 최근에야 -데이터 보안 / 무결성. 이전에는 이러한 측면에 대한 관심이 적었고 성능에 대한 관심이 많았습니다. 그러나 데이터를 잃어 버리면 훌륭한 성능은 무엇입니까? 예를 들어,보고있는 시점에서 Netflix 스트리밍 비디오 녹화와 같은 일부 응용 프로그램에서는 절대 충실도가 특히 중요하지 않을 수도 있습니다. 어쩌면 고객은 실패 후 약간의 비디오 백업을 좋아할 수도 있습니다. 그러나 뱅킹 시스템에서는 엄청난 비율의 재앙입니다. 데이터 소유자 만 자신에게 적합한 것을 알 수 있습니다.


답변