Linux에서 저장 장치에 대한 기본 관리 작업을 수행하는 방법
소개
Linux에서 스토리지를 관리하는 데 사용할 수 있는 많은 도구가 있습니다. 그러나 일상적인 유지 관리 및 관리에는 소수만이 사용됩니다. 이 안내서에서는 마운트 지점, 저장 장치 및 파일 시스템을 관리하기 위해 가장 일반적으로 사용되는 유틸리티 중 일부를 검토합니다.
기타 리소스
이 가이드에서는 Linux 시스템에서 처음 사용할 저장 장치를 준비하는 방법은 다루지 않습니다. Linux에서 블록 장치 분할 및 포맷에 대한 이 가이드는 스토리지를 아직 설정하지 않은 경우 원시 스토리지 장치를 준비하는 데 도움이 됩니다.
스토리지를 논의하는 데 사용되는 일부 용어에 대한 자세한 내용은 스토리지 용어에 대한 이 문서를 읽어보십시오.
df로 스토리지 용량 및 사용량 찾기
종종 시스템의 저장소에 대해 필요한 가장 중요한 정보는 연결된 저장소 장치의 용량과 현재 사용률입니다.
총 사용 가능한 스토리지 공간을 확인하고 드라이브의 현재 사용률을 보려면 df 유틸리티를 사용하십시오. 기본적으로 이는 측정값을 1K 블록으로 출력하므로 항상 유용한 것은 아닙니다. 사람이 읽을 수 있는 단위로 출력하려면 -h
플래그를 추가하십시오.
- df -h
OutputFilesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
/dev/sda1 99G 60M 94G 1% /mnt/data
/
에 마운트된 /dev/vda1
파티션은 6% 가득 차 있고 18G의 사용 가능한 공간이 있는 반면 /dev/sda1
> /mnt/data
에 마운트된 파티션은 비어 있고 94G의 사용 가능한 공간이 있습니다. 다른 항목은 tmpfs
또는 devtmpfs
파일 시스템을 사용하는데, 이는 영구 저장 장치인 것처럼 사용되는 휘발성 메모리입니다. 다음을 입력하여 이러한 항목을 제외할 수 있습니다.
- df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/sda1 99G 60M 94G 1% /mnt/data
이 출력은 일부 의사 장치 및 특수 장치를 제거하여 현재 디스크 사용률을 보다 집중적으로 표시합니다.
lsblk로 블록 장치에 대한 정보 찾기
블록 장치는 특정 크기의 블록에서 읽거나 쓰는 저장 장치에 대한 일반적인 용어입니다. 이 용어는 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD) 등 거의 모든 유형의 비휘발성 스토리지에 적용됩니다. 블록 장치는 파일 시스템이 기록되는 물리적 장치입니다. 파일 시스템은 데이터와 파일이 저장되는 방식을 결정합니다.
lsblk 유틸리티를 사용하여 블록 장치에 대한 정보를 표시할 수 있습니다. 유틸리티의 특정 기능은 설치된 버전에 따라 다르지만 일반적으로 lsblk
명령을 사용하여 드라이브 자체에 대한 정보와 파티션 정보 및 작성된 파일 시스템을 표시할 수 있습니다. 그것에.
인수가 없으면 lsblk
는 장치 이름, 장치와 관련된 주 번호 및 부 번호(드라이버 및 장치를 추적하기 위해 Linux 커널에서 사용), 드라이브가 이동식인지 여부, 크기, 읽기 전용으로 마운트되었는지 여부, 유형(디스크 또는 파티션) 및 마운트 지점. 일부 시스템에서는 이를 올바르게 표시하려면 sudo
가 필요합니다.
- sudo lsblk
OutputNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
vda 253:0 0 20G 0 disk
└─vda1 253:1 0 20G 0 part /
표시되는 출력 중에서 가장 중요한 부분은 일반적으로 /dev
아래의 장치 이름, 크기, 유형 및 마운트 지점을 나타내는 이름입니다. 여기서 단일 파티션(/dev/vda1
)이 /
로 사용되는 하나의 디스크(/dev/vda
)가 있음을 알 수 있습니다. code> 파티션과 파티션되지 않은 다른 디스크(/dev/sda
).
디스크 및 파티션 관리와 관련된 정보를 얻으려면 일부 버전에서 --fs
플래그를 전달할 수 있습니다.
- sudo lsblk --fs
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
vda
└─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /
시스템에서 --fs
플래그를 사용할 수 없는 경우 -o
플래그를 사용하여 특정 출력을 요청하여 수동으로 출력을 복제할 수 있습니다. -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
를 사용하여 동일한 정보를 얻을 수 있습니다.
디스크 토폴로지에 대한 정보를 얻으려면 다음을 입력하십시오.
- sudo lsblk -t
OutputNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sda 0 512 0 512 512 1 deadline 128 128 2G
vda 0 512 0 512 512 1 128 128 0B
└─vda1 0 512 0 512 512 1 128 128 0B
디스크 및 파티션에 대한 관련 특성을 표시하는 데 사용할 수 있는 다른 많은 단축키가 있습니다. -O
플래그로 사용 가능한 모든 열을 출력하거나 -o
플래그로 열 이름을 지정하여 표시할 필드를 사용자 정의할 수 있습니다. -h
플래그를 사용하여 사용 가능한 열을 나열할 수 있습니다.
- lsblk -h
Output. . .
Available columns (for --output):
NAME device name
KNAME internal kernel device name
. . .
SUBSYSTEMS de-duplicated chain of subsystems
REV device revision
VENDOR device vendor
For more details see lsblk(8).
파일 시스템 마운트 작업
새 디스크를 사용하려면 일반적으로 디스크를 분할하고 파일 시스템으로 포맷한 다음 드라이브 또는 파티션을 마운트해야 합니다. 파티셔닝 및 포맷은 일반적으로 일회성 절차입니다. Linux에서 저장 장치를 분할하고 포맷하는 방법에서 Linux로 드라이브를 분할하고 포맷하는 방법에 대한 자세한 내용을 확인할 수 있습니다.
마운팅은 더 자주 수행할 수 있는 작업입니다. 파일 시스템을 마운트하면 선택한 마운트 지점에서 서버에서 사용할 수 있습니다. 마운트 지점은 새 파일 시스템에 액세스할 수 있는 디렉토리입니다.
마운팅을 관리하는 데 주로 사용되는 두 개의 보완 명령인 mount
및 umount
. mount
명령은 파일 시스템을 현재 파일 트리에 연결하는 데 사용됩니다. Linux 시스템에서는 구성된 물리적 장치 수에 관계없이 전체 시스템에 단일 통합 파일 계층이 사용됩니다. umount
명령(참고: unmount
가 아니라 umount
임)는 파일 시스템을 마운트 해제하는 데 사용됩니다. 또한 findmnt
명령은 마운트된 파일 시스템의 현재 상태에 대한 정보를 수집하는 데 유용합니다.
마운트 명령 사용
마운트
를 사용하는 가장 간단한 방법은 포맷된 장치 또는 파티션과 연결될 마운트 지점을 전달하는 것입니다.
- sudo mount /dev/sda1 /mnt
파일 계층 구조에서 새 파일 시스템이 연결되어야 하는 위치를 지정하는 마지막 매개변수인 마운트 지점은 거의 항상 빈 디렉토리여야 합니다.
일반적으로 마운트할 때 더 구체적인 옵션을 선택하려고 합니다. mount
가 파일 시스템 유형을 추측하려고 시도할 수 있지만 거의 항상 -t
옵션을 사용하여 파일 시스템 유형을 전달하는 것이 좋습니다. Ext4 파일 시스템의 경우 다음과 같습니다.
- sudo mount -t ext4 /dev/sda1 /mnt
파일 시스템이 마운트되는 방식에 영향을 미치는 다른 많은 옵션이 있습니다. 마운트 매뉴얼의 FILESYSTEM INDEPENDENT MOUNT OPTIONS 섹션에서 찾을 수 있는 일반 마운트 옵션이 있습니다.
-o
플래그와 함께 다른 옵션을 전달합니다. 예를 들어 기본 옵션(rw,suid,dev,exec,auto,nouser,async
을 나타냄)으로 파티션을 마운트하려면 -o defaults
. 읽기-쓰기 권한을 재정의하고 읽기 전용으로 마운트해야 하는 경우 나중에 옵션으로 ro
를 추가할 수 있습니다. 그러면 에서
옵션:rw
가 재정의됩니다. 기본값
- sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt
/etc/fstab
파일에 설명된 모든 파일 시스템을 마운트하려면 -a
옵션을 전달할 수 있습니다.
- sudo mount -a
파일 시스템 마운트 옵션 나열
특정 마운트에 사용되는 마운트 옵션을 표시하려면 findmnt
명령을 사용하십시오. 예를 들어 findmnt
를 사용하여 위의 예에서 읽기 전용 마운트를 보면 다음과 같이 표시됩니다.
- findmnt /mnt
OutputTARGET SOURCE FSTYPE OPTIONS
/mnt /dev/sda1 ext4 ro,relatime,data=ordered
이것은 여러 옵션을 실험하고 마침내 마음에 드는 세트를 발견한 경우에 유용할 수 있습니다. findmnt
와 함께 사용 중인 옵션을 찾을 수 있으므로 향후 마운트를 위해 /etc/fstab
파일에 추가하기에 적합한 항목을 알 수 있습니다.
파일 시스템 마운트 해제
umount
명령은 주어진 파일 시스템을 마운트 해제하는 데 사용됩니다. 다시 말하지만 이것은 마운트 해제
가 아니라 마운트 해제
입니다.
명령의 일반적인 형식은 현재 마운트된 파일 시스템의 마운트 지점 또는 장치의 이름을 지정하는 것입니다. 마운트 지점에서 파일을 사용하고 있지 않고 마운트 지점 내부에서 작동하는 응용 프로그램(현재 셸 포함)이 없는지 확인하십시오.
- cd ~
- sudo umount /mnt
일반적으로 기본 마운트 해제 동작에 추가할 옵션이 없습니다.
결론
이 목록이 완전한 것은 아니지만 이러한 유틸리티는 일상적인 시스템 관리 작업에 필요한 대부분을 포함해야 합니다. 몇 가지 도구를 배우면 서버에서 저장 장치를 처리할 수 있습니다.