노무현 대통령 배너


2007. 6. 20. 18:10

디스크 관리 - 3(디스크 추가하기)

하드 디스크가 비싸던 그 옛날 옛적에는 필요하다고 무턱대고 구입하여 늘일 수 없었지만 지금은 필요하다면 raid로 묶어 몇 백 기가 바이트씩 사용하는 시대이다. 그만큼 디스크의 이동이나 교체 등이 잦은 작업이 되기 쉬운데, 그래서 꼭 알아야 하는 작업 중 하나이다.
솔라리스(x86 solaris 8)를 기준으로 디스크 추가 작업을 순서대로 알아보자.

1. 시스템 reconfigure

시스템을 shutdown 한 후에 disk 를 설치한다. 하드웨어를 연결하는 일은 그다지 어려운 일이 아니므로 설명을 생략하도록 하겠다. 디스크 설치 후에 그냥 부팅을 한다면 시스템은 인식을 하지 못한다. 그래서 필요한 작업이 reconfigure 수행이다.

Reconfigure 방법엔 여러 가지가 있다.
/reconfigure 파일을 만들어 준 후 reboot 을 한다.
부팅 후 init에서 불러 들이는 rc.sysinit 파일에서는 root 디렉토리에 reconfigure 라는 파일의 존재를 파악해서 시스템이 변경된 부분이 있는지 kernel 을 rebuild 하게 한다. 참고로 / 디렉토리는 root 만이 쓸 수 있으니 반드시 root로 로그인해야 한다.

[ebee@test2 /]su -Password: [root@test2 /]touch reconfigure[root@test2 /]ls TT_DB          devices        lib            packages       tmpbin            etc            lost+found     platform       usrboot           export         mnt            proc           varcdrom          floppy         net            reconfigure    volcore           home           nsmail         sbin           xfndev            kernel         opt            

이때 만들어진 reconfigure 파일은 재부팅 시 rebuild 후 자동으로 삭제된다.
부팅 후 쉘 상태에서 다음과 같이 입력한다.

reboot -- -r

부팅 시 옵션을 입력한다.
x86 버전의 경우 부팅 후 (b)oot (i)nterprete 를 고르는 부분이 있는데, 이곳에 “b –r”을 입력한다.
PROM 프롬프트 에서는 “boot –r” 을 입력한다.
위와 같은 방법을 거쳐 booting 이 된 후에야 다음 작업을 할 수 있다.

2. Format

2.1 설치할 디스크 고르기

Format 명령을 하면 커널에서 인식하고 있는 디스크들을 나열한다.

# formatSearching for disks...done	AVAILABLE DISK SELECTIONS:      0. c0d0           /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0      1. c0d1           /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0Specify disk (enter its number):

위의 출력을 통해 ide 하드 디스크를 2개 가지고 있다는 것을 알 수 있다. 새로 설치한 디스크가 1번이라 가정하고 다음으로 넘어가자. 주의할 점은 이 명령 역시 디스크를 다루는 명령으로서 마운트가 되어 있으면 안된다. 물론 새로 산 디스크를 마운트 했을 리는 없지만, 예를 들자면, re-partitioning 할 경우에 주의해야 한다.

FORMAT MENU:        disk       - select a disk        type       - select (define) a disk type        partition  - select (define) a partition table        current    - describe the current disk        format     - format and analyze the disk        fdisk      - run the fdisk program        repair     - repair a defective sector        show       - translate a disk address        label      - write label to the disk        analyze    - surface analysis        defect     - defect list management        backup     - search for backup labels        verify     - read and display labels        save       - save new disk/partition definitions        volname    - set 8-character volume name        !     - execute , then return        quit

위의 메뉴는 고른 디스크에 대해 작업할 수 있는 format menu 이다. 우리는 우선 fdisk 를 통해 솔라리스 파일 시스템으로 만들어 주어야 한다.

2.2 파일 시스템 결정 및 저장

fdisk 를 입력하면 다음과 같은 메시지가 뜬다.

Total disk size is 39703 cylinders             Cylinder size is 1008 (512 byte) blocks                                               Cylinders      Partition   Status    Type          Start   End   Length    %      =========   ======    ============  =====   ===   ======   ===          1       Active    Solaris          15  16287    16273     41SELECT ONE OF THE FOLLOWING:   1. Create a partition   2. Specify the active partition   3. Delete a partition   4. Exit (update disk configuration and exit)   5. Cancel (exit without updating disk configuration)Enter Selection:

필자의 디스크인데, 이미 ufs 로 포맷하여 사용하고 있기 때문에 사용량 등등에 관한 정보가 나온다. 만약 디스크 자체를 새로 구성하고 싶다면(re-partition이 아니다, re-partition 은 이 다음에 할 수 있다) 솔라리스 파일 시스템을 지우는 3번을 선택하고 지우면 된다. 저장 후 다시 메뉴로 나가기 위해서는 4. Exit 를 선택하여야 하는데, 만약 새 디스크라면 1. Create a partition 에서 100% solaris 파티션을 설정해 준 뒤에, 4. Exit 를 선택하도록 하자.

2.3 파티션 나누기

이제 100% 솔라리스 파티션인 이 디스크를 여러 슬라이스로 나눌 차례이다.

partition 을 입력해 보자.

format> partitionPARTITION MENU:        0      - change `0' partition        1      - change `1' partition        2      - change `2' partition        3      - change `3' partition        4      - change `4' partition        5      - change `5' partition        6      - change `6' partition        7      - change `7' partition        select - select a predefined table        modify - modify a predefined partition table        name   - name the current table        print  - display the current table        label  - write partition map and label to the disk        ! - execute , then return        quit

위에서 볼 수 있듯, 8개의 슬라이스가 있다. 하지만 우리가 건드릴 수 있는 것은 7개이다.
이 상태에서 print 명령을 통해 현재 디스크의 슬라이스 상태를 알아보자.

partition> print                     Current partition table (original):Total disk cylinders available: 16270 + 2 (reserved cylinders)Part      Tag    Flag     Cylinders         Size            Blocks  0 unassigned    wm       3 - 10161        4.88GB    (10159/0/0) 10240272  1 unassigned    wm   10162 - 16257        2.93GB    (6096/0/0)   6144768  2     backup    wm       0 - 16270        7.82GB    (16271/0/0) 16401168  3 unassigned    wm       0                0         (0/0/0)            0  4 unassigned    wm       0                0         (0/0/0)            0  5 unassigned    wm       0                0         (0/0/0)            0  6 unassigned    wm       0                0         (0/0/0)            0  7 unassigned    wm       0                0         (0/0/0)            0  8       boot    wu       0 -     0        0.49MB    (1/0/0)         1008  9 alternates    wu       1 -     2        0.98MB    (2/0/0)         2016

필자는 이미 0번과 1번의 슬라이스를 만들어 두었다. 만드는 것은 쉽다. 변경하고 싶은 슬라이스 번호를 입력하여 용량이나 실린더 수 등으로 partitioning이 가능하다. 위에서 s2(두번째 슬라이스)에 tag 가 backup 인 것을 유심히 보자. 이것은 기본적으로 쓰이지 않는 슬라이스이며, 디스크의 전체 용량을 나타낸다. 2번 슬라이스는 건드리지 않도록 하자.
다 했다면 quit 입력으로 format 메뉴로 빠져 나온다.

2.4 relabel

format 메뉴에서 빠져 나오기 전에 꼭 해줘야 할 명령이 있다. relabel 작업인데, 지금까지 슬라이스를 나눈 정보를 저장하는 작업이다. 만일 제대로 안 해준다면 다시 한번 위의 작업을 복습해야 하는 좋은 기회(?)가 될지도 모르겠다. 하지만 우리는 시간도 없는데 그런 짓은 하지 말자. 그냥 label 을 입력하여, 가볍게 yes 를 눌러주자. 그런 다음 quit 를 입력하여 shell 상태로 나오자.

3. newfs 이제 디스크의 각 부분들이 자리를 잡았다. 각 슬라이스 별로 newfs 명령을 통해 파일 시스템을 재구성해줘야 한다.
우선 format 한 상황을 종합해 보자. c0d1 인 디스크에서 s0번과 s1번의 두개의 슬라이스로 나누었다. 앗 윗장에서 다 설명한 것들이 아닌가! 역시 뭐든 공부해 두면 다 써먹게 되어 있다. 윗장을 읽었음에도 잘 기억이 안 나는 사람은 자신의 머리와 부모님을 원망해가며 다시 한번 정진하도록 하자. “아무나 다 유닉스를 쓴다면, 난 유닉스를 쓰지 않았을 것이다.” 라는 유닉스 유저도 꽤 있다. 만만하게 보지 말자.

다음과 같이 명령을 내려줘야 할 것이다.

# newfs /dev/rdsk/c0d1s0…… 생략#newfs /dev/rdsk/c0d1s1…… 생략

이 작업에서 super block 의 지정 등 여러 작업이 이루어지며 드디어 우리가 마운트 할 수 있는 디스크가 생긴 것이다.


'Unix, Solaris' 카테고리의 다른 글

[본문스크랩] 솔라리스 쉘 모양을 변경해보자  (0) 2007.06.20
Solaris 관련 Link  (0) 2007.06.20
디스크 관리 -2  (0) 2007.06.20
사용자 계정관리  (0) 2007.06.20
디스크 관리-1  (0) 2007.06.20