일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DSEC
- 대구
- 유산소
- 힐링
- docker
- 정보처리기사
- Kubernetes
- 중식
- 하체
- Python
- Shell
- 맛집
- 소모임
- 10km
- GitHub
- 달리기
- 대전
- 자전거
- 러닝
- 건대입구역
- Grafana
- 뚝섬유원지
- 2021
- Podman
- 성수대교
- 한강
- Linux
- Run The Bridge
- 오답노트
- zabbix
- Today
- Total
Run The Bridge
linux disk pv, vg, lv 설정 본문
0. 디스크 추가
fdisk -l로 현재 disk 상태를 확인한다.
fdisk -l
여기다가 추가로 disk를 하나 새로 넣는다.,
마지막에 New Hard Disk(SCSI)가 추가된 걸 볼 수 있다 디스크를 추가하고 나서 fdisk -l를 해도 인식이 되지 않는다.
재부팅하면 인식이 되지만, 재부팅하지 않고 인식시켜본다. 현재 디스크 구조는 다음과 같다.
root@localhost ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 47G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
리부팅 없이 설치하려면 패키지를 하나 설치해야 한다. sg3_utils를 설치한다.
yum install -y sg3_utils.x86_64
그리고 다음 디렉터리로 이동 후 다음 명령어를 수행한다.
/sys/class/scsi_host/host0
scsi-rescan
그러면 방금 전에는 보이지 않던 /dev/sdb1이 보인다.
1. PV 생성
디스크를 꽂았으니 이제 파티션을 나눠준다.
fdisk /dev/sdb
이제 디스크 구조가 sdb가 추가된 모습이다.
root@localhost ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 47G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 1024M 0 rom
파티션을 나눴으니 이제 물리 볼륨(PV)을 생성한다.
pvcreate /dev/sdb1 # 파티션 이름을 명시해준다.
pvs # 물리적 볼륨 목록을 볼 수 있다.
root@localhost ~ # pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
root@localhost ~ # pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 4.00m
/dev/sdb1 lvm2 --- <20.00g <20.00g
2. VG 생성
이제 해당 볼륨들을 하나의 볼륨으로 묶어주는 볼륨 그룹(VG)을 생성한다.
vgcreate datavg /dev/sdb1 # 생성할 [볼륨 그룹] [파티션 이름]
vgs # 볼륨 그룹 목록을 볼 수 있다.
root@localhost ~ # vgcreate datavg /dev/sdb1
Volume group "datavg" successfully created
root@localhost ~ # vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <49.00g 4.00m
datavg 1 0 0 wz--n- <20.00g <20.00g
3. LV 생성
이제 볼륨 그룹까지 생성했으면 논리적 볼륨(LV)을 생성한다.
lvcreate -n data -l 100%FREE datavg # 생성할 논리적 볼륨 이름, 할당량, 볼륨 그룹을 적어준다.
lvs # 논리적 볼륨 목록을 볼 수 있다.
root@localhost ~ # lvcreate -n data -l 100%FREE datavg
Logical volume "data" created.
root@localhost ~ # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 46.99g
swap centos -wi-ao---- 2.00g
data datavg -wi-a----- <20.00g
4. 파일 시스템
이제 볼륨을 다 생성했으니 파일 시스템을 할당한다. 나는 XFS를 이용한다.
mkfs -t xfs /dev/mapper/datavg-data
root@localhost ~ # mkfs -t xfs /dev/mapper/datavg-data
meta-data=/dev/mapper/datavg-data isize=512 agcount=4, agsize=1310464 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5241856, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
이제 부팅될 때마다 마운트 되어야 하므로 /etc/fstab에 명시한다. 아마 그냥 넣으면 문법에 맞지 않을 것이다.
blkid | grep datavg >> /etc/fstab # 내가 생성한 볼륨 그룹 이름
아래와 같이 UUID를 넣어주고, 마운트 할 디렉터리를 생성해준다음 명시해주자. 여기에는 /data를 사용했다.
mkdir -p /data # 디렉터리 생성
UUID=a73c4ff5-02d2-46cf-bcce-acdcd6015697 /data xfs defaults 0 0 # 부팅할 때마다 mount, /etc/fstab에 정의
mount -a # /etc/fstab 적용
이제 마지막으로 df -Th로 확인한다.
df -Th | grep -i datavg
디스크를 추가하고, pv, vg, lv를 생성하고 파일 시스템 할당하고 디렉터리 mount까지 해보았다. 끝!
리눅스를 다루면서 디스크 관련 명령어는 할 줄 알아야 된다 생각하고 자유롭게 다루진 못해도, 디스크를 꽂아놓고 볼륨 할당하고 마운트 하는 거 까지는 기본이라 생각한다.
각 명령어나 볼륨이 뭘 뜻하는지는 찾아보자 ~ 생각보다 이해하기 쉬울 것이다.
※ 참고: https://landoflinux.com/linux_lvm_command_examples.html
감사합니다.
'Cloud > Linux' 카테고리의 다른 글
시간 맞추기 (0) | 2022.03.23 |
---|---|
사용자의 입력을 받아 총 글자 수와 입력 문자 수 Count (0) | 2022.03.22 |
tshark 란? (6) | 2022.03.13 |
lsof 란? (0) | 2022.03.07 |
podman 4.0.0 install (2) | 2022.03.07 |