windows server2008

14일차 디스크관리, MBR, GPT과 볼륨

컴공 2013. 3. 25. 11:30
반응형

## 디스크 구조

# 시스템 파일에 대한 접근권한
리눅스 - root권한에서 rm -f로 지움
윈도우 - 시스템파일 지우지 못함

파티션은 만드는 것이 아니라 논리적으로 나누는 것이다.

섹터 : 디스크에 존재하는 최소의 단위로써 일반적으로 512byte 크기.
클러스터 : 섹터의 묶음으로 데이터는 데이터를 저장하는 기본 단위. 2kbyte 클러스터의 경우 섹터 8개가 묶임.

RPM : 1분동안 플래터의 회전 수
7500 rpm, 5400 rpm이 표준이며 5400보다 7500이 더 수치상으로 높으나 소음이 심하다.

기본디스크는 볼륨이라고도 불린다.

디스크의 변환
기본디스크 -> 동적디스크 -- 깔끔히 된다.
동적디스크 -> 기본디스크 -- clean으로 파티션 정보를 다 지우고 다시해야한다.
동적 디스크의 경우

# 파티션의 종류
- 주 파티션
- extended 파티션
- logical 파티션

# 파일시스템 - 컴퓨터가 멍청해서 디스크를 어떻게 읽고 쓸지 지정해줘야한다.
- 리눅스
fdisk /dev/sdb  -- 쉘의 명령어가 아닌 자체 명령어를 사용한다.
- 윈도우 (MBR:master boot record)
cmd> diskpart
diskpart> disk list
dispkart> select disk 2
dispkart> create partition primary size=2000

- 윈도우 (GPT:GUID Partition Table)
cmd> diskpart
diskpart> disk list
dispkart> select disk 2
dispkart> conver gpt
dispkart> create partition primary size=2000

MBR vs GTP

기본적으로 BIOS는 첫번째 섹터에 파티션 정보를 기록하는데 이는 64kbyte로 고정되어 있다.
각 파티션은 16kbye씩 할당 받는다. 즉, 최대 4개의 파티션정보를 기록할 수 있다.
MBR은 주파티션 4개, 혹은 주파티션 3개 + 확장파티션1개(전체로 할당) 후 + 논리파티션 추가
GTP는 확장파티션은 안되고 주파티션만 무한생성(최대 128개 가능), 문자할당은 26개(a~z)까지 가능하다.
그러나 기본 bios는 efi를 지원하지 않기에 128개 중 1개는 예약파티션(번호1번)으로 지정되어 다른 127개의 파티션 정보가 기록된다.



EFI(extensible firmware interface) : 확장 펌웨어 인터페이스


 개인용 컴퓨터의 바이오스 제한(16비트 보호 모드, 1 메가바이트의 주소 공간, PC/AT 하드웨어에의 의존) 때문에 아이테니엄 대상으로 한 거대한 서버 플랫폼에는 채용할 수 없는 것이 판명되었다. 이를 해결하기 위해서 인텔이 개발한 것이 EFI이다. 기존 16byte의 엔트리를 128byte까지 확장 했으며 2.2tb까지의 인식률을 18 엑사 바이트까지 가능케 하였다.

※ 부팅과정
파워 on

POST (power on self test)
메인보드로 메모리, cpu, 그래픽 장치, 입력장치를 인식하고 테스트함. 비프음으로 오류 체크.

POST card - pc의 interface slot (islot) 내부에 달려있으며,
FND(7-segment) 전자시계 숫자표시와 동일하게 되어 비프음 대신에 숫자로 문제를 진단해줌
16진수의 수로 되어있다.

FND : 여러개의 LED를 조합하여 만든 LED모듈


BIOS(Basic Imformation Of System)
CD, 하드, USB 어느것으로 부팅할지 결정함.

HDD


# MBR(기본파티션) 설정
cmd> diskpart
list disk
select disk 2
online disk
detail disk
list partition
create partition primary size=2000
attributes disk clear readonly
assign letter=i
remove letter=i
assing mount=c:\mount
format quick 혹은 format fs=ntfs

delete partition  //맨 마지막에 만든 파티션이 지워짐.
create partition extended  //전체를 확장 파티션으로 묶음 (초록색 바구니 생성)
create partition logical size=2000
최대 26개까지 가능(assing letter=i)


# GPT(볼륨) 설정
select disk 2
clean

//모든 파티션 다 날림. 동적할당의 경우 반드시 clean을 한 후에 생성해야 함.
convert gpt
 //확장된 펌웨어
create partition extended
GPT 디스크에는 논리 및 확장 파티션을 만들 수 없습니다.
대신 GPT 디스크에는 주 파티션을 만듭니다.

create partition primary size=2000  //2000메가 주파티션 생성
assign  //임의의 문자 할당
format quick

\\\\\\\\\\\\\\
2.2테라 MBR 최대 범위
9.4zb GPT
\\\\\\\\\\\\\\

# 파티션 확장하기
DISKPART> create partition primary size=2000
DISKPART> list disk
// 디스크 2가 선택되었는지 확인하고 partition 정보를 확인한다.

  디스크 ###  상태      크기     사용 가능     Dyn 
Gpt
  --------  ----------  -------  -------  ---  ---
* 디스크 2    온라인           20 GB    18 GB

DISKPART> select partition 1
DISKPART> list partition

  파티션 ###     종류              크기     오프셋
  -------------  ----------------  -------  -------
* 파티션 1    주                 2000 MB  1024 KB

DISKPART> extend size=2000

# 파티션 축소하기
-
gui축소시

- CUI 축소시
DISKPART> shrink querymax
다시 사용 가능한 최대 바이트 수: 3999 MB
DISKPART> shrink desired 1000   //1000mb까지 줄인다.
DISKPART> shrink  //최대치까지 줄어든다.

단일파티션은 확장했던것만큼만 줄여지나
복수 파티션은 최소치까지 지워진다.

# 스크립트생성
aaa라는 스크립트 파일을 생성해서 실행시킨다.
C:\>diskpart /s c:\aaa.txt

-----------aaa.txt
select disk 2
clean
create partition primary size=2000
assign
format quick
---------------

##실습
 diskpart 명령어에 스크립트를 이용하여 디스크 구성

 MBR
 1. 파티션 10개 생성
 2. 크기는 2000MB, 드라이브 문자 할당, 포맷 퀵

 GPT로 변경
 1. 파티션 128개 만들기
 2. 크기는 100MB
 3. 배치파일 or for

1)----------------------- MBR로 파티션 생성
clean
create partition primary size=2000
assign
format quick
create partition primary size=2000
assign
format quick
create partition primary size=2000
assign
format quick
create partition extended
create partition logical size=2000   x 7번 반복
assign
format quick

2)------배치파일.bat----- GPT로 파티션 생성
diskpart /s c:\clean.txt
for /L %%i in (1,1,128) do (diskpart /s c:\gpt.txt)   // %%i라는 변수는 for문이 돌아가기 위해서 증분값이 저장되는 변수로 쓰임.
-----clean.txt
select disk 2
clean
convert gpt
-----gpt.txt
select disk 2
create partition primary size=100

---------------------------------------------------------
기본 bios는 efi지원안함
efi가 예약파티션으로 파티션정보를 저장함
gpt > 동적은 공간할당을 일일이 풀어줘야함

DISKPART> list partition
  파티션 ###     종류              크기     오프셋
  -------------  ----------------  -------  -------
  파티션 1    예약됨                128 MB    17 KB
  파티션 2    주                  100 MB   129 MB



동적디스크
- 내결함성(고장나더라도 다른걸 쓰도록함)을 지원한다.

동적디스크
동적에서 쓰이는 단순 볼륨은 기본파티션의 주파티션과 같은 역할을 한다. 또한 볼륨 수에 제한이 없다.
MBR은 볼륨이 순차적으로 되어야하기에 묶을 수 없다. 그러나 동적할당의 경우 주소로 링크되어 연결되었기에 묶을 수 있다.

- 확장
diskpart
list disk
select disk n (n= 디스크번호)
detail disk (디스크 정보, 생성된 볼륨 확인)
select volume n (n= 볼륨 번호)
extend size= <크기>

- 축소
select volume n (n는 볼륨번호)
shrink querymax (축소 가능 사이즈 확인)
shrink desired=<크기>


스팬볼륨
내결함성은 없지만 다른 디스크에 추가 확장이 가능하다.

스트라이프 볼륨
스트라이프 볼륨(Raid - 0 ) 실무에서는 0,1번을 많이쓴다.
내결함성은 없기에 실제 레이드는 아니다.
그러나 병렬로 분할저장하므로 읽기, 쓰기 속도가 매우 빠르다.
구축 후 확장 및 축소가 불가능하다.(모두 초기화해야 한다.)
1번은 내결함을 제공하므로 0번과 조합하여 쓴다.

미러볼륨
미러 볼륨은 parity 검사를 통해 xor 방식으로 2bit(0 이나 1)의 숫자들을 비교하여 오류복구 기능을 제공한다.
디스크를 갑자기 빼더라도 수정 복구가 가능하다.
복구시 단순 볼륨으로 바뀌고, 다시 미러로 설정시 미러로 설정할 디스크를 할당해주면 된다.

RAID 5
오류 복구가 가장 쉬우며, diskmgmt(디스크관리자)에 들어가서 그냥 볼륨복구만 눌러주면 된다.

==============

 diskpart를 이용하여 볼륨 구성
 
 오프라인 -> 온라인
 속성값 제거
 동적디스크로 변환(기본디스크에서 변환시 꼭 clean!!)
 -스팬볼륨 disk 1,2,3
 //0번은 하지마라! 예약파티션
 -스트라이프볼륨 disk 1,2,3 //확장
 -미러볼륨 disk 1,2 //미러는 단순볼륨해서 추가. 두개
 -raid-5 disk1,2,3
 볼륨 크기는 2000
 포맷, 드라이브 문자 할당

 구성이 끝나면 각 볼륨에 파일을 생성, 4kb이상을 만듬.
 0~9 (10byte) x 400

 3번 디스크 제거
 ## 내결함성되는지 확인

 

 


반응형