안녕하세요. 썬구루입니다.
이번 게시물에서는 parted 명령을 통한 하드 디스크 파티션 분할에 대해 알아볼 것입니다. MBR 방식의 파티션 테이블은 2.2TB 하드 디스크가 한계입니다. 그 이상의 디스크 또는 스토리지 LUN에 대해 fdisk 명령으로 파티션을 분할하려 한다면 아래와 같은 메시지를 보게 될 것입니다.
WARNING: The size of this disk is 2.5 TB (2528661995520 bytes).
DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT) |
윈도우 및 유닉스 등 기타 운영체제에서 2.2TB 이상의 하드디스크에 대해서는 GPT 방식의 파티션 테이블을 사용합니다. 그래서 parted 명령을 사용하여 대용량 디스크의 파티션 분할하는 방법에 대해 알아볼 것입니다.
■ parted 명령
이 명령은 fdisk 와 같이 리눅스 환경에서 디스크 또는 LUN의 파티션을 생성, 삭제, 관리하기 위해 사용되는 명령이다. fdisk와는 달리 GTP와 MBR 방식의 파티션 테이블을 사용할 수 있으며 2.2TB 이상의 대용량 디스크 또는 LUN에 대해 파티션 생성 및 관리가 가능하다.
1). 명령 형식
parted [옵션] [ device [command [option]]]
2). 옵션
옵 션
|
내 용
|
-l
|
디스크들의 파티션 정보를 보여준다. |
[root@sunguru ~]# parted -l | grep -v Error
Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 211MB 210MB primary ext4 boot 2 211MB 4506MB 4295MB primary linux-swap(v1) 3 4506MB 21.5GB 17.0GB primary ext4 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 5379MB 5379MB primary ext4 2 5379MB 21.5GB 16.1GB primary [root@sunguru ~]# |
3). 하부 명령
하부 명령
|
내 용
|
mklabe VALUE
|
파티션 테이블을 생성한다. [값은 gpt, msdos 가 있음] |
print
|
파티션 테이블 정보를 출력한다. |
unit VALUE
|
사용할 단위를 정의한다. [값은 MB, GB, TB, % 가 있음] |
mkpart
|
새로운 파티션을 생성한다.[ 순서 : mkpart part-type fs-type start end ] |
rm NUMBER
|
기존 파티션을 제거한다. |
q
|
parted 명령을 종료한다. |
4). 예제
일단 실습 이전에 4TB 용량의 가상 하드 디스크(Virtual Hard Disk)를 가상머신(VM)에 추가한다. 용량은 GB 단위이기 때문에 4096을 입력하면 4TB 디스크가 만들어진다. 그리고 씬 프로비져닝(Thin Provisioning) 된 가상 하드디스크가 만들어지기 때문에 실제 하드디스크의 물리적 용량 4TB 가 필요 없다. 수 십 메가바이트 파일이 만들어지고 실제 데이터가 저장되면 점점 늘어날 것이다. 그리고 하드 디스크가 CentOS 리눅스 운영체제에 인식될 수 있도록 다음과 같은 명령을 사용한다. [ Channel / SCSI ID / LUN ]
[root@sunguru ~]# echo "- - -" > /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan
|
아래와 같은 명령을 실행하여 4TB 하드 디스크 인식을 확인한다.
[root@sunguru ~]# lsblk | grep -i disk
sda 8:0 0 20G 0 disk sdb 8:16 0 20G 0 disk sdc 8:32 0 4T 0 disk [root@sunguru ~]# |
아래와 같은 명령을 실행하여 이전에 추가한 20GB 디스크와 조금 전 추가한 4TB 디스크의 파티션 정보 및 파티션 테이블 저장 방식을 확인한다. msdos는 MBR 방식이다.
[root@sunguru ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 5379MB 5379MB primary ext4 2 5379MB 21.5GB 16.1GB primary [root@sunguru ~]# parted /dev/sdc print Error: /dev/sdc: unrecognised disk label [root@sunguru ~]# |
fdisk 명령을 사용하여 4TB 디스크의 파티션을 분할하려 한다면 parted를 사용하라는 메시지가 출력될 것이다.
[root@sunguru ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x3c173aab. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: The size of this disk is 4.4 TB (4398046511104 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT). WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): q [root@sunguru ~]# |
parted 명령을 사용하여 상호 대화형 모드에서 하부 명령으로 mklabel을 사용하거나 아래와 같이 바로 하부 명령을 입력하여 gpt 방식의 파티션 테이블을 사용하도록 만들 수 있다.
[root@sunguru ~]# parted /dev/sdc mklabel gpt
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags [root@sunguru ~]# |
상호 대화형 모드에서 하부 명령으로 unit과 mkpart를 사용하여 파티션을 분할할 수도 있지만 아래와 같이 명령을 실행하여 파티션을 분할할 수도 있다. 아래는 하나의 파티션에 통으로 용량을 모두 할당하였다.
[root@sunguru ~]# parted /dev/sdc unit GB mkpart 1th ext4 0 4398
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 4398GB 4398GB 1th [root@sunguru ~]# [root@sunguru ~]# lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 4T 0 disk └─sdc1 8:33 0 4T 0 part [root@sunguru ~]# |
다음과 같은 명령을 실행하여 분할되어 있는 파티션을 삭제할 수 있다.
[root@sunguru ~]# parted /dev/sdc rm 1
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags [root@sunguru ~]# lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 4T 0 disk [root@sunguru ~]# |
다시 다음과 같이 파티션을 분할해보자.
[root@sunguru ~]# parted /dev/sdc unit GB mkpart 1th ext4 0 2048
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 2048GB 2048GB 1th [root@sunguru ~]# parted /dev/sdc unit GB mkpart 2nd ext4 2048 4398 Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 2048GB 2048GB 1th 2 2048GB 4398GB 2350GB 2nd [root@sunguru ~]# lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 4T 0 disk ├─sdc1 8:33 0 1.9T 0 part └─sdc2 8:34 0 2.1T 0 part [root@sunguru ~]# |
서버시스템 하드디스크 연결 구성도
또는 아래와 같이 퍼센트 단위로 분할할 수도 있다.
[root@sunguru ~]# parted /dev/sdc rm 2
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc rm 1 Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc unit GB mkpart 1th ext4 0 50% Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc unit GB mkpart 2nd ext4 2199 100% Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 2199GB 2199GB 1th 2 2199GB 4398GB 2199GB 2nd [root@sunguru ~]# lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 4T 0 disk ├─sdc1 8:33 0 2T 0 part └─sdc2 8:34 0 2T 0 part [root@sunguru ~]# |
또는 아래와 같이 parted 명령 안에서 상호 대화형 모드로 파티션을 분할할 수도 있다.
[root@sunguru ~]# parted /dev/sdc rm 2
Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc rm 1 Information: You may need to update /etc/fstab. [root@sunguru ~]# parted /dev/sdc GNU Parted 2.1 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) (parted) unit GB (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted) mklabel gpt Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Y (parted) mkpart 1th ext4 0 2048 (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 0.00GB 2048GB 2048GB 1th (parted) mkpart 2nd ext4 2048 4398 (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 4398GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 0.00GB 2048GB 2048GB 1th 2 2048GB 4398GB 2350GB 2nd (parted) q Information: You may need to update /etc/fstab. [root@sunguru ~]# lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 4T 0 disk ├─sdc1 8:33 0 1.9T 0 part └─sdc2 8:34 0 2.1T 0 part [root@sunguru ~]# |
여기까지 parted 명령을 사용한 파티션 분할에 대해 알아보았습니다. 다음 게시물에서는 EXT 파일시스템 관리에 대해 알아볼 것입니다.
No comments:
Post a Comment