나는 내 홈 서버(나 자신, 가족 구성원, 고객)에서 여러 전자 상거래 사이트를 운영하고 있습니다. Ubuntu 12.04 lts를 실행하는 구형 Dell Dimension 4600입니다. 컴퓨터에 장애가 임박했다는 징후는 보이지 않지만, 오래되었기 때문에 무슨 일이 일어날 경우를 대비해 잘 백업해 두고 싶습니다. 서버가 다운된 후 며칠 이내에 데이터를 새 서버로 복원할 수 있어야 합니다. Clonezilla와 같은 것을 사용하는 가장 좋은 방법이 있습니까? 아니면 이를 수행하는 더 좋은 방법이 있습니까?
업데이트
작업을 수행하는 동안 사이트가 활성화될 필요는 없으며 현재 약 8GB의 데이터가 있습니다. 비트 복사본은 내가 원하는 것, 즉 백업을 만든 다음 어떤 일이 발생하면 백업 디스크를 연결하고 사용할 수 있는 좋은 아이디어인 것 같습니다. 디스크 레이아웃은 하나의 디스크, 하나의 큰 80GB 파티션입니다. 예, 이것이 최선이 아니라는 것을 알고 있습니다. 저는 OS를 설치하고 처음 설정할 때 Linux, Ubuntu, 웹 서버 등 거의 모든 세계를 처음 접했습니다. 따라서 LVM도 없습니다
답변1
사이트를 운영하는 동안 사이트를 활성화할 필요가 없다면 다양한 솔루션이 있습니다. 가장 쉬운 방법은 디스크가 읽기 전용으로 마운트되었는지 확인하고(예: 부팅 디스크 사용) 디스크 1개에서 비트 복사를 수행하는 것입니다. 다른 사람에게. 그런 다음 문제가 발생하면 백업 디스크를 넣고 서버를 켜고 떠나기만 하면 됩니다.
복사하는 동안 사이트가 활성화되어야 한다면 문제는 더욱 복잡해집니다. Linux에서 백업을 처리하는 좋은 방법은 rsnapshot과 같은 것을 사용하여 증분 백업을 예약하는 것입니다(그러나 귀하의 경우에는 rsync가 더 쉬울 수 있습니다). 복원해야 하는 경우 서버를 재구축한 다음 최신 스냅샷을 복사하여 시작해야 합니다.
백업하는 데이터의 양, 변경 빈도 또는 디스크 레이아웃을 표시하지 않았습니다. 이 두 가지 모두 백업 솔루션을 마련하는 데 유용합니다. 새로운 시스템을 구축하는 경우(또는 원래 시스템을 구축할 때 통찰력을 갖고 있는 경우) LVM에 파일 시스템을 구축한 다음 LVM의 스냅샷을 찍어 백업하는 것이 유용한 경우가 많습니다. 이는 가동 중지 시간이 없으며 특정 시점에 [대부분의] 파일 시스템의 정확한 복사본을 만들 수 있음을 의미합니다. 물론 LVM을 사용한다고 가정합니다.
마찬가지로, OS와 애플리케이션이 잘 분리된 경우 Ubuntu 12.04의 기본 설치로 시작한 다음 애플리케이션만 증분적으로 백업할 수 있습니다. 데이터베이스를 덤프하여 웹 파일과 다르게 데이터베이스를 처리할 수도 있습니다. 마찬가지로 tar(때때로 블록 장치에 있음)는 완전하고 압축된 백업에 적합할 수 있습니다. 그러나 블록 장치를 백업할 때는 블록 장치 백업 중 파일 변경 사항이 부주의하게 매우 심각하게 돌아올 수 있다는 점에 유의하세요.
불행하게도 백업은 시스템마다 다르기 때문에 이보다 더 구체적으로 설명하기는 어렵습니다.
답변2
이와 같은 상황의 경우 가장 좋은 방법은 데이터를 동기화할 수 있는 다른 서버를 보유하는 것입니다. VPS를 구입하고 코드, 데이터베이스 및 구성을 동기화하세요. 방금 제가 이용하는 제공업체를 확인해 보니 20GB 공간, 512MB RAM, 1.5TB 전송, 2개의 IP를 갖춘 VPS를 연간 20달러에 얻을 수 있습니다. 사양을 두 배로 늘리면 연간 40달러입니다. 땅콩. 저렴한 가격이 마음에 들지 않으면 Amazon Cloud나 Slicehost를 사용할 수 있지만 돈을 낭비하고 있는 것 같습니다.
코드를 변경할 때 Dreamweaver(또는 사용하는 모든 제품)를 사용하여 "테스트" 사이트를 변경하십시오. 그런 다음 데이터를 "프로덕션" 사이트로 승격합니다. 대부분의 웹 개발 IDE에는 "테스트" 서버와 "프로덕션" 서버를 보유하는 기능이 있습니다. 당신은 어느 것을 선택합니다. 만약 저라면(일부 클라이언트와 거의 동일한 상황에 처해 있음) VPS를 프로덕션 사이트로 설정하고 홈 서버를 백업 사이트로 사용할 것입니다.
이것의 초기 설정은 쉽습니다. apt-get에서 설치된 모든 패키지를 txt 파일로 덤프하고 이를 사용하여 VPS에 동일한 패키지를 설치할 수 있습니다. 웹 파일을 타르업하면 데이터베이스가 덤프되며 SCP를 사용하여 해당 파일을 다른 서버에 바로 복사할 수 있습니다. (아마도 짧은 쉘 스크립트를 사용하여 모든 작업을 수행할 수 있습니다.) 아마도 대부분의 /etc도 복사하고 싶을 것입니다. 초기 설정이 완료되면 동기화를 유지하는 것이 쉽지 않습니다.
여기에는 많은 장점이 있습니다.
- 첫째, 집에 정전이 되어도 서버가 다운되지 않습니다.
- 둘째, 코드 변경 사항은 LAN을 통해 테스트 및 개발되므로 속도가 빠르고 느린 연결(YMMV)을 통해 데이터를 푸시할 때까지 기다리지 않아도 됩니다.
- 하드웨어에 오류가 발생하여 부품을 구하는 데 일주일이 걸리고 생산 현장은 계속 가동됩니다.
- 어디에서나 테스트 서버에 SSH로 연결하여 변경하고 테스트한 다음 중단을 최소화하면서 프로덕션 서버에 푸시할 수 있습니다.
- 프로덕션 머신과 정확히 동일한 구성으로 개발할 수 있습니다. 따라서 XAMPP나 다른 개발 환경을 사용할 필요가 없으며 종속성, 구조 또는 기타 모든 개발 미묘한 차이에 대해 걱정할 필요가 없습니다.
- 공동 위치. 어떤 이유로 프로덕션 시스템이 실패하면(VPS) DNS를 홈 서버로 다시 지정하세요. DNS TTL을 30분으로 유지하면 가동 중지 시간이 최소화됩니다.
그래서, 그것이 나의 추천입니다.
그리고 예, 저는 사람들에게 연간 $40 정도의 비용이 드는 VPS에 대해 연간 $1000+를 청구합니다. 또한 다른 공급자나 내 홈 랙의 또 다른 VPS인 코로케이션 서비스를 상향 판매합니다. 웹게임에서 돈을 벌고 싶다면 거인의 어깨 위에 서야 한다. 코드를 개발하는 것은 좋지만 잔여 소득이 있는 곳입니다, 형제님. 저렴하게 구매하세요. 높게 매도하세요.