LVM (Logical Volume Management)

JY Lee·2023년 8월 14일
0
post-thumbnail

물리적인 디스크를 논리적 볼륨 그룹으로 구성하여 저장공간을 효율적이고 유연하게 사용자 편의에 따라 관리 및 구성할 수 있는 커널의 한 부분

  • 디스크를 효율적으로 쓰기 위한 기술

실습

  • Settings

    yum -y install lvm2 # 패키지 설치

    DISK 3개

    /dev/sdb 10GB
    /dev/sdc 30GB
    /dev/sdd 20GB

    각각 디스크 추가함

    fdisk /dev/sdb
    n
    p
    1
    [Enter]
    [Enter]
    t
    8e # Linux LVM 타입 확인
    p
    w
    ls -l /dev/sd* #로 확인 한번
    pvcreate /dev/sdb1  # 각각의 파티션에 
    pvcreate /dev/sdc1  # 피지컬 볼륨을 씌운다
    pvcreate /dev/sdd1
    vgcreate myVG /dev/sdb1 /dev/sdc1 /dev/sdd1 # 볼륨그룹 생성
    
    vgdisplay  # 볼륨그룹 정보를 보여달라
    lvcreate --size 15G --name myLV1 myVG # 로지컬 볼륨을 만든다
    		        #크기        이름  어디서?
    
    ls /dev/myVG/myLV1 # 생성된 걸 볼 수 있다
    lvcreate --size 5G --name myLV2 myVG  # 2도 생성
    lvcreate --extents 100%FREE --name myLV3 myVG #나머지공간 100퍼 3에 할당
    
    mkdir lv1
    mkdir lv2
    mkdir lv3
    
    mkfs.ext4 /dev/myVG/myLV1  # 각각 파일시스템 초기화
    mkfs.ext4 /dev/myVG/myLV2
    mkfs.ext4 /dev/myVG/myLV3
    
    mount /dev/myVG/myLV1 /lv1  # 각각 마운트 해줌
    mount /dev/myVG/myLV2 /lv2
    mount /dev/myVG/myLV3 /lv3
    
    df -h #확인

    lvscan #으로 확인 할 수 있음

    vi /etc/fstab # 마운트 값 입력
    /dev/myVG/myLV1     /lv1     ext4   defaults 0 0
    /dev/myVG/myLV2     /lv2     ext4   defaults 0 0
    /dev/myVG/myLV3     /lv3     ext4   defaults 0 0

    fdisk /dev/sde # 위와 똑같이 파티션 나눔
    
    pvcreate /dev/sde1
    vgextend myVG /dev/sde1
    
    pvscan | gerp myVG #로 확인

    vgdisplay myVG #밑에 결과 출력

    lvextend -L 15G /dev/myVG/myLV
    lvextend -L 15G /dev/myVG/myLV2 # 정확한 위치 지정

    resize2fs /dev/myVG/myLV2 # 순서 중요

    lvreduce -L 10G /dev/myVG/myLV2 # 사이즈를 줄여보자
    # but 데이터 소실의 위험도 있고해서 되도록이면 쓰지말자


문제 1)

DISK 2개(10GB, 30GB)를 생성하여
최소 39GB 이상의 공간을 생성하여 /shared라는 폴더를 nfs로 공유하세요!
1) NFS clinet
2) NFS SERVER

풀이

새로운 vm서버 생성 후

systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config  # disabled 설정

yum install -y mdadm 
yum install -y nfs-utils

init 0 #셧다운

이후로 디스크 두개(10, 20 GB) 생성

fdisk /dev/sdb #sdc도 함
n
p
[Enter]
[Enter]
[Enter]
t
8e
p
w
ls -l /dev/sd* #한번 슥 확인
pvcreate /dev/sdb1
pccreate /dev/sdc1

vgcreate myVG /dev/sdb1 /deb/sdc1
vgdisplay
lvcreate --size 39G --name lvEX myVG

mkdir /shared

mkfs.ext4 /dev/myVG/lvEX


mkdir /shared
chmod 777 -R /shared # 권한 설정

mount /dev/myVG/lvEX /shared

df -h

vi /etc/fstab
# /dev/myVG/lvEX     /shared     ext4    defaults   0 0

vi /etc/exports
# /shared      *(rw)
exportfs -r

systemctl resrart nfs-server
stsremctl enable nfs-server
vi /etc/fstab
# /dev/myVG/lvEX     /shared     ext4    defaults   0 0

vi /etc/exports
# /shared      *(rw)
exportfs -r

systemctl resrart nfs-server
stsremctl enable nfs-server

client에서

yum install -y nfs-utils
showmount -e <nfs공유 서버 주소> # 마운트 보여달라
mkdir /remote
mount -t nfs <nfs공유 서버 주소>:/shared /remote
# type 옵션, nfs 방식으로 mount 
# 앞에 원격 폴더, 뒤에 local 폴더
touch /remote/nfs-test.txt

ls /shared # 확인
  • mount를 enable 하도록 설정
vi /etc/fstab
<nfs공유 서버 주소>:/shared      /remote     nfs   defaults   0 0

init 6
ls /remote # 확인
df -h

df-h 서버에서

df-h 클라이언트에서

profile
배고픈 소크라테스

0개의 댓글