제 9 편. 리눅스파일시스템 파일시스템이란컴퓨터상에파일들과디렉토리들을저장하고검색하기위하여논리적으로그것들을어디에 위치시키는지등을나타내는방법입니다. [ 1 ] 파일시스템 리눅스파일시스템은컴퓨터내의파일과그안에존재하는자료들을저장하고쉽게찾을수있도록유지관 리하는방법을말합니다. 파

Similar documents
시스템 사용자 계정 관리

휠세미나3 ver0.4

NFS 설정 가이드

FlexCloud Linux Server 원격접속및볼륨확장매뉴얼 Date: Hostway IDC Corporation Copyright 2011 Hostway IDC Inc. All rights reserved. TEL: URL:

Microsoft Word - LVM으로리눅스설치및운용.doc

Linux Server 리눅스왕초보실무를익혀라! 리눅스서버 20 fedora 김영훈ㆍ정거룡지음

Microsoft Word _LT_리눅스 마운트강좌 mount 1편.doc

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

2주차

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

Pacemaker/Corosync 클러스터에서 GFS2구성

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Easy Disk 사용자 매뉴얼 v1.2

사용예 mount t msdos /dev/hda2 /mnt/msdos mount t vfat /dev/hda3 /mnt/win98 mount t ntfs /dev/hda4 /mnt/win2000 mount t ext2 /dev/hda5 /mnt/inux umount 명

벤처연구사업(전동휠체어) 평가

문서버전및이력 버전 일자 이력사항 최초배포 상품명변경 목차 1. 서비스소개...3 서비스개요 서비스신청및포트포워딩...3 서비스신청...3 포트포워딩설정 서버설정...7 서버접속...7 사용

무시하고진행합니다. $ sudo rootstock -d precise --seed ubuntu-standard -x en_us.utf-8 -f ubuntu -l ubuntu -p ubuntu -i 2G I: Running on a x86_64 machine I: Cre

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

MySQL-Ch10

Chap 5 루트파일시스템 (Root F/S)

<B8AEB4AABDBA2E687770>

ucloud server 서비스가이드 1 / 61

PowerPoint 프레젠테이션

01Àå

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

K7VT2_QIG_v3

ISP and CodeVisionAVR C Compiler.hwp

Mango220 Android How to compile and Transfer image to Target

Solaris Express Developer Edition

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

PowerPoint 프레젠테이션

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

슬라이드 1

System Recovery 사용자 매뉴얼

PowerPoint 프레젠테이션

업데이트일 : Server 주요이용기능가이드 목차스냅샷 / 이미지이용방법공개이미지이용방법네트워크이용방법 스냅샷 / 이미지기능사용 서비스정보 스냅샷및스냅샷으로생성된이미지를사용하여 VM(Virtual Machine) 을복원 ( 새로생성 ) 하는것과추가로

문서 대제목

Windows Server 2012

Adobe Flash 취약점 분석 (CVE )

LXR 설치 및 사용법.doc

PowerPoint 프레젠테이션

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Simplify your Job Automatic Storage Management DB TSC

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

PowerPoint 프레젠테이션

FreeBSD Handbook

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

2008

R50_51_kor_ch1

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

제 1402 회리눅스마스터 1 급 1 차 B 형정답

DE1-SoC Board

Tizen

Chapter 1

INSIDabcdef_:MS_0001MS_0001 시험종목 제 회리눅스마스터 급 차 시험일자 토 분 수검자기재사항및감독자확인 수검번호 감독자확인 성 명 생년월일 수검자유의사항 수험자는반드시신분증을지참하여야시험에응시할수있습니다 답안지는반드시검정필기구를사용하되 연필이나샤프

SOLARIS VOLUME MANAGER

Sun Java System Messaging Server 63 64

Microsoft PowerPoint - 03-Development-Environment-2.ppt

SRC PLUS 제어기 MANUAL

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

View Licenses and Services (customer)

Microsoft Word - release note-VRRP_Korean.doc

Microsoft PowerPoint - Linux_10gRAC_3Node

untitled

Microsoft PowerPoint - o8.pptx

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

Microsoft PowerPoint - comp_prac_081223_2.pptx

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Packstack 을이용한 Openstack 설치

CD-RW_Advanced.PDF

APOGEE Insight_KR_Base_3P11

워드표준 가이드

Secure Programming Lecture1 : Introduction

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc


Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

PowerPoint 프레젠테이션

ActFax 4.31 Local Privilege Escalation Exploit

Clover 부트로더를 이용한 해킨토시 설치방법

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

DBMS & SQL Server Installation Database Laboratory

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

알아 둘 사항 아이오드 제조사는 본 기기에 하드디스크를 포함하여 출고하지 않습니다. 따라서 하드디스크에 문제가 발생할 경우, 구매처 또는 해당 하드디스크 서비 스센터에 문의 하시기 바랍니다. 정해진 용도 외의 사용으로 발생한 문제에 대해서, 당사는 어떠한 책임도 지지

PRO1_04E [읽기 전용]

05Àå

Transcription:

제 9 편. 리눅스파일시스템 파일시스템이란컴퓨터상에파일들과디렉토리들을저장하고검색하기위하여논리적으로그것들을어디에 위치시키는지등을나타내는방법입니다. [ 1 ] 파일시스템 리눅스파일시스템은컴퓨터내의파일과그안에존재하는자료들을저장하고쉽게찾을수있도록유지관 리하는방법을말합니다. 파일시스템은하드디스크나 CD-ROM 과같은물리적저장공간을저장장치로활 용할수있습니다. 또한 NFS 와같은네트워크를기반으로하는파일시스템도있습니다. 1. 파일시스템의구조 각각의파일시스템은파일시스템만의독특한파일시스템의특징을가지고있지만, 리눅스에서사용하는파 일시스템은대부분이비슷한구조를가지고있습니다. 1) 슈퍼블록 (Super Block) 슈퍼블록 (Super Block) 은파일시스템의크기와같은전체적인정보를가지고있습니다. 슈퍼블록은다음과같은필드들로구성됩니다. - 파일시스템의크기 - 파일시스템내의빈블록수 - 파일시스템에서사용가능한빈블록의리스트 - 빈블록리스트중에서의다음빈블록의지표 (index) - I-node 리스트의크기 - 파일시스템내의사용가능한빈 I-node 수 - 파일시스템중의빈 I-node 리스트 - 빈 I-node 리스트중에서의다음빈 I-node의지표 - 빈블록과빈 I-node의리스트를위한락 (lock) 필드 - 슈퍼블록이변경되었음을나타내는플래그 (flag) 2) 아이노드 (Inode) 아이노드 (Inode) 는파일의이름을제외한파일의모든정보를소유하고있으며, 각파일의이름은아이노드번 호와함께디렉토리에저장됩니다. 이아이노드 (Inode) 는각파일에부여되는고유번호이며, 파일의형태, 크 기, 위치등에관한정보를포함하고있습니다. 아이노드 = 다수의데이터블록포함

3) 데이터블록 (Data Block) 데이터블록 (Data Block) 은파일에서데이터를저장하기위해사용되는데아이노드 (Inode) 에포함되어있습니 다. 아이노드는이러한데이터블록 (Data Block) 을여러개포함하고있으며, 데이터블록 (Data Block) 은파일 에서데이터를저장하기위해사용됩니다. 4) 디렉토리블록 (Directory Block) 파일의이름과아이노드 (Inode) 번호를저장하기위해사용되는블록을말합니다. 5) 간접블록 (Indirectioln Block) 간접블록 (Indirection Block) 은추가적인데이터블록 (Data Block) 을위한포인터들이사용할동적할당공간입니다. 실제적으로아이노드 (Inode) 는적은수의데이터블록 (Data Block) 을가지고있으므로더많은데이터블록 (Data Block) 이필요한경우에는이를지정할포인터가필요하게됩니다. 이때데이터블록 (Data Block) 을위한포인터들이사용할동적인블록이간접블록 (Indirectioln Block) 입니다. 6) 홀 (Hole) 홀 (Hole) 은아이노드 (Inode) 나간접블록 (Indirection Block) 안의데이터블록 (Data Block) 의주소로특별한값 을저장하고파일안에위치하지만실질적으로는디스크상에공간은할당되지는않습니다. 2. 파티션생성 리눅스시스템을설치하고, 시스템을운영하던중하드디스크의용량이부족하여새로운하드디스크를추가할 경우에는하드디스크에파티션을생성하고파일시스템을만들어주어야합니다. 1) fdisk 사용 fdisk 명령어는파티션테이블을생성하거나, 수정, 삭제를하는파티션테이블관리명령어입니다. fdisk 명령어의형식은다음과같습니다.

명령어위치 : /sbin/fdisk RPM 패키지 : util-linux-ng # fdisk [option] [device_name] < option > -l : 파티션테이블확인 다음은현재시스템의파티션테이블을확인하는예입니다. [root@fedora9 ~]# fdisk -l /dev/sda Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00082fb3 Device Boot Start End Blocks Id System /dev/sda1 * 1 25 200781 83 Linux /dev/sda2 26 1305 10281600 8e Linux LVM [root@fedora9 ~]# fdisk -l /dev/sdb Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table [root@fedora9 ~]# 장치명 /dev/sdb 의새로운장치가있는것이확인이되지만, 파티션테이블은존재하지않습니다. 다음은 fdisk 명령어를이용하여새로운장치에파티션테이블을생성해보도록합니다.

[root@fedora9 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x9284adb4. 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) Command (m for help): fdisk 에서파티션설정작업에사용하는명령어를요약하면다음과같습니다. a : 부팅파티션을설정 d : 파티션삭제 l : 설정가능한파티션타입출력 m : 파티션설정도움말출력 n : 새로운파티션생성 p : 현재설정되어있는파티션정보출력 t : 파티션타입변경 q : fdisk 메뉴빠져나옴 w : 작업내용저장 현재설정되어있는파티션정보를출력합니다. Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x9284adb4 Device Boot Start End Blocks Id System Command (m for help): 새롭게추가한하드디스크이기때문에, /dev/sdb 장치의용량만이있을뿐파티션테이블없습니다. 새로운파티션을만들어봅니다.

Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-391, default 1): Using default value 1 Last cylinder or +size or +sizem or +sizek (1-391, default 391): +1G Command (m for help): 파티션은기본파티션과확장파티션, 확장파티션내에논리파티션으로구분합니다. 논리파티션의경우에는확장파티션내에존재하기때문에지금보는메뉴에서는논리파티션생성에대해서는볼수없습니다. 즉, 확장파티션을만든후에메뉴에출력이됩니다. 기본파티션 'primary partition' 은 1번부터 4번까지번호를줄수있습니다. 'p' 는기본파티션을 e' 는확장파티션을만들때사용하는명령어입니다. 'p' 를입력하여기본파티션을생성하도록합니다. 새로운기본파티션의번호를입력하고 <Enter> 키를치게되면, 실린더값을입력하라고나오는데, 이부분은 <Enter> 를입력하여넘어가도록합니다. 실린더를계산하여파티션을만드는것은쉬운일이아니며, 파티션의 size 를지정해주는것만으로도 fdisk 는자동으로그값을계산해줍니다. 마지막으로파티션의용량을지정해주어야하는데, 용량을지정할때는반드시앞에플러스 (+) 를붙여주고용량과단위를지정해주면됩니다. 사용할수있는모든용량을설정하고자할경우에는특별히용량을지정하지않고 <Enter> 를입력하여넘어가면됩니다. 이번에는확장파티션을만들고논리파티션을만들어보도록합니다. 확장파티션은기본파티션의하나로한개만생성할수있습니다. Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (124-391, default 124): Using default value 124 Last cylinder or +size or +sizem or +sizek (124-391, default 391): Using default value 391 Command (m for help):

확장파티션을만들었으면, 논리파티션을만들어볼차례입니다. Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (124-391, default 124): Using default value 124 Last cylinder or +size or +sizem or +sizek (124-391, default 391): +1G Command (m for help): 지금까지만들어진파티션을확인해보도록합니다. Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x9284adb4 Device Boot Start End Blocks Id System /dev/sdb1 1 123 987966 83 Linux /dev/sdb2 124 391 2152710 5 Extended /dev/sdb5 124 246 987966 83 Linux Command (m for help): 위의설정된내용을보면다음과같습니다. - Device Boot : 장치명 - Start : 실린더의시작 - End : 실린더의마지막 - Blocks : 파티션의블록사이즈 - Id : 파티션타입의코드번호 파티션삭제는다음과같습니다.

Command (m for help): d Partition number (1-5): 5 Command (m for help): 스왑 (swap) 파티션을생성하거나 LVM((Logical Volume Manager), Soft RAID(Redundant Array of Independent Disks) 를구성할경우에는파일시스템타입을변경해야합니다. Command (m for help): l 그림 1 fdisk 생성된파티션 sdb1을스왑 (swap) 타입으로변경합니다. Command (m for help): t Partition number (1-5): 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap / Solaris) Command (m for help):

Linux LVM 과 Soft RAID 를구성할경우에도동일방법으로타입을변경하면됩니다. 참고로 online 상에서파일시스템을생성한경우에는 partprobe 명령어로커널에파티션테이블에대해전달 해주어야합니다. partprobe 명령어의형식은다음과같습니다. 명령어위치 : /sbin/partprobe RPM 패키지 : parted # partprobe [device_name] 사용예는다음과같습니다. [root@fedora9 ~]# partprobe /dev/sdb 2) parted 사용 파티션의생성, 삭제, 복사, 변경등을할수있는유틸리티로대용량의파티션을구성할수있는 GPT 테이블 형식을지원합니다. < 참고 GPT (GUID Partition Table) 란흔히사용되는 MBR (Master Boot Record) 시스템은확장파티션이아닌기본파티션에대해최대 4개의파티션을가질수있으며 2TB 이상되는디스크장치에서는사용이불가능하여 2TB가넘는볼륨을구성하기위해서는 GPT를이용합니다. > GPT 는최대 18EB ( 엑사바이트 1EB = 1024 TB) 크기의볼륨을지원하며디스크당 128 개의파티션으로구분 지을수있는장점이있어대용량백업시스템을구축할때용이합니다. parted 명령어의형식은다음과같습니다.

명령어위치 : /sbin/parted RPM 패키지 : parted # parted [device_name] parted 내에는다음과같은명령이있습니다. - check 파티션번호 : 단순파티션을점검 - cp [ 소스장치 ] 소스파티션대상파티션 : 소스장치의소스파티션의데이터를대상파티션에복사 - help [ 명령어 ] : 명령어들의도움말 - mkfs 파티션번호파티션타임 : 파티션에파일시스템생성 (ext2, ext3, linux-swap) - mklabel 레벨타입 : 디스크라벨설정 bsd, loop, mac, mips, pc98, sun, msdos( 일반적 ), gpt(2tb 이상 ) - mkpart : 파티션타입 (primary, logical, extended), 파일시스템타입 (ext2, ext3, linux-swap), 시작 ( 시작 MB), 끝 :( 끝MB) - move 파티션번호시작끝 : 파티션의시작과끝을이동시킴. 파티션번호는변경없슴 - rm : 파티션삭제 - quit : parted 종료 parted 를이용하여 /dev/sdb 디스크의파티션테이블을생성합니다. parted 명령어를실행합니다. [root@fedora9 ~]# parted /dev/sdb GNU Parted 1.8.8 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) (parted) 명령프롬르트에서 mklabel gpt 명령어를이용하여 Label 타입을 MSDOS에서 GUID Partition Table 로변경합니다. (parted) mklabel gpt (parted) 장치에대한정보를확인하기위하여 print 명령어를실행합니다. Partition Table 에 gpt 로지정된것을확인합니다.

(parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 3221MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted) 파티션생성은 mkpart 명령어를사용합니다. Partition name : primary, logical File system type : ext2, ext3, linux-swap Start : 시작MB End : 끝MB (parted) mkpart Partition name? []? primary File system type? [ext2]? ext3 Start? 0MB End? 100MB (parted) 원하는형태의파티션이생성되었는지확인합니다. (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 3221MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 100MB 100MB primarty (parted) 파티션을삭제해봅니다.

(parted) rm Partition number? 1 (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 3221MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted) fdisk, parted 이외에페도라 9 에서는 cfdisk 와 gparted 를지원합니다. cfdisk 는 fdisk 보다그래픽요소가강한인터페이스를제공합니다. fdisk 및 parted 를사용할수있다면어렵 지않게 cfdisk 를이용하여파티션테이블생성이가능합니다. cfdisk 명령어의형식은다음과같습니다. 명령어위치 : /sbin/cfdisk RPM 패키지 : util-linux-ng # cfdisk [device_name] [root@fedora9 ~]# cfdisk /dev/sdb

그림 2 cfdisk gparted 는 GNOME 데스크탑용으로 GTK+GUI 라이브러리를사용합니다. gparted 는시만텍의 ParttionMagic 과비슷하게사용할수있습니다. gparted 명령어의형식은다음과같습니다. 명령어위치 : /usr/sbin/gparted RPM 패키지 : gparted # gparted X- 윈도우에서다음명령을실행합니다. [root@fedora9 ~]# gparted /dev/sdb

그림 3 gparted 3. 파일시스템생성 fdisk 나 parted 명령어를이용하여새로운하드디스크의파티션테이블을만들어주었다면, 파일시스템을생 성해주어야합니다. 다음은 mkfs 명령어의형식입니다. 명령어위치 : /sbin/mkfs RPM 패키지 : util-linux # mkfs [option] [device_name] # mkfs.ext2 [option] [device_name] # mkfs.ext3 [option] [device_name] < option >

option 의미 -t [filesystem type] 파일시스템타입 (ext2, ext3) 을지정 -c 파일시스템을생성하기전배드블록검사 -v 작업상태, 결과자세히보여줌 mkfs 명령어를이용하여혹은 mkfs.ext3 명령어를이용하여 ext3 파일시스템을만들기위해서는다음과같이 mkfs 명령어다음에 '-t 파일시스템유형 을적용하고뒤에장치명만을지정해주면됩니다. mkfs.ext3 명령어를이용할경우에는파일시스템유형을지정해주지않고자동으로 ext3 유형으로만들어줍니다. [root@fedora9 ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.40.8 (13-Mar-2008) Warning: 256-byte inodes not usable on older systems Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 196608 inodes, 785169 blocks 39258 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=805306368 24 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@fedora9 ~]#

[ 2 ] 파일시스템마운트 1. 마운트의개념 흔히하드디스크를관리하는방법은두가지정도가있습니다. 첫째는우리가흔히많이사용하고있는윈도우 즈시스템의드라이브볼륨문자를지정해서디스크를지정하는방법이있습니다. 두번째는유닉스나리눅스 처럼파일시스템을마운트해서사용하는방법입니다. 리눅스는파일단위로관리를하게됩니다. 따라서새롭게만든파일시스템을사용하기위하여생성된디스크장치를트리구조의임의의디렉토리즉, 마운트포인트에연결시켜야합니다. 이러한작업을마운트라하며마운트를해제하는것을언마운트라합니다. 간단하게말해파일단위로관리하는리눅스는하드웨어장치를사용하기위한작업이라할수있습니다. 여기서마운트포인트 (mount point) 는파일시스템을디렉토리로연결해야하는데, 이때연결되는디렉토리를마운트포인트 (mount point) 라고합니다. 마운트포인트지점은루트 (/) 파일시스템에존재합니다. 사용중이던디렉토리를마운트포인트로이용할경우에는이디렉토리에존재하던파일과디렉토리는사용할수없게됩니다. 따라서마운트포인트는비어있는디렉토리를사용해야합니다. 마운트포인트 (Mount Point) 파일시스템 / /dev/sda2 /boot /usr /data /dev/sda1 /dev/sda5 /dev/sdb1 여기서생각해봐야할것은최상위디렉토리루트 (/) 를제외하고는모든마운트포인트는루트 (/) 하위에존재하게됩니다. 즉, 마운트포인트가위치하는곳은루트 (/) 의파일시스템에존재하기때문에 /usr 에데이터를저장하게되면, /dev/sda2 파일시스템에저장되는것이기본이됩니다. 하지만, 이를마운트포인트로 /dev/sda5 파일시스템을마운트하는데사용하게되면, 데이터의저장은 /dev/sda5 파일시스템에저장되게됩니다. 2. 마운트정보보기 현재시스템에마운트되어있는모든파일시스템들의정보를확인하기위해서는 mount 명령어를사용합니다. 물론, mount 명령어는파일시스템을마운트할때사용하는명령어이긴하지만, 아무런옵션없이사용할경우에는현시스템의마운트정보를볼수있습니다. 이러한정보는마운트테이블파일인 /etc/mtab에의해관리됩니다. /etc/mtab 파일에는현재마운트되어있는파일시스템의일람이기록되어있습니다.

다음은 mount 명령어의실행예입니다. [root@fedora9 ~]# mount /dev/mapper/volgroup00-logvol00 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/sda1 on /boot type ext3 (rw) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) fusectl on /sys/fs/fuse/connections type fusectl (rw) gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev) [root@fedora9 ~]# mount 명령어를사용하여마운트정보를확인해보면, 장치명, 마운트포인트, 파일시스템등을확인할수있 습니다. 마운트정보로출력되는각필드의의미는다음과같습니다. 장치명마운트포인트파일시스템마운트옵션 /dev/sda1 /boot ext3 rw /dev/mapper/volgroup00-logvol00 / ext3 rw 3. 파일시스템마운트관리 리눅스가부팅되면서파일시스템을어디에자동으로마운트하고, 외부장치들에대한마운트를어떻게설정 할것인지, 또한사용권한및복구등의옵션을어떻게이용할지를지정하는파일이 /etc/fstab 입니다. /etc/fstab 파일은파일시스템을구성하는장치나리무버블디스크등의마운트포인트정보가기록되어있 는파일입니다. 시스템부팅시에는 /etc/fstab 에기록되어있는순서대로파티션이마운트되어한개의디렉토 리트리가만들어집니다. 이러한 fstab 파일을살펴보면다음과같습니다.

[root@fedora9 ~]# cat /etc/fstab /dev/volgroup00/logvol00 / ext3 defaults 1 1 UUID=d99fc369-0df6-415f-af8d-09cfec90adfa /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/volgroup00/logvol01 swap swap defaults 0 0 [root@fedora9 ~]# 각필드의의미는다음과같습니다. - 첫번째필드 첫번째필드는장치명입니다. NFS 의경우에는호스트명을지정하며, 장치명을 Label 로변경한경우에는 LABEL 로지정할수있습니다. - 두번째필드 두번째필드는장치를마운트할마운트포인트를지정합니다. swap 의경우에는 swap 으로지정됩니다. - 세번째필드 세번째필드에는각장치의파일시스템의유형을지정합니다. - 네번째필드 네번째필드에는각파일시스템을마운트할때사용하는옵션을지정합니다. - 다섯번째필드 다섯번째필드는 dump 명령어가그파일시스템을덤프할필요가있는지를지정합니다. 0 이면덤프할 필요가없다고판단되기때문에, 하드디스크상의파티션에는 1, 이외는 0 을지정하면됩니다. - 여섯번째필드여섯번째필드에는 fsck 명령어로무결성의체크여부를지정합니다. 0 은체크하지않고, 1 이상의정수를써주게되면숫자가작은순서로체크하게됩니다. 루트 (/) 파티션은가장먼저체크할수있도록 1 을지정하고나머지는 2 를지정하게되면, fsck 의병렬처리에의해적절히처리됩니다. 4. 시스템마운트 각장치에대해마운트를하기위해서는 mount 명령어를사용합니다. mount 명령어의형식은다음과같습니다.

명령어위치 : /bin/mount RPM 패키지 : util-linux # mount -t [ 파일시스템유형 ] -o [option] [device_name] [mount_point] # mount [device_name] [mount_point] < option > option 의미 async 마운트된파일시스템에비동기입출력 (asynchronous I/O) 을사용 auto /etc/fstab 에지정된파일시스템에대해부팅시에자동으로마운트, 반대는 noauto defaults rw, suid, dev, exec, auto, nouser, async 를종합적으로사용 dev 해당파일시스템을문자디바이스나블록디바이스를이용해해석 exec 파일시스템에포함된프로그램을실행할수있도록함 noauto 자동마운트가되지않도록함 noexec 해당파일시스템의프로그램이실행되지않도록함, 특정보안목적을위해사용 nosuid 실행파일에존재하는 suid, sgid 비트의기능을제한 nouser 루트 (root) 이외의사용자가파일시스템을마운트하거나언마운트하는것을제한 ro 읽기전용으로마운트 rw 읽기와쓰기가능하도록마운트 suid 실행파일에존재하는 suid, sgid 비트의기능을사용 sync 마운트된파일시스템에동기식입출력 (synchronous I/O) 를사용 user 일반사용자의파일시스템마운트허용 users 모든일반사용자가파일시스템을마운트혹은언마운트가능하도록허용 noatime access time 은기록하지않음. 즉, 자주파일에엑세스를하는경우에유용한옵션 마운트포인트를생성합니다. [root@fedora9 ~]# mkdir /data 파일시스템은 ext3 입니다. 따라서 -t 옵션과함께유형에는 ext3 를설정합니다. 마운트옵션은읽기와쓰기가 가능하도록엑세스타임에대한기록은남기지않도록장치명 /dev/sdb1 에대해서만들어준마운트포인트 /data 로마운트를하도록합니다. 마운트할때사용하는명령어는 mount 입니다.

[root@fedora9 ~]# mount -t ext3 -o rw,noatime /dev/sdb1 /data 마운트가이미되어있지만, 다른옵션으로재마운트도가능합니다. [root@fedora9 ~]# mount -o ro,remount,usrquota /data mount 명령어를사용하여현재시스템에마운트되어있는정보를확인합니다. [root@fedora9 ~]# mount 이미지파일의마운트는다음과같습니다. [root@fedora9 ~]# mount -o loop 이미지파일마운트포인트 5. 마운트해제 파일시스템을마운트하였으면, 마운트를해제하는방법도알고있어야합니다. 마운트를해제하는것은 umount 명령어를사용하는데그형식은다음과같습니다. 명령어위치 : /bin/mount RPM 패키지 : util-linux # umount [mount_point] 파일시스템의언마운트는매우간단합니다. umount 명령어뒤에마운트포인트만을지정해주면됩니다.

[root@fedora9 ~]# umount /data 6. 오토마운트 (autofs) 오토마운트는어떠한파일시스템의마운트와언마운트을 autofs 데몬에의해자동으로이루어지는프로세스를의미합니다. 만일그파일시스템이언마운트되어있고사용자가그파일시스템에접근하려고할경우에는그파일시스템은지정해둔위치에자동으로마운트가될것입니다. 마운트된파일시스템을일정시간동안사용하지않으면, 반대로자동으로언마운트가됩니다. 일반적으로리눅스설치시에 autofs 패키지를설치가됩니다만, 혹설치가되지않은경우에는 autofs 패키지를설치합니다. [root@fedora9 ~]# yum install autofs Loaded plugins: refresh-packagekit Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package autofs.i386 1:5.0.3-15 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: autofs i386 1:5.0.3-15 updates 927 k Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 927 k Is this ok [y/n]:

autofs는 /etc/auto.master 와 /etc/auto.misc에서설정합니다. [root@fedora9 ~]# cat /etc/auto.master # # Sample auto.master file # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # For details of the format look at autofs(5). # /misc /etc/auto.misc # # NOTE: mounts done from a hosts map will be mounted with the # "nosuid" and "nodev" options unless the "suid" and "dev" # options are explicitly given. # /net -hosts # # Include central master map if it can be found using # nsswitch sources. # # Note that if there are entries for /net or /misc (as # above) in the included master map any keys that are the # same will not be seen as the first read key seen takes # precedence. # +auto.master [root@fedora9 ~]# /misc /etc/auto.misc 첫번째 /misc 는마운트포인트의기준입니다. 두번째필드 /etc/auto.misc 는마운트포인트에대한설. 이 때기존에존재하는 /etc/auto.misc 파일을이용해도되고, 새로운파일을만들어사용해도됩니다. /etc/auto.misc 파일은다음과같습니다.

# # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # Details may be found in the autofs(5) manpage cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom # the following entries are samples to pique your imagination #linux -ro,soft,intr ftp.example.org:/pub/linux #boot -fstype=ext2 :/dev/hda1 #floppy -fstype=auto :/dev/fd0 #floppy -fstype=ext2 :/dev/fd0 #e2floppy -fstype=ext2 :/dev/fd0 #jaz -fstype=ext2 :/dev/sdc1 #removable -fstype=ext2 :/dev/hdd /etc/auto.misc 파일은 맵 (map) 파일입니다. 위에서도언급했지만, 맵파일은어떠한이름으로도설정이가 능합니다. 첫번째필드는마운트의위치를의미합니다. 새롭게생성했던파일시스템을 autofs 로설정해봅니다. data -fstype=ext3,rw,noatime :/dev/sdb1 앞서 /etc/auto.master 에서마운트포인트가될기준을설정하였습니다. autofs 로설정한 data 는마운트포인트가 /misc/data 가됩니다. 두번째필드는마운트옵션을정의하며, 마지막세번째필드가장치명을의미합니다. autofs 는마운트를위해디렉토리를생성해줄필요는없습니다. 오토마운트는 autofs 데몬에의해자동으로이루어지는프로세스이기때문에 autofs 데몬을실행해주어야합니다. [root@fedora9 ~]# service autofs start automount ( 을 ) 를시작합니다 : [ OK ] [root@fedora9 ~]# 설정한디렉토리로이동해봅니다.

[root@fedora9 ~]# cd /misc/data [root@fedora9 data]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/volgroup00-logvol00 7.7G 5.4G 2.0G 74% / /dev/sda1 190M 15M 166M 8% /boot tmpfs 506M 48K 506M 1% /dev/shm gvfs-fuse-daemon 7.7G 5.4G 2.0G 74% /root/.gvfs /dev/sdb1 3.0G 69M 2.8G 3% /misc/data [root@fedora9 data]#

[ 3 ] LVM (Logical Volume Manager) 1. LVM 이란무엇인가? LVM 은 Logical Volume Manager 의약자로저장장치인하드디스크를좀더효율적이고유연하게관리할수 있는커널의부분과프로그램을말합니다. LVM 은처음 IBM 에서개발되었으며, 현재는상용유닉스에서쓰고 있으며, 리눅스에서사용하는 LVM 은 HP-UX 의것을모델로하고있습니다. LVM 의특징은다음과같습니다. - 손쉬운관리 - 서로다른종류의많은디바이스의조합지원 - 뛰어난확장성 - 안정성과효율성 - 스냅샷기능의지원 2. LVM 의동작방식 LVM 으로파티션용량을설정하여사용하기전몇가지 LVM 에관련된용어에대한사전지식이필요합니다.

그림 5 LVM - PV (Physical Volume : 물리적볼륨 ) 하드디스크의블록디바이스인 /dev/sda1, /dev/sdb1 과같은하드디스크의파티션을의미합니다. - VG (Volume Group : 볼륨그룹 ) 볼륨그룹은 LVM 의가장기본적인요소로, PV (Physical Volume) 의그룹을만드는것을말합니다. 즉, 블록디바이스가모여 VG (Volume Group) 를이루게됩니다. - LV (Logical Volume : 논리적볼륨 ) 리눅스에서하드디스크를사용하기위하여파티션을생성하듯이 LVM 에서도 VG (Volume Group) 를나누어 생성하는파티션을말합니다. - PE (Physical Extent : 물리적확장 ) PE 는물리적할당단위를의미합니다. PV 는일정한크기의 PE 를갖게되는데, 예를들어 PV 가 2000MB 일 경우에 PE 의블록이 4MB 라면, 총 PV 는 500 개의 PE 가존재하게됩니다.

- LE (Logical Extent : 논리적확장 ) LE 는논리적할당단위를의미하며, PE 가 LV 에할당되게되면 LE 가됩니다. 3. LVM 구성 LVM 의구성은다음과같습니다. 필자의경우에는새로운디스크를파티션 3 개로구성하였습니다. 또한, 파티션타입을 '8e Linux LVM' 로설 정합니다. 파티션테이블을생성한후에는 pvcreate 명령어로 PV(Physical Volume) 을생성합니다. pvcreate 명령어의형식은다음과같습니다. 명령어위치 : /sbin/pvcreate RPM 패키지 : lvm2 # pvcreate [device_name] 생성한장치 /dev/sdb5, /dev/sdb6, /dev/sdb7 를 PV 로만들어줍니다. [root@fedora9 ~]# pvcreate /dev/sdb5 /dev/sdb6 /dev/sdb7 Physical volume "/dev/sdb5" successfully created Physical volume "/dev/sdb6" successfully created Physical volume "/dev/sdb7" successfully created [root@fedora9 ~]# PV 생성후에는 vgcreate 명령어로 VG(Volume Group) 를생성합니다. 다음은 vgcreate 명령어의형식입니다. 명령어위치 : /sbin/vgcreate RPM 패키지 : lvm2 # vgcreate [VG 그룹명 ] PV1 PV2... PV 로만들어진 /dev/sdb5, /dev/sdb6, /dev/sdb7 을 VG 그룹명 data 로생성합니다.

[root@fedora9 ~]# vgcreate data /dev/sdb5 /dev/sdb6 /dev/sdb7 Volume group "data" successfully created [root@fedora9 ~]# VG 생성후에는 lvcreate 명령어로 LV (Logical Volume) 를생성합니다. 논리적볼륨은 LVM 에생성되는파티션이므로, 일반파티션과마찬가지로단일혹은다중파티션으로나누어 사용할수있습니다. lvcreate 명령어의형식은다음과같습니다. 명령어위치 : /sbin/lvcreate RPM 패키지 : lvm2 # lvcreate -L [ 용량 ] -n [ 논리볼륨명 ] VG 만들어진 data 볼륨그룹을논리볼륨으로나누도록합니다. 용량을지정할때단위를설정하지않으면기본 적으로 MB 단위입니다. 다음은 data VG에서 data1 라는 LV 1G 용량으로만들어봅니다. [root@fedora9 ~]# lvcreate -L 1G -n data1 data Logical volume "data1" created [root@fedora9 ~]# 생성한 LV 에파일시스템을생성합니다.

[root@fedora9 ~]# mkfs.ext3 /dev/data/data1 mke2fs 1.40.8 (13-Mar-2008) Warning: 256-byte inodes not usable on older systems Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@fedora9 ~]# 4. LVM 기타명령어 lvchange - 논리볼륨의특성을변경합니다. 명령어위치 : /sbin/lvchange # lvchange -t 60 /dev/vg/lv lvdisplay - 논리볼륨의정보를표시합니다.

명령어위치 : /sbin/lvdisplay # lvdisplay -v /dev/vg/lv lvextend - 논리볼륨에미러를추가합니다. 명령어위치 : /sbin/lvextend # lvextend -m 1 /dev/vg/lv lvextend - 논리볼륨크기를늘립니다. 명령어위치 : /sbin/lvextend # lvextend -m 1 /dev/vg/lv lvreduce - 논리볼륨의미러사본수를줄입니다. 명령어위치 : /sbin/lvreduce # lvreduce -m 0 /dev/vg/lv lvremove - 볼륨그룹에서논리볼륨을제거합니다. 명령어위치 : /sbin/lvremove # lvremove /dev/vg/lv pvchange - 물리볼륨의특성을변경합니다. 명령어위치 : /sbin/pvchange # pvchange -a n /dev/sdb1 pvdisplay - 물리볼륨의정보를표시합니다.

명령어위치 : /sbin/pvdisplay # pvdisplay -v # pvdisplay -v /dev/sdb1 pvmove - 한물리볼륨에서다른물리볼륨으로익스텐트를이동합니다. 명령어위치 : /sbin/pvmove # pvmove /dev/sdb1 /dev/sdb2 pvremove - 물리볼륨에서 LVM 데이터구조를제거합니다. 명령어위치 : /sbin/pvremove # pvremove /dev/sdb1 vgcfgbackup - 볼륨그룹의 LVM 구성을저장합니다. 명령어위치 : /sbin/vgcfgbackup # vgcfgbackup VG vgcfgrestore - LVM 구성을복원합니다. 명령어위치 : /sbin/vgcfgrestore # vgcfgrestore -n /dev/vg /dev/sdb2 vgchange - 볼륨그룹을설정하거나해제합니다. 명령어위치 : /sbin/vgchange # vgchange -a y /dev/vg

vgdisplay - 볼륨그룹에대한정보를표시합니다. 명령어위치 : /sbin/vgdisplay # vgdisplay -v # vgdisplay -v /dev/vg vgextend - 물리볼륨을추가하여볼륨그룹을확장합니다. 명령어위치 : /sbin/vgextend # vgextend /dev/vg /dev/sdb3 vgexport - 시스템에서볼륨그룹을제거합니다. 명령어위치 : /sbin/vgexport # vgexport /dev/vg vgscan - 시스템디스크에서볼륨그룹을검색합니다. 명령어위치 : /sbin/vgscan # vgscan -v vgreduce - 볼륨그룹에서볼륨을하나이상제거하여볼륨그룹을축소시킵니다. 명령어위치 : /sbin/vgreduce # vgreduce VG /dev/vg/lv vgremove - 시스템과디스크에서볼륨그룹의정의를제거합니다. 명령어위치 : /sbin/vgremove # vgremove VG /dev/sdb3

5. system-config-lvm X- 윈도우환경에서 LVM 을쉽게구성하고관리할수있습니다. [ 프로그램 ]-[ 시스템설정 ]-[ 논리적인볼륨관리 ] 를실행하거나터미널창에서 system-config-lvm 명령을이 용합니다. [root@fedora9 ~]# system-config-lvm 그림 6 system-config-lvm

[ 4 ] 파일시스템관리 시스템관리자가시스템을운영하는데파일시스템을정상적으로유지하는일은매우중요합니다. 파일시스 템의이상유무를점검하거나, 디스크의사용량을점검하여적절한조치를취할수있어야합니다. 1. 데이터의모순성검사 시스템을운영하다보면전원장치의고장이나실수에의해전원케이블이빠지는경우, 시스템을정상적으로종료하지않은경우, 커널내의소프트웨어에러등여러가지이유로인해파일시스템이손상을입는경우가있습니다. 이럴경우에는 fsck (File System Check) 명령어를이용하여파일시스템을정상상태로복구해야합니다. fsck 명령어는파일시스템을점검하고복구하기위하여다음과같은항목들의정보를검색합니다. - 수퍼블록 - i-node - 간접블록 - 디렉토리 파일시스템에관련된여러내용들은하나의요소에만기록되어있지않고서로다른방법으로여러곳에중복 분산되어있기때문에여러요소에기록된정보를수집하면정확한정보를찾아낼수있습니다. fsck 명령어 는파일시스템의각요소들에저장된다음과같은정보들을이용하여파일시스템을복구합니다. 1) 수퍼블록정보 수퍼블록에는파일시스템에관련된기본정보가저장되어있으며파일시스템의데이터를변경할때마다수퍼블록의내용도변경이됩니다. 즉, 수퍼블록에는파일시스템의모든요약정보를포함하고있습니다. 이러한수퍼블록은 ext3 파일시스템의가장일반적인문제를발생시키는요인이되기도하는데, 수퍼블록에서는다음과같은사항들을검사하게됩니다. 파일시스템의크기, 사용되지않는데이터블록의개수, 사용되지않는 i-node 의개수등의정보를알아냅니다. 2) I-node 정보 fsck 명령어는 i-node가일치하지않는것이있는지검사를하는데, i-node의 format and type 의 8가지유형 ( 일반파일, 디렉토리, block special, character special, 심볼릭링크, FIFO(named pipe), socket) 을검사하고, 각각의 i-node의하드링크개수, 데이터블록의중복여부, 파일에할당된데이터블록의개수와사용되지않는 i-node 개수등의정보를알아냅니다. 3) 간접블록 간접블록은 i-node 에의해할당되어사용되며파일의데이터를저장하는데이터블록의위치를저장하고있

으므로파일시스템에서사용하고있는데이터블록의목록을알수있습니다. 4) 디렉토리 디렉토리는파일의 i-node 와파일의이름을연결하는역할을하고있으므로디렉토리의데이터를점검하면 파일이잘못된 i-node 를지정하는지의여부와현재사용중인 i-node 의목록을알수있습니다. 2. fsck 명령어 fsck 명령어는파일시스템의이상유무를점검하고복구하는데사용됩니다. fsck 명령어는파일시스템의 일관성을점검하고손상된파일시스템의많은부분을복구할수있으며, 다양한옵션들을제공하고있습니다. 다만, fsck 명령어를실행할때의주의할것은반드시점검하고자하는파일시스템을언마운트해야합니다. fsck 명령어의형식은다음과같습니다. 명령어위치 : /sbin/fsck RPM 패키지 : e2fsprogs # fsck [option] -t [ 파일시스템유형 ] [device_name] < option > option -A 검 의미 /etc/fstab 에나와있는파일시스템점검하고, /etc/rc 시스템초기화파일에서일괄적으로점 -R -A 옵션과함께사용할때 -N 실제적으로실행하지않고실행할작업만을보여줌 -s 병렬적인방법이아닌순차적방법으로점검 -r 복구전복구여부를물어봄 -a 관리자에게질문하지않고자동으로복구 fsck 명령어의종료시의종료코드는다음과같은의미를가지고있습니다.

코드의미 0 에러없이정상종료 1 파일시스템복구됨 2 파일시스템은복구되었으나, 시스템재부팅이요구됨 4 파일시스템의에러를복구하지않음 8 실행중에에러발생 16 사용법과문법에러발생 32 fsck 명령이사용자에의해취소됨 128 공유라이브러리에대해에러발생 다음은 fsck 명령어를이용하여특정파일시스템을점검하는예입니다. fsck 명령어를실행전에반드시파일 시스템은언마운트가되어있어야합니다. 파일시스템의유형을점검할경우에는 -t 옵션뒤에파일시스템유형을지정해줍니다. [root@fedora9 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/datavg-rootlv 20G 5.5G 14G 29% / /dev/sda1 97M 19M 74M 20% /boot tmpfs 1.7G 48K 1.7G 1% /dev/shm gvfs-fuse-daemon 20G 5.5G 14G 29% /root/.gvfs /dev/mapper/datavg-homevg 1008M 34M 924M 4% /home [root@fedora9 ~]# umount /home [root@fedora9 ~]# fsck -a -t ext3 /dev/mapper/datavg-homevg fsck 1.40.8 (13-Mar-2008) /dev/mapper/datavg-homevg: clean, 21/65536 files, 12655/262144 blocks [root@fedora9 ~]# 3. 파일시스템관리명령어 파일시스템을관리하기위한명령어들이있습니다. 1) df 명령어 df 명령어는 Disk Free" 의약어로각파일시스템의디스크스페이스에대한정보를보여주는명령어로, 파 일시스템에할당된전체용량, 사용한용량, 사용가능한용량, 현재파일시스템사용률, 각파일시스템의

마운트정보를보여줍니다. 또한 df 명령어는루트 (root) 사용자이외에도사용할수있습니다. 다음은 df 명령어의형식입니다. 명령어위치 : /bin/df RPM 패키지 : coreutils # df [option] < option > option 의미 -a 모든파일시스템정보출력 -i 블록사용정보대신 inode 사용정보출력 -k 단위를 1KB 로출력 -h 알아보기쉽도록 MB 단위로출력 -t 지정한유형의파일시스템만출력 -x 지정한유형의파일시스템을제외한정보출력 현시스템의파일시스템정보를확인합니다. [root@fedora9 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/datavg-rootlv 20G 5.5G 14G 29% / /dev/sda1 97M 19M 74M 20% /boot tmpfs 1.7G 48K 1.7G 1% /dev/shm gvfs-fuse-daemon 20G 5.5G 14G 29% /root/.gvfs [root@fedora9 ~]# 2) du 명령어 du 명령어는 "Disk Usage" 의약어로각각의디렉토리가사용하고있는디스크스페이스에대한정보를확인할때사용합니다. df 명령어는파일시스템에대한디스크사용량을체크하지만, du 명령어는특정디렉토리나파일단위로그용량을확인하게됩니다.

du 명령어의형식은다음과같습니다. 명령어위치 : /usr/bin/du RPM 패키지 : coreutils # du [option] [ 파일 디렉토리 ] < option > option 의미 -a 기본적으로디렉토리만을출력하지만, 이옵션을사용하면파일까지출력 -b 단위가 Byte -s 전체용량의합계를출력 -k Kilo Byte 단위로출력 -l 하드링크된파일들까지출력 -h 용량단위표시 특정디렉토리의전체사용량을점검하는예입니다. [root@fedora9 ~]# du -sh /home 60K /home [root@fedora9 ~]#