리눅스는 네 개의 리눅스 파일 시스템 및 디스크 관리 연구

1 알고 리눅스 파일 시스템

  우리는 물리적 디스크의 구성 요소를 이해 할 수 있도록 EXT2를 사용하는 대부분의 전통적인 리눅스 디스크 파일 시스템 (파일 시스템), 파일 시스템은 디스크에 내장되어 있습니다.

1.1 디스크 및 파티션

  디스크의 물리적 구성 :

    원판 플레이트 (메인 데이터의 일부가 기록되어있다);

    기계 암, 디스크 판독 헤드 (디스크의 재기록 가능 디스크의 데이터)의 로봇 아암에;

    로보트 암 판독 헤드를 허용 할 수있다 디스크 트레이를 회전하는 스핀들 모터는 디스크 트레이의 데이터를 판독한다.

  물리적 구성 디스크 드라이브 :

    섹터 (섹터) 최소 물리적 기억 장치이며, 디스크의 디자인에 따라, 주로 두 가지 형식 및 4K 512bytes에있다;

    실린더 (실린더) 인 원의 섹터들;

    초기 파티션 실린더 주로 작은 파티션 부, 최소 분할 단위를 현재 일반적으로 사용되는 섹터 파티션 (각 섹터는 자신의 수, 시트의 경우와 동일 있음);

    두 가지 주요 디스크 파티션 테이블 형식이있다, 하나는 더 제한 MBR 파티션 테이블이 하나가 새롭고 덜 제한 GPT 파티션 테이블이다;

    가장 중요한의 첫 번째 섹터에 MBR 파티션 테이블이 다음과 같습니다 MBR 소지 446bytes는, 파티션 테이블이 64bytes를 점유하는 것을 특징 (1) 주 부트 섹터 (마스터 부트 레코드, MBR) 및 파티션 테이블 (파티션 테이블);

    GPT 파티션 테이블 확장 파티션의 많은뿐만 아니라, 디스크 용량은 2TB 이상을 지원할 수 있습니다.

  디스크 파일 이름 형식 :

    / 개발자 / SD [AP] [1-128] 엔티티의 디스크 파일 이름 디스크;

    는 / dev / VD [광고] [1-128] : 가상 디스크의 디스크 파일 이름입니다.

시스템 특징 1.2 파일

  리눅스 정통 파일 시스템 EXT2 (리눅스 두 번째 확장 파일 시스템의 ext2fs)

  전형적으로, 파일 속성 (소유자, 그룹, 시간 파라미터 등)에 데이터의 두 부분은 다른 블록들에 저장되어 함께 파일 권한 (RWX)를 파일의 실제 데이터를 배치 한, 아이 노드에 허가 속성, 배치 블록 데이터 블록. 슈퍼 블록 (수퍼) 파일의 총 사용량 및 블록 아이 노드의 잔량을 포함하는 전체 시스템에 대한 전체 정보를 기록한다.

  수퍼 일반 정보의 inode / 블록의 총량, 잔류량의 양, 및 파일 시스템과 관련된 정보의 포맷을 포함하여이 파일 시스템에 기록하는 단계;

  아이 노드 :이 파일에 대한 기록 데이터 블록 번호가 위치한 동안 파일의 기록 파일 속성은 하나 개의 inode를 차지;

  차단 : 로그 파일의 실제 내용, 파일이 너무 큰 경우, 그것은 블록보다 더 걸릴 것입니다.

1.3 리눅스 EXT2 파일 시스템 (아이 노드)

  (사용 resize2fs와 파일 시스템의 크기를 변경할 수있는 다른 명령 또는)를 포맷하지 않는 파일 시스템의 inode와는 처음은 아이 노드가 고정 블록 후, 그렇지 않으면 변경되지 않습니다, 계획 차단합니다.

 

   프론트 파일 시스템 부트 섹터 (부트 섹터)가있다, 당신은 부트 섹터 부트 매니저를 설치할 수 있습니다.

1.3.1 데이터 블록 (데이터 블록)

  EXT2 지원되는 블록 크기는 1K, 2K 및 4K 세 가지가 파일 시스템에있는 데이터 파일의 내용을 배치 할 위치를 데이터 블록이다.

              블록 크기                                1킬로바이트                            2킬로바이트                  4킬로바이트         
가장 큰 단일 파일 제한 16 기가 바이트 256기가바이트 2TB
파일 시스템의 최대 총 용량 2TB 8TB 16TB

  기본적인 제한 블록 :

    원칙적으로, 블록 포맷의 크기 및 수를 완전히 (포맷 제외) 다시 변경 될 수 없다;

    각각의 블록 내에 배치 될 수있는 데이터 파일 기껏;

    파일이 블록의 크기보다 큰 경우 갑판은 다음 파일은 더 블록의 수보다 차지합니다;

    파일 블록보다 작 으면, 갑판, 블록의 잔존 용량은 (디스크 공간을 낭비)를 사용할 수 없다.

1.3.2 inode table (inode 테이블 격)

  기록 파일 데이터의 컨텐츠를 아이 노드 :

    파일 액세스 모드 (읽기 / 쓰기 / excute에);

    파일 (소유자 / 그룹)의 그룹 소유자와;

    파일의 용량;

    파일 생성 또는 상태합니다 (ctime이)의 변화의 시간;

    마지막 읽기 시간 (atime에);

    마지막 수정 시간 (mtime에);

    특성 정의 파일 플래그 (깃발), setuid를 같은 ...;

    이 문서는 실제 컨텐츠 (포인터)를 가리 킵니다.

  아이 노드의 특징 :

    각각의 inode 크기는 128 바이트로 고정 하였다 (XFS 새로운 ext4가 256 바이트로 설정 될 수있다);

    각 파일의 아이 노드는 하나의 점유;

    이전에서, 파일 시스템의 inode 번호에 관련 문서의 수를 설정할 수 있습니다;

    당신은 그들이 충족하는 경우, 파일 시스템이 아이 노드, 아이 노드를 읽고 발견하고 사용자와의 라인에 기록 된 권리 여부를 분석 할 필요가있을 때 블록의 실제 시작의 내용을 읽을 수 있습니다.

1.3.3 수퍼 (수퍼 블록)

  슈퍼 블록은 전체 파일 시스템 관련 정보를 기록 할 수있는 장소, 기록 된 정보는 다음과 같습니다

    그리고 아이 노드 블록의 총량;

    / 블록 inode 번호를 사용하여 사용되었는지;

    블록 크기 및 (1,2,4K, 아이 노드로서 128 바이트 또는 256 바이트 블록으로) 아이 노드;

    파일 시스템은 시간을 탑재, 마지막으로 데이터가 디스크 (fsck를) 파일 시스템의 시간에 대한 최신 조사 및 정보를 기록;

    장착되지 경우,이 파일 시스템이 마운트되었는지 유효한 비트 값이 유효 비트가 0이며, 유효 비트는 1이다.

1.3.4 파일 시스템 설명 (파일 시스템 기술자 설명)

  이 섹션의 시작과 그룹의 블록 번호의 각 블록의 단부와 각 세그먼트 (수퍼, 비트 맵 inodemap, 데이터 블록)의 블록 번호가 각각 삽입되는 사이 지시를 기술 할 수있다.

1.3.5 비트 맵 블록 (블록 테이블)

  그들이 알고있는 블록 비트 맵에서 블록은 비어 있습니다.

1.3.6 비트 맵의 ​​inode (아이 노드 테이블)

  사용하지 않는 아이 노드 번호를 사용하여 기록.

1.3.7 dumpe2fs : 쿼리 명령 내선 가족 수퍼 정보

  dumpe2fs [-bh] 디바이스 파일명

  옵션 및 매개 변수 :

    -b : 목록에서 나쁜 레일 부분 (일반적으로 미만) 예약

    -h : 만 나열 데이터 수퍼 다른 지역을 망치 내용을 나열하지 않습니다

  포맷 BLKID 목록 현재의 시스템을 의미

이 파일 시스템을 작동하기 쉬운

2.1 용량의 디스크 및 디렉토리

  DF는 [-ahikHTm] [디렉토리 나 파일 이름] 전체 디스크 사용량을 나열, 파일 시스템

  옵션 및 매개 변수 :

    -a : 시스템 별 / proc 파일 시스템 등을 포함하는 목록 모든 파일 시스템;

    -k : 킬로바이트 각 파일 시스템을 표시하는 능력;

    -m : 메가 바이트는 각 파일 시스템 볼륨을 표시;

    -h : 쉽게 셀프 사람들은 디스플레이 기가 바이트, 메가 바이트, 킬로바이트 형식을 읽을;

    -H :에서는 M = M = 1000K 반송 치환기 1024K의 실시 예;

    -T : 파일 시스템의 이름 (예컨대 XFS) 같은리스트와 함께 격벽;

    -i : 다른 디스크 용량, 아이 노드 번호 디스플레이

  디스크 사용량 뒤 [-ahskmS] 파일이나 디렉토리 이름은 파일 시스템을 평가

  옵션 및 매개 변수 :

    -a : 목록에있는 모든 파일 및 디렉토리 용량 때문에 단지 디렉토리 통계에서 기본 파일의 양;

    -h : 쉽게 읽을 볼륨 형식으로 표시 사람들 (G / M)

    오히려 각각의 디렉토리 점유 용량을 나열하는 것보다 -s 목록 전체;

    -S는 : 총에서 서브 디렉토리를 포함하지 않는다;

    -k : 킬로바이트에서 용량 디스플레이리스트;

    -m : 디스플레이 메가 바이트 목록 용량.

2.2 엔티티 링크와 심볼릭 링크 : LN

  LN [-sf] 소스 파일 목적지

  옵션 및 매개 변수 :

    -s : 인수가 연결되어 있지 될 경우 -s는 심볼릭 링크에 관해서는, 그 하드 링크,이다;

    -f : 대상 파일이 존재하는 경우,이 파일을 직접 대상으로하고 구축 제거하는 이니셔티브를 취할 것입니다.

  단지 디렉토리에 하드 링크 (물리적 링크, 하드 링크 또는 대상) 만 기록 inode 번호와 관련된 파일 이름에 자신의 링크를 추가합니다.

  (바로 가기입니다 심볼릭 링크) 심볼 링크는 별도의 파일을 구축하고, 파일은 데이터 파일을 읽을 자신의 링크의 파일 이름을 가리!

3 디스크 파티션, 포맷, 테스트 및 마운트

  디스크 작업 :

    1, 사용 가능한 파티션을 생성 할 디스크를 파티션;

    2, 파티션 포맷 (형식)은 시스템에 사용할 수있는 파일 시스템을 수립;

    조금 조심하려면 3, 그것은 방금 만든 파일 시스템 검사를 할 수있다;

    4, Linux 시스템에서, 당신은 마운트 포인트 (즉, 디렉토리)를 설정하고 그를 마운트해야합니다.

3.1 디스크 파티션 상태를 관찰

  lsblk [-dfimpt] [장치] 목록 나열 시스템의 모든 디스크

  옵션 및 매개 변수 :

    -d : 목록에만 디스크 자체가, 그리고 디스크 파티션의 데이터를 나열하지 않습니다

    -f : 디스크 이름의 파일 시스템을 나열하면서

    -i : 사용 ASCII 출력 라인은 복잡한 코딩을 사용하지 않는

    -m : 동안 권리 데이터 / DEV 하단의 장치의 출력 (RWX 데이터)

    -p : 장치의 목록 전체 파일 이름! 대신 오직 마지막 이름을리스트

    -t : 디스크 큐 메커니즘을 포함하는 자기 디스크 장치의 상세한 데이터의 목록, 사전 기록 데이터 사이즈 등

  BLKID 피어 디바이스 파라미터는 UUID 나열

  헤어진 DEVICE_NAME 인쇄 파티션 테이블에는 디스크와 파티션 정보의 유형을

3.2 디스크 파티션 : GDisk가 / FDISK

  GDisk로 파티션을 사용하여 MBR 파티션 테이블 fdisk 분할, GPT 파티션 표현식을 사용하십시오!

  GDisk는 장치 이름 : 그냥 GDisk로 [Q]를두고 가압은, 모든 작업이 없습니다 유효 [반대로, 프레스 조작력의 의미는 [W].

  내부 명령을 GDisk로 :

    P : 현재 상태 디스크 쿼리

    ? : 쿼리 명령

    N : 지구를 추가

    D : 파티션 삭제

 

   partprobe [-s] 업데이트 된 Linux 커널 파티션 테이블 정보

   고양이 / proc 디렉토리 / 파티션은 핵심 파티션 기록을 볼 수

3.3 디스크 형식 (빌드 파일 시스템)

  mkfs.xfs [-b bsize] -d PARAMS] [-i PARAMS] -l PARAMS] -L 라벨 [-f] [-r PARAMS] 장치 이름

  옵션 및 매개 변수 :

    정보 단위 :만큼 그 값에 해당되는 바와 같이, 바이트 단위가없는 값 비교, K, m, g, t, P (소문자) 설명 될 수있다. S는 섹터 번호를 참조하는 특별한 수단이다.

    -b : 64K로 (512)에 의해 블록 용량에 따른, 그러나 최대 용량은 리눅스, 4K 한정한다!

    -d : 관련 파라미터 값을 데이터 구역 뒤에 접촉 기본 값 :

      agcount = 가치 : 설정에 필요한 여러 수단 스토리지 그룹 (AG), 일반적으로 CPU와 연관된

      agsize = 값 : 각 AG의 의미 세트 얼마나 많은 용량, 일반적으로 agcount / agsize 만 세트는에서 선택되는 수

      파일 : [포맷 장치가 아닌 장치의 파일]을 지칭한다! (가상 디스크 등)

      크기 = 값 : 데이터 섹션의 용량, 즉, 사용자는 장치의 전체 능력을 실행할 수 없습니다

      SU = 값 : 때 값 줄무늬가 있고,이를 뒷받침하는 SW의 사용과 의미 RAID,

      SW = 값 : RAID는 데이터를 저장하기위한 디스크 수 (백업 디스크 및 백업 플레이트에서 차감 될 때)

      sunit = 값 : 스와 상당하지만 [부문 (512bytes에 크기)]을 사용 대수

      swidth = 값 : SU는 SW *의 값은, 그러나 일부에서 [부문 (512bytes에 크기)] 세트는

    -f : 이미 장치 내에서 파일 시스템을 사용하는 경우 형식을 강제 할 필요가 -f

    -i : 아이 노드와 관련성 세트가 기본 설정은 다음과 같습니다

      크기 = 값 : 최소, 최대 256 바이트이며 일반적으로는 256 소유 사용하기에 충분한, 2K 인

      내부 = [0 | 1] : 로그 수단 여부를 내장, 내장 된 기본, 당신의 사용에 따라 외부 장치, 설정을 사용하는 경우

      logdev = 디바이스 로그 수단 내부 전에 설정해야 상위 장치에 의해 이어진다 = 0

      크기 = 값 :이 항목 섹션 지정된 용량은 일반적으로 2M의 작업에 대한 위의 최소 블록 (512), 있어야한다!

    -L : 의미의 파일 시스템의 헤더 이름 라벨 이름 다음에!

    -r : 지정 설정 값에 관련된 실시간 섹션을, 일반은 다음과 같습니다 :

      extsize = 값 : 값이 있지만, 심각한 정도는 통상적으로 설정되어 있지 않고 인 RAID는, 바람직하게는 동일한 바람직한 값 swidth 설정되면! 1G에 4K까지의 최소.

  은 mkfs.ext4 [-b 사이즈] [-L 라벨] EXT4 파일 시스템 형식의 이름 수단

  옵션 및 매개 변수 :

    -b : 블록의 크기 설정의 4K, 2K, 1K의 용량을 가지고

    -L :이 장치 헤더 이름 앞에

3.4 파일 시스템 검사

  xfs_repair는 이러한 명령을 이용하여 -fnd] XFS 파일 시스템 이름 혼동 장치

  옵션 및 매개 변수 :

    -f : 장치의 뒷면은 물리적 장치보다는 파일 실제로

    -n : 데이터를 수정하지 않는 간단한 검사 (검사 만) 파일 시스템

    -d : 일반적으로 하나의 유지 관리 모드에서, 그리고 디렉토리에 대한 검사 및 수리와 함께 작동 (/)! 사용하지 마십시오

  상기 처리 수단 fsck.ext4 [-pf] [-b 수퍼] EXT4 파일 시스템 이름

  옵션 및 매개 변수 :

    -p : 수리시의 파일 시스템, Y의 작용에 필요한 응답이, Y의 autoresponders는 재조정 작업을 계속하는 경우합니다.

    -f : 강제로 체크! fsck가이 부정한 플래그를 발견하지 않은 경우 일반적으로, 당신은 세부 사항에 fsck를 체크를 강제하려는 경우, 당신은 -f 플래그를 추가해야합니다, 세부 사항에 체크로 주도권을 쥐고하지 않습니다!

    -D : 파일 시스템의 디렉토리에 최적화 된 구성

    -b : 수퍼 블록의 위치 다음에! 이 옵션은보다 일반적이다. 그러나 어떤 이유로이 매개 변수 내에서 superblcok 백업을 통해 superblcok 피해 복구를 시도하는 파일 시스템을 사용 할 수 있습니다. 일반적으로, 수퍼 백업에 : 32768에 16384,4K 블록 8193,2K 블록 1K 블록.

3.5 파일 시스템 마운트 및 마운트 해제

  산주의 사항 :

    1) 하나의 파일 시스템이 마운트 (디렉토리의 다른 지점)에서 반복되지 않아야 마운트;

    2) 하나의 디렉토리는 복수의 파일 시스템을 마운트 반복되어서는 안된다;

    3) 이론적으로 모든 빈 디렉토리가 있어야 디렉토리로 마운트 지점을합니다.

  마운트 -a

  산 [-l]

  산 [-t 파일 시스템] LABEL = '마운트 포인트

  [-t 파일 시스템]을 UUID = '마운트'마운트 포인트

  산 [-t 파일 시스템] 파일명 마운트 포인트 장치

  옵션 및 매개 변수 :

    -a : / fstab에 데이터를 모두 마운트 해제 디스크가 마운트 등의 구성 파일 /에 따라

    -l : 단순히 정보는 현재 장착 된 디스플레이를 탑재 입력합니다. 레이블 이름은 -l로 추가 할 수 있습니다!

    -t : 클래스 형의 유형 장착을 지정할 수있는 파일 시스템을 추가합니다. 일반적인 리눅스 지원 유형은 다음과 같습니다 XFS, EXT3, ext4가, ReiserFS를, VFAT, ISO9660 (CD 형식), NFS, CIFS, smbfs의 (네트워크 파일 시스템 유형으로 후자의 3 개)

    -n : 기본적의 경우, 시스템은 실제로 다른 프로그램의 작동을 촉진하기 위해 실시간 기록을 / etc / mtab 파일을 마운트합니다. 그러나, 문제를 방지하려면 (예 : 단일 유지 관리 모드로) 어떤 경우에는 의도적으로 기록되지 않습니다. 그럼 당신은 -n 옵션을 사용해야합니다.

    -o : 추가 매개 변수를 추가 할 때 다시는 마운트의 일부를 취할 수 있습니다! 하자의 계정, 암호, 읽기 및 쓰기 권한 등을 말한다

  언 마운트 [-fn] 파일명 또는 장치 마운트 포인트

  옵션 및 매개 변수 :

    -f : 강제로 마운트 해제! 시스템 (NFS)을 읽을 수 없습니다 네트워크 파일 같은 경우에 사용;

    -l : 즉시 -f보다 강한 파일 시스템을 마운트 해제!

    -n : 마에서의 / etc / mtab 파일 상황 제거 업데이트하지.

3.6 디스크 / 파일 시스템 매개 변수 개정

  방법은 문서에 메이저와 마이너 수정으로 파일명 [BCP [주요] 부 수치 실시를 mknod에

  옵션 및 매개 변수 :

    장치의 유형 :

      B : 장치 이름을 설정하면 파일 저장 디스크와 같은 주변 장치 등이된다;

      C : 마우스 / 키보드 등의 파일의 주변 입력 장치 이름으로 설정 수단;

      P : FIFO를 파일 이름으로 설정 수단;

    주요 : 주요 장치 코드

    마이너 : 보조 장치 코드

    디스크의 파일 이름         주요한         미성년자    
는 / dev / sda를 8 0-15
는 / dev / SDB 8 16-31
는 / dev / loop0에 (7) 0
는 / dev / loop1은 (7) 1

 

 

 

 

 

 

  

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

추천

출처www.cnblogs.com/zhouweijie/p/11754297.html