쉽게 파티션을 조절 하려면 Ubuntu 상에서는 gparted 를, Kubuntu 상에서는 qtparted 를 실행하면 그래픽으로 아주 쉽게 파티션을 조절 할수 있다.
파티션 매직에서는 ext3 파티션을 건드리면 매우 불안정 하지만 gparted 에서는 깔끔하게 동작한다.
공식 홈페이지 : http://gparted.sourceforge.net/
시스템에 미리 설치되어 있지 않은 경우엔 gparted 를 설치해야 하는데 설치는 간편하다.
~# apt-get install gparted
요 명령어면 끝이다.
하지만 서버에서 이걸 돌리려고 x-window 시스템에 갖가지 라이브러리를 설치하는건 삽질이다.
그리고 이런 GUI 버전이 아닌 원래의 parted 를 쓰면 된다.
다만 명령어를 모르면 쓰기가 어렵다는 것일 뿐...
우선 어떤 디스크를 어떻게 파티션 할지 부터 고민해야 한다.
시스템에 달려있는 하드디스크를 살펴 보려면
위처럼 실행시켜 보면 달려있는 디스크와 파티션 정보가 줄줄 나온다.
간단하게 파티션을 만들어 보자면...
parted 뒤에 작업 하고자 하는 디스크를 선택해서 넣어주면 된다.
저 상태에서 ? 또는 help 를 입려하면 사용 가능한 명령어가 주루룩 나열된다.
새 하드디스크를 달아놓은 경우라면 우선 mklable 을 사용해서 파티션 테이블 타입부터 지정해 줘야한다.
위처럼 해보면 사용 가능한 레이블이 나오는데, 일반적인 환경(grub 이나 lilo 부트로더를 사용하는)에서는 msdos 로 설정해 주면 된다.
혹시 2TB 이상을 사용하는 경우 gpt 로 설정을 해줘야 하는데 주의할 점은 부트로더를 사용할 수 없으므로 당연히 부팅이 안된다.
print 명령을 해보면 이제 하나의 디스크를 파티션할 준비가 되었다.
* parted 는 명령을 주면 실시간으로 디스크를 변경 시킨다.
fdisk 처럼 다 설정해놓고 변경하는 방식이 아니므로 주의!
이제 mkpart 명령으로 파티션을 만들면 되는데 파티션의 첫 시작용량부터 마지막 용량까지를 적어주면 된다.
모든 디스크영역을 다 쓰고 싶으면 위의 예에서는 0부터 160기가 까지 적어주면 된다.
이제 파티션이 생성 되었다.
이제 포맷해서 마운트를 하고 사용하면 된다.
파티션을 확인하고 싶으면 제일 위에서 해본대로 fdisk -l 로 확인을 할수 있다.
포멧은 위에서 파티션을 ext3 으로 만들었으므로 mkfs.ext3 명령을 실행해 주면 된다.
~# mkfs.ext3 /dev/hdb1
포맷이 끝나면 원하는 위치에 마운트를 시켜준다.
~# mount /dev/hdb1 /bak
마운트된것을 확인해 보기 위해
~# df -h
그리고 부팅시마다 자동으로 마운트 시킬려면
/etc/fstab 에다 등록시켜주면 된다.
Ubuntu 에서는 UUID가 필요한데 확인하는 방법은
~# vol_id /dev/sdb1
를 입력하면 UUID를 확인할 수 있다.
이외에도 parted 는 아주 강력한 기능들이 많이 있다.
파티션 크기 조절 및 파티션 복사, 이미지 뜨기 등등의 수많은 기능들이 있다.
자세한 것은 다음의 메뉴얼 페이지를 참고.
http://www.gnu.org/software/parted/manual/html_chapter/parted_toc.html#TOC8
파티션 매직에서는 ext3 파티션을 건드리면 매우 불안정 하지만 gparted 에서는 깔끔하게 동작한다.
공식 홈페이지 : http://gparted.sourceforge.net/
시스템에 미리 설치되어 있지 않은 경우엔 gparted 를 설치해야 하는데 설치는 간편하다.
~# apt-get install gparted
요 명령어면 끝이다.
하지만 서버에서 이걸 돌리려고 x-window 시스템에 갖가지 라이브러리를 설치하는건 삽질이다.
그리고 이런 GUI 버전이 아닌 원래의 parted 를 쓰면 된다.
다만 명령어를 모르면 쓰기가 어렵다는 것일 뿐...
우선 어떤 디스크를 어떻게 파티션 할지 부터 고민해야 한다.
시스템에 달려있는 하드디스크를 살펴 보려면
# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8045eae3
Device Boot Start End Blocks Id System
/dev/sda1 19337 19457 971932+ 82 Linux swap / Solaris
/dev/sda2 * 1 6079 48829536 83 Linux
/dev/sda3 6080 19336 106486852+ 83 Linux
Partition table entries are not in disk order
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8045eae3
Device Boot Start End Blocks Id System
/dev/sda1 19337 19457 971932+ 82 Linux swap / Solaris
/dev/sda2 * 1 6079 48829536 83 Linux
/dev/sda3 6080 19336 106486852+ 83 Linux
Partition table entries are not in disk order
위처럼 실행시켜 보면 달려있는 디스크와 파티션 정보가 줄줄 나온다.
간단하게 파티션을 만들어 보자면...
# parted /dev/sdb
GNU Parted 1.8.8
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
GNU Parted 1.8.8
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
parted 뒤에 작업 하고자 하는 디스크를 선택해서 넣어주면 된다.
저 상태에서 ? 또는 help 를 입려하면 사용 가능한 명령어가 주루룩 나열된다.
새 하드디스크를 달아놓은 경우라면 우선 mklable 을 사용해서 파티션 테이블 타입부터 지정해 줘야한다.
(parted) help mklabel
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop
(parted)
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop
(parted)
위처럼 해보면 사용 가능한 레이블이 나오는데, 일반적인 환경(grub 이나 lilo 부트로더를 사용하는)에서는 msdos 로 설정해 주면 된다.
혹시 2TB 이상을 사용하는 경우 gpt 로 설정을 해줘야 하는데 주의할 점은 부트로더를 사용할 수 없으므로 당연히 부팅이 안된다.
(parted) mklabel msdos
(parted)
(parted) print
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
(parted)
(parted) print
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
print 명령을 해보면 이제 하나의 디스크를 파티션할 준비가 되었다.
* parted 는 명령을 주면 실시간으로 디스크를 변경 시킨다.
fdisk 처럼 다 설정해놓고 변경하는 방식이 아니므로 주의!
이제 mkpart 명령으로 파티션을 만들면 되는데 파티션의 첫 시작용량부터 마지막 용량까지를 적어주면 된다.
모든 디스크영역을 다 쓰고 싶으면 위의 예에서는 0부터 160기가 까지 적어주면 된다.
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? ext3
Start? 0
End? 160giga
(parted)
(parted) print
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 159GB 160GB primary ext3
(parted) q
~#
Partition type? primary/extended? primary
File system type? [ext2]? ext3
Start? 0
End? 160giga
(parted)
(parted) print
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 159GB 160GB primary ext3
(parted) q
~#
이제 파티션이 생성 되었다.
이제 포맷해서 마운트를 하고 사용하면 된다.
파티션을 확인하고 싶으면 제일 위에서 해본대로 fdisk -l 로 확인을 할수 있다.
포멧은 위에서 파티션을 ext3 으로 만들었으므로 mkfs.ext3 명령을 실행해 주면 된다.
~# mkfs.ext3 /dev/hdb1
포맷이 끝나면 원하는 위치에 마운트를 시켜준다.
~# mount /dev/hdb1 /bak
마운트된것을 확인해 보기 위해
~# df -h
그리고 부팅시마다 자동으로 마운트 시킬려면
/etc/fstab 에다 등록시켜주면 된다.
Ubuntu 에서는 UUID가 필요한데 확인하는 방법은
~# vol_id /dev/sdb1
를 입력하면 UUID를 확인할 수 있다.
이외에도 parted 는 아주 강력한 기능들이 많이 있다.
파티션 크기 조절 및 파티션 복사, 이미지 뜨기 등등의 수많은 기능들이 있다.
자세한 것은 다음의 메뉴얼 페이지를 참고.
http://www.gnu.org/software/parted/manual/html_chapter/parted_toc.html#TOC8



