Ubuntu server 파티션 잡는 법 가르쳐 주세요

ubuntu server 주, 논리, 홈 파티션 잡는 법 가르쳐 주세요.
sda는 40.0GB고 램카드는 2GB입니다.
주 2GB, 논리 3.5GB, 홈은 남은 용량으로 잡아줘도 괜찮을 까요?
backup공간도 많이 잡아줘야 하는 건지요 -.-;;

안녕하세요

저도 잘 하는 편은 아니지만

여기저기서 얻은 지식으로 저의 서버 설정한 파티션 정보 공유합니다.

ext4 /boot 128M
ext4 / 20G
swap swap 4G (통상 메모리*2 정도라고 합니다.)
ext4 /home 나머지

제가 몇개 서버 설정하고 지우고를 반복하며 보니까

프로그램 많이 깔아도 / 는 10G ~ 20G 정도면 충분한 듯 싶습니다.

미약한 정보나마 참조하시길 ^^*

/boot파티션 설정 안해주었는데 부팅이 잘 되고 있어요. 나중에 커널 업그레이드를 하려면 반드시 잡아주어야 하는 건가요…

/ , /home 이렇게 두개로 잡으시는 분들도 있고

/ 한개 통으로 잡으시는 분들도 있고…

시스템을 사용하는 데는 문제는 없는 듯 싶습니다.

하지만, 전문성(?)이 있는 파티션을 설정하는 것이
/boot : 부팅 관련
/ : 시스템 관련
/home : 유저 데이타 관련

서버쪽에서는 유지보수가 쉽다…(?) 고

어떤분이 남기신 글을 읽은 기억이 있네요… ㅋㅋ

어떤 글에서 보면 /usr, /var 도 분리하시는 분들도 있다고 하는데

저는 아직 초보라 어떤 점이 좋은지, 나쁜지 구분이 안섭니다.

그럼 이만… ^^*

아 참고로 전부 주 파티션으로 잡았습니다.

논리 파티션에 개념은 아직 머릿속에 없어서요…

^^*

저는 /boot만 분리하고 통으로 씁니다.

아무래도 프로그램들을 /밑에 설치하게 되고…
home에는 사용자 다운로드 파일들이 많이 놓이게 되죠.
다운로드파일 크기를 무시못하니… home을 크게 잡아주고 /를 적당히 잡아주겠지만
문제는 프로그램의 용량이나 캐시등등… 공간을 활용하기가 까다롭습니다

사실 전문적으로 하자면…
/var를 분리해야합니다.(여기에 캐시나 spool 메일임시저장소가 들어갑니다)
그러나 사실 메일도 웹메일을 주로 쓰고 프린팅도 그다지 않는다면 스팸이 너무 많아서 문제가 생기거나
스풀이 꽉차버리는등의 overflow 상황은 잘 발생하지 않을것이므로
/var를 통합하구요.
전통적으로 나눈다면 / /usr /boot /home /var 그리고 가끔 /opt도 나눕니다.

/boot는 분리하는것을 추천합니다.
왜냐면 시스템이 이상해 다시 설치한다고 하면 다른곳은 다날려버리더라도
커널과 램디스크이미지가 들어 있으므로… 복구나 설치시 사용할 수 있습니다.
부팅은 완벽하게 되지 않을 겁니다 왜냐면 모듈 디렉토리가 날아가버렷으니까요
하지만… initramfs모드로 부팅되어서 램상에서 디스크를 접근하여 마운트할 수 있고.
최종적으로 변경후 chroot로 설치도 가능하지요.
chroot관련 내용은 구글링…

그리고 리눅스 대세인 btrfs를 쓸때에도 /boot를 btrfs로 잡는것 보다
ext2파티션으로 잡아야… ext2fsd등 윈도우즈에서도 접근이 가능해집니다.
응급복구용 커널과 이미지를 다운받아 넣고 부팅하면 되니까요.

/home을 분리하지 않는 이유는 btrfs를 쓰기 떄문에
@home @ 가 서브볼륨으로 잡히기 떄문에 굳이 나누지 않는겁니다.
물론 파티션은 같은곳을 사용하니까 공간이 공유되구요 하지만 복구시 서브볼륨단위로 복구하면 되니까요.
/home이 overflow될까요? ㅋㅋ

그리고 파티션대신 서브볼륨을 사용하는것이 공간 활용도가 높구요… 복구도 가능합니다.

brfs의 스냅샷은 백업이 아니구요…
파일시스템 사진을 찍어놓은것입니다… 사실 스냅샷이 포함되면 디스크에서 공간을 차지하게 됩니다
그리고 파일을 지우거나 하고 스냅샷을 찍으면 파일은 실제 지워지지 않구 지워진것 처럼 보여주는것입니다.
그러니 복구가 가능한것이지요.백업이 아니라 변경사항이 적용되지 않고, 변경된것처럼 보여준다…
요것이 스냅샷의 개념이라고 보시면 되겠습니다. 스냅샷을 날려버리면 btree에서 레퍼런스가 없어지니
지워지겠지요. 저는 그런것으로 알고 있습니다.

[quote="yistee":u99qvg5q]ubuntu server 주, 논리, 홈 파티션 잡는 법 가르쳐 주세요.
sda는 40.0GB고 램카드는 2GB입니다.
주 2GB, 논리 3.5GB, 홈은 남은 용량으로 잡아줘도 괜찮을 까요?
backup공간도 많이 잡아줘야 하는 건지요 -.-;;[/quote:u99qvg5q]

리눅스 서버를 위해 파티션을 나눌 때에는 간단하게나마 시스템의 각 폴더가 어떤 일을 하는지 알아두면 도움이 됩니다.
자잘한건 제외하고 큼직한 녀석들만 설명하자면

/
시스템 전체에 해당합니다.
만약 다른 부분들에 파티션 할당을 하지 않는다면 모두 이곳의 용량을 사용하게 됩니다.

/boot
위의 분들이 친절하게 설명하셨듯, 부팅에 관련된 물건들이 들어가는 곳입니다.
집으로 치면 문에 달린 전자 잠금장치가 사람을 인식하고 문을 열어주는 역할이라고 생각하시면 됩니다.
이걸 따로 떼어 놓는다면 집 안이 엉망진창이 되도 일단 문은 열리겠죠.

/home
슈퍼유저(root)를 제외한 일반 사용자들을 위한 공간입니다.
역시 집으로 비유하면 집주인이 지내는 방을 제외하고 임대를 위해 내놓은 셋방입니다.
공간을 넓게 잡을수록 입주할 수 있는 사람의 수가 늘어나겠지요.
물론 몇 명이 넓은 공간을 무작정 사용하지 못하게 방 크기에 제한을 줄 수도 있습니다.
만약 돈을 받고 서비스를 하는 서버라면 이 부분은 사용자의 데이터 보호를 위해 무조건 따로 떼어 놓아야 하는 부분이기도 합니다.

/var
서버에서 발생하는 각종 로그 파일이 모이는 곳입니다.
시스템, 프로세서, 유저, 네트워크 등등 모든걸 가리지 않는 곳입니다.
CCTV라고 보셔도 무리가 없지요.
로그 외에도 사용자들의 요청을 받아 처리하는 일을 하는 프로그램의 데이터도 모입니다.
e-mail 서버를 운용한다면 메일서버의 데이터도 이 곳으로 흘러듭니다.
이곳은 이미지하자면 관공서일까요 :)

정말 전문적인 서버라면 이 외에도 신경써야 할 부분들이 많이 있지만, 개인적인 홈서버나 공부를 위한 실험적인 서버라면
이 정도만 기억하셔도 문제가 없다고 봅니다.
그리고 저 중에서도 /var 의 경우에는 굳이 나누실 필요가 없습니다.
개인 서버에서 /var에 따로 용량을 할당해야 할 만큼 로그가 장대하게 쌓일 일은 없거든요.

40GB하드라고 하셨으니 추천하는 것은
/ : 추후의 패키지의 설치 등을 고려하여 그래도 10GB는 할당해 주셔야 신경 안쓰고 막(!!) 쓰실 수 있습니다.
/boot : 100~150메가 사이. 사실 이것도 좀 많이 할당한 편이긴 합니다.
swap : 추천은 4GB, 하지만 2GB만 할당해도 문제는 없을거라 생각되네요.
/home : 나머지 용량을 전부 할당해 주시면 됩니다.

[b:u99qvg5q]* swap은 어떻게 하죠?[/b:u99qvg5q]
스왑 파티션은 메모리가 부족할 때에 쓰는 일종의 컴퓨터의 낙서장입니다.
사실 램이 풍족하다면 스왑을 아예 할당하지 않아도 별 문제는 없습니다.
하지만 서버라는 녀석은 언제 어떤 일이 벌어져도 다운되면 안되기에 가급적이면 개인서버라도 스왑파티션을 할당하시길 추천합니다.
스왑파티션의 기본 공식은 개인용 컴퓨터라면 램 용량의 1/2, 서버라면 램 용량과 1:1 혹은 1:2 정도입니다.
다만, 이 공식은 시스템의 램 용량이 4GB 미만일 경우로, 실제 서버라 부를 스펙을 가진 머신에서는 좀 많이 틀려지는 걸 염두에 두세요.

[b:u99qvg5q]* 백업 공간은요?[/b:u99qvg5q]
리눅스의 특징은 파티션과 폴더가 1:1로 대응할 수 있다는 점입니다. 윈도우처럼 C: D:…이 아닌거죠.
예를 들어서 /home 파티션과는 별도로 백업공간을 만들고자 하신다면 자신이 원하는 위치를 먼저 설정한 다음 (ex>>/opt/backup)
파티션 용량을 잡아 마운트 위치를 /opt/backup 으로 잡아주시면 또 하나의 파티션으로 작동합니다.

[b:u99qvg5q]* 주 파티션과 확장 파티션은 뭔가요?[/b:u99qvg5q]
이 부분은 설명하자면 자연스레(?!) 좀 어려워지긴 합니다만…
일단 디스크에는 MBR이라는 부분이 있습니다. 쉽게 말하면 그 집안에 누가 살고 그 사람들은 몇 살이고…
같은걸 기록해서 목록으로 만드는 부분입니다. (MBR = Master Boot Record)
그리고 우리가 어떤 일을 할 때에 그에 관해 필요한 자료나 프로그램 실행을 요청하면 MBR이 자신이 기록한 주소에서 해당되는 인력(?)이 있는 주소를 뽑아 알려주는거죠.

이걸 좀 어렵게 말하면 Cylinder 0, Head 0, Sector 0 부터 시작하는 주소값을 가진 부분…이라고 합니다.

파티션이 추가적인 설정 없이 단 하나일 경우에는 운영체제가 디스크 전체를 사용하게 되지만
파티션이 여러개로 나뉘기 시작하면 이 MBR에 기록되는 주 파티션 4개를 대상으로 움직이게 됩니다.
물론 다른 파티션을 사용하지 못한다는건 아닙니다.
간단히 말하면 동사무소 업무용 부지로 사용하는 땅이 MBR에 기록된 4개의 파티션을 [b:u99qvg5q]기반으로[/b:u99qvg5q] 한다는 말입니다.
(하지만 공익근무 요원이 업무를 볼 때에 동사무소 안에서만 보는건 아니지요)

각설하고, 현재 기술에서는 이 MBR에 4개의 파티션이 기록되고 있습니다.
그래서 파티션을 설정해 보면 1~4까지는 주 파티션으로 잡히고, 5번부터는 논리 파티션으로 잡히는 걸 확인할 수 있습니다.
그래서 / 와 /boot 파티션은 저 MBR에 기록되는 주 파티션 안에 들어가야 합니다. (하드디스크가 여러개라면 각 하드디스크마다 MBR이 존재합니다.)

그리고 논리 파티션의 구조는 주 파티션과는 조금 틀린데요.
논리 파티션은 일단 통짜입니다. 한개에요. 커다랗게 하나. 뭉뚱그려서 하나. 그러니(…그만해!)
그래서 이걸 그림으로 그려보면

sda primary
|-- sda1
|-- sda2
|-- sda3
|-- sda4
|
|–sda logical
| |-- sda5
| |-- sda6
| |-- sda7

이런 구조가 되는겁니다.

쓸데없이 잡설이 길어졌네요.
여튼 파티션의 구조에 대한 부분은 좀 이리저리 얽힌게 많아서 쉽게 설명해 드리고 싶어도 어려워 질 수밖에 없는것 같습니다.
어찌어찌 더 쉽게 설명할 수 도 있을거 같은데 이 이상은 제 능력부족이군요.

이 정보아닌 정보가 도움이 되셨기를 바랍니다. :)

크아 예전에 저랑 몇명은 학교에서 BBS만들고 관리하구,
또 다른 친구는 학교서버를 관리했죠…
근데 서버가 죽어버렸어요…

원인은 폭탄메일로 인한 서버공간부족

/var를 분리하면 그런 사태를 방지 할 수 있다는 의미입니다.
또한 개인용으로 쓸려면 굳이 나눌 필요 없다는 것도 같은 맥락입니다(개인서버는 공격대상이 될 가능성이 낮으므로)

하드디스크 레이아웃
[url:1o3r6a6h]http://www.ibm.com/developerworks/kr/library/l-lpic1-v3-102-1/[/url:1o3r6a6h]

파티션 및 파일 시스템 작성
[url:1o3r6a6h]http://www.ibm.com/developerworks/kr/library/l-lpic1-v3-104-1/[/url:1o3r6a6h]

참고자료: Filesystem Hierarchy Standard (파일시스템 계층구조 표준)
[url:1o3r6a6h]http://www.pathname.com/fhs/pub/fhs-2.3.html[/url:1o3r6a6h]

[quote="yistee":2n9bc78l]ubuntu server 주, 논리, 홈 파티션 잡는 법 가르쳐 주세요.
sda는 40.0GB고 램카드는 2GB입니다.
주 2GB, 논리 3.5GB, 홈은 남은 용량으로 잡아줘도 괜찮을 까요?
backup공간도 많이 잡아줘야 하는 건지요 -.-;;[/quote:2n9bc78l]

/ = 38GB 잡아주시고요
swap을 나머지로 다 잡아주시면 됩니다.
물론 root 에다가 boot 테이블 붙여주시면되요