Handbook:SPARC/Blocks/Disks/ko

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:SPARC/Blocks/Disks and the translation is 100% complete.


공간 분할

이론적으로는 리눅스 시스템을 전체 디스크에 넣을 수 있지만, 실제론 거의 불가능합니다. 대신 전체 블록 장치를 작게 나누어 더욱 관리하기 쉬운 블록 장치를 만들 수 있습니다. 이를 파티션 또는 슬라이스라고 부릅니다.

첫번째 SCSI 디스크의 첫번째 파티션은 /dev/sda1이고 두번째 파티션은 /dev/sda2 이런식입니다.

썬 시스템의 세번째 파티션은 "전체 디스크" 슬라이스로 설정합니다. 이 파티션에는 파일 시스템을 포함해서는 안됩니다.

DOS 파티션 형태를 쓰던 사용자는 썬 디스크 레이블에서 "주" 파티션과 "확장" 파티션이 없음을 참고해야 합니다. 대신 드라이브별로 최대 8개의 파티션을 사용할 수 있으며 세번째 파티션은 예약되어 있습니다.

분할 배치 설계

분할 영역을 얼마나 많이, 크게 할까요?

분할 영역의 수는 환경에 따라 다릅니다. 예를 들어, 사용자가 많을 경우 보안성을 개선하고 백업을 쉽게 하기 위해 /home/을 나누는 것이 좋습니다. 젠투를 메일 서버로 설치한다면, /var/에 모든 메일을 저장하므로 /var/를 나누어야 합니다. 파일 시스템의 탁월한 선택은 성능을 극대화합니다. 게임 서버는 게임 서버를 설치할 /opt/를 따로 나눕니다. 이유는 /home/과 비슷합니다: 보안과 백업이죠. 대부분의 상황에서 /usr/는 거대한 상태고 남아있습니다. 주요 프로그램을 저장할 뿐만 아니라, (보통 /usr/portage에 기본으로 들어가는) 젠투 이빌드 저장소는 거의 650MB를 차지합니다. 이 디스크 공간은 보통 이빌드 저장소내에 저장하는 packages/distfiles/ 디렉터리는 제외하고 추산합니다.

관리자 취향에 달려있습니다. 분할 영역 또는 볼륨을 나누면 다음과 같은 장점이 있습니다:

  • 각 분할 영역 또는 볼륨에 대해 최상의 동작을 수행하는 파일 시스템을 선택합니다.
  • 제 기능을 상실한 도구가 분할 영역 또는 볼륨에 계속 파일을 기록할 경우, 남아 있는 공간이 없어져 전체 시스템이 동작하지 않습니다.
  • 필요한 경우, (이 장점은 여러 개의 분할 영역보다는 여러 대의 디스크에서 더 돋보이지만) 동시에 여러 분할 영역을 검사할 수 있어, 파일 시스템 검사 시간을 줄일 수 있습니다.
  • 일부 분할 영역 또는 볼륨을 읽기 전용, nosuid(setuid 무시), noexec(실행 비트 무시) 등으로 마운트하여 보안성을 개선할 수 있습니다.

그러나, 마찬가지로 다중 분할 영역에는 단점도 존재합니다. 제대로 설정하지 않으면 어떤 분할 영역에는 공간이 상당히 남지만, 다른 분할 영역은 그렇지 않을 수 있습니다. 다른 골칫거리는 분할 영역이 나뉘어져 있는 상황입니다. /usr/ 또는 /var/와 같은 중요한 마운트 지점은 특히 그렇습니다. 다른 부팅 스크립트를 시작하기 전에 분할 영역을 마운트하려면 관리자가 종종 initramfs로 부팅해야합니다. 항상 있는 경우는 아니기 때문에 결과가 다양하게 나타납니다.

디스크에서 GPT 레이블을 사용하지 않으면 SCSI와 SATA에서는 분할 영역 갯수가 15개로 제한되어있습니다.

스왑 공간이 무엇인가요?

완벽한 스왑 분할 영역 값은 없습니다. 스왑 영역의 존재 목적은 내부 메모리(RAM)가 용량 고갈에 처해있을 때 커널에서 디스크 공간을 제공하려는 것입니다. 스왑 영역은 커널에서 곧 접근하지 않을 메모리 페이지를 디스크(스왑 또는 페이지-아웃)에 옮기고 메모리를 확보할 수 있도록 합니다. 물론 메모리가 갑자기 필요할 때도 이 페이지를 메모리에 되돌려놓습니다만(페이지-인), 시간이 오래걸립니다(내부 메모리에 비해 디스크는 비교적 매우 느립니다).

시스템이 메모리를 집중적으로 사용하는 프로그램을 실행하려 하지 않거나 시스템에 충분한 메모리가 있을 경우 많은 스왑 영역이 필요하지 않을지도 모릅니다. 그러나 스왑 영역은 최대 절전모드 기능을 사용할 경우 전체 메모리 공간을 사용하기도 합니다. 시스템을 최대 절전모드로 진입하려 한다면, 더 큰 스왑 영역이 필요하며, 최소한, 종종 시스템에 대용량의 메모리를 설치합니다.


기본 분할 형태

아래의 표에서는 대부분의 시스템에서의 적합한 시작 방식을 제안합니다. 어디까지나 예제이기 때문에 다른 분할 형태를 사용하셔도 됩니다.

참고
SPARC 에서는 일반적으로 /boot 파티션을 따로 나누지 않는 것이 좋으며, 따로 나누면 부트로더 설정을 복잡하게 만듭니다.
파티션 파일 시스템 크기 마운트 지점 설명
/dev/sda1 ext4 <2 GB / 루트 파티션. OBP 버전 3 이하의 SPARC64 시스템에서는, 이 영역이 2GB 보다 작아야 하며 디스크의 첫번째 파티션이어야 합니다. 최근의 OBP 버전은 더 큰 파티션을 취급할 수 있으며 마찬가지로, 동일한 파티션에 /usr, /var 그리고 기타 위치를 포함할 수 있습니다.
/dev/sda2 swap 512 MB 없음 스왑 파티션. 부트스트랩과 거대한 컴파일시 최소한 512MB 용량의 RAM(스왑 포함)이 필요합니다.
/dev/sda3 없음 전체 디스크 없음 전체 디스크 파티션. SPARC 시스템에서 필요함.
/dev/sda4 ext4 최소 2 GB /usr /usr 파티션. 프로그램을 여기에 설치합니다. 기본적으로 이 파티션은 포티지 데이터도 저장합니다.(소스 코드 제외 500MB 가량의 공간).
/dev/sda5 ext4 최소 1 GB /var /var 파티션. 프로그램에서 만든 데이터에서 사용합니다. 기본적으로 포티지에서는 컴파일 도중 사용하는 임시 공간으로 활용합니다. 모질라 또는 리브레 오피스와 같은 거대한 프로그램의 경우 빌드시 1GB 의 여유 공간이 필요할 수 있습니다.
/dev/sda6 ext4 남은 공간 /home /home 파티션. 사용자 내 폴더 용도.

디스크 공간 분할에 fdisk 사용

다음 내용에서는 이전에 설명한 파티션 배치를 만드는 방법의 예제를 분명하게 설명합니다:

파티션 설명
/dev/sda1 /
/dev/sda2 스왑
/dev/sda3 전체 디스크 슬라이스
/dev/sda4 /usr
/dev/sda5 /var
/dev/sda6 /home

필요한대로 파티션 배치를 바꾸십시오. 이전 시스템이라면 첫번째 루트 파티션 전체 크기는 2GB까지만 잡을 수 있음을 기억하십시오. SCSI와 SATA에는 파티션 갯수가 15개로 제한되어있습니다.

fdisk 실행

디스크를 매개변수로 잡아 fdisk를 시작하십시오:

root #fdisk /dev/sda
Command (m for help):

존재하는 파티션을 보려면 p를 입력하십시오:

Command (m for help):p
Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes
  
   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

출력 내용의 썬 디스크레이블을 기록하십시오. 내용이 빠져있으면 디스크에서는 썬 파티션 방식이 아닌 DOS 파티션 방식을 사용합니다. 이 경우, 썬 파티션 테이블 방식으로 디스크를 분할했는지 확인하려면 s 키를 사용하십시오:

Command (m for help):s
Building a new sun disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
  
Drive type
   ?   auto configure
   0   custom (with hardware detected defaults)
   a   Quantum ProDrive 80S
   b   Quantum ProDrive 105S
   c   CDC Wren IV 94171-344
   d   IBM DPES-31080
   e   IBM DORS-32160
   f   IBM DNES-318350
   g   SEAGATE ST34371
   h   SUN0104
   i   SUN0207
   j   SUN0327
   k   SUN0340
   l   SUN0424
   m   SUN0535
   n   SUN0669
   o   SUN1.0G
   p   SUN1.05
   q   SUN1.3G
   r   SUN2.1G
   s   IOMEGA Jaz
Select type (? for auto, 0 for custom): 0
Heads (1-1024, default 64): 
Using default value 64
Sectors/track (1-1024, default 32): 
Using default value 32
Cylinders (1-65535, default 8635): 
Using default value 8635
Alternate cylinders (0-65535, default 2): 
Using default value 2
Physical cylinders (0-65535, default 8637): 
Using default value 8637
Rotation speed (rpm) (1-100000, default 5400): 10000
Interleave factor (1-32, default 1): 
Using default value 1
Extra sectors per cylinder (0-32, default 0): 
Using default value 0

하드디스크 자체 문서에서 올바른 값을 찾을 수 있습니다. 'auto configure' 옵션이 항상 동작하는것만은 아닙니다.

기존 파티션 삭제

이제 기존 파티션을 삭제할 때가 되었습니다. 기존 파티션을 삭제 하려면 d 키를 누르고 Enter 키를 치십시오. 삭제할 파티션의 번호를 지정하십시오. 이전의 /dev/sda1 파티션을 삭제한다면 다음을 입력하십시오:

Command (m for help):d
Partition number (1-4): 1

3번 파티션(전체 디스크)은 삭제하지 마십시오. 필요합니다. 이 파티션이 없으면 위에서 설명한 썬 디스크레이블 만들기 절차를 따르십시오.

전체 디스크 슬라이스를 제외한 모든 파티션을 삭제했다면, 파티션 배치는 다음과 같이 나타나야합니다:

Command (m for help):p
Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes
  
   Device Flag    Start       End    Blocks   Id  System
/dev/sda3             0      8635   8842240    5  Whole disk

루트 파티션 만들기

다음 루트 파티션을 만들겠습니다. 루트 파티션을 만들려면 n키를 눌러 새 파티션을 만들고 1키를 눌러 파티션을 만드십시오. 첫번째 실린더를 물어보면 그냥 Enter키를 치십시오. 마지막 실린더를 물어보면 +512MB를 입력하여 512MB 크기의 파티션을 만드십시오. 전체 루트 파티션을 디스크의 처음 2GB 용량의 범위내에 맞췄는지 확인하십시오. 이 단계 결과의 출력은 다음과 같습니다:

Command (m for help):n
Partition number (1-8): 1
First cylinder (0-8635): (press Enter)
Last cylinder or +size or +sizeM or +sizeK (0-8635, default 8635): +512M

(p 키로)파티션을 조회하면, 다음 파티션 출력이 나타납니다:

Command (m for help):p
Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes
  
   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda3             0      8635   8842240    5  Whole disk

스왑 파티션 만들기

다음 스왑 파티션을 만들도록 하겠습니다. 스왑 파티션을 만들려면 n키를 입력하여 새 파티션을 만들고, 우리 같은 경우는 /dev/sda2를 만들겠으니 2를 입력하여 두번째 파티션을 만듭니다. 첫 실린더를 물어보면 그냥 Enter키를 칩니다. 마지막 실린더를 물어보면 +512M을 입력하여 512MB 크기의 파티션을 만듭니다. 그 다음 파티션 형식을 설정하려면 t를 입력하고, 2눌러 방금 만든 파티션을 선택한 후, 파티션 형식을 Linux Swap으로 바꾸기 위해 82를 입력합니다. 이 단계가 끝나면 p를 입력하여 다음과 같은 파티션 표를 출력해야 합니다:

root #Command (m for help):
root #p
Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes
  
   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk

usr, var, home 파티션 만들기

마지막으로, /usr, /var, /home 파티션을 만들겠습니다. 이전과 마찬가지로, n 키를 눌러 새 파티션을 만들고, 우리 같은 경우는 /dev/sda4를 만들겠으니 4를 입력하여 세번째 파티션을 만듭니다(전체 디스크 슬라이스는 파티션으로 취급하지 않습니다). 첫번째 실린더를 물어보면 그냥 Enter를 치십시오. 마지막 실린더를 물어보면 +2048MB를 입력하여 2GB 크기의 파티션을 만드십시오. /dev/sda5sda6에 대해서도 원하는 크기만큼 설정하며 과정을 반복하십시오. 과정이 끝나면 파티션 테이블은 다음과 같은 결과를 나타냅니다:

Command (m for help):p
Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes
  
   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

저장하고 나가기

w를 입력하여 파티션 배치를 저장하고 fdisk를 빠져나가십시오:

Command (m for help):w