(1)Storage 종류
(2)Storage 저장 방식
(3) VMware Workstaion에서의 Block Storage
(4) 디스크 사용방법 및 설치
(5) LVM(Logical Volume Manager)
1. Storage 종류
 1. DAS(Direct Attach Storage)
   - IDE, SCSI, SATA
   - 원격지 설치 불가능, 물리적인 Machine 내장 혹은 최대 1M정도를 넘지 않는 곳에 설치
   - 물리적인 연결매체의 최대 유효거리를 넘지 못한다(단점)
   - 파일 시스템 공유가 불가능(단점)
   - 안정적이며 속도가 빠르다(장점)
   - 비용이 저렴하다(장점)
 2. NAS(Network Area Storage)
   - 통상적으로 Network 환경내에 구성
   - 속도는 10Mbps~Gbps
   - 원격지 설치 가능
   - NFS
   - 저럼하며 구성이 쉽다(장점)
   - 네트워크에 병목이 생기면 속도 저하 발생(단점)
   - 사용자가 늘어나도 속도 저하 발생(단점)
   - 파일시스템 공유 가능(장점)
 3. SAN(Storage Area Network)
   - Storage 환경내에 구성한 네트워크
   - Fiver Channel 구성됨
   - Storage용 전용 Switch와 HBA(Server) 카드 
   - 속도는 통상 16Gbps
   - 원격지 설치 가능, 파일시스템 공유 가능(장점)
   - 너무 비싸다(단점)
2. Storage 저장 방식
 1. Block Storage (AWS EBS : Elactic Block Storage)
   - 실제 물리적으로 Block 형태(Harddisk 생각하세요)
   - 실제 Machine에서 다른 Machine으로 물리적 이동 가능
   - Cloud & Virtualization에서도 VM간 이동 가능
   - Block 단위로 저장됨
 2. Object Storage (AWS S3 : Simple Storage Service)
   - 개별 파일 형태로 저장
   - 개별 파일마다 URL이 부여됨. 이를 Rest API라 부른다
   - URL을 이용하여 파일을 이용(파일명이 아닌 URL을 이용함에 주의)
   
3. VMware Workstaion에서의 Block Storage
 1. 실제 Linux Machine과 동일하게 동작
 2. SDA 분석
   - SD :  scsi or sata 디스크를 의미함
       *참고: HD : IDE 방식의 디스크 의미, 이제는 거의 찾아볼 수 없음
   - A : 물리적으로 첫번째디스크를 의미함
   - 1 : 첫번째 파티션을 의미
 3. 물리적으로 디스크가 3개 있는 경우는. 파티션 작업 이전
   - SDA, SDB, SDC
 4. 첫번째 디스크를 3개로 파티션을 나눈 경우
   - SDA1, SDA2, SDA3
4. Linux에서 디스크를 사용하기
 0. Partition -> File System -> 드라이브명 할당 (윈도우)
 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에서는 물리적인 장치를 사용하기 위해서는 반드시 디렉토리와 연결해야 한다
                이를 마운트라고 한다.
       * umount : mount를 해제하는 명령어
2. 파티션 분할 실습 하기
1. Work Station 환경에서 Hard disk 추가하기





2-1. [lsblk] 명령어로 디스크 설치 확인

2-2. [fdisk -l] 명령어로 디스크 설치 확인

2-3. [cat /proc/partitionas] 명령어로 파티션 확인 가능

* 윈도우에서 파티션 확인


3. [fdisk /dev/sdb] 명령어로 디스크 파티션을 할당

4. 옵션 m을 사용해 명령어 확인 가능

5. n옵션을 사용해 새로운 파티션 생성

6. p옵션으로 성공적인 파티션 생성 확인

7. w옵션으로 파티션 생성 저장 후 나가기

8. /dev/sdc 디스크도 sdb 디스크와 동일하게 파티션 진행

9. 생성한 파티션 확인


10. 디스크 사용을 위해 파일 시스템으로 변환
- [mkfs -t /dev/디스크명]
- [mkfs.etx4 /dev/디스크명]


11. [blkid] 명령어로 파일시스템 확인

12. 장치 사용을 위해 디렉토리랑 연결(mount)
* 기존 폴더 안에 파일이 있더라도 디스크로 마운트 한 후에는 디스크 내용물 출력




13. 하나의 디스크를 2개로 파티셔닝



14. 위의 10.번과 동일하게 파일시스템을 생성과 마운트를 진행 후 확인

15. 파티션 제거를 위해서는 umount 후 fdisk의 d 옵션으로 제거
* 반드시 파티션 내부에서 나와서 루트 홈디렉토리에서 진행해야함

16. [lsblk] 명령어로 파티션 제거 확인

5. LVM(Logical Volume Manager)
 - Linux는 Mount라는 특수한 개념때문에 디스크 확장 작업
    이런 약점을 극복하고자 디스크 상위에서 디스크를 관리하는 LVM이라는 논리적인 개념을 도입
    여러 물리적인 디스크를 하나의 논리적인 디스크로 통합해서 사용이 가능하다.
 -  파티션 생성 시 반드시 Linux LVM (8e) System ID 변경할 것 (t 옵션을 사용하여 8e로 변경)
<pv명령어>
[pvcreate 장치명]   
[pvscan]
[pvdisplay]
[pvremove 장치명] 
<vg명령여>
[vgcreate  vg이름 pv명1 pv명2 ...]  
[vgextend 기존vg이름 추가할pv명1 추가할pv명2 ... ]  
[vgscan]
[vgdisplay]
[vgremove vg이름]  
<lv명령어>
[lvcreate -L 목표용량 -n lv명 vg명]  
[lvremove lv명 /dev/vg명/lv명] 
[lvextend -L +추가할용량 lv명] 
[             -L 목표용량 lv명]                     
<용량 확장 후 적용>
[resize2fs /dev/vg명/lv명] : ext 타입의 파일시스템에 사용
[xfs_growfs /dev/vg명/lv명] : xfs 타입의 파일시스템에 사용
<LVM 생성 실습 해보기>
1. sdb를 파티셔닝

2. t옵션을 사용해 /dev/sdb1을 LVM 시스템아이디로 변경 (확인 후 w로 저장)

3. [lsblk] 명령어로 파티션 생성 확인

4. [pvcreate] 명령어로 pv(Physical volume) 생성

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

6. [vgcreate] 명령어로 vg(Volume group) 생성 후 확인

7. [lvcreate] 명령어로 개별 파티션 생성 후 확인


8. 파티션 사용을 위해 파일시스템 생성. (2개는 ext4타입, 1개는 xfs 타입)



9. [blkid] 명령어로 생성한 파일시스템 확인

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


<LVM 용량 확장 실습>
- 디스크의 용량이 가득 찼을 때 1GB 씩 추가하고자 하지만 현재 vg에 남은 용량이 없으면 다른 disk를 vg에 넣어 용량을 추가해줍니다.
1. [vgdisplay] 명령어를 이용해서 vg에 남아있는 용량 확인

2. [lsblk] 명령어를 사용해서 여유있는 disk 확인

3. sdc 디스크를 LVM으로 생성

4. [pvcreate] 명령어로 pv 생성 후 [pvscan] 명령어로 확인

5. [pvextend] 명령어를 사용해 jwoh vg에 sdc1을 추가

6. [vgdisplay] 명령어를 사용해 추가된 VG 용량 확인


7. [lvextend] 명령어를 사용해 기존 파티션에 용량 추가 후 확인



8. df -Th 명령어로 확인

9. [resize2fs] 명령어와 [xfs_growfs] 명령어를 통해 파일 확장을 적용시키기


10. [df -Th] 명령어를 사용해 적용 확인하기

<LVM 제거 실습>
- LVM 생성 과정을 거꾸로 진행
1. 마운트 해제

2. [lvremove] 명령어를 사용해 lv 제거 후 확인

3. vg로 넘어간 lv의 용량 확인

4. [vgremove] 명령어를 사용해 lv 삭제 후 확인

5. [pvscan] 명령어로 pv 확인

6. [pvremove] 명령어를 사용해 /dev/sdb1, /dev/sdc1 삭제 후 확인

7. [fdisk] 명령어를 사용해 파티션 제거


8. [lsblk] 명령어로 파티션 제거 확인

| [Linux] Linux ACL (Access Control List) | 명령어 | 옵션 | 실습 (0) | 2022.02.24 | 
|---|---|
| [Linux] Linux 디스크 관리 (2) 파티션 분할 설치(swap, /, /boot, /home) | LVM 실습 (0) | 2022.02.24 | 
| [Linux] Linux /etc/shadow 분석 & 관련 명령어 | /etc/default/useradd | /etc/skel | /etc/login.defs (0) | 2022.02.22 | 
| [Linux] Linux 사용자 및 그룹 관리 | useradd, usermod 명령어 (0) | 2022.02.22 | 
| [Linux] Linux vi 편집기 | 기본명령어 (0) | 2022.02.22 |