[Linux] LVM Striped

js·2022년 7월 10일
0

LINUX

목록 보기
1/1

업무를 하면서 느낀점이나, 공부한 내용에 대한 기록을 남기기 위해서 글을 작성하게 되었습니다.

[LINUX] LVM Striped

  • 사전 상황 설명
    기존 가상화서버(뉴타닉스)에서 VM을 운영중인 상황에, DB의 IO성능에 대한 이슈가 발생하였습니다.
    이를 해결하기 위해 뉴타닉스의 Era를 사용하여 벤치마크를 실행하였습니다.
    이에 대한 해결책으로는 서버의 디스크구성이 LVM으로 되어있는데, Linear로 mapping이 되어있어 디스크 IO 성능이 잘 나오지 않는다는 의견을 받고, Striped로 mapping하는 방식으로 개선하는 작업을 진행했습니다.

작업 설명

** 현재 서버는 iscsi를 이용하여 디스크를 구성해놓은 상태입니다.
디스크 성능을 위해 500G 디스크 6개로 총 3TB 디스크를 구성합니다.

LVM은,, 다들 아실거라는 가정하에 정리를 해보겠습니다.

위 사진은 LVM 구성을 이미지로 한번에 정리한 내용입니다.

다수의 볼륨을 하나의 볼륨으로 묶어주는 LVM 방식에는
Linear방식과 Striped 방식이 존재한다고 합니다. (Mirror 방식도 있음)

위 사진은 Linear와 Striped 방식의 차이를 그림으로 표현한 내용입니다.
데이터를 적재하는 방식에 대해서
Linear 방식은 위부터 차례대로 적재를 하고,
Striped 방식은 사용하는 PV에서 동시에 데이터를 읽고, 쓸 수 있게 해서 대역폭을 늘립니다.

1. fdisk (파티션 테이블 명령어)

# fdisk /dev/sdb

n, p, 1, enter, enter, t, 8e, p, w

2. pvcreate (PV 생성)

#pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1
#pvdisplay

3. vgcreate (VG 생성)

#vgcreate iscsivg /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1
  • VG 이름은 iscsivg로 생성을 하고, 해당 VG안에 신규 생성한 PV들을 넣어줍니다. 500G 디스크 6개가 들어가서 2.93TiB 할당 된것을 확인합니다.

4. lvcreate (LV 생성)

#lvcreate -l +100%FREE -i6 -I64 -n striped_logical_volume iscsivg

Striped 방식의 LV를 생성하는 과정에서 옵션에 대해 알아보자면,

  • lvcreate -l +100%FREE : VG에서 가지고 있는 볼륨 사이즈를 100% 전부 다 LV에 할당하겠다. 라는 뜻입니다.

  • -i6 : Striped 구성에서 스트라이프의 갯수를 지정해줍니다. (PV의 개수보다 크면 안됩니다. 저는 500G 6개이기 때문에 6으로 지정)

  • -I64 : 스트라이프 크기입니다. 보통 4K ~ 256K 사이에서 적절하게 정해줍니다. 해당 볼륨에서 크기가 큰 파일들을 다룬다면 스트라이프 크기가 큰것이 유리하고, 단순 문서 파일의 저장이 목적이라면 스트라이프 크기가 작은것이 유리합니다. 보통 32K ~ 64K 범주면 무난하다고 합니다.

  • -n striped_logical_volume : LV이름을 지정해줍니다.

  • iscsivg : LV에 들어갈 VG를 할당해줍니다.

5. lvdisplay (생성된 LV 확인)

#lvdisplay -m
  • -m 옵션은 logical volume이 physical volume에 어떻게 mapping 되어있는지 상세정보를 제공합니다.

Striped 방식으로 LVM 구성된 것을 확인합니다.

6. vi /etc/fstab (mount 작업)

lsblk --fs

위 명령어로 UUID를 확인하였고,

UUID=~~ /data	xfs	defaults	0 0

해당 내용을 입력하고 저장하였습니다.

profile
아자아자

0개의 댓글