이번 포스팅은 Linux Storage(디스크) 관리에 관한 내용입니다.
목차
storage 관리-1
0. VMware 하드 추가
1. partition
2. file system (포멧)
3. mount
storage 관리-2
4. LVM
5. VMware 머신 생성 시 파티션 설정
storage 관리-3
6. Quota
<< 0. VMware로 하드 추가 >>
아래와 같이 centOS7 클릭 - virtual Machine Settings - add - Hard Disk 를 해서 Storage를 추가해 보자.
원하는 용량 만큼 할당 가능하다.
버츄얼 머신을 생성할때 처럼 용량 동적 할당을 할 것인지, 싱글 파일로 만들 것인지 여부를 묻는다.
편의를 위해 고정할당, 싱글 파일을 고르려면 아래와 같이 세팅하면 된다.
아래와 같이 10G 하드와 5G 하드가 생성된 것을 확인 가능하다.
<<디스크 상황을 확인하는 명령어>>
1. lsblk (자주씀)
2. cat /proc/partitions
3. fdisk -l
4. blkid
5. df -Th (자주씀)
6. free -h (위에것들로 swap 안보일 경우)
리눅스로 들어가서 lsblk (ls block) 으로 확인해 보면
sdb와 sdc가 새로 생긴 것을 확인할 수 있다.
sda는 기존에 쓰던 공간이고, 그 뒤로 추가될 때마다 디폴트 이름의 규칙이 알파벳 순이다.
참고로 sr0은 CDrom이다.
이전에 VMware에 iso 파일 설치할 때 CD롬에 파일을 넣고 부팅시 실행하는 과정을 했었는데
같은 방식으로 CD롬에 넣은 파일을 sr0를 마운트한 디렉토리에서 resd-only로 읽어낼 수 있다.
참고로 아래와같이 /dev/cdrom은 /dev/sr0을 가리키는 symbolic link다.
cat /proc/partitions 으로 확인한 상황
fdisk -l 으로 확인한 상황
참고로
- <<Storage의 종류>>
1.DAS(Diract Attached Storage)
케이블에 직접 연결돼있다.
IDE,SCSI,SATA
장점: 범용적으로 가장 많이사용, 저렴하다, 속도가 빠르다, 안정적이다.
단점: 원거리 설치 불가, 확장이 제한적이다(렉등)
2.NAS(Network Attached Storage or Network Area Storage)
100mbps~1Gbps 네트워크 환경에 구성된 Storage
장점: 저렴하다, 원거리 설치 가능, 구성이 쉽다, 확장성이 좋다
단점: 속도가 느리다, 병목 현상이 발생
3.SAN(Storage Area Network)
Fiber로 채널이 구성됨
16Gbps 속도 지원
별도의 SAN스위치 필요
Host 장비에는 HBA카드 필요
장점: 속도가 빠르다, 확장성이 좋다
단점: 엄청 비싸다, 구성이 어렵다
- <<파일 저장 형식>>
1.Block Storage
파일을 블록 단위로 저장
2.File Storage
File System을 이용해서 저장
3.Object Storage
파일별로 사이즈에 제한 없이 저장가능
중복 저장을 가용성을 최대한으로 확보
RestAPI 지원 (파일별로 rtl을 제공해서 이용 가능)
- <<HDD>>
1.Sector : 512byte, 0 sector (MBR : Master Boot Record)
파티션 정보, 부팅 가능여부
(Cluster라는 8개 Sector단위가 있다.)
- <<Disk 사용하는 순서>>
1.Windows
Partition -> File System -> 드라이브 할당
2.Linux
1. Partiton -> 2. File System -> 3. Mount
<< 1.partition >>
물리적인 디스크를 논리적으로 분할하는 것이다.
Disk를 사용하기 위해서는 반드시 1개 이상이 필요하다.
- MBR 방식
주(Primary) 는 4개까지만 생성 가능하다
주 파티션중 오로지 1개만 확장 파티션으로 생성 가능하다
확장 파티션은 다시 12개의 논리 파티션으로 분할 가능하다 - GPT 방식
단일 Partition이 2Tera Byte 이상이면 반드시 GPT 방식 필요하다
주파티션을 128까지 생성 가능하다
# fdisk [장치 경로]
-n : 새 파티션 추가
-p : 파티션 테이블을 출력 (만드는 중간에 확인 꼭 하기)
-w : 저장하고 나가기
-q : 나가기
-d : 파티션 삭제
-t : 파티션 시스템 id 변경
방금 전에 추가한 하드 sdb를 파티셔닝 해보자.
# fdisk /dev/sdb
1. 입력하면 뜨는 화면에서 n을 골라서 새 파티션을 추가한다.
2. p를 골라서 primary 파티션을 고른다.
3. 시작할 섹터를 입력하고 엔터 (그냥 엔터는 남은 최소 섹터 지정)
4. 끝날 섹터를 입력하고 엔터 (그냥 엔터는 남은 섹터 끝까지 지정)
5. -p로 원하는 대로 됐는 지 확인하고
6. -w로 저장
섹터를 지정할 때 +용량 을 입력해서 K,M,G 단위로도 지정 가능하다.
2047 sector까지는 LVM에 예약돼있어서 그 후부터 사용 가능하다.
lsblk로 확인해 보면 아래와 같이 sdb1로 파티션 트리가 분할되어있다.
<< 2. File System >>
파일 및 디렉토리(폴더)를 효과적으로 관리하는 시스템이다.
A-Z까지 비어있는 드라이브명을 자동or수동으로 할당 가능하다.
1. Windows
FAT16 -> FAT32 -> NTFS 순으로 발전
2. Linux
EXT2 -> EXT3 -> EXT4 ->XFS 순으로 발전
EXT3,4는 파일을 삭제할 때 log를 기록해서 속도가 느리다, 단 파일 을 복구할 수 있다. (저널리스트 파일)
(※참고로 USB에 용량이 충분한 데도 불구하고 4G 이상의 단일파일이 들어가지 않는 경우는
해당 USB의 파일 시스템이 FAT16~32 형식이라 그렇다.
인터넷에서 NTFS로 포멧하는 법을 검색해서 해결할 수 있다.)
mkfs (make file system)
두가지 방법이 있다.
# mkfs -t [file-system] [장치 경로]
# mkfs.[file-system] [장치 경로]
아래는 mkfs -t ext4 /dev/sdb1 를 입력한 결과이다.
blkid로 확인하면 맨 아랫줄에 ext4로 포멧된 것을 확인할 수 있다.
df -Th 를 통한 확인은 좀더 가시적이다.
file system을 해제하는 방법은 불가능해서 파티션을 삭제하는 단계에서 제거 가능하다.
<< 3. MOUNT >>
장치를 디렉토리와 연결하는 과정이다.
리눅스에서는 장치를 사용하기 위해서는 반드시 디렉토리와 연결하는 작업이 필요하다.
# mount [장치 경로] [디렉토리]
mount /dev/sdb1 /p1 으로 마운트 한 결과이다.
사실 위 마운트 명령어는 일시적인 것이고 시스템 셧다운 시 마운팅이 풀린다.
셧다운 시에도 유지할 수 있는 오토마운트는 아래에서 입력 가능하다.
# vi /etc/fstab
아래와 같이 입력하고 재부팅 해본다.
참고로 옵션은 아래와 같다.
-defaults = 일반적인 HDD로 사용 (거의 대부분 defaults로 사용)
.exec = 파일 실행 허용
.noexec = 파일 실행 허용하지 않음
.ro = 읽기 전용
.wr = 읽기 쓰기 모두 가능
.user = 일반 사용자도 사용 가능
.nouser = 일반 사용자는 사용 불가능
.nosuid = Set-UID , Set-GID사용 불가능
-첫번째 0 = dump를 사용하여 파일의 backup 사용 X
-첫번째 1 = dump를 사용하여 파일을 backup 사용 O
-두번째 0 = 재부팅시 fdisk의 점검 X
-두번째 1 = 재부팅시 /root의 파일 시스템 부터 점검
-두번째 2 = 재부팅시 /root 이외의 파일 시스템부터 점검
재부팅 후에도 마운트가 잘 돼있는 것을 확인 가능하다.
마운팅을 해제하는 방법은
# umount [마운트 디렉토리1] [마운트 디렉토리2]
'Linux' 카테고리의 다른 글
storage 관리-3 (Quota) (0) | 2022.11.01 |
---|---|
Storage 관리-2 (LVM) (0) | 2022.11.01 |
파일 속성 분석 (권한) (0) | 2022.10.31 |
사용자 계정 (0) | 2022.10.31 |
파일 압축 (compress) (0) | 2022.10.30 |