$ sudo cfdisk /dev/sda
Disk: /dev/sda
Size: 16 GiB, 17179869184 bytes, 33554432 sectors
Label: dos, identifier: 0xcf173747
Device Boot Start End Sectors Size Id Type
>> /dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 33554431 31455232 15G 8e Linux LVM
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Partition type: Linux (83) x
x Attributes: 80 x
xFilesystem UUID: 54a1f5a7-b8fa-4747-a87c-2dd635914d60 x
x Filesystem: xfs x
x Mountpoint: /boot (mounted) x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
[Bootable] [ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ]
[ Write ] [ Dump ]
표준 파티션에 의해 생성된 파티션은 하드 디스크의 리소스를 동적으로 조정할 수 없습니다. 파티션이 장착되고 용량이 완전히 고정되므로 서버에서 이러한 제약을 허용할 수 없습니다. 표준 파티션은 특정 기술적 수단을 통해 강제로 확장하거나 축소할 수 있지만 데이터 손실이 발생하기 쉽습니다. LVM은 이 문제를 아주 잘 해결할 수 있습니다. LVM은 커널 버전 2.4부터 Linux에서 사용할 수 있으며 주요 기능은 다음과 같습니다.
더 유연한 디스크 용량
온라인 데이터 이동
스트라이프 모드의 디스크
미러링된 볼륨(recopy)
볼륨 스냅샷(snapshot).
LVM의 원리는 매우 간단합니다:
물리 디스크(또는 디스크 파티션) 와 파일 시스템 사이에 논리적 추상화 계층이 추가됩니다.
여러 디스크(또는 디스크 파티션)를 볼륨 그룹(VG)으로 병합
Logical Volume(LV)이라는 것을 통해 기본 디스크 관리 작업을 수행합니다.
물리적 매체: LVM의 저장 매체는 전체 하드 디스크, 디스크 파티션 또는 RAID 어레이일 수 있습니다. 추가 작업을 수행하려면 장치를 LVM Physical Volume(PV) 으로 변환하거나 초기화해야 합니다.
PV(Physical Volume): LVM의 기본 스토리지 논리 블록입니다. 물리적 볼륨을 생성하려면 디스크 파티션이나 디스크 자체를 사용할 수 있습니다.
VG(Volume Group): 표준 파티션의 물리 디스크와 마찬가지로 VG는 하나 이상의 PV로 구성됩니다.
LV(Logical Volume): 표준 파티션의 하드 디스크 파티션과 마찬가지로 LV는 VG 위에 구축됩니다. LV에서 파일 시스템을 설정할 수 있습니다.
PE: 물리 볼륨에 할당할 수 있는 최소 스토리지 단위이며 기본값은 4MB 입니다. 추가 크기를 지정할 수 있습니다.
LE: 논리 볼륨에 할당할 수 있는 최소 스토리지 단위입니다. 동일한 VG에서 PE와 LE는 동일하며 일대일로 대응합니다.
단점은 물리 볼륨 중 하나가 고장나면 해당 물리 볼륨을 사용하는 모든 논리 볼륨이 손실된다는 것입니다. 이 경우 RAID 디스크에 LVM을 사용하는 것이 좋습니다.
참고
LVM은 운영 체제에서만 관리됩니다. 따라서 _BIOS_는 부팅을 위해 LVM이 없는 파티션이 하나 이상 필요합니다.
정보
물리적 디스크에서 가장 작은 저장 단위는 섹터입니다. 파일 시스템에서 GNU/Linux의 최소 저장 단위는 블록이며 Windows 운영 체제에서는 클러스터라고 합니다.; RAID에서 가장 작은 저장 장치는 청크입니다.
전체 디스크를 사용할 수도 있습니다(예: 가상 환경에서 디스크 크기 증가를 용이하게 함).
[root]# pvcreate /dev/hdb
pvcreate -- physical volume « /dev/hdb » 성공적으로 생성됨
# 다음과 같이 다른 방법으로도 쓸 수 있습니다. [root]# pvcreate /dev/sd{b,c,d}
[root]# pvcreate /dev/sd[b-d]1
옵션
설명
-f
볼륨 생성을 강제로 실행합니다(이미 물리 볼륨으로 변환된 디스크). 매우 주의하여 사용하세요.
데이터 블록의 크기는 파티션에서 사용 가능한 공간의 나머지에 해당합니다. 이 영역에는 각 디렉토리에 해당하는 카탈로그와 파일의 내용에 해당하는 데이터 블록이 포함됩니다.
파일 시스템의 일관성을 보장하기 위해 운영 체제가 로드될 때 슈퍼블록과 아이노드 테이블의 이미지가 메모리(RAM)에 로드되어 모든 I/O 작업은 이러한 시스템 테이블을 통해 수행됩니다. 사용자가 파일을 생성하거나 수정할 때, 이 메모리 이미지가 먼저 업데이트됩니다. 따라서 운영 체제는 정기적으로 논리 디스크의 슈퍼 블록을 업데이트해야 합니다(sync 명령).
이러한 테이블은 시스템이 종료될 때 하드 디스크에 기록됩니다.
위험
갑작스러운 중지가 발생하는 경우 파일 시스템은 일관성을 잃을 수 있으며 데이터 손실을 야기할 수 있습니다.
fsck 명령으로 SF 확인 시 순서 확인(0:no check, 1:priority, 2:not priority)
mount -a 명령을 사용하면 구성 파일 /etc/fstab의 내용에 따라 자동으로 마운트할 수 있으며 마운트된 정보는/etc/mtab에 기록됩니다.
주의
주의
재부팅 시 `/etc/fstab`에 나열된 마운트 지점만 마운트됩니다. 일반적으로 USB 플래시 디스크 및 이동식 하드 드라이브를 `/etc/fstab` 파일에 작성하는 것을 권장하지 않습니다. 외부 장치를 분리하고 재부팅하면 시스템에서 장치를 찾을 수 없다는 메시지가 표시되어 부팅이 실패할 수 있습니다. 그래서 어떻게 해야 할까요? 임시 마운트 예:
디렉토리인 경우 이 숫자는 숨겨진 디렉토리를 포함하여 해당 디렉토리에 있는 하위 디렉토리 수를 나타냅니다. 파일일 경우 하드링크의 개수를 나타내며 숫자 1이 1이면 하드링크가 1개, 즉 자신이 존재한다.
5
소유자 이름
6
그룹 이름
7
크기 (byte, kilo, mega)
8
마지막 업데이트 날짜
9
파일의 이름
GNU/Linux 세계에는 7가지 파일 유형이 있습니다.
파일 유형
설명
-
일반 파일을 나타냅니다. 일반 텍스트 파일(ASCII) 포함 바이너리 파일(바이너리); 데이터 형식 파일(데이터); 다양한 압축 파일.
d
디렉토리 파일을 나타냅니다.
b
블록 장치 파일입니다. 모든 종류의 하드 드라이브, USB 드라이브 등을 포함합니다.
c
문자 장치 파일입니다. 마우스, 키보드 등과 같은 직렬 포트의 인터페이스 장치입니다.
s
소켓 파일입니다. 네트워크 통신에 특별히 사용되는 파일입니다.
p
파이프 파일입니다. 특수 파일 유형이며 주요 목적은 동시에 파일에 액세스하는 여러 프로그램으로 인해 발생하는 오류를 해결하는 것입니다. 주요 목적은 동시에 파일에 액세스하는 여러 프로그램으로 인해 발생하는 오류를 해결하는 것입니다. FIFO는 선입 선출(first-in-first-out)의 약자입니다.
l
심볼릭 링크 파일이라고도 하는 소프트 링크 파일은 Windows의 바로 가기와 유사합니다. 물리 링크 파일이라고도 하는 하드 링크 파일.
각 디렉토리에는 . 및 ..의 두 개의 숨겨진 파일이 있습니다. 예를 들어 보려면 ls -al을 사용해야 합니다.
# . 예를 들어 현재 디렉터리에서 디렉터리의 스크립트를 실행해야 함을 나타냅니다. 일반적으로 다음과 같습니다:
Shell>./scripts
# .. 예를 들어 현재 디렉터리보다 한 수준 위의 디렉터리를 나타냅니다:
Shell>cd/etc/
Shell>cd..
Shell>pwd
/
# 빈 디렉터리의 경우 네 번째 부분은 2보다 크거나 같아야 합니다. 왜냐하면 "."와 ".."이 있기 때문입니다.
Shell>mkdir/tmp/t1
Shell>ls-ldi/tmp/t1
1179657drwxr-xr-x2rootroot4096Nov1418:41/tmp/t1
주변 장치(하드 디스크, 프린터...)와 통신하기 위해 Linux는 특수 파일 이라는 인터페이스 파일을 사용합니다(장치 파일 또는 특수 파일). 주변 장치로 식별할 수 있습니다.
이러한 파일은 데이터를 포함하지 않고 장치와의 통신에 대한 액세스 모드를 지정하는 특수한 이유로 특별합니다.
이들은 두 가지 모드로 정의됩니다:
차단 모드;
문자 모드.
206/5,000
번역결과
번역결과
# 블록 장치 파일
Shell>ls-l/dev/sda
brw-------1rootroot8,0jan11970/dev/sda
# 문자 장치 파일
Shell>ls-l/dev/tty0
crw-------1rootroot8,0jan11970/dev/tty0
이러한 파일은 동일한 물리적 파일에 여러 논리적 이름을 부여할 수 있는 가능성을 제공합니다. 따라서 파일에 대한 새 액세스 지점이 생성됩니다.
링크 파일에는 두 가지 유형이 있습니다.
심볼릭 링크 파일이라고도 하는 소프트 링크 파일.
물리적 링크 파일이라고도 하는 하드 링크 파일.
주요 기능은 다음과 같습니다.
링크 유형
설명
소프트 링크 파일
Windows의 바로 가기와 유사한 바로 가기를 나타냅니다. 777의 권한을 갖고 원본 파일을 가리킵니다. 원본 파일이 삭제되면 연결된 파일과 원본 파일이 빨간색으로 표시됩니다.
하드 링크 파일
일반 파일을 나타냅니다. 원본 파일은 하드 링크된 파일과 동일한 inode 번호를 가집니다. 파일 내용 및 수정 시간을 포함하여 동기적으로 업데이트될 수 있습니다. 파티션을 넘어갈 수 없으며 파일 시스템을 넘어갈 수 없습니다. 디렉터리에 사용할 수 없습니다.
구체적인 예는 다음과 같습니다.
# 권한 및 해당 권한이 가리키는 원본 파일
Shell>ls-l/etc/rc.locol
lrwxrwxrwx1rootroot13Oct2515:41/etc/rc.local->rc.d/rc.local
# 원본 파일을 삭제할 때. "-s"는 소프트 링크 옵션을 나타냅니다. Shell > touch /root/Afile
Shell>ln-s/root/Afile/root/slink1
Shell>rm-rf/root/Afile
Shell>cd/home/paul/
Shell>ls–liletter
666–rwxr--r--1rootroot…letter
# ln 명령은 하드 링크를 나타내는 옵션을 추가하지 않습니다. Shell > ln /home/paul/letter /home/jack/read# 하드 링크의 본질은 서로 다른 디렉토리에 있는 동일한 inode 번호의 파일 매핑입니다.
Shell>lsàli/home/*/*
666-rwxr--r--2root…letter
666-rwxr--r--2root…read# 디렉토리에 대한 하드 링크를 사용하는 경우 다음 메시지가 표시됩니다. Shell > ln /etc/root/etc_hardlink
ln:/etc:hardlink不允许用于目录
/etc/login.defs 파일은 022 값으로 기본 UMASK를 정의합니다. 이것은 파일을 생성할 수 있는 권한이 755(rwxr-xr-x) 임을 의미합니다. 그러나 보안상의 이유로 GNU/Linux는 새로 생성된 파일에 대한 x 권한이 없으며 이 제한은 루트(uid=0) 및 일반 사용자(uid>=1000)에게만 적용됩니다.
# root 사용자
Shell>toucha.txt
Shell>ll
-rw-r--r--1rootroot0Oct813:00a.txt