HDD 추가

이미 리눅스가 설치되어 있는 컴퓨터에

새롭게 하드 디스크를 설치하여 파티션 설정 및 포멧을 하는 과정에 대한 설명이다.

우선 알아야 할 내용은…

리눅스는 모든 장치들을 파일로 처리한다는 것이다.

최상위 디렉토리인 root에 보면 dev라는 디렉토리가 있는데,

이 디렉토리 안에 장치들을 나타내는 파일들이 있다.

하드 디스크 역시 장치이므로 파일로 나타내어 진다.

즉,

첫 번째 하드는
/dev/sda1, /dev/sda2, …

두 번째 하드는
/dev/sdb1, /dev/sdb2, …

이런식으로 나타내어 진다.

여기서 첫 번째 s는 S-ATA 방식의 HDD를 의미하는 것으로
만약 E-IDE 방식의 HDD가 설치되어 있다면 s 대신 h로 표시된다.

세 번째 문자인 a, b, c, … 은 설치되어 있는 HDD의 번호를 의미하며
마지막의 숫자 1, 2, 3, … 은 각 HDD에 설정되어 있는 파티션을 의미한다.
하드추가시에 해주어야 하는 작업은 크게 세 가지이다.

* 파티션생성
* 파일시스템생성
* 마운트포인트생성

우선 전원이 꺼진 상태에서 두 번째 HDD를 설치한 후
부팅할 때 정상적으로 인식이 되는지 확인한다.

정상적으로 설치가 되었다면
리눅스 부팅 후 su 를 이용해서 슈퍼유저로 계정을 바꾼다.

우선 vi 에디터로 /etc/fstab을 열어
현재 파일 시스템의 방식이 ext2인지 ext3인지를 확인한다.

vi /etc/fstab

그 다음 fdisk를 사용하여 다음과 같이 파티션 설정을 해준다.

우선 fdisk에서 사용하는 명령어를 알아보자

Command: _ 에서 수행할 명령을 지정해주게 되는데

p: 기존 파티션 확인
d: 기존 파티션 삭제
n: 새로운 파티션 추가
w: 파티션 기록하기

등이다. 보다 자세한 설명은 help를 입력하면 출력된다.
다음은 실제로 작업한 내용을 text로 캡쳐한 것이다.

새롭게 추가한 HDD에 이미 파티션들이 설정되어 있으므로
이것들을 모두 삭제한 후 새롭게 파티션을 설정하는 과정이다.

[root@localhost ~]# fdisk /dev/sdb

The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       12748   102398278+   7  HPFS/NTFS
/dev/sdb2           12749       30400   141789690    f  W95 Ext’d (LBA)
/dev/sdb5           12749       30400   141789658+   7  HPFS/NTFS

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

Command (m for help): p

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb2           12749       30400   141789690    f  W95 Ext’d (LBA)
/dev/sdb5           12749       30400   141789658+   7  HPFS/NTFS

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

Command (m for help): p

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

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

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]#
파티션 설정이 완료되었으면 format을 해줘야 한다.
사용하는 파일 시스템 방식에 따라 다음과 같은 명령을 수행하여 포멧을 하게 된다.

ext3 : mke2fs -j /dev/hdb1
ext2 : mkfs -t ext2 /dev/hdb1

다음은 format을 해주는 과정이다.
[root@localhost /]# mke2fs -j /dev/sdb
mke2fs 1.37 (21-Mar-2005)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) n
[root@localhost /]#
[root@localhost /]# mke2fs -j /dev/sdb
mke2fs 1.37 (21-Mar-2005)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
30539776 inodes, 61049646 blocks
3052482 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1864 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information:
done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost /]#
(mkfs.ext3 /dev/sdb1 이라고 해주어도 됨!)
포멧을 한 후에는 mount를 해주어야 한다.
이 과정은 실제로 두 번째 HDD에 존재하는 드라이버를 접근할 때
그 이름으로 사용될 디렉토리를 정해주는 과정이다.

여기서는 최상위 디렉토리 바로 아래에 2nd라는 디렉토리를 만든 후에
여기에 두 번째 HDD를 마운트해주었다.

mkdir 2nd

마운트 역시 파일 시스템에 따라 다르게 해주어야 한다.

ext3 : mount -t ext3 /dev/sdb1 /2nd
ext2 : mount -t ext2 /dev/sdb1 /2nd

재부팅 후에도 자동으로 마운트 되게 해주려면 fstab을 수정해준다.

vi /etc/fstab
 
/dev/sdb1 /2nd ext3 defaults 1 2

를 추가해준다.

/etc/fstab을 잘못 건드리게 되면 부팅이 안되는 사태가 발생하지 주의할 것!!

df -h 명령으로 마운트 여부를 확인한다.
참고글: calion7 님의 네이버 지식in 답변
http://kin.naver.com/db/detail.php?d1id=1&dir_id=10202&eid=bVIQLW4LR+H/7paduDezbEsAgoz+7tF7&qb=uK60qr26IMfPteUgw9+woQ

답글 남기기