fs(file system)을 한다.
하드디스크 관리법. 직접적인 시스템 관리법.
파티션과 FS(file system)
-
file system이란?
- 파일 시스템은 OS가 하드 디스크를 효율적으로 관리하기 위한 기법.
- 각 OS별로 지원하는 파일 시스템이 다르다.
-
Linux의 파일 시스템
-
ext2
- 이전가지 사용했던 방식은 ext2 방식. 안정적이고 뛰어난 성능을 보였다.
- 서버의 비정상적인 종료 등 어떠한 주요 사건으로 서버가 다운되었을 떄, 재 부팅시 기본적으로 데이터 손실 방지와 구조 확인을 위하여 fsck라는 명령으로 파일 시스템을 점검해야 했다.
- 즉, 부팅 시 많은 시간이 걸릴 수 있다는 것. -> fsck도 상당한 시간이 걸리는 작업이다.
-
ext3
- ext2 방식이 비정상적인 종료 후 재부팅을 할 때 안정적인 사용을 위한 점검으로 시간이 걸리는 이유는 파일 내용이 변경 즉시 파일 시스템과 동기화 되지 않아서였다. 이에 jounaling(저널링) 시스템이 도입되었다.
- 파일 내용 변경시 파일 시스템과 바로바로 동기화를 하기 때문에 비 정상적인 종료의 위협에서 벗어났다. 그리고 그러한 상황이 발생했을 때, 복구에 대한 내용은 index에 로그로 남기 때문에 손쉽게 복구도 가능해졌다.
- 하드 디스크의 헤더 사용을 최적화 하여 관리하기 때문에 동일한 데이터 여러차례 반복 저장시 ext2 방식 보다 더 빠르다.
-
XFS
- 최대 파일 시스템 적용 크기가, 약 16PB 이며 최대 단일 파일의 크기는 8PB를 지원.
- MB -> GB -> TB -> PB -> EB -> ZB -> YB
- 계정들의 파일에 대한 접근 제어 방식을 세분화 하여 적용 : 처음에 centos깔때 disable한 selinux임. XFS에서는 기본옵션임.
-
-
파일 시스템의 용량 확인법
-
df : disk free
- 반드시 파티션을 어디에 마운트 해야만 한다.
- ----------> 새로운 디스크 만듬. : edit virtual machine -> add -> hard disk 선택(이후 next).. 실제로는 하드디스크 하나를 추가한 것이다.
- 언제나 하드디스크는 mount를 해야만 한다. : df로 확인시, 확인되지 않는 하드는 mount가 되지 않은 하드이다.
- 현제 시스템에 mount되어 있는 하드 디스크에 대한 정보를 확인하는 명령(mount되어 있지 않는 file system은 확인 불가능하다.
- df [option] [하드디스크 혹은 파티션 정보]
-
옵션
- T : file system 종류(정보)를 출력
- h : 사람이 보기 좋게 기호를 써서 출력
-
du : disk usage
- 파일의 용량정보를 확인하는 명령
- ex) du /etc/passwd, du /bin
- du명령어에서도 일반적으로 -h 명령어를 사용한다.
-
-
fdisk
- 현재 사용하고 있는 하드 디스크가 아닌, 새로운 하드 디스크를 준비하여 서버에 적용.
- 회사 내규나 개인 사용 용도에 따라 파티션을 분할하게 된다.
-
사용법
- fdisk [option] [장비명]
- 옵션은 실제 파티션 정보를 볼때 사용한다.
- 파티션을 나누거나 할 때는 옵션을 사용하지 않는다.
-
옵션들
- l : 장비의 정보를 출력
- s : 장비의 크기를 출력
- ex ) fdisk /dev/hdb
- 포멧하기 : mkfs -t ext3 /dev/hdb1 ->> 포멧을 하되, type은 ext3으로 한다. 단, extended 전체를 잡아놓은 파티션은 하면 안된다.
- 반드시 포멧 후 마운트를 한다.
- 파티션 생성시, primary는 1~4개까지.. 단, extended가 필요하면, primary4번을 extended로 설정, extended는 5번부터 시작. : 포멧시 4번은 포멧하면 안됨.
- fdisk이후 m을 누르면 정보가 나옴.
- 나눌때는 cylinder 갯수로 나누는 것이 가장 좋다.
- 주로 쓰이는건, d, w, n, p, q이다. : d는 삭제, w는 저장후 종료, n은 새로운 파티션 만들기, q는 정보보기,p는 그냥 종료
-
마운트하는방법
- mount명령어 사용 : 단발로.. 재부팅하면 없어짐.
- /etc/fstab에 기록 : 영구적으로 기록됨. 단, 재부팅이 필요함.
- 오늘은 mount명령어만 사용.
- mount -t ext3 /dev/hdb1 /mount1 : type ext3인 /dev/hdb1이라는 장비를 /mount1에 마운트한다.
- usb 메모리같은거 이용할때 사용한다.
- 마운트 해제 : umaount [디렉토리]
링크파일에 대해서
file의 기본요소 3가지
file name, data block, i-nod
data block : 데이터를 저장하는 곳. 하나의 크기가 512byte이다. 데이터블록에 파일의 경계선(?)이 표시되질 않는다.
i-nod : 데이터블록에서, 파일을 구성해 주는 지표. 각 파티션별로 하나씩 가지고 있다. 파일이 호출되면, i-nod를 참조하여 처리한다.
명령어 : ls -il.. 가장 앞에 있는 숫자가 i-nod 이다.
symbolic link : ln -s [원본이름] [대상이름]
ex) ln -s /tmp/a /tmp/b -->a라는 파일을 b라는 파일로 링크를 건다
symbolic link는 새로운 i-nod를 만드는 것이다. 파티션을 넘어다닐 수 있다.
원본일이이 삭제되면, 링크는 깨진다.
hard link : ln [원본이름] [대상이름]
i-nod 값을 공유한다. : 데이터 블록이 같으나, 이름이 2개일 뿐이다. 또한, hard link는 partition을 뛰어 넘을 수 없다.
원본파일을 지워도 해당 데이터 블록을 찾아 갈 수 있다.
이 글은 스프링노트에서 작성되었습니다.















