0. 목차
1. Storage 종류
2. Storage 저장 방식
3. VMware Workstation에서의 Block storage
4. 디스크 사용법 및 설치
5. LVM(Logical Volume Manager)
--------------------------------------------------------------------------------------------------------------------------------
1. Storage 종류 ( 연결 방식)
1.1. DAS ( Direct Attach Stroage)
- IDE, SCSI, SATA
- 원격지 설치 불가능, 물리적인 Machine 내장 혹은 최대 1M정도를 넘지 않는 곳에 설치
- 물리적인 연결메체의 최대 유효거리를 넘지 못한다.
- 안정적이며 속도가 빠르다. 안정적.
- 비용이 저렴하다.
- 파일 시스템 공유는 불가능하다.
1.2. NAS (Network Area Stroage)
- 통상적으로 Network 환경내에 구성
- 속도는 100mbps~1Gbps
- 원격지 설치 가능
- NFS
- 저렴하며 구성이 쉽다.
- 네트워크에 병목이 생기면 속도 저하 발생.
-사용자가 늘어나도 속도 저하 발생.
-파일 시스템 공유 가능.
1.3. SAN ( Storage Area Network)
- storage 환경내에 구성한 네트워크
- Fiver Channel 구성됨.
- Storage용 전용 Switch, HBA(Server) 카드
- 속도는 통상 16Gbps
- 원격지 설치 가능, 파일 시스템 공유 가능
- 너무 비싼 가격.
2. storage 저장방식
2.1. Block Storage( AWS EBS : Elastic Block Storage, 단 OS가 설치된 DISK는 이동 불가 )
- 실제 물리적으로 Block 형태 (Harddisk 생각)
- 실제 Machine에서 다른 Machine으로 물리적 이동 가능
- Cloud & Virtualization에서도 VM간 이동 가능
- Block 단위로 저장됨.
2.2. Object Storage (AWS S3 : Simple Storage Service)
- 개별 파일 형태로 저장
- 개별 파일마다 URL이 부여됨. 이를 Rest API라 부른다.
- URL을 이용하여 파일을 이용(파일명이 아닌 URL을 이용하에 주의)
3. VMware Workstation에서의 Block storage
3.1. 실제 Linux Machine과 동일하게 동작
3.2. SDA 분석
- SD : scsi or sata 디스크를 의미함
- HD : IDE 방식의 디스크 의미, 이제는 거의 찾아볼수 없음
* 참고 -> HD : IDE 방식의 디스크 의미, 이제는 거의 찾아볼 수 없음
- A : 물리적으로 첫번째 디스크를 의미함.
- 1 : 첫번째 파티션을 의미
3.3. 물리적으로디스크가 3개 있는 경우는. 파티션 작업 이전
- SDA, SDB, SDC
3.4. 첫번째 디스크를 3개로 파티션을 나눈 경우
- SDA1, SDA2, SDA3
4. 디스크 사용법 및 설치
4.0. (윈도우) partition -> File System -> 드라이브명 할당.
4.1. (리눅스) partition -> File System -> Mount
- partition : 물리적인 디스크를 논리적으로 분할
* 디스크를 사용하기 위해서는 반드시 1개 이상의 partition을 생생해야만 한다.
- File System : 파일 및 디렉토리를 효율적으로 관리하기 위한 시스템
* 리눅스 : xfs, ext4, ext3, ext2
ext3-4 journaling ( 저널링 : 파일을 삭제할 경우 log 기록을 생성 후 삭제.
해당 log로 파일 복원 가능)
ext3의 느린 속도를 개선한 것이 ext4
* 윈도우 : NTFS, FAT32, FAT13
- mount : Linux에서는 물리적인 장치를 사용하기 위해서는 반드시 디렉토리와 연결해야한다.
이를 마운트라고 한다.
4.2. 워크스테이션 디스크 생성
- 가상 머신 설정을 통하여 Hard disk 추가 과정 진행




- 리눅스의 명령어를 통해 디스크 설치 확인
1) lsblk 명령어

2) fdisk -l 명령어

3) cat /proc/partitoins 명령어

* 윈도우 파티션 확인 방법


4.4. 리눅스 환경 디스크 관리
- fdisk /dev/디스크 : 명령어를 통하여 디스크를 관리한다.


- 옵션 m : 명령어를 보여준다.
아래의 명령어 중 n, p, w, d, t를 많이 사용한다.

- 옵션 n : 새로운 파티션을 생성하는 명령어
-> partition type : primary와 extended로 선택되며, 최대 primary 3개 + extended 1개로 구성
-> partition number : 파티션의 번호 부여
-> First sector : 디스크의 첫번째 섹터를 부여
-> last sector : 디스크의 마지막 섹터를 부여, 파티션을 여러 개 사용할 경우 섹터를 끝까지 적용x

- 옵션 p : 파티션을 보여주는 명령어


- 옵션 w : 생성한 파티션을 적용

- 생성한 파티션을 확인. 디스크 출력 명령어를 이용하여 확인

- 디스크 사용을 위해서는 첫째로 파일 시스템으로 만들어야한다.
-> 1) mkfs -t 형식 /dev/디스크
2) mkfs.ext4 /dev/디스크


-> blkid 명령어로 확인

- 디스크 사용을 위해서는 마지막으로 디스크를 디렉토리에 mount를 해야한다.
-> 폴더 안에 파일이 있더라도 디스크로 마운트하게 되면 기존 파일이 아닌 디스크 내용을 출력
-> 위에서 만든 sdb1과 sdc1을 각각 /test1 /test2 디렉토리에 마운트와 내용물 확인







- 10G를 5G두개로 파티셔닝
-> firstsector와 last sector을 조정함하고 n옵션을 통해 파티션 두개 생성 ( sdb1


-> w로 저장 후 lsblk로 확인하면 정상적으로 sdb1과 sdb2가 생성됨

-> 이 후 파일시스템 생성과 마운트를 진행하면 사용이 가능한 공간이 생성

- 파티션을 제거하기 위해서는 umount -> fdisk의 d옵션을 통해 제거
-> 파일의 내부가 아닌 루트 홈디렉토리에서 진행


5. LVM(Logical Volume Manager)
- Linux는 Mount라는 특수한 개념때문에 디스크 확장 작업의 난이도가 높다.
이런 약점을 극복하고자 디스크 상위에서 디스크를 관리하는 LVM이라는 논리적인 개념을 도입
여러 물리적인 디스크를 하나의 논리적인 디스크로 통합해서 사용이 가능하다.
- 파티션 생성 시 반드시 Linux LVM (8e) System ID 변경할 것 => t 옵션을 사용
5.1. pv 관련 명령어
- pvcreate : PV 생성 , fdisk로 만들어진 파티션을 pv로 생성
- pvremove : PV 제거
- pvscan : pv의 모든 디스크 스캔
- pvdisplay : pv 속성 출력
- pvs : pv 정보 출력
5.2. vg 관련 명령어
- vgcreate : VG 생성
- vgextend : VG 확장
- vgscan : vg의 모든 디스크 스캔
- vgdisplay : vg의 속성 출력
- vgs : vg 정보 출력
- vgremove : VG 제거
5.3. lv 관련 명령어
- lvcreate -L 용량 -n : LV 생성
- lvremove : LV 제거
- lvextend -L 용량: LV 용량 확장
+용량G : 용량만큼 추가 , 용량G : 용량이 되는 만큼 추가
5.4. 용량 확장 후 적용
- resize2fs : ext 파일시스템 타입의 lv 사이즈 재조정
- xfs_growfs : xfs 파일시스템 타입의 lv 사이즈 재조정
5.5. lvm 생성 실습 과정
- sdb를 파티셔닝. 이때 lvm으로 이용하기 위해 -t 옵션을 통해 리눅스 lvm 시스템 아이디로 변경한다.


- lsblk로 확인하면 sdb1이 정상적으로 생성됨을 확인.

- pvcreate 명령어를 통해 sdb1으로 pv를 생성.

- pv가 제대로 생성되었는지 확인


- vgcreate를 명령어로 sdb1파티션을 이용하여 sdkim이름을 가진 vg 생성.

- lvcreate 명령어를 통해 3G 용량을 가진 파티션 3개 생성.


- 파티션을 사용하기 위해서 파일시스템 생성. 2개는 ext4 타입, 1개는 xfs 타입으로 생성.



- blkid 명령어를 통해 파일 시스템 확인

- 파티션 사용을 위해 mount 후 확인.


5.6. lvm 용량 확장 실습
- 파티션에 용량을 추가하려고 하지만 vg sdkim의 용량이 부족.


- sdc를 lvm ID를 가진 파티션으로 생성.

- sdc1을 이용하여 pv 생성 후 확인

- pvextend 명령어를 이용하여 VG sdkim에게 sdc1을 추가 후 확인



- lvextend -L 명령어를 통해 각각의 lvm 파티션에게 용량 확장 후 확인.



- 하지만 df -Th 명령어를 이용하여 확인하면 용량 확정이 적용되지않음.

- resize2fs 명령어와 xfs_growfs 명령어를 통해 용량확장된 파티션을 재적용


- 확인을 통해 용량 확장이 적용됨을 알 수 있음.

5.7. lvm 제거 실습 과정
- lvm을 제거하기 위해서는 생성과정을 거슬러 올라가며 지운다.
마운트해제 -> lv 제거 -> vg 제거 -> pv 제거 -> 파티션 제거
- 마운트 제거 후 sdkim1,2,3 lv 제거, lvscan을 통해 제거 확인.

- vg skim을 제거 후 확인.

- pv /dev/sdb1,sdc1을 제거.

- fdisk를 통해 sdb와 sdc의 생성된 파티션을 제거.


-lsblk로 확인

'리눅스' 카테고리의 다른 글
| 10. ACL (0) | 2022.02.24 |
|---|---|
| 9. 디스크 관리(2) (0) | 2022.02.23 |
| 7. 사용자 및 그룹 관리 (2) (0) | 2022.02.21 |
| 6. 사용자 및 그룹 관리 (1) (0) | 2022.02.20 |
| 5. 파일 및 디렉토리 권한 (0) | 2022.02.19 |