올리버에 의해 게시 06.09.202106.09.2021
자신의 홈 서버에 중요한 소프트웨어 및 데이터를 자체 호스팅하는 것은 많은 장점을 가지고 있지만 시작하는 어려운 작업이 될 수 있습니다. 지금 몇 년 동안 내 자신의 서버를 실행하고 여기에 하드웨어 및 소프트웨어의 선택을 설명합니다. 이것은 당신의 자신의 작은 서버를 설정하는 방법에 대한 전체 가이드가 될 것입니다.
왜 당신은 당신의 자신의 서버를 구축해야합니까?
경우에 따라서는 안됩니다. 매우 비용이 많이 드는 전문 또는 하드(이메일 등)서비스를 구성하는 것은 실제로 외부 공급자의 더 나은 수 있습니다. 너가 단 너의 서비스를 아주 희소하게 이용하지 않으나 모두에 이것을 접대하기를 위해 필요로 하는 지견의 어떤으로 급강하하게 기꺼이 하지 않으면 또한 너를 위해 우측 장소 이지 않을지도 모르지 않았다.
하지만 무서워하지 마세요,혼자 소프트웨어를 호스팅하는 것은 오늘날처럼 간단 적이있다 그리고 그것은 많은 장점을 함께 제공. 어쩌면 가장 중요한 것은 당신을 조금 더 독립적으로한다는 것입니다. 기술 거인은 데이터 및 클라우드 또는 데이터 및 서비스(로컬)에 액세스하는 것을 중지하지 않습니다 인터넷 제공 업체와 몇 가지 문제를 얻을 수있는 그런 쉬운 시간이 없습니다.
서비스가 삶의 점점 더 중요한 부분(스마트 홈 시스템과 같은)을 제어하는 시대에 이러한 제어 및 독립성은 매우 중요 할 수 있습니다. 장기적으로 그것은 심지어 장기적으로 더 비용 효과적 일 수있다. 물론 하드웨어를 구입하는 것은 투자이지만 클라우드에서 테라 바이트의 데이터를 호스팅하는 것은 비용이 많이들 것입니다.
마지막으로 그것은 당신이 기술에 대해 많은 것을 배울 수 있도록 매우 재미있는 프로젝트가 될 수 있습니다 당신은 항상 새로운 소프트웨어를 시도 무료입니다. 거기에 너무 많은 오픈 소스&자유 소프트웨어가 있습니다!
당신은 당신의 서버로 무엇을 하시겠습니까?
무엇이든을 건축하기 전에 질문하는 것이 중요하다:나는 무엇을 이 서버로 하는 것을 계획하고 있는가? 당신은 단지 많은 데이터없이 로컬로 작은 서비스의 몇 가지를 호스팅하고자하는 경우 결과는 전체 스토리지 서버에서 매우 다르게 보일 것입니다.
당신은 단지 로컬 서비스가 필요한 경우 나는 새로운 라즈베리 파이와 아마도 데이터에 대한 외부 디스크를 얻기 위해 대부분의 경우에 추천합니다. 그들은 저렴 한,에너지 효율적이 고 쉽게 설정. 나는이 문서에서 깊이 라즈베리 파이 4 에 따라 내 작은 스마트 홈 서버와 허브를 설명했다. 작은 데이터 저장을 위해 저장 장치를 추가하는 것도 매우 쉽습니다.
더 강력한 솔루션을 찾고 있거나 많은 데이터를 저장해야하는 경우 다른 플랫폼을 사용하는 것이 좋습니다. 어떤 사람들은 나스 또는 오래된 서버 하드웨어를 사용(이는 아주 잘 작동 할 수 있습니다)하지만 난 몇 가지 특별한 특성에 초점을 맞춘 일반 고객 하드웨어를 추천합니다.1182>
웨스턴 디지털 레드 플러스 시리즈
씨게이트 아이언 울프 시리즈
라즈베리 파이 4 작은 서버를위한 8 기가바이트
독일 출판사 하이즈는 자신의 서버를 구축에 대한 몇 가지 좋은 기사가 있습니다. 당신은 또한 이것에 관한 많은 국제 기사를 찾을 수 있습니다. 서버의 여러 버전을 구축 한 후 내 개인 학습은 항상 당신이 지금 당장 매우 가까운 미래에 필요한 것을 계획하는 것입니다. 당신이 10 년 안에 필요로 할지도 모른 무언가를 위해 건축하지 말라. 그때까지 더 나은 하드웨어를 사용할 수있을 것입니다. 이 유일한 예외는 스토리지 수 있습니다. 나중에 더 많은 스토리지를 추가할 수 있도록 몇 개의 사타 포트를 남겨 두는 것이 좋습니다.
소프트웨어 스택
서버용으로 만들어진 많은 소프트웨어가 있으며 모든 선택은 사용자의 선호도와 사용 사례에 따라 달라집니다. 뒤에 오는 것 나의 자유시간안에 이 문제에 일하는 2 년다음에 나의 개인 의견 이다.
우선 내가 서버에서 사용하지 않을 것 무엇을 시작할 수 있습니다:윈도우. 업그레이드 하드,소프트웨어의 많은 제대로 지원 되지 않습니다 그리고 그것은 비싼. 대신 유닉스/리눅스 솔루션을 사용하십시오. 이 응용 프로그램은 당신에게 아름다운 욕실 꾸미기의 갤러리를 보여줍니다. 그들은 당신을 위해 좋은 선택이 될 수도 있지만,나는 디 경로를 가서 검증 된 기술을 기반으로 내 자신의 솔루션을 구축하기로 결정했다.
내 홈 서버는 최소한의 우분투 서버에서 실행 중입니다. 나는 캐시,스냅 샷,레이드 및 간단한 백업과 같은 기능을 제공하면서 드라이브를 하나의 빅 데이터 풀에 풀링하기 위해 파일 시스템을 사용합니다. 이 풀에서는 다른 사용 사례에 대한 여러 파일 시스템을 만들었으며 그 중 일부는 다른 클라이언트가 사용할 수 있도록 네트워크를 통해 사용할 수있었습니다. 서버에서 도커 데몬을 실행하고 여러 도커 작성 파일을 사용하여 오픈 하브,그라파 나,비트 워덴/볼트워덴 및 넥스트 클라우드와 같은 일련의 서비스를 호스팅합니다. 역 프록시를 사용하면 웹 어디에서나 선택 서비스에 도달 할 수 있습니다.
외부 백업은 다음을 통해 연결된 추가 드라이브를 통해 수행되며 정기적으로 회전됩니다. 몇 가지 스크립트와 가동 시간 모니터는 정기적으로 모든 것이 여전히 제대로 실행되고 있는지 확인하고 그렇지 않으면 경보를 보냅니다. 설치는 대부분 자동화되어 있으며 새 하드웨어에서 신속하게 다시 수행 할 수 있습니다(물론 데이터를 계속 사용할 수있는 경우).
서버 설정 방법–자동 설치
실제로 서버를 설정하기 전에 이 프로세스를 자동화하기로 결정했습니다. 이것은 쉽게,빨리,적은 오류가 발생하기 쉬운 또한 문서의 종류 역할을합니다. 빠르고 쉽게 안정적으로 설정할 수 있는 기본 플랫폼을 갖는 것이 큰 장점입니다. 이 방법으로 다른 모든 데이터 및 실제 서비스는이 시스템을 독립적으로 구성 할 수 있습니다. 나는 모든 다른 무언가로 전환 할 경우 상대적으로 쉬워야한다.
자동화를 위해 나는 가능한 것을 선택했다. 서버를 설정하기 위해 수행해야 할 단계를 정의하는 짧은 스크립트. 이 플레이 북은 간단한 명령으로 호출 할 수 있으며 설치 프로세스에 필요한 모든 수동 단계를 자동화합니다. 나는 서버를 설정하는 동안 나 자신이 가능하다는 것을 배웠으므로 플레이 북이 더 좋을 수 있다고 확신하지만 서버 설정에 필요한 모든 것뿐만 아니라 서버 설정에 필요한 모든 것을 공유 할 것입니다.
모든 것이 의도한 대로 작동하는지 확인하기 위해 실제 설치 전에 이러한 스크립트를 가상 머신에 몇 번 실행했습니다. 그 이후로 나는 몇 가지 새로운 기능을 추가하고 기존 기능을 재 작업했습니다. 서버의 실제 설치는 매우 간단했습니다.
먼저 당신은 당신의 마음에 드는 리눅스 운영 체제를 설치해야합니다. 나는 우분투 서버를 선택하고 그것을 통해 설치했다. 이 시스템은 빠른 시작 시간을 위해 설치된다. 설치 후 나는 단지 네트워크를 구성(나는 정적 아이피 추천),활성화 및 최종 물리적 위치로 서버를 이동. (뭔가 잘못되지 않는 한)어떤 화면/키보드/마우스가 필요하지 않습니다 지금부터,그것은 네트워크를 통해 관리 할 수 있습니다.
다음 단계도 간단합니다.이 경우 각 플레이북이 실행될 수 있습니다.서버를 설정합니다. 물론 당신은 여기에 어떤 가능한 플레이 북을 사용할 수 있지만 내 것은 매우 간단하며 다음과 같이 보입니다.
--- - name: "Setting up the home server" hosts: localhost connection: local # become root user, which is needed for most tasks become: yes become_user: root vars_files: - vars/main_vars.yml tasks: - name: Install the needed packages apt: name: - samba - software-properties-common #- linux-headers - dkms - zfsutils-linux - samba-vfs-modules - zfs-auto-snapshot state: latest cache_valid_time: 3600 - import_tasks: tasks/setupZFStask.yml - import_tasks: tasks/setupUsersTask.yml - import_tasks: tasks/setupFoldersTask.yml - import_tasks: tasks/setupSambaTask.yml - import_tasks: tasks/setupDocker.yml # and more tasks if needed
기본적으로 로컬 서버에서 작업 중이며 루트로 실행되고 별도의 메인 바에서 정의한 변수를 사용합니다.파일. 그것은 내 설치에 필요한 패키지의 몇 가지를 설치 하 여 시작 하 고 소프트웨어 스택의 다른 부분에 대 한 쓴 작업의 집합을 통해 실행 됩니다. 이 도구는
이 시리즈의 다음 게시물에서 나는 파일 시스템,사용자,삼바 공유뿐만 아니라 도커 및 트레이 픽크 리버스 프록시를 설정하는 방법을 설명합니다. 각 부분에서 나는 또한 자동으로 설치하는 데 필요한 가능한 파일을 추가 할 것입니다. 모든 코드는 내 깃허브 계정에서 사용할 수 있습니다.
백업 시스템 설정에 대한 다음 게시물은 여기에서 찾을 수 있습니다.