Run The Bridge

linux disk pv, vg, lv 설정 본문

Cloud/Linux

linux disk pv, vg, lv 설정

anfrhrl5555 2022. 3. 21. 11:21
728x90
반응형

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


감사합니다.

728x90
반응형

'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
Comments