리눅스 서버를 위해 몇 개의 파티션을 만들어야합니까?


15

파티션은 예를 들어 더 큰 하드 드라이브로 업그레이드 할 때 많은 유연성을 제공하기 때문에 Linux 서버에서 매우 중요합니다.

그러나 리눅스 박스를 만들 때 몇 개의 파티션을 만들어야합니까? 각 파티션에 어떤 크기를 설정해야합니까?

마지막으로 적어도 별도의 디스크에 어떤 파티션이 있어야합니까 (/ home, / var에 대해 더 빠른 드라이브 등을 생각하고 있습니다) 어떤 드라이브를 같은 드라이브에서 공유 할 수 있습니까?


1
드라이브가 몇 개입니까? 시간이 지남에 따라 그 수가 변할 것으로 예상됩니까? 이것은 단일 목적 박스입니까 아니면 일반적인 목적 박스입니까? 단일 사용자 또는 멀티? 이 모든 것이 중요합니다.
pjz

질문은 일반적인 목적에 관한 것이지만 여전히 서버에 관한 것입니다.
paulgreg 2009

답변:


17

좋은 파티션 구조를 계획하는 것은 실제로 '서버'를 어떻게 사용할지 아는 것에 크게 좌우됩니다. 제공 될 실제 서비스를 취하지 않는 임의의 조언은 특별히 유용하지 않을 것입니다.

예를 들어, mysql에 사용될 데비안 기반 박스라면 /, / var 및 / var / lib / mysql에 대해 별도의 파티션을 원할 수 있습니다.

공유 스토리지가 많은 파일 서버입니까? /, / home 및 / srv 파티션이 필요할 수 있습니다.

오징어 만 실행하는 상자의 경우 /에 대한 파티션과 오징어 스풀에 대한 빠른 디스크에 하나의 파티션이 필요할 수 있습니다.

파티션을 계획 할 때는 파일 시스템 계층 표준을 이해 하고 선택한 배포판이 표준 과 다른지 여부를 이해하는 것이 매우 도움이됩니다 .

LVM 을 사용 하면 나중에 마음을 바꾸고 재부팅하지 않고도 파티션을 조정하기가 훨씬 쉬워 질 수 있으며 스냅 샷을 만드는 기능은 백업을 매우 쉽게 만들 수 있습니다.


1
지금까지 가장 좋은 답변입니다.
추후 공지가있을 때까지 일시 중지되었습니다.

큰 대답은 .. 구조가 의도 된 용도에 의존하고 LVM이 좋은 방법이라는 권고입니다.
RickMeasham 09 년

파티셔닝의 가치에 대한 자세한 내용은 여기를 참조하십시오. serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache

파일 시스템 계층 표준 있다는 것을조차 알지 못했습니다 . 언급 해 주셔서 감사합니다.
Joe Internet

8

나는 항상이 파티션을 만들고 작년부터는 항상 LVM에서 만듭니다.

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

가장 중요한 것 중 하나는 /var-이 파티션이 별도의 파티션 인 경우 가득 차면 루트 파티션이 충돌하지 않습니다. 이 작업은 한 번도 수행하지 않았지만 일부는 /usr읽기 전용으로 마운트 할 수 있도록 별도로 만듭니다 .

때로는 이러한 파티션을 만듭니다.

/boot   - even 1 Gig is way more than enough

RAID 또는 LVM 파티션에서 항상 부팅 할 수있는 것은 아닙니다. 따라서 /boot간단한 ext3 파티션이되어 /더 발전 할 수 있습니다.

많은 수의 큰 파일을 보유 할 경우, 때때로 이러한 큰 파일에 대한 특정 파티션을 작성하여 파일 시스템을 큰 파일을 효율적으로 저장하도록 조정할 수 있습니다. 어떤 사람들은 서버에서 NFS를 제공 할 경우 NFS 공유를 위해 별도의 파티션을 만들거나 각 NFS 공유를 위해 별도의 파티션을 만들 수도 있습니다. 이것은 당신의 필요에 달려 있습니다.

왜 LVM인가? 다른 곳에서 답변을 언급했지만 여기에서 언급하는 것을 잊었으므로 나중에 마음을 바꾸고 파티션을 확장하는 것이 훨씬 쉽습니다. 이것은 내 엉덩이를 이미 저장했습니다.

이것들은 일반적인 지침입니다. 물론 서버에 특별한 요구 사항이있는 경우이를 고려하여 이러한 요구 사항을 반영하는 파티션을 만들 것으로 기대합니다.


7

오래 지속될 컴퓨터를 만들고 있고 재구성하기에 불편하고 꽤 유연해야한다고 가정하면 다음과 유사한 구성표가 필요할 수 있습니다.

  1. 동일한 크기의 물리적 드라이브를 최소 2 개 이상 설치하십시오. 이 예제에서는 500GB SATA 드라이브를 가정하지만 다른 크기의 드라이브에서도 원리가 잘 작동합니다.

  2. 다음과 같이 각 드라이브를 분할하십시오.

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    목표는 앞에 500MB 파티션, OS 및 응용 프로그램을위한 중간 크기의 파티션, 추가 데이터를위한 드라이브의 대량을 확보하는 것입니다.

  3. /dev/md0에서 SW RAID 1 세트를 빌드하십시오 . 추가 SW RAID 1 세트 와 해당 파티션에서 빌드 하십시오./dev/sda1/dev/sdb1/dev/md1/dev/md2

  4. /dev/md0ext3으로 형식화하십시오 . 이 될 것 /boot입니다.

  5. 포맷 /dev/md1/dev/md2LVM 물리 볼륨.

  6. vg_system을 포함 하는 LVM 볼륨 그룹을 만듭니다 /dev/md1.

  7. vg_system다양한 OS 파티션에 적합한 LVM 볼륨을 생성하십시오 . 최소한, 당신이 원하는 것 swap, /var몇 GB의, 그리고 /10기가바이트의 정도. 참고 : 모두 할당하지 마십시오 vg_system! 나중에의 크기를 늘리 거나을 \var추가 /opt하려는 경우 추가 공간을 원할 것입니다.

  8. vg_data을 포함 하는 LVM 볼륨 그룹을 만듭니다 /dev/md2.

  9. vg_data원하는대로 LVM 볼륨을 작성하십시오 . 최소한 크기 조정이 필요하며 /home메일 스풀, 데이터베이스, 웹 루트 또는 OS에 포함되지 않은 기타 데이터에 대한 추가 볼륨이 필요할 수 있습니다. 다시 말하지만 vg_data위에 나열된 것과 유사한 이유로 모든을 할당하지 마십시오 .

이 전략의 장점은 다음과 같습니다.

  • 하드웨어 고장에 견딜 수 있습니다. 두 드라이브 중 하나가 시스템 오류없이 실패 할 수 있으며 핫 스왑 컨트롤러에 투자하면 다운 타임없이 복구 할 수 있습니다.

  • 미래를 보장하고 확장 할 수 있습니다. 당신은 2TB가 길 아래에 몇 년 드라이브를 구입하면, 당신은 볼륨 그룹 (아마도 더 많은 공간을 필요로 중에 추가, LVM 물리 볼륨으로 포맷을, 기계로 때리고 다른 SW의 RAID 세트로 만들 수 있습니다 lv_data후) pvmove기존 드라이브에서 새 드라이브로 데이터를 마이그레이션 하는 데 사용 합니다. 또한 주요 OS 업데이트는 훨씬 덜 고통 스러울 수 있습니다. 주요 업그레이드를 위해 OS를 다시 설치해야하는 경우 (Ahem Red Hat :(), 홈 디렉토리 (및 메일 스풀 및 다른 모든 것을 넣은 상태)를 유지하면서 그렇게 할 수 있습니다 vg_data.

이 전략의 단점은 거의 없습니다. 약간 복잡하고 RAID 1 때문에 쓰기 성능이 떨어 졌다고 생각합니다. 그러나 저는 몇 년 동안 이러한 원칙에 따라 워크 스테이션과 독립형 서버를 구축해 왔습니다. 내가 원하기 전에이 라인을 따라 기계를 만들지 마십시오.

-스티브

추신 : 나는 당신이 신속하고 고통없이 새로운 기계를 프로비저닝 할 수있는 인프라가 있다면, 이와 같은 시스템은 과도하다고 생각합니다. RAID 세트 및 LVM을 수정하는 대신 변경 사항이 필요한 경우 머신을 다시 빌드하십시오.


2

몇 년 동안 내가 사용한 모든 컴퓨터는 이중 부팅 시스템이었으며 Linux 쪽에서는이 스키마와 거의 똑같이 붙어 있습니다 (여기서는 개인 워크 스테이션을 말하고 서버가 없으므로 마일리지가 다를 수 있습니다)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

마지막 업그레이드를 위해 처음부터 /파티션을 지우고 설치했습니다 . 그로 인해 별도 /opt또는 /usr/local파티션이 좋을 것이라고 생각하게 되어 거기에 넣은 모든 것을 다시 설치 해야하는 번거 로움을 덜어줍니다 (Java, Eclipse ... 일반적으로 배포 패키지 패키지는 신경 쓰지 않습니다).


2

Eddie가 언급 한 파티션 외에도 일반적으로 두 개의 별도 파티션을 만듭니다.

/ tmp-같은 이유로 별도의 / var 파티션을 만들었습니다 (이전에 임시 공간이 모두 채워졌습니다). 나는 일반적으로 1-2GB로 간다

/ usr / local-별도로 설치된 모든 소프트웨어를 제거하지 않고도 필요에 따라 / usr을 업그레이드하고 정리할 수 있습니다. 여기의 크기는 설치하는 외부 소프트웨어의 양에 따라 다릅니다. 나는 일반적으로 약 10GB를 사용하지만 요즘에는 조금 작습니다.

나는 항상 / home을 마지막으로 만들고 나머지 디스크를 채 웁니다.

/ boot 파티션에서 100MB 이상으로 만들지 않았으며 공간 문제가 발생하지 않았습니다 (결국 오래된 커널을 정리합니다). 정말 작을 수 있습니다.

또한 스왑 파티션도 잊지 마십시오.


1

대부분의 기계에서는

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

경우에 따라이 기능을 전환해야하지만 서버에서 1GB 이상의 공간을 확보하지 못한 사용자에 대해서는 매우 단호합니다. 더 필요하면 / tmp를 사용할 수 있으며 cron을 통해 매일 밤 삭제됩니다.


1

하드웨어 RAID를 사용하지 않는다고 가정하면 Linux에서는 항상 RAID 위에 LVM을 사용합니다. 단일 디스크 구성의 경우에도 마찬가지입니다. LVM 그룹을 확장하여 스토리지 공간을 추가하거나 중복 옵션을 변경하는 옵션이 있기 때문입니다 (예 : "이상한"단일 디스크 raid1 구성을 미러 된 디스크 또는 RAID10으로 약간 들기).

귀하의 질문에 대답하기 위해 나는 일반적으로 일반 서버와 비슷한 것을 가지고 있습니다. 2 개의 디스크 (1RU Dell)로 시작하며 둘 다 다음과 같이 파티션됩니다.

  • / boot 용 ~ 100MB RAID1
  • 나머지 디스크의 RAID1 위에있는 LVM

그런 다음 모든 볼륨을 LVM 볼륨으로 만듭니다. * / * / var * / tmp * / home * / opt

관리하기가 너무 어려워서 너무 많은 파일 시스템을 만드는 것을 피할 것입니다. 디스크가 부족한 경우 많은 파일 시스템에 여유 공간이 있지만 작업을 수행하기에 충분하지 않습니다.

별도의 파일 시스템에있는 / home 및 / tmp는 항상 좋은 생각입니다. 일반적으로 많은 것을 넣을 계획이 아니라면 분리 / opt하지 않습니다. (동일한 소프트웨어 스택이 필요한 서버가 많은 경우 NFS는 / opt에 대한 더 나은 옵션 일 수 있습니다)

간단히 말해서, 변경할 이유가없는 한 LVM을 사용하십시오.

또한 로그 서버를 사용하여 로그가 / var을 채우지 않도록하십시오!


0
  • / boot-128MB

볼륨 그룹-rootvg

  • / var-5GB (메일 서버로 사용하는 경우에 따라 다름
  • / tmp-2GB
  • / opt-10GB (배포와 함께 제공되지 않는 소프트웨어에 사용)
  • /-6GB-최소

볼륨 그룹-datavg

  • / home-나머지

소프트웨어에 대해 별도의 / usr을 만들 수 있지만 필자의 경우 상자가 다시 설치되므로 자체 파티션을 얻을 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.