휠세미나3 ver0.4

82

Upload: dokhanh

Post on 04-Feb-2017

221 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 휠세미나3 ver0.4
Page 2: 휠세미나3 ver0.4

파일시스템과 스왑영역ANDROMEDA

Page 3: 휠세미나3 ver0.4

파일 시스템이란?

파일시스템이란

Page 4: 휠세미나3 ver0.4

파일 시스템이란 컴퓨터가 데이터를 저장, 불러오기 위해 파일을 관리하는 체계

!이것이 없다면?

!저장장치 안의 데이터들은 각자 어디서 시작하고 어디서 끝나는지 모르는 파일 뭉치

에 불과합니다.

파일 시스템으로 각기 독립된 “파일”로 나뉘고, 또 이름이 부여되기에 각각의 정보는

구분될 수 있습니다.

!한 가지 파일 시스템에 대해 반드시 짚고 넘어가야할 것.

데이터, 즉, 파일은 바뀌지 않습니다.

어디에 위치시키고 읽고 쓰는데 어떠한 규칙을 적용할 것인가? 를 결정하는 것이 바

로 파일 시스템인 것입니다.

파일시스템이란

Page 5: 휠세미나3 ver0.4

파일 시스템의 동작 원리

파일 시스템에서 관리하는 파일 용량의 최소 단위는 블록(클러스터)입니다.

!하드디스크의 최소단위인 섹터(Sector)를 여러개 모아 만든 논리적인 저장 단위로서.

파일을 저장할때 이 블록 단위로 파일을 저장합니다.

(이 클러스터의 크기는 파일 시스템과 드라이브 용량에 따라 달라집니다.)

!클러스터 하나의 크기가 4KB일경우 2KB짜리 파일을 저장하면 이 파일 혼자 4KB짜

리 클러스터 하나를 차지하게 됩니다.

일반적으로 섹터의 용량은 512B고 블록의 용량은 4KB로 잡습니다.

파일시스템이란

4KB

블록(클러스터)

Page 6: 휠세미나3 ver0.4

파일 시스템의 동작 원리

파일시스템이란

Page 7: 휠세미나3 ver0.4

모든 파일시스템들은 각 데이터마다 메타데이터로 파일이름, 데이터의 길이, 파일의

위치 등의 추가적인 정보를 저장합니다.

어떤 메타데이터를 지원하는지는 파일시스템별로 차이를 보이며, 때로는 유저가 따

로 지정할 수 있는 종류도 있습니다. (author of the document 등)

!

파일 시스템에 inode block과 data block이 있는데,

메타 데이터는 inode block에, 데이터의 내용은 data block에 들어갑니다.

파일 시스템의 동작 원리

파일시스템이란

메타데이터

Page 8: 휠세미나3 ver0.4

inode block에서 data block을 가리키는 포인터의 숫자는 정해져 있습니다(보통 12

개). data block의 크기가 커지면 inode block은 indirect block을 만들어서 포인터

를 늘리는 방식으로 대응합니다.

이 방식은 특정 데이터의 위치를 파악하는데 큰 도움을 줍니다. (OS에서 직접 만듬)

파일시스템이란

Inode pointer structure

Page 9: 휠세미나3 ver0.4

저널링 파일 시스템이란 파일 시스템에 가해진 변경 사항들을 기록해 두는 기술로서

파일 시스템의 복구를 쉽게 만들어주는 역할을 합니다.

저널링이 적용된 파일 시스템으로는 ext3, ext4, HFS+, ResierFS 등이 있습니다.

!

예를 들어 UNIX 시스템에서 파일을 지우는 단계를 다음과 같습니다.

1. 입력된 데이터를 지우는 단계

2. 해당 디스크 부분이 이제 ‘free’라고 마킹 해놓는 단계

만약 실행 도중에 crash가 일어나 하나만 실행된 경우 예상치 못한 오류가 발생할 수

있습니다. 이를 예방하기 위한 시스템이라고 보시면 됩니다.

파일시스템이란

Journaling file system

Page 10: 휠세미나3 ver0.4

저널링을 이용하지 않는 파일 시스템에서는 (예를 들어) fsck 유틸리티가 모든 메타

데이터가 정상적인 정보를 가지고 있는지를 검사하여 오류를 수정해야 합니다.

이는 많은 시간을 요하는 작업입니다.

!

따라서 저널링을 이용한다면 최근의 변경 사항 기록을 통해 파일 시스템을 이전의 상

태로 되돌릴 수 있어 빠르게 복구가 가능합니다. (안전성 UP)

(추가: 그러나 온전한 상태로의 복구라기보다는 문제되는 부분이 삭제된다든지, 변경

전의 상태로 돌아간다든지 하는 경우가 많습니다. 결국 100% 복구는 아니라는 말)

파일시스템이란

Journaling file system

Page 11: 휠세미나3 ver0.4

FAT는 File Allocation Table, 즉 파일의 위치 정보 등을 기록하기 위한 테이블을 말

하는데 이것이 파일 시스템 자체를 가리키게 되었습니다.

FAT16은 단일 파티션의 최대 용량이 2GB로 저용량 장치에만 쓰일 수 있어 요즘에는

이동식 드라이브 외에는 거의 사용되지 않습니다.

FAT32는 단일 파티션의 최대 용량이 8TB에 달하지만, 4GB 이상의 파일을 가질 수

없고 보안상의 결점이 많아 대신 NTFS를 쓰는 것이 일반화되었습니다.

파일시스템 - 윈도우

윈도우에서 쓰이는 파일 시스템의 종류

FAT16/FAT32

Page 12: 휠세미나3 ver0.4

!

FAT32 이후에 나온 New Technology File System으로서 이름부터가 FAT32와

비교 많이 당하게 생겼습니다… Windows NT, 2000, XP 운영체제의 선택적 파일

시스템입니다. 다음은 NTFS가 FAT32에 비해 지닌 장점들입니다.

- Active Directory 도메인 이름을 지원(AD - LDAP 디렉터리 서비스)

- 폴더가 아닌 파일 수준에 사용 권한을 설정할 수 있고 파일 암호화를 제공(보안 향상)

- 개별 사용자에게 디스크 공간 할당량을 지정 가능

- 하드디스크 충돌을 즉시 복구하도록 디자인 (일부 디스크 오류 자동으로 복구)

- 디스크 조각 모음을 하지 않아도 됨.

- 대용량 데이터에 대한 접근성 향상

파일시스템 - 윈도우

윈도우에서 쓰이는 파일 시스템의 종류

NTFS

Page 13: 휠세미나3 ver0.4

외부 저장 장치를 포맷하는 규격으로는 FAT, FAT32, NTFS가 이전부터 사용하던 포

맷 방식이었습니다. 그러나 점차 외부 저장 장치 용량이 커지면서, 32GB 이상의 저장

장치(플래시 메모리)에서 사용할 포맷으로 exFAT이 탄생하게 되었습니다.

exFAT의 특징으로는

1. 매우 큰 파일 및 저장 장치 지원

2. 성능 향상 위한 지원

3. 앞으로 혁신 위한 확장성 기능 지원

4. 포맷시 더 큰 클러스터 사이즈를 지원

5. 삭제가 빠름

파일시스템 - 윈도우

윈도우에서 쓰이는 파일 시스템의 종류

exFAT

Page 14: 휠세미나3 ver0.4

맥 사용자들은 exFAT이라는 단어가 다소 친근한데요, 이유는 포맷할 때 주로 사용하

는 설정이기 때문입니다. (usb를 맥과 윈도우에서 둘다 사용하려면 반드시 exFAT으

로 해주는 것이 좋습니다)

맥은 os 스노우레퍼드 이후부터 exFAT을 지원하는데, 애플이 exFAT 사용 저작권을

샀다는 이야기가 있습니다.

!

아참, 그리고 이녀석 단점이 하나 있는데, 부팅용으로 쓸 수가 없습니다. (쓸 수 있는

방법은 있습니다만 ‘기본’으로는 부팅용으로 만들어지지 않은 케이스입니다.)

파일시스템 - 윈도우

윈도우에서 쓰이는 파일 시스템의 종류

exFAT

Page 15: 휠세미나3 ver0.4

Mac OS X에서 지원하는 파일 시스템으로는 Mac OS Extended Format(HFS+),

Mac OS Standard Format(HFS), UFS, UDF for DVD 등이 있습니다.

!HFS+ (Mac OS Extended Format) 이 포맷은 HFS+, 즉 Hierarchical File System Plus라고도 불립니다.

!이 HFS의 확장 버전은 단일 파일의 최소 크기를 줄임으로써 대규모 하드 디스크의 저

장 용량을 최적화하였습니다.

즉, HFS+는 블럭 사이즈를 하드디스크 용량에 따라 다르게 할당합니다. 예를 들어,

512MB에서1GB까지는 2KB짜리 블럭을 만들게 되고 1GB가 넘으면 4KB짜리 블럭을

만듭니다.

파일시스템 - 맥

맥에서 쓰이는 파일 시스템의 종류

Page 16: 휠세미나3 ver0.4

ext2와의 호환성을 유지하여 쉽고 안전한 업그레이드가 가능하도록 하였으며, 저널

링 방식이라는 장점을 가지고 있습니다.

JBD(Journaling Block Device layer)라고 하는 특수한 API를 사용하는데, 다른 일반

적인 저널링 파일 시스템들과는 달리 모든 종류의 block에 대해 저널을 구현합니다.

그러므로 메타 데이터 손상뿐만 아니라 데이터 손상에 대해서도 대처 가능합니다.

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

ext3

Page 17: 휠세미나3 ver0.4

단, 모든 데이터에 대한 저널을 만들기 때문에 속도상 약간의 저하가 있을 수 있습니다.

ext3에서의 저널은 inode block에 저장되며 하나의 파일이라 볼 수 있는데, 따라서

필요에 따라 파일 시스템에 저널을 추가할 수 있습니다.

최근 ext3에 추가된 저널링 모드는 메타 데이터에 대해서만 저널링을 수행하되 그에

상응하는 특정 데이터 블록을 트래킹하여 속도 저하 문제를 해결하였다고 합니다.

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

ext3

Page 18: 휠세미나3 ver0.4

저널링을 사용하는 64비트 파일 시스템입니다.

디스크를 쓰기보다는 메모리상에 많은 데이터를 캐시하여 전반적으로 좋은 퍼포먼스

를 보이며, 특히 큰 파일을 주로 다루는 시스템에서 좋습니다.

블록 디바이스를 8개 이상의 할당 그룹(allocation group)으로 나눠 각 할당 공간마

다 inode와 data를 관리하여, 병렬적인 입출력이 가능하게 합니다.

!

따라서 하드웨어의 성능이 좋을수록 XFS의 성능도 좋아지게 됩니다.

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

XFS

Page 19: 휠세미나3 ver0.4

변경 바이트 범위를 저장하는 논리적 저널링 방식을 사용하며, 데이터가 손실되는 경

우가 있더라도 해당 data block을 완전히 지워 보안상의 허점을 제거합니다.

디스크가 활발히 작동하면 보다 짧은 주기로 보류중이던 메타 데이터를 디스크에 기

록하여 메타 데이터 손실을 줄입니다.

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

XFS는 ext3보다 매우 느리다? | KLDP

https://kldp.org/node/101444

XFS

Page 20: 휠세미나3 ver0.4

‘할당 지연’

!

저장할 데이터가 생겼을 때에는 해당 데이터를 위해 공간은 남겨두지만, 어떠한

블록에 기록할지는 결정하지 않습니다.

그리고 디스크에 기록할 때가 오면 공간을 지능적으로 할당할 수 있어, 새로운 데

이터가 파일에 첨가되면 이를 그 인접한 지역에 저장할 수 있습니다.

또한 금방 사라지는 임시 파일들에 대해서는 디스크 블록이 할당되지 않기 때문에

할당 해제 작업도 필요하지 않습니다.

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

XFS

Page 21: 휠세미나3 ver0.4

ext3의 후속버전입니다.

2008년 12월 25일, ext4 파일 시스템을 포함하는 커널 2.6.28이 공개되었으며 2010

년 1월 15일, 구글은 자사의 스토리지 인프라를 ext2에서 ext4로 업그레이드한다고

발표했습니다.

특징은 다음과 같습니다.

1. 대형 파일 시스템 : 최대 1엑사바이트;; 볼륨과 최대 16테라바이트의 파일을 지원

2. Extent : ext3의 공간 할당 방법을 익스텐드 방법으로 대체, 효율적으로 개편

3. 하위 호환성 : ext2, ext3 파일시스템을 ext4로 마운트 하는 것이 가능

4. 지연된 할당 : XFS에서 제공해주던 것과 비슷합니다

5. 하위 디렉토리 제한 없음

6. 등등…

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류ext4

Page 22: 휠세미나3 ver0.4

파일시스템 - 리눅스

ext4

Page 23: 휠세미나3 ver0.4

ext2,3에서 ext4로 바꾸는 이유는 결국 성능문제입니다.

구글의 경우 ext2가 오랜 기간 동안 "충분히 좋았지만", 메타데이터를 처리할 때 낡은

파일 시스템으로는 한계가 있어 바꾸었다 합니다. 이걸 구글에서는 '읽기 인플레이션

(read inflation)'이라고 부른다는군요. 이 때문에 데이터를 읽는 데 탐색을 많이 해야

하고, 데이터 블럭을 배열하는 방식도 안 좋아서, 성능 문제를 일으켰다고 합니다.

재밌는 것은 구글이 이러한 결정을 내리기에 앞서 XFS도 후보로 고려해보았다는 것

입니다. 성능 벤치마크를 해보았다고 하는데요. 이에 따르면 ext4와 XFS가 성능 면

에서 '거의 같게' 나왔다고 합니다. '구글이 사용하는 분야 내에서'라고 단서를 붙였긴

하지만요.

끝내 ext4으로의 변경을 결정한 것은 컴퓨터를 켜놓은 상태에서 진행할 수 있다는 것

이 장점으로 작용했다고 합니다.

파일시스템 - 리눅스

그래서 구글은 왜 ext4를 선택했는가

부제: xfs vs ext4

Page 24: 휠세미나3 ver0.4

쓰이다가 이제는 아무도 안씁니다. 이유는?

!

결론: 차카게 살자

파일시스템 - 리눅스

리눅스에서 주로 쓰이는 파일 시스템의 종류

ReiserFS

Page 25: 휠세미나3 ver0.4

하드디스크 등의 저장 장치를 구획해놓은 것입니다.

물리적 파티션(physical partition) (primary)

실제 장치를 직접적으로 나눈 파티션으로, 3개까지 만들어질 수 있습니다.

논리적 파티션(logical partition) (extended)

남은 공간에 새로 마스터 영역을 만들어, 그 내에서 만들어져 관리되는 파티션들로

60개까지 만들 수 있습니다.

!

하나의 파일 시스템은 하나의 파티션 위에 얹어져, 해당 파티션 내의 파일과 디렉토리

를 관리하는 역할을 하게 됩니다.

파일시스템 - 파티션

파티션이란?

Page 26: 휠세미나3 ver0.4

하드디스크(또는 다른 저장매체)가 여러 개의 파티션으로 나뉠 수 있음으로써 가지게 되는

장점으로는…

!

1. 안정성

어떤 한 파티션의 파일 시스템에 손상이 가더라도, 다른 파티션의 파일 시스템에는 보통 문

제가 없습니다.

2. 업그레이드 용이

리눅스를 업그레이드할 때, /home 디렉토리에 데이터를 보관시키고 나머지 파티션들에

대해서 업그레이드를 진행할 수 있습니다.

3. 저장 매체가 여러 개인 경우

저장 매체가 2개 이상인 경우, 이를 하나로 묶어 하나의 파일 시스템을 설정할 수도 있지만,

여러 개의 파일 시스템으로 각각 설정하는 것도 가능합니다.

파일시스템 - 파티션

파티션을 나누는 이유

Page 27: 휠세미나3 ver0.4

시스템의 각종 디바이스들에 접근하기 위한 디바이스 드라이버들이 저장되어 있는

디렉토리로 하드디스크에 차지하는 공간이 없는 가상 디렉토리입니다.

대표적으로는 하드 드라이브, 플로피, 씨디롬, 시리얼 포트 그리고 루프팩장치 등이

존재합니다.

!리눅스 시스템은 윈도우와 달리 각종 디바이스 장치들을 하나의 파일로 취급합니다.

따라서 시스템은 각각의 장치 정보를 /dev 디렉토리에 존재하는 해당 장치 파일로 부

터 가지고 와서 처리합니다.

복습

복습: /dev

/dev

Page 28: 휠세미나3 ver0.4

각 장치는 제어하기 위한 디바이스 드라이버 파일이 존재합니다.

크게 2가지가 있습니다.

하나는 통신포트, 프린터 포트, 터미널 장치처럼 한번에 한 바이트씩 차례로 오가는

단방향의 문자 장치(Character Device, C)가 있고, 또 하나는 버퍼를 사용하여 한번

에 블록 단위로 처리하는 블록 장치(Block Device, B)가 있습니다.

!/dev는 하드디스크의 공간을 차지하는 곳이 아닙니다. 디바이스 드라이버 파일을 만

들고 이를 등록하면 이 폴더에 나타나게 되는데, 등록하는 방법에는 콘솔에서 직접

mknod 명령을 사용하거나 /dev/MAKEDEV 라는 스크립트를 이용할 수 있습니다.

!장치 하나를 살펴보자면..

복습: /dev

/dev

복습

Page 29: 휠세미나3 ver0.4

퍼미션 부분의 brw-rw---- 첫번째 문자 b 는 block device를 나타냅니다.

다음은 /dev에 위치한 몇가지 대표적인 장치입니다.

디렉토리 명 설명

/dev/hda 첫 번째 슬롯 마스터 IDE 하드 디스크 드라이브

/dev/hdb 첫 번째 슬롯 슬레이브 IDE 하드 디스크 드라이브

/dev/mouse 마우스

/dev/ttys0 COM1 시리얼 포트

/dev/null 아무것도 없는 장치. 출력을 버리고 싶다면 여기로.

/dev 디렉토리에서 ls –l 명령을 통해 장치들의 목록을 열람해볼 수 있습니다.

andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

복습

Page 30: 휠세미나3 ver0.4

시스템의 각종 프로세서, 프로그램 정보, 하드웨어적인 정보들이 저장되어 있습니다.

이 디렉토리도 /dev처럼 가상 파일 시스템으로 하드 디스크의 물리적인 공간을 사용

하지 않고 메모리 상에 존재합니다.

예를들어 filesystems 를 출력해 보시면 CPU 정보를 보실 수 있습니다.

디렉토리 명 설명

/proc/cpuinfo cpu 에 대한 타입, 제조사, 모델, 성능 등에 관한 정보가 출력

/proc/devices 현재 동작 중인 디바이스 드라이버 목록

/proc/filesystems 커널에 설정되어 있는 파일 시스템 목록

/proc/meminfo 사용중인 메모리의 사용량을 출력. 가상메모리 정보.

/proc/stat 시스템의 현재 상태에 대한 다양한 정보

복습: /proc

/proc

복습

Page 31: 휠세미나3 ver0.4

/proc/filesystems 파일을 살펴봅시다.

$ cat /proc/filesystems

현재 리눅스 커널에 어떠한 파일 시스템이 마운트되어 있는지 그 종류들을 볼 수 있습

니다.

파일 시스템 이름들 앞에 붙어있는 “nodev”는 그 파일 시스템 장치(파일 시스템은 장

치로 관리됨)가 실제 장치를 필요로 하지 않는다는 것을 의미하며…

리눅스의 모든 디바이스 장치는 /dev에 있어야 합니다. 그러나 이론상으로는 시스템

어느곳에 있든 사실 문제는 없죠. 이에따라, 특정 사용자가 디바이스 파일을 건드려서

잘못된 용도로 사용한다든지, 악용이 발생할 수 있습니다.

이를 방지하기 위한 장치가 nodev입니다.

그럼 우리 리눅스 시스템은?

리눅스 파일 시스템 관리

Page 32: 휠세미나3 ver0.4

목차

1. 파티션 설정(fdisk)

2. 파일 시스템 만들기(mkfs)

3. 장치 마운트하기

4. 파일 시스템 점검 및 복구(fsck)

5.실습해보자!!!

리눅스 파일 시스템 관리

리눅스 파일 시스템 관리

포맷(Format)

참고: 저장 장치에 파일 시스템을 구축하는 작업을 바로 포맷(Format) 이라고 합니다.

Page 33: 휠세미나3 ver0.4

리눅스 시스템의 장치 파일들은 /dev에서 볼 수 있는데,

IDE 형식의 하드디스크는 /dev/hda, /dev/hdb, /dev/hdc … 와 같이 지정되고

S-ATA 형식의 하드디스크는 /dev/sda, /dev/sdb, /dev/sdc … 와 같이 지정됩니다.

!

이러한 물리적인 디스크에 파티션이 생성되면 그 장치 파일 뒤에 1번부터 번호가 붙은

이름으로 파티션에 해당하는, 가상의 장치의 파일이 생성됩니다.

(Ex)

/dev/hda에 대해 파티션 두개를 만들었다면 /dev/hda1, /dev/hda2

리눅스 파일 시스템 관리 - 파티션 설정

파티션 설정(fdisk)

Page 34: 휠세미나3 ver0.4

# fdisk [디스크 장치]

해당 디스크에 대해서 파티션 설정을 한다

이는 대화형으로 이루어지므로 쉽게 할 수 있다

그래도 거기서 쓸 수 있는 명령어들에 대해 알아보면…

!

# fdisk –l [디스크 장치]

해당 디스크의 파티션 테이블을 보여준다

장치를 지정하지 않으면 시스템의 파티션 테이블을 보여준다

– 템

리눅스 파일 시스템 관리 - 파티션 설정

파티션 설정(fdisk)

Page 35: 휠세미나3 ver0.4

# fdisk [디스크 장치] 입력 후

명령어 종류

• a: 부트 플래그 설정(설정시 파티션 테이블에서 Boot 항목에 * 표시됨)

• b: bsd 디스크 레이블 편집

• c: 도스 호환 여부 플래그 설정

• d: 파티션 삭제

• l: 알려진 파티션 형태의 목록 출력

•m: 도움말 출력(=> 궁금하면 m)

• n: 파티션 생성

• o: 새로운 도스 파티션 테이블 생성

• p: 파티션 테이블 출력

• q: 변경 사항을 저장하지 않고 종료

• s: sun 디스크 레이블 생성

• t: 파티션의 시스템 아이디 변경

• u: 표시 및 엔트리 단위 변경(섹터/실린더)

• v: 파티션 테이블 점검

• w: 변경 사항을 저장하고 종료

• x: 추가적인 기능들

리눅스 파일 시스템 관리 - 파티션 설정

Page 36: 휠세미나3 ver0.4

2TB 이상의 파티션을 잡으려고하면 fdisk가 이를 허용하지 않는 것을 확인할 수 있습

니다. 이는 fdisk의 문제가 아니라 우리가 사용하는 파티션 테이블이 msdos타입이라

그렇습니다.

(레거시 문제라 합니다: "Back in 1981 when the IBM PC was introduced, a disk

of over two terabytes would have seemed inconceivable.”)

이를 해결하기 위하여 인텔에서 만든 GPT(GUID 파티션 테이블)을 사용하면 되는데..

리눅스에서는 이를 위해 GNU parted를 사용합니다. (ext3까지 지원합니다) !1. GNU parted로 GPT와 호환하는 파티션 테이블을 만들어준다

2. 적절한 사이즈의 파티션을 만들어준다( -> 파일 시스템을 만든다, 마운트한다.)

!

– 템참고

리눅스 파일 시스템 관리 - 파티션 설정

파티션 설정(fdisk) - parted 사용법

https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=10966

Page 37: 휠세미나3 ver0.4

# parted /dev/sdc!GNU Parted 2.2!Using /dev/sdc!Welcome to GNU Parted! Type 'help' to view a list of commands.!(parted) print!Model: Ext Hard  Disk (scsi)!Disk /dev/sdc: 8001GB!Sector size (logical/physical): 512B/512B!Partition Table: msdos! !Number  Start   End     Size    Type     File system  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? yes

이러면 1단계, GPT호환 파티션 테이블을 만들었다고 할 수 있습니다.

다음으로 파티션을 만들때 주의할 점이 있는데,

이를영어로 partition alignment라 합니다. 블록(클러스터)이라고 처음에 언급한

개념을 기억하시나요? 그에 맞추어서 파티션을 만들어주는 것이 좋습니다.

잘 모르겠으면 parted --align optimal 과 같은 명령어도 있습니다.

리눅스 파일 시스템 관리 - 파티션 설정

Page 38: 휠세미나3 ver0.4

리눅스 파일 시스템 관리 - 파티션 설정

Partition Alignment

과거에는 첫번째 파티션이 항상 LBA-Address 0에서 시작했다고 합니다. 이게 새 하드디스크(SSD포함)에 문제가 된다고 하는데, 예를 들어 4096b를 블록 사이즈로 지니는 전형적인 파일시스템을 이같은 하드에 설치할 때 정확히 맞아떨어지지가 않는 결과를 낳습니다. (작은 파일의 경우 최대 25배까지 속도 저하 발생 가능)

이를 방지하기 위해 앞뒤로 1메가바이트의 여유를 주는 방식이 권장되고 있습니다.

ex. (parted) mkpart primary xfs 1 -1

(parted) p

Page 39: 휠세미나3 ver0.4

각각의 파일 시스템들은 자신과 관련된 고유의 mkfs 명령을 가지고 있으며,

mkfs 자체는 각각을 실행시켜주는 녀석에 불과합니다.

따라서 mkfs가 없다면 그냥 mkfs.ext3나 mkfs.msdos와 같이 해당 파일 시스템을 만

들어 주는 프로그램을 직접 호출하면 됩니다.

!

# mkfs –t [파일 시스템 타입] [파티션 장치]

!

# mkfs –c [파티션 장치]

파티션의 배드섹터 검사를 한다

리눅스 파일 시스템 관리 - 파일 시스템 만들기

파일 시스템 만들기(mkfs)

Page 40: 휠세미나3 ver0.4

리눅스에서는 파일 시스템이 각각의 디렉토리(/dev/)에 대응합니다.

따라서 마운트(mount)라는 연결 작업을 거쳐야만 사용 가능합니다.

마운트란 파일 시스템을 사용하기 위해 해당 파티션 장치와 디렉토리를 연결하는 것

을 말합니다.

리눅스 파일 시스템 관리 - 장치 마운트 하기

장치 마운트하기

Page 41: 휠세미나3 ver0.4

•파일 시스템들의 정보를 가지고 있는 파일 시스템 테이블이 있는데, 이는 /etc/

fstab 파일입니다.

•이 fstab에서 부팅시 자동으로 마운트되도록 옵션을 지정할 수 있습니다.

• /etc/fstab 파일의 각 행은 다음과 같이 이루어집니다.

– [파티션 장치(또는 레이블명)] [마운트 포인트] [파일 시스템 타입] [옵션] [dump

설정] [파일 점검 옵션]

– 옵션에 “auto” 지정되어 있으면 해당 파일 시스템은 자동적으로 마운트될 수 있음

– “default” 옵션은 “auto” 옵션을 포함

– mount는 기본적으로 root 권한이 필요하지만, “user” 옵션을 가지는 파일 시스템

들에 대해서는 일반 유저들도 마운트시키는 것이 가능

장치 마운트하기 - /etc/fstab

리눅스 파일 시스템 관리 - 장치 마운트 하기

Page 42: 휠세미나3 ver0.4

/etc/fstab - sparcs.org의 경우

리눅스 파일 시스템 관리 - 장치 마운트 하기

NFS : NFS는 Network File System의 약자. NFS의 강점은 로컬 머신이 아닌

다른 머신의 하드를 자신의 머신에 있는것처럼 네트워크를 이용하여 만드는

가상 파일시스템입니다.

UUID : 리눅스에서는 블록 디바이스의 식별자 (/dev/disk/by-uuid)

udf, iso9660 : 광 디스크의 파일 저장을 위한 파일 시스템의 포맷 규격

Page 43: 휠세미나3 ver0.4

# mount

현재 마운트되어 있는 정보 출력

# umount [파티션 장치] 또는 # umount [마운트 포인트]

해당 파티션의 파일 시스템을 언마운트시킵니다

# mount –t [파일 시스템 타입] [파티션 장치] [마운트 포인트]

[파일 시스템 타입]에는 앞서 mkfs로 해당 파티션에 만들었던 것을 써야 합니다

마운트 포인트에는 해당 파티션이 어떠한 디렉토리에 대응할지 나타내야 합니다

# mount –a

/etc/fstab 파일에 “auto” 옵션을 가지고 있는 모든 파일 시스템들을 마운트.

리눅스 부팅시 이 작업이 한번 진행됩니다

리눅스 파일 시스템 관리 - 장치 마운트 하기

장치 마운트하기 - mount/unmount

Page 44: 휠세미나3 ver0.4

파일 시스템이 정상 상태인지를 검사하고, 오류가 있을 경우 복구합니다.

fsck도 mkfs와 마찬가지로 각각의 파일 시스템들이 가지고 있는 고유의 fsck들을 호

출해주는 녀석에 불과합니다.

일반적으로 fsck는 해당 파일 시스템을 언마운트시킨 뒤에 수행하는 것이 안전하며,

만약 마운트된 파일 시스템을 점검했다면 재부팅을 해야 바뀐 내용이 갱신됩니다.

리눅스 파일 시스템 관리 - 파일 시스템 점검 및 복구

파일 시스템 점검 및 복구(fsck)

Page 45: 휠세미나3 ver0.4

Qu. 언마운트를 할 수 없는 루트 파일 시스템을 검사하려면?

부트/루트 플로피 등 부팅 가능 타 매체를 이용하여 부팅한 다음 루트 파일 시스템

을 언마운트시킨 후 검사할 수 있습니다.

!

또는 루트 파일 시스템에 읽기 전용 속성을 주고 단일 사용자 모드로 부팅하여 검사

할 수도 있습니다.

!

이는 부트 로더인 GRUB의 설정 파일에 ro 옵션(read-only 옵션)과 single 옵션(단

일 사용자 모드 옵션)을 줌으로써 가능합니다.

리눅스 파일 시스템 관리 - 파일 시스템 점검 및 복구

파일 시스템 점검 및 복구(fsck)

Page 46: 휠세미나3 ver0.4

부트로더란?

부트로더란 시스템 부팅시 여러개의 운영체제중 하나의 운영체제를 선택하여 부팅

할수 있도록 도와주는 도구입니다. 대표적으로 GRUB가 있습니다.

!

(참고) 부팅과정

리눅스 파일 시스템 관리 - 파일 시스템 점검 및 복구

파일 시스템 점검 및 복구(fsck)

전원

부트로더 적재 & 실행

BIOS 실행 하드웨어 인식

커널 적재 커널 실행 & 압축해제

부팅

Page 47: 휠세미나3 ver0.4

직접 실습해봅시다

Page 48: 휠세미나3 ver0.4

andromeda@wseminar4:/$ sudo fdisk dev/xvda xvda1 xvda2 andromeda@wseminar4:/$ sudo fdisk dev/xvda2 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xb982dd3e. 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: 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):

여기서 m을 누르면 설명을 볼 수 있습니다.

살펴보니 이미 파티션이 나뉘어져 있네요.

p를 입력한다.

Page 49: 휠세미나3 ver0.4

Command (m for help): n Command action e extended p primary partition (1-4)

e와 p, 두 개의 선택지가 나옵니다.

보통은 primary를 3개까지 만들고 extended를 1개 만들어 무한으로 쪼개 사용.

일단 p를 선택합니다.

(추가)

primary와 extended(logical) 파티션의 차이

프라이머리 파티션은 총 4개까지 밖에 만들어지지 않습니다. 그 한계를 극복하기 위

해 만들어진 개념이 extended라 생각하시면 됩니다.

1. 부팅용으로는 프라이머리 파티션만이 사용 가능합니다.

2. 우리가 흔히 본 C:와 D:는 extended 개념입니다.

Page 50: 휠세미나3 ver0.4

p Partition number (1-4): 1

p를 선택하고 번호를 고르라합니다. 첫 번째 파티션이므로 1을 선택.

First cylinder (1-65, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-65, default 65): 5

실런더를 선택하라고 한다. 하드 디스크는 여러 실린더들이 모여있는 구조인데, 그 중

에서 어디서 어디까지를 파티션 잡을 것이냐 묻는 것이라 할 수 있습니다.

1-65까지 있는데, 1부터 5까지를 첫 파티션의 영역으로 설정하겠습니다.

Page 51: 휠세미나3 ver0.4

Command (m for help): p !Disk dev/xvda: 536 MB, 536870912 bytes 255 heads, 63 sectors/track, 65 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb982dd3e ! Device Boot Start End Blocks Id System dev/xvda2p1 1 5 40131 83 Linux !Command (m for help):

p를 입력하면 내가 파티션을 제대로 했는지 확인할 수 있습니다.

보면 dev/xvda2p1 이란 항목이 생겼네요.

자 이제 프라이머리 파티션을 하나 더 만들어봅시다. 연습!

Page 52: 휠세미나3 ver0.4

Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (6-65, default 6): 6 Last cylinder, +cylinders or +size{K,M,G} (6-65, default 65): 10 !Command (m for help): p !Disk dev/xvda2: 536 MB, 536870912 bytes 255 heads, 63 sectors/track, 65 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb982dd3e ! Device Boot Start End Blocks Id System dev/xvda2p1 1 5 40131 83 Linux dev/xvda2p2 6 10 40162+ 83 Linux !Command (m for help):

직접 입력한 부분을 빨갛게 강조해보았습니다.

dev/xvda2p2 항목이 새로 추가된 것을 확인할 수 있네요.

이번에는 extended 파티션을 만들어봅시다. 과정은 같습니다.

Page 53: 휠세미나3 ver0.4

Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 3 First cylinder (11-65, default 11): 11 Last cylinder, +cylinders or +size{K,M,G} (11-65, default 65): 25 !Command (m for help): p !Disk dev/xvda2: 536 MB, 536870912 bytes 255 heads, 63 sectors/track, 65 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb982dd3e ! Device Boot Start End Blocks Id System dev/xvda2p1 1 5 40131 83 Linux dev/xvda2p2 6 10 40162+ 83 Linux dev/xvda2p3 11 25 120487+ 5 Extended !Command (m for help):

dev/xvda2p3을 확인할 수 있습니다. 특이점은 Extended 파티션이라는 점.

이제 이 파티션은 계속 분할이 가능합니다.

Page 54: 휠세미나3 ver0.4

Command (m for help): w The partition table has been altered! !Calling ioctl() to re-read partition table.

w를 눌러서 저정하고 나오는 걸 잊지맙시다. 나오는 방법은 q.

# fdisk -l 을 이용하여 설정이 잘 되었는지 확인 가능합니다.

andromeda@wseminar4:~$ sudo fdisk -l [sudo] password for andromeda: !!(생략) !! Device Boot Start End Blocks Id System /dev/xvda2p1 1 5 40131 83 Linux /dev/xvda2p2 6 10 40162+ 83 Linux /dev/xvda2p3 11 25 120487+ 5 Extended /dev/xvda2p5 11 15 40131 83 Linux !

Page 55: 휠세미나3 ver0.4

Command (m for help): d Partition number (1-5): 4 !Command (m for help): w The partition table has been altered! !Calling ioctl() to re-read partition table. !Command (m for help): p !Disk ../../dev/xvda2: 536 MB, 536870912 bytes 255 heads, 63 sectors/track, 65 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb982dd3e ! Device Boot Start End Blocks Id System /dev/xvda2p1 1 5 40131 83 Linux /dev/xvda2p3 11 25 120487+ 5 Extended /dev/xvda2p5 11 15 40131 83 Linux !Command (m for help):

참고삼아 말하자면, 필요없는 파티션은 지울 수도 있습니다.

r을 입력한 후 해당 파티션 번호를 입력. (…이번에도 w, 잊지말자)

Page 56: 휠세미나3 ver0.4

파일시스템과 파티션을

연결시켜주어야 한다

Page 57: 휠세미나3 ver0.4

하지만 우리의 mkfs 명령어는

새로 만든 파티션을 인식하지 못한다.

왜?

Page 58: 휠세미나3 ver0.4

WARNING: Re-reading the partition table failed with error 22: Invalid argument. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.

여지껏 다음과 같은 에러 메시지가 있었습니다.

에러코드 22번은 파티션 안에 또 새로운 파티션을 만들려고 할 때 일어나는 에러입니다.

리눅스의 /dev 에선 다음과 같이 구분되어 이름이 주어집니다.

dev/sda = 저장장치 그 자체dev/sda1 = 저장장치의 파티션

그러나 본 실습에선

dev/xvda2

dev/xvda2p1

사실, ‘저장장치 그 자체’를 선택해야 합니다. fdisk /dev/xvda1을 사용한다면

리눅스는 나눈 파티션에 또 하나의 파티션을 만들려 하기 때문에 Error 22번을 표시합니다.

Page 59: 휠세미나3 ver0.4

즉, 저희는 지금 가상 드라이브!

따라서 위 분할한 파티션을 이용해 파일 시스템을 만들고 설치하는 것은 불가능합니다.

따라서 파일시스템을 만들고 마운트하는 과정은 예시를 통해 보여드리겠습니다.

Page 60: 휠세미나3 ver0.4

다음의 예시는 xvda가 sdb로 바뀐 것 말고는 여태까지와의 과정과 유사합니다.

sdb1, sdb2는 primary 파티션이며 sdb3는 extended 파티션으로서 5와 6이 그로부

터 파생한 logical 파티션입니다.

Page 61: 휠세미나3 ver0.4

mkfs 명령어를 활용하여 ext3 파일시스템을 /dev/sdb1에 입력하는 과정입니다.

Page 62: 휠세미나3 ver0.4

d

편집기로 /etc/fstab을 열어줍니다.

다음의 작업을 통해 부팅시 자동으로 파일시스템을 마운트하도록 설정할 수 있습니다.

defaults는 read/write를 하겠다는 뜻이며, 첫 번째 0은 부팅 시 파일시스템을 체크안하겠다

는 의미(1: 체크하겠다), 두 번째 0은 덤프작업을 하지 않겠다는 의미입니다. (1: 덤프 하겠다)

Page 63: 휠세미나3 ver0.4

성공적으로 마운트되어 있음을 확인할 수 있습니다.

현재 wseminar4를 살펴보면 dev/xvda2에 파일시스템 ext3이 마운트되어 있습니다.

Page 64: 휠세미나3 ver0.4

스왑 공간 관리

스왑 공간이란

Page 65: 휠세미나3 ver0.4

디스크의 공간을 사용하여 물리적 메모리의 부족을 해결하는 용도로 사용하는 공간

입니다.

!

디스크의 특성상 속도가 느리기 때문에, 시스템에 로드되어 있지만 현재는 사용되고

있지 않은 프로그램들을 적재하는 등의 용도에 쓰입니다

!

일반적으로 RAM 용량의 두배 정도의 크기로 할당합니다

스왑 공간이란

스왑 공간이란?

Page 66: 휠세미나3 ver0.4

“ 물리메모리가 많으면 스왑은 잘 안 씁니다.

대용량으로 메모리를 사용하는 어플리케이션이 없다면 굳이 물리메모리의배수로 잡을 필요는 없습니다만…

사실 스왑을 메모리의 두배로 잡는다는 것은 메모리의 양이 부족하도록 일을 시킬 때

스왑이 메모리의 두배정도 되면 비교적 효율적으로 쓴다는 말일 것입니다.

메모리 많다고 스왑 쪼끔 잡아놨는데 메모리가 넘어버리고 스왑도 거의 없어서 바로

프로그램 죽으면 정말 아쉽습니다. 이럴때 스왑이 메모리의 두배 정도 되면 좀 더 컴

퓨터를 효율적으로 사용할 수가 있습니다. “

(https://kldp.org/node/53914)

“물리 메모리 많은데 괜히 스왑 잡아놓으면, 컴퓨터가 괜히 만들어 놓은 스왑 쓴다고

놀부심보 부려서 더 느려집니다”

스왑 공간이란

스왑 공간… 필요한가?

Page 67: 휠세미나3 ver0.4

스왑 공간을 할당하는 방법에는 두 가지가 있습니다.

첫 번째는 파일 시스템들중 하나에 스왑 파일을 만드는 것이고, 두 번째는 스왑 전용

파티션을 만드는 것입니다.

보통 스왑 전용 파티션을 만드는 방법이 쓰이는데 그 이유는 스왑 파티션을 사용하면

디스크상의 블록이 연속적이기 때문에 좀 더 좋은 성능을 기대할 수 있기 때문입니다.

스왑 파일은 주로 임시로 스왑 영역을 추가해야 할 때 사용합니다.

단일 파티션과 단일 파일 모두 최대 2GB의 크기를 가질 수 있고, 이를 최대 8개까지

만드는 것이 가능합니다.

스왑 공간이란

스왑 공간 할당 방법

Page 68: 휠세미나3 ver0.4

스왑 공간 관리

스왑 공간 관리

목차

1. 메모리 사용 상황 보기(free)

2. 파티션(fdisk) 또는 스왑파일 만들기(dd)

3. 스왑 영역 만들기(mkswap)

4. 스왑 영역 활성화/비활성화(swapon/swapoff)

5.실습해보자!!!

Page 69: 휠세미나3 ver0.4

$ free

물리적인 실제 메모리나 스왑 영역을 포함하여 시스템상의 메모리 사용 현황

각 열은 차례대로 [총 메모리 양] [사용된 메모리 양] [빈 메모리 양] [공유되는 메모

리 양] [버퍼 캐시의 크기] [커널이 캐시한 메모리 페이지 양]

여기에 표시되는 모든 수치는 KB(메모리 상에서의 1024 블록) 단위이며, -m 옵션

을 주면 MB 단위로 볼 수 있습니다

물리적인 메모리는 커널이 사용하는 양을 제외한 양이 나옵니다

-/+ buffers/cache는 어플리케이션의 관점에서 본 메모리 사용 현황인데, 필요에

따라 메모리를 요청할 수 있는 것이기 때문에 총 메모리 양은 표시되지 않습니다

스왑 공간 관리

메모리 사용 상황 보기(free)

Page 70: 휠세미나3 ver0.4

스왑 영역을 지정하기 위해서는 스왑 파티션이나 파일이 먼저 만들어져 있어야 합니다.

스왑 파티션 : fdisk 명령어 사용

스왑 파일 : 원하는 용량만큼의 파일을 만들면 되는데, 쉬운 방법으로는 dd 명령어를

이용할 수 있다.

스왑 공간 관리

파티션(fdisk) 또는 스왑파일 만들기(dd)

Page 71: 휠세미나3 ver0.4

스왑 파일 안에 홀(hole)이 없어야 한다는 점은 중요합니다.

따라서 홀이 없는 스왑 파일을 생성하기 위한 좋은 방법은 다음과 같습니다.

!$ dd if=/dev/zero of=/extra-swap bs=1024 count=1024 !이 명령어는 /dev/zero에서 1024KB를 가지고와 /swap 파일에 써넣습니다.

/dev/zero는 항상 빈 널(null) 바이트를 돌려주는 장치

/swap이란 것은 스왑 파일의 이름

bs 는 입출력 단위의 크기를 지정한 것(1024 byte, 즉 1KB)

count 는 입출력 단위의 몇배 크기의 파일을 만들 것인지를 지정(즉, 1024 KB 크기

파일)

이를 하고 나서는 시스템 다운을 대비해 sync를 해주면 좋습니다

스왑 공간 관리

스왑파일에 대하여

Page 72: 휠세미나3 ver0.4

아직 이 스왑 공간을 사용하게 된 것은 아니며,

다만 커널이 이것을 가상 메모리로 사용할 수 있도록 준비만 마친 것입니다.

스왑 공간 관리

Page 73: 휠세미나3 ver0.4

$ chmod 0600 [스왑 파일명]

스왑에 쓰일 수 있게 하기 위해 접근 권한 변경

!

# mkswap –c [파티션 장치 또는 스왑 파일명] [스왑 영역 크기]

여기서 스왑 영역 크기는 1KB를 한 블록으로 하는, 블록 단위의 크기

-c 옵션은 배드 블록이 있는지 검사를 하는 옵션

이를 한 뒤에는 역시 sync를 하여 포매팅이 확실히 되도록 하는 것이 좋습니다.

스왑 공간 관리

스왑공간 만들기(mkswap)

Page 74: 휠세미나3 ver0.4

새롭게 만든 스왑 영역을 사용하기 위해서는 스왑 영역을 활성화시켜야 합니다

# swapon [파티션 장치 또는 스왑 파일명]

이 작업을 거쳐야만 비로소 해당 파일(또는 파티션)은 사용 z가능한 스왑 영역이 되

며, 따라서 free 명령어로도 사용 내역을 볼 수 있게 됩니다.

# swapon -a

/etc/fstab에서 옵션에 sw(스왑 옵션)이 지정된 모든 장치를 활성화시킵니다.

부팅시 이 작업이 진행

# swapon -s

스왑파티션의 상태를 보여줍니다

스왑 공간 관리

스왑 영역 활성화/비활성화(swapon/swapoff)

Page 75: 휠세미나3 ver0.4

# swapoff [파티션 장치 또는 스왑 파일명]

해당 스왑 영역을 사용하지 않도록 비활성화시킵니다.

반드시 비활성화되기 전에 파일을 지워서는 안됩니다.

또한 /etc/fstab에서 해당 항목을 지우지 않으면 부팅시 에러가 발생합니다.

스왑 공간 관리

스왑 영역 활성화/비활성화(swapon/swapoff)

Page 76: 휠세미나3 ver0.4

직접 실습해봅시다

Page 77: 휠세미나3 ver0.4

andromeda@wseminar4:/$ sudo dd if=/dev/zero of=/swap bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.00806948 s, 130 MB/s

dd 명령어를 활용하여 스왑(용도) 파일을 만들어봅시다.

andromeda@wseminar4:/$ sudo chmod 0600 /swap

권한 설정을 스왑용도로 바꿉니다.

andromeda@wseminar4:/$ sudo mkswap /swap 1024 mkswap: /swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1020 KiB no label, UUID=320d097a-6e22-406a-9541-918adafbb993

mkswap을 이용하여 스왑영역을 만들어줍니다.

Page 78: 휠세미나3 ver0.4

andromeda@wseminar4:/$ sudo swapon /swap andromeda@wseminar4:/$ sudo swapon -s Filename Type Size Used Priority /dev/xvda1 partition 524280 0 -1 /swap file 1016 0 -2

swapon 명령어를 이용하여 스왑파일을 구동시킨 것을 확인할 수 있습니다.

swapoff 명령어를 이용하여 스왑파일을 구동 정지 시킨 것을 확인할 수 있습니다.

andromeda@wseminar4:/$ sudo swapoff /swap andromeda@wseminar4:/$ sudo swapon -s Filename Type Size Used Priority /dev/xvda1 partition 524280 0 -1

Page 79: 휠세미나3 ver0.4

파일시스템

http://guswnsla1223.tistory.com/46

http://dsk114.com.ne.kr/hdd/f_system.html

http://cappleblog.co.kr/135

파티션

http://www.pcguide.com/ref/hdd/file/structPartitions-c.html

http://www.pcguide.com/ref/hdd/file/structPartitions-c.html

GNU-parted

http://www.pcguide.com/ref/hdd/file/structPartitions-c.html

참조

참조

Page 80: 휠세미나3 ver0.4

ext4 exFAT

http://se.uzoogom.com/204

http://ko.wikipedia.org/wiki/Ext4

http://cappleblog.co.kr/135

fdisk, mkfs

http://blog.daum.net/foxy/11

http://www.morenice.kr/44

참조

참조

Page 81: 휠세미나3 ver0.4

Managing Filesystems, Swap Space, and Devices (2010)

by noname

파일시스템, 스왑 영역, 장치 파일 관리(2012)

by yumgyun

파일시스템, 스왑 영역, 장치 파일 관리(2011)

by gangok

참조

참조

Page 82: 휠세미나3 ver0.4

감사합니다 :)