Handbook:Alpha/Blocks/Disks/ko

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Blocks/Disks and the translation is 77% complete.
Outdated translations are marked like this.


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

참고
다음 절에서는 ARC/AlphaBIOS 설정 용도의 예제 공간 분할 절차를 설치 절차로 활용합니다. 개인 취향에 따라 적절히 바꾸십시오!

분할 배치 설계

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

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

In most situations on Gentoo, /usr and /var should be kept relatively large in size. /usr hosts the majority of applications available on the system and the Linux kernel sources (under /usr/src). By default, /var hosts the Gentoo ebuild repository (located at /var/db/repos/gentoo) which, depending on the file system, generally consumes around 650 MiB of disk space. This space estimate excludes the /var/cache/distfiles and /var/cache/binpkgs directories, which will gradually fill with source files and (optionally) binary packages respectively as they are added to the system.

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

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


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

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

참고
Installations that intend to use systemd as the service and init system must have the /usr directory available at boot, either as part of the root filesystem or mounted via an initramfs.

스왑 공간이 무엇인가요?

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

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


디스크 공간 분할에 fdisk 사용하기(SRM 전용)

다음 부분은 SRM에서 사용하는 슬라이스 배치 예제를 만드는 방법을 설명합니다:

슬라이스 설명
/dev/sda1 스왑 슬라이스
/dev/sda2 루트 슬라이스
/dev/sda3 전체 디스크(필요)

개인 취향에 따라 슬라이스 배치를 바꾸십시오.

존재하는 디스크 확인하기

어떤 디스크가 동작중인지 확인하려면, 다음 명령을 사용하십시오:

IDE 디스크에서는:

root #dmesg | grep 'drive$'

SCSI 디스크에서는:

root #dmesg | grep 'scsi'

이 출력 결과를 통해 어떤 디스크를 감지했으며 각각의 /dev/ 항목이 무엇인지를 보여줍니다. 다음 부분에서는 /dev/sda에 SCSI 디스크를 사용한다고 가정하겠습니다.

이제 fdisk를 실행하십시오:

root #fdisk /dev/sda

모든 슬라이스 삭제

하드 드라이브를 완전히 비워두었다면, 먼저 BSD 디스크 레이블을 만드십시오.

Command (m for help):b
/dev/sda contains no disklabel.
Do you want to create a disklabel? (y/n) y
A bunch of drive-specific info will show here
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

'c' 슬라이스를 제외한 나머지 모든 슬라이스를 삭제하겠습니다.(BSD 디스크 레이블을 사용하려면 필요합니다). 다음 과정은 슬라이스를 삭제하는 방법을 보여줍니다(예제에서는 'a'를 사용하겠습니다). 다시 말하지만 모든 다른 슬라이스를 삭제하는 과정입니다(자꾸 반복해서 말하지만 'c' 슬라이스는 제외입니다).

현존하는 파티션을 보려면 p를 사용하십시오. d는 파티션을 지울 때 사용합니다.

BSD disklabel command (m for help):p
8 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        1       235*      234*    4.2BSD     1024  8192    16
  b:      235*      469*      234*      swap
  c:        1      5290*     5289*    unused        0     0
  d:      469*     2076*     1607*    unused        0     0
  e:     2076*     3683*     1607*    unused        0     0
  f:     3683*     5290*     1607*    unused        0     0
  g:      469*     1749*     1280     4.2BSD     1024  8192    16
  h:     1749*     5290*     3541*    unused        0     0
BSD disklabel command (m for help):d
Partition (a-h): a

모든 슬라이스에 대해 이 단계를 반복한 후에는 다음과 같은 결과가 나타납니다:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

스왑 슬라이스 만들기

알파 기반 시스템에서는 부팅 슬라이스를 쪼갤 필요가 없습니다. 그러나 첫번째 실린더는 aboot 이미지를 넣을 용도로 활용할 수 없습니다.

세번째 실린더에서 시작하는 총 용량 1GB의 스왑 슬라이스를 만들겠습니다. n으로 새 슬라이스를 만드십시오. 슬라이스를 만든 후, 스왑을 의미하는 1(일)을 입력하여 형식을 바꾸겠습니다.

BSD disklabel command (m for help):n
Partition (a-p): a
First cylinder (1-5290, default 1): 3
Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M
BSD disklabel command (m for help):t
Partition (a-c): a
Hex code (type L to list codes): 1

이 단계가 끝나면 배치는 다음에 나타난 모습과 비슷합니다:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        3      1003      1001       swap
  c:        1      5290*     5289*    unused        0     0

루트 슬라이스 만들기

이제 스왑 슬라이드 다음의 첫번째 실린더에서 시작하는 루트 슬라이스를 만들겠습니다. p 명령을 사용하여 스왑 슬라이스 끝이 어디인지 살펴보십시오. 예제에서는 1003으로 끝나며, 앞으로 만들 루트 슬라이스는 1004에서 시작합니다.

다른 문제를 언급하자면, fdisk 에서, 존재하는 실린더의 갯수가 실제 실린더의 갯수보다 하나가 더 많은 것으로 간주하는 버그가 아직도 있습니다. 달리 말해 마지막 실린더를 요청하면 실린더 숫자를 1 감소(이 경우 5290)하여 보여줍니다.

슬라이스를 만들었다면, ext2 형식을 의미하는 형식 8번으로 바꾸겠습니다.

BSD disklabel command (m for help):n
Partition (a-p): b
First cylinder (1-5290, default 1): 1004
Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289
BSD disklabel command (m for help):t
Partition (a-c): b
Hex code (type L to list codes): 8

결과 슬라이스 레이아웃은 다음과 같아야합니다:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  a:        3      1003      1001       swap
  b:     1004      5289      4286       ext2
  c:        1      5290*     5289*    unused        0     0

슬라이스 배치 저장하고 나가기

w를 입력하여 fdisk 프로그램을 빠져나가십시오. 이 명령은 슬라이스 배치를 저장하기도 합니다.

Command (m for help):w

디스크 분할에 fdisk 사용하기(ARC/AlphaBIOS 전용)

다음 부분은 ARC/AlphaBIOS에서 예제 슬라이스 배치를 만드는 방법을 설명합니다:

슬라이스 설명
/dev/sda1 부트 파티션
/dev/sda2 스왑 파티션
/dev/sda3 루트 파티션

개인 취향에 따라 파티션 배치를 바꾸십시오.

존재하는 디스크 확인하기

어떤 디스크가 동작중인지 확인하려면, 다음 명령을 활용하십시오:

IDE 디스크에서는:

root #dmesg | grep 'drive$'

SCSI 디스크에서는:

root #dmesg | grep 'scsi'

이 출력 결과를 통해 어떤 디스크를 감지했으며 각각의 /dev/ 항목이 무엇인지 쉽게 찾아볼 수 있어야 합니다. 다음에서는 /dev/sda의 SCSI 디스크를 사용함을 가정하겠습니다.

이제 fdisk를 실행하십시오:

root #fdisk /dev/sda

모든 파티션 삭제

하드 드라이브를 완전히 비워두었다면, 먼저 DOS 디스크 레이블을 만드십시오.

Command (m for help):o
Building a new DOS disklabel.

모든 파티션에 대한 삭제를 시작하겠습니다. 다음은 파티션을 삭제하는 방법을 보여줍니다(예제에서는 '1'을 사용합니다). 모든 파티션을 삭제하려면 과정을 반복하십시오.

현존하는 파티션을 보려면 p를 사용하십시오. d는 파티션을 지울 때 사용합니다.

command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         478      489456   83  Linux
/dev/sda2             479        8727     8446976    5  Extended
/dev/sda5             479        1433      977904   83  Linux Swap
/dev/sda6            1434        8727     7469040   83  Linux
command (m for help):d
Partition number (1-6): 1

부트 파티션 만들기

부팅시 MILO를 사용하는 알파 시스템에서는, 작은 vfat 부트 파티션을 만들어야 합니다.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-8727, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-8727, default 8727): +16M
Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

스왑 파티션 만들기

총 용량 1GB의 스왑 파티션을 만들겠습니다. n을 사용하여 새 파티션을 만드십시오.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (17-8727, default 17): 17
Last cylinder or +size or +sizeM or +sizeK (17-8727, default 8727): +1000M
Command (m for help):t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)

이 단계가 끝나면 배치는 다음과 같습니다:

Command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          16       16368    6  FAT16
/dev/sda2              17         971      977920   82  Linux swap

루트 파티션 만들기

이제 루트 파티션을 만들겠습니다. 다시 n 명령만을 사용하십시오.

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (972-8727, default 972): 972
Last cylinder or +size or +sizeM or +sizeK (972-8727, default 8727): 8727

이 단계가 끝나면 배치는 다음과 같이 나타나야합니다:

Command (m for help):p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          16       16368    6  FAT16
/dev/sda2              17         971      977920   82  Linux swap
/dev/sda3             972        8727     7942144   83  Linux

파티션 배치를 저장하고 나가기

fdisk에서 바꾼 내용을 w를 입력하여 저장하십시오.

Command (m for help):w

이제 파티션을 만들었습니다. 파일 시스템 만들기로 계속 진행하십시오.