OS 기술/Linux 디스크 추가하여 LVM 생성 및 확장
1. 파티션 생성
1) 디스크가 OS에서 인식이 되는지 확인
명령어 : fdisk -l
명령어 : lsblk
각 디스크에 파티션 생성이 안된것 확인
![](https://blog.kakaocdn.net/dn/pSXL7/btr24jjPk3v/OBHrlKS2EuFcyvKqxQGjn0/img.png)
2) 빈 디스크를 fdisk로 파티션 생성 (주의! 2TB가 넘는 파티션 생성시에는 명령어가 다름)
![](https://blog.kakaocdn.net/dn/bu2QpB/btr22ORLbTy/JtPSvQEYTTBUiluUmkUTDk/img.png)
3) 디스크 파티션 타입을 LVM으로 지정. 나중에 용량 증설 편의를 위함
![](https://blog.kakaocdn.net/dn/cY7mVr/btr3cCaFlr5/DOS6cBuZiQkMNkXsFouTq0/img.png)
4) 파티션 설정이 완료되면 저장하고 fdisk 종료
![](https://blog.kakaocdn.net/dn/bQ4Uu6/btr3cIBP5ZG/oklhS7csIaEbPPaJ8yG920/img.png)
참고)) 파티션 타입
![](https://blog.kakaocdn.net/dn/b5oJch/btr3cKsTaIt/Aropfm5b5libmvRZJk7zqk/img.png)
2. LVM 생성 (PV,VG,LV)
1) LVM 생성시 PV, VG, LV 3가지만 확인하면 됨
PV : 물리 볼륨 (Physical Volume)
VG : 볼륨 그룹 (Volume Group)
LV : 논리 볼륨 (Logical Volume)
- PV를 만들고 VG에 그루핑 후 VG를 이용하여 LV 생성
2) 각 항목의 설정 상태 확인
- PV 상태 확인 명령어 : pvdisplay (간단히 보려면 pvs)
![](https://blog.kakaocdn.net/dn/dvBo1W/btr3algRPgO/XHPLJKRcDoy7TgQmlmioc1/img.png)
- VG 상태 확인 명령어 : vgdisplay (간단히 보려면 vgs)
![](https://blog.kakaocdn.net/dn/bS7FZY/btr29IQW5Ja/JZD6gfJ8YEzuYDU879GKoK/img.png)
- LV 상태 확인 명령어 : lvdisplay (간단히 보려면 lvs)
![](https://blog.kakaocdn.net/dn/brTjW2/btr3akh0Kam/DV5RjlOmhczRy0DujkmSVK/img.png)
3. LVM 생성
1) 실제로 사용할 볼륨을 생성
2) PV 생성
- 앞서 생성한 디스크를 이용해서 PV 생성 (/dev/sdb1)
명령어 : pvcreate 디스크
- PV생성 이후 디스크 용량이 잘 반영됬는지 확인
![](https://blog.kakaocdn.net/dn/InbuY/btr3cdvmNqI/nKIuYUFRTZF1sQqSoYBkJK/img.png)
3) VG 생성
- 볼륨그룹 생성하며 앞서 생성한 PV를 그룹에 넣기
명령어 : vgcreate 그룹명 디스크(PV)
- 생성한 볼륨그룹에 속한 PV만큼의 용량이 할당됬는지 확인
![](https://blog.kakaocdn.net/dn/GuzFH/btr3aAEPUBT/HfMRK4DV8rt4e2ag8d3XE1/img.png)
4) LV생성
- 생성한 볼륨 그룹에서 LV에 용량 할당
전체 용량 할당 명령어 : lvcreate -l 100%FREE -n LV명 그룹명
일부 용량 할당 명령어 : lvcreate -L 용량(GB,MB,KB) -n LV명 그룹명
![](https://blog.kakaocdn.net/dn/xIR4U/btr24L8lSOI/FsHjeNDUEXEK3QidWHvM51/img.png)
5. 파일시스템 생성 및 마운트
1) 예전에 리눅스에서 사용하는 파일시스템은 ext1~4 였지만 최근은 xfs를 쓰는 추세임
2) 디스크 사용 전 포맷
명령어는 둘중 어느것을 써도 무관
: mkfs -t xfs LV디바이스경로
: mkfs.xfs -f LV디바이스경로
![](https://blog.kakaocdn.net/dn/LF2Vy/btr3benQFWj/YsWOYbZhqWfGB6Lr4BW7J1/img.png)
3) 파일시스템 마운트
- 사용자가 실제로 사용할 디렉토리와 LV디바이스를 연결
- 디렉토리 생성
명령어 : mkdir 디렉토리명
- 마운트
명령어 : mount LV디바이스경로 마운트디렉토리명
- 마운트 상태 확인 (T옵션으로 파일시스템 종류도 확인)
명령어 : df -hT
df명령으로 볼 때는 디바이스 경로가 /dev/mapper/~~ 로 다르게 보이는데 실상 같은 경로임
![](https://blog.kakaocdn.net/dn/m8Krs/btr3aqPUdGm/3M7FD9qm15W17zukkZDCP1/img.png)
4) OS재부팅 후에도 자동으로 마운트 될 수 있도록 설정
- /etc/fstab 파일에 마운트 정보를 입력하면 자동으로 마운트가 됨
또는 마운트 명령어를 모두 사용하지 않고도 편리하게 마운트 할 수 있음
편집 명령어 : vi /etc/fstab
편집 내용 : LV디바이스명 디렉토리명 파일시스템타입 마운트여부(defaults) 0 0
![](https://blog.kakaocdn.net/dn/mFDhA/btr3c3lx9Cj/f1W76tn2drVmwL9MoVSC20/img.png)
6. 디스크 추가하여 LVM 확장
1) 디스크 추가 및 파티션까지 생성 (위에 설명했으므로 방법 생략)
신규는 5GB로 생성함
![](https://blog.kakaocdn.net/dn/9XEkT/btr24iZAGX9/iWQuUduIzwBoWJTMJN6NV1/img.png)
2) PV 생성 (마찬가지로 방법 생략)
![](https://blog.kakaocdn.net/dn/cfIRF5/btr3bZqrJtP/JqZdBhSr4DfLx7VRAKHbaK/img.png)
3) VG에 확장
- 확장하려는 LV가 포함된 VG에 신규 PV를 넣음
명령어 : vgextend 그룹명 PV디바이스
![](https://blog.kakaocdn.net/dn/cRh7Bn/btr3a6jcddc/HYmRogluCvUlJ8hD75KKJK/img.png)
4) LV 확장
- LV 생성과 비슷한 방법으로 확장
명령어 : lvextend -r -l +100%FREE LV디바이스경로
![](https://blog.kakaocdn.net/dn/ZJiZn/btr3cC9AlFo/0nXdeoqnIIEtHmkaWsx1jK/img.png)
5) 온라인중 확장 확인
- 볼륨을 언마운트 하지 않고 바로 작업 가능함
- lvextend 수행 전
![](https://blog.kakaocdn.net/dn/bw3Vmd/btr3bo4XO91/b7SvwL5KvfCwZMDfnjTFOK/img.png)
- lvextend 수행 후
![](https://blog.kakaocdn.net/dn/bKMBXC/btr3boqojYM/479XkLXQzy4yznalH2uYTK/img.png)
출처: https://dong-it-engineer.tistory.com/15 [IT기술정보올리는곳:티스토리]