본문 바로가기

CentOS/Study

[Study52]성능 및 효율성 향상의 LVM(Logical Volume Manage) 2

반응형

[1] LVM 설정 방법 종류

LVM은 Logical Volume Manager의 약어로, 물리적인 하드 디스크를 논리적인 볼륨 그룹으로 나누어 사용하는 기술입니다. 이를 통해 하나의 논리적인 볼륨 그룹 내에서 여러 개의 논리적인 볼륨을 생성할 수 있습니다.

LVM을 설정하는 방법은 여러 가지가 있으며, 이 중에서 가장 일반적인 방법으로는 pvcreate, vgcreate, lvcreate 명령어를 사용하여 설정하는 것입니다. 이들 명령어를 사용하면 논리적인 볼륨 그룹을 만들고, 논리적인 볼륨을 생성하고, 파일 시스템을 생성할 수 있습니다.

또한, 시스템 설정을 위한 GUI 툴인 system-config-lvm을 사용할 수도 있으나, CentOS 7에서는 이를 사용할 수 없습니다. 따라서, pvcreate, vgcreate, lvcreate 명령어를 사용하여 LVM을 설정하는 것이 가장 일반적인 방법입니다.

(GUI) # system-config-lvm   < centos7에서는 사용불가능
(TUI) pvcreate CMD, vgcreate CMD, lvcreate CMD

[EX] LVM 관리를 위한 관리 툴 및 명령어 확인

다음은 LVM 관리에 대한 내용입니다.

LVM (Logical Volume Manager)은 디스크 관리를 위한 유틸리티입니다. 디스크 공간을 논리적으로 나누어 사용자가 보다 효율적으로 관리할 수 있게 해줍니다.

(GUI) system-config-lvm 툴

centos7에서는 system-config-lvm 툴을 사용할 수 없습니다. 그러나 명령어를 사용하여 해결할 수 있습니다. 명령어를 사용하는 방법은 다음과 같습니다.

# yum install system-config-lvm
# system-config-lvm &

(TUI) LVM 관리 명령어 확인

LVM 관리 명령어를 사용하면, 시스템이 더욱 효율적으로 관리될 수 있습니다. 다음은 LVM 관리 명령어의 목록입니다.

# pvdisplay
# pvcreate
# pvremove
# vgdisplay
# vgcreate
# vgremove
# lvdisplay
# lvcreate
# lvremove

LVM을 사용하면 시스템을 더욱 효율적으로 관리할 수 있습니다. 따라서, LVM 관리 명령어를 익히는 것이 유용합니다. LVM을 사용하지 않고 디스크를 관리하면, 디스크 공간이 낭비되거나 부족할 수 있습니다. 또한, 시스템에 장애가 발생했을 때 복구하기 어려울 수 있습니다. LVM을 사용하면 이러한 문제를 예방하고, 시스템을 더욱 효율적으로 관리할 수 있습니다. 이처럼, LVM은 시스템 관리자에게 유용한 도구 중 하나입니다.

[2] 정보를 자세히 보는 방법

(ㄱ) -v, -vv, -vvv, -vvvv 옵션 사용

명령어를 실행할 때 -v, -vv, -vvv, -vvvv 옵션을 사용하면 자세한 정보를 출력합니다. 이를 통해 명령어가 수행되는 과정을 보다 자세히 확인할 수 있습니다. 이와 함께, 명령어를 실행할 때 다양한 옵션을 사용하여 명령어의 실행 결과를 조정할 수 있습니다.

예시:

# lvcreate -L 50MB new_vg
# lvcreate -v -L 50MB new_vg
# lvcreate -vvvv -L 50MB new_vg
# lvcreate -s -L 50MB -n new_lv /dev/new_vg1/test_lv

(ㄴ) command --help

명령어를 실행할 때 --help 옵션을 사용하면 해당 명령어의 사용 방법과 옵션 정보를 확인할 수 있습니다. 이를 통해 명령어가 수행되는 방식을 더욱 자세히 이해할 수 있습니다. 또한, 명령어를 실행할 때 다양한 옵션을 사용하여 명령어의 실행 결과를 조정할 수 있습니다.

예시:

# pvcreate --help
# vgcreate --help
# lvcreate --help
# lvextend --help

(ㄷ) manual page

명령어를 실행할 때 man 명령어와 함께 사용하면 해당 명령어의 매뉴얼 페이지를 확인할 수 있습니다. 매뉴얼 페이지에는 명령어의 사용 방법과 옵션 정보뿐만 아니라, 예제와 상세한 설명도 포함되어 있습니다. 이를 통해 명령어가 수행되는 방식과 명령어의 다양한 기능들을 자세히 이해할 수 있습니다. 명령어를 실행할 때 다양한 옵션을 사용하여 명령어의 실행 결과를 조정할 수 있습니다.

예시:

# man pvcreate
# man vgcreate
# man lvcreate
# man lvextend
# man mount

[EX] 정보 자세히 보기

① lvcreate –v 사용

가상 볼륨 그룹 vg1에서 사용 가능한 공간을 확인합니다.

# vgs
VG   #PV #LV #SN Attr   VSize VFree
  vg1    3   2   0 wz--n- 2.98G 1000.00M

가상 볼륨 그룹 vg1에서 testlv라는 이름의 논리 볼륨을 만듭니다.

# lvcreate -L 50M -n testlv vg1
Rounding up size to full physical extent 52.00 MB
  Logical volume "testlv" created

가상 볼륨 그룹 vg1에서 testlv2라는 이름의 논리 볼륨을 만듭니다. 로깅 유형은 디스크입니다.

# lvcreate -v -L 50M -n testlv2 vg1
Setting logging type to disk
    Finding volume group "vg1"
  Rounding up size to full physical extent 52.00 MB
    Archiving volume group "vg1" metadata (seqno 14).
    Creating logical volume testlv2
    Creating volume group backup "/etc/lvm/backup/vg1" (seqno 15).
    Found volume group "vg1"
    visited testlv2
    visited testlv2
    Creating vg1-testlv2
    Loading vg1-testlv2 table
    Resuming vg1-testlv2 (253:3)
    Clearing start of logical volume "testlv2"
    Creating volume group backup "/etc/lvm/backup/vg1" (seqno 15).
  Logical volume "testlv2" created

가상 볼륨 그룹 vg1에서 testlv3라는 이름의 논리 볼륨을 만듭니다. 자세한 로그를 출력합니다.

# lvcreate -vvvv -L 50M -n testlv3 vg1
	#lvmcmdline.c:987         Processing: lvcreate -vvvv -L 50M -n testlv vg1
	#lvmcmdline.c:990         O_DIRECT will be used
	#config/config.c:950       Setting global/locking_type to 1
	#locking/locking.c:230       File-based locking selected.
	#config/config.c:927       Setting global/locking_dir to /var/lock/lvm
	#activate/activate.c:363       Getting target version for linear
	#ioctl/libdm-iface.c:1672         dm version   OF   [16384]
	#ioctl/libdm-iface.c:1672         dm versions   OF   [16384]
	..... (중략) .....
	#device/dev-io.c:532         Closed /dev/sdc1
	#device/dev-io.c:532         Closed /dev/sdd1
	#device/dev-io.c:532         Closed /dev/sde1

가상 볼륨 그룹 vg1에서 testlv, testlv2, testlv3 논리 볼륨을 삭제합니다.

# lvs
LV      VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv1     vg1  -wi-ao   1.49G
  lv2     vg1  -wi-ao 524.00M
  testlv  vg1  -wi-a-  52.00M
  testlv2 vg1  -wi-a-  52.00M
  testlv3 vg1  -wi-a-  52.00M
# lvremove /dev/vg1/testlv   (# echo y | lvremove /dev/vg1/testlv)
# lvremove /dev/vg1/testlv2  (# echo y | lvremove /dev/vg1/testlv2)
# lvremove /dev/vg1/testlv3  (# echo y | lvremove /dev/vg1/testlv3)

② CMD --help 사용

pvcreate --help 명령어를 입력하면, LVM에서 사용할 수 있는 물리 볼륨을 초기화합니다.

pvcreate
        [--restorefile file]
        [-d|--debug]
        [-f[f]|--force [--force]]
        [-h|-?|--help]
        [--labelsector sector]
        [-M|--metadatatype 1|2]
        [--metadatacopies #copies]
        [--metadatasize MetadataSize[kKmMgGtTpPeE]]
        [--dataalignment Alignment[kKmMgGtTpPeE]]
        [--setphysicalvolumesize PhysicalVolumeSize[kKmMgGtTpPeE]
        [-t|--test]
        [-u|--uuid uuid]
        [-v|--verbose]
        [-y|--yes]
        [-Z|--zero {y|n}]
        [--version]
        PhysicalVolume [PhysicalVolume...]

pvremove --help 명령어를 입력하면, 물리 볼륨에서 LVM 레이블을 삭제합니다.

pvremove
        [-d|--debug]
        [-f[f]|--force [--force]]
        [-h|-?|--help]
        [-t|--test]
        [-v|--verbose]
        [-y|--yes]
        [--version]
        PhysicalVolume [PhysicalVolume...]

vgcreate, vgremove, lvcreate, lvremove 명령어를 입력해서 가상 볼륨 그룹, 논리 볼륨을 생성하거나 삭제할 수 있습니다.

# vgcreate --help
# vgremove --hlep

# lvcreate --help
# lvremove --help

[3] 관리 작업(시나리오 작업)

파일시스템(EX: /lv2) 용량을 늘리는 경우, 몇 가지 작업을 수행해야 합니다. 먼저, 용량을 늘리기 위해 디스크를 추가해야 합니다. 그런 다음, 파일시스템을 확장하고 새로운 공간을 사용할 수 있도록 설정해야 합니다. 이를 위해 파일시스템을 마운트하고, 파일시스템을 확장하기 위해 필요한 도구를 사용해야 합니다. 마지막으로, 시스템을 다시 부팅하여 변경 사항이 적용되는지 확인해야 합니다.

위와 같은 작업을 수행함으로써, 용량이 부족한 경우도 대처할 수 있습니다. 이를 통해 시스템의 안정성과 성능을 유지할 수 있으며, 사용자들이 시스템을 더욱 편리하게 사용할 수 있습니다.

작업 계획

작업 계획은 다음과 같습니다. 먼저, /lv2 파일시스템이 용량이 부족한 이유를 조사합니다. 그런 다음, 용량 부족을 해결하기 위한 대안을 고려합니다. 예를 들어, 새로운 하드 드라이브를 추가하거나 파일을 다른 위치로 이동하여 공간을 확보할 수 있습니다. 이후, 파일시스템 용량을 늘리기 위한 적절한 방법을 선택합니다. 마지막으로, 선택한 방법을 사용하여 /lv2 파일시스템의 용량을 늘립니다.

/lv2((500M) + 1G = 1.5G)

① 실습의 위한 설정 확인 및 준비

먼저, lvs 명령어로 논리 볼륨을 확인합니다.

# lvs

다음으로는 각 논리 볼륨의 용량을 확인하기 위해 df 명령어를 사용합니다.

# df -h /lv1 /lv2

마지막으로, 볼륨에 파일을 생성하여 볼륨의 용량을 채워봅니다. 이를 위해 dd 명령어를 사용합니다.

# dd if=/dev/zero of=/lv2/file1 bs=1M count=400

② LVM 내 논리 볼륨 용량 조정

논리 볼륨을 생성하고 용량을 조정하는 방법은 매우 간단합니다. 먼저, lvresize 명령어로 논리 볼륨을 확장합니다. 예를 들어, lv2 논리 볼륨을 1GB로 확장하려면 다음과 같이 입력합니다.

# lvresize -L 1G /dev/mapper/vg1-lv2

논리 볼륨을 축소하는 경우에는 lvreduce 명령어를 사용합니다.

# lvreduce -L 500M /dev/mapper/vg1-lv2

논리 볼륨의 용량을 조정하고 나면, 파일 시스템의 크기도 조정해야 합니다. 이를 위해서는 resize2fs 명령어를 사용합니다. 예를 들어, lv2 논리 볼륨의 파일 시스템 크기를 현재의 논리 볼륨 크기에 맞게 조정하려면 다음과 같이 입력합니다.

# resize2fs /dev/mapper/vg1-lv2

파일 시스템 (예: / lv2)의 용량을 늘리려면 다음 단계를 따르십시오.

vgdisplay 명령 (또는 vgs)을 실행하여 볼륨 그룹을 확인하십시오. 볼륨 그룹이 조정 가능한지 (VG Status) 확인하고 VG 이름을 메모합니다.

# vgdisplay
--- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.98 GB
  PE Size               4.00 MB
  Total PE              762
  Alloc PE / Size       512 / 2.00 GB
  Free  PE / Size       250 / 1000.00 MB
  VG UUID               NHG3Mo-boPO-5z8j-XBYb-K5zJ-vtuy-6wnejz

lvextend -l +100%FREE /dev/[VG 이름]/lv2 명령을 실행하여 논리 볼륨을 확장합니다. 이 명령은 볼륨 그룹에서 사용 가능한 무료 공간 만큼 논리 볼륨 크기를 늘립니다. 대신 L 플래그를 사용하여 MB 단위로 원하는 논리 볼륨 크기를 지정할 수도 있습니다 (예 : lvextend -L +1000M /dev/[VG 이름]/lv2).

# lvextend -l +100%FREE /dev/vg1/lv2

Extending logical volume lv2 to 1000.00 MB
Logical volume lv2 successfully resized

lvs 명령을 실행하여 논리 볼륨이 확장되었는지 확인합니다. lv2의 LV 크기가 새 크기와 일치해야 합니다.

# lvs

LV   VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
lv1  vg1  -wi-ao 1.49G
lv2  vg1  -wi-ao 1.49G

resize2fs /dev/[VG 이름]/lv2 (또는 resize2fs -f /dev/[VG 이름]/lv2) 명령을 실행하여 파일 시스템 크기를 논리 볼륨의 새 크기에 맞게 조정합니다. 파일 시스템이 현재 마운트되어 있는 경우 온라인 조정이 필요합니다.

# resize2fs /dev/vg1/lv2

resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg1/lv2 is mounted on /lv2; on-line resizing required
Performing an on-line resize of /dev/vg1/lv2 to 256000 (4k) blocks.
The filesystem on /dev/vg1/lv2 is now 256000 blocks long.

df -h /lv2 명령을 실행하여 파일 시스템 크기가 조정되었는지 확인합니다. Size 및 Avail 열은 파일 시스템의 새 크기를 반영해야 합니다.

# df -h /lv2

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv2   1.5G  418M 1018M  30% /lv2

볼륨 그룹 (예 : vg1)에 물리적 볼륨 (PV)을 추가해야하는 경우 다음 명령을 사용하십시오. vgextend [VG 이름] [PV 이름] 이 명령을 사용하면 지정된 PV를 VG에 추가하여 논리 볼륨에 사용 가능한 공간을 늘릴 수 있습니다.

# vgextend vg1 /dev/sdf1

시스템에 변경 사항을 적용하기 전에 데이터를 백업하고 조심해서 진행해야합니다.

작업 계획

  1. VG에 PV를 추가합니다. PV를 추가함으로써 VG의 저장 공간을 확장할 수 있습니다.
  2. LV에 용량을 늘립니다. LV의 용량을 늘리면 더 많은 데이터를 저장할 수 있습니다.

위의 두 가지 작업을 수행할 것입니다. 이를 통해 시스템의 성능과 저장 공간을 개선할 수 있습니다.

vg1(sdc1, sdd1, sde1) + sdf1

1. 실습 준비

먼저, 용량이 거의 가득 차서 더 이상 파일을 생성할 수 없다는 가정하에 문제를 해결하기 위한 방법을 찾아야합니다. 우리가 사용한 명령어는 다음과 같습니다.

# df -h /lv1
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1   1.5G   35M  1.4G   3% /lv1

위 명령어는 /lv1 파일시스템의 용량을 보여줍니다. 현재 용량은 1.5G이며, 사용 가능한 용량은 1.4G입니다.

이제, 위의 명령어를 사용하여 1GB 이상의 공간을 더 확보 할 수 있습니다. 파일 생성 명령을 실행하기 전에 용량을 확인하여 대응하는 것이 좋습니다.

# dd if=/dev/zero of=/lv1/file2 bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 3.05566 seconds, 172 MB/s

# dd if=/dev/zero of=/lv1/file3 bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.74968 seconds, 300 MB/s

# df -h /lv1
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1   1.5G  1.1G  389M  73% /lv1

새로운 디스크를 추가하고 LVM을 이용하여 파일시스템 용량을 늘리는 방법을 아래에서 자세히 설명하겠습니다.

2. 용량 늘리기

첫째로, 우리는 VG(vg1)에 PV(/dev/sdf1)를 추가해야 합니다. 먼저, 다음 명령어를 입력하여 현재 VG와 PV의 상태를 확인해봅시다.

# vgs
VG   #PV #LV #SN Attr   VSize VFree
  vg1    3   2   0 wz--n- 2.98G    0
# pvs
PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M       0
  /dev/sdd1  vg1  lvm2 a-   1016.00M       0
  /dev/sde1  vg1  lvm2 a-   1016.00M       0

위 명령어를 실행하면, vg1에는 3개의 PV가 있고, 현재 사용 가능한 용량은 0입니다. 이제 새로운 PV인 /dev/sdf1을 추가해보겠습니다.

# vgextend vg1 /dev/sdf1
Volume group "vg1" successfully extended

위 명령어를 실행하면, vg1에 /dev/sdf1이 추가되고, 사용 가능한 용량이 1016.00M으로 늘어납니다.

# pvs
PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M       0
  /dev/sdd1  vg1  lvm2 a-   1016.00M       0
  /dev/sde1  vg1  lvm2 a-   1016.00M       0
  /dev/sdf1  vg1  lvm2 a-   1016.00M 1016.00M
# vgs
VG   #PV #LV #SN Attr   VSize VFree
  vg1    4   2   0 wz--n- 3.97G 1016.00M

위 명령어를 실행하면, vg1에는 총 4개의 PV가 있고, 사용 가능한 용량이 1016.00M으로 늘어납니다.

이제 파일시스템 용량을 늘려야 합니다. 예를 들어, /lv1 파일시스템 용량을 늘리려면 다음과 같은 명령어를 입력합니다.

# lvextend -l +100%FREE /dev/vg1/lv1
Extending logical volume lv1 to 2.48 GB
  Logical volume lv1 successfully resized
# resize2fs /dev/vg1/lv1
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg1/lv1 is mounted on /lv1; on-line resizing required
Performing an on-line resize of /dev/vg1/lv1 to 650240 (4k) blocks.
The filesystem on /dev/vg1/lv1 is now 650240 blocks long.

위 명령어를 실행하면, lv1의 용량이 2.48 GB로 늘어나고, 파일시스템 크기가 자동으로 조정됩니다.

# df –h /lv1
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1   2.5G  1.1G  1.4G  44% /lv1

위 명령어를 실행하면, /lv1 파일시스템의 용량이 2.5G로 증가한 것을 확인할 수 있습니다. 이제 파일시스템을 마음껏 사용하실 수 있습니다!

LV 용량 감소(Shrinking)

작업 계획

작업 계획은 다음과 같습니다:

  1. 용량 감소: 현재 시스템의 용량을 줄이는 작업을 계획합니다. 이를 위해 불필요한 파일과 데이터베이스를 정리하고, 압축 기술을 사용하여 용량을 최소화할 예정입니다.
  2. 용량 증설: 용량 감소와 반대로, 시스템 용량을 증설하는 작업을 계획합니다. 이를 위해 추가 서버를 도입하거나, 더 큰 저장 장치를 사용할 계획입니다.

이러한 작업을 통해 시스템의 성능과 안정성을 크게 향상시킬 수 있습니다. 파일시스템 용량을 줄이는 절차는 다음과 같습니다.

  1. 파일시스템 언마운트(umount)를 실행합니다. 파일시스템이 사용중인 상태에서는 용량을 줄일 수 없습니다.
  2. # umount /lv1
  3. 파일시스템 점검을 실행합니다. 이를 통해 파일시스템의 오류를 확인하고 처리할 수 있습니다.
  4. # e2fsck -f /dev/vg1/lv1
  5. 파일시스템 용량을 줄입니다. 이 과정에서 파일시스템이 사용하는 블록의 개수를 줄입니다. 예를 들어, 700메가바이트로 줄이기 위해 다음과 같은 명령어를 실행합니다.
  6. # resize2fs -p /dev/vg1/lv1 700M
  7. LV 용량을 줄입니다. 파일시스템 용량을 줄였기 때문에 LV 용량도 줄여줘야 합니다.
  8. # lvreduce -L 700M /dev/vg1/lv1

이렇게 파일시스템 용량을 줄이는 과정은 시스템의 안정성을 높이고, 불필요한 공간 낭비를 막을 수 있습니다. 따라서, 정기적으로 이러한 작업을 수행하는 것이 좋습니다.

명령어 정보 확인 및 구성 확인

이 문서에서는 lvreduce, resize2fs, df 명령어에 대한 정보를 제공합니다.

lvreduce

# man lvreduce

NAME
       lvreduce - reduce the size of a logical volume

SYNOPSIS
       lvreduce    [-A|--autobackup    y|n]    [-d|--debug]   [-f|--force]
       [-h|-?|--help] {-l|--extents [-]LogicalExtentsNumber[%{VG|LV|FREE}]

       |  -L|--size [-]LogicalVolumeSize[kKmMgGtT]} [-t|--test] [-v|--ver-
       bose] LogicalVolume[Path]

DESCRIPTION
       `lvreduce` 명령어는 논리 볼륨의 크기를 줄이는 데 사용됩니다. 논리 볼륨의 크기를 줄일 때는 데이터가 손실될 수 있으므로 주의해야 합니다!!! 따라서 `lvreduce`를 실행하기 전에 볼륨의 파일 시스템이 축소되어 제거될 영역이 사용 중이 아닌지 확인해야 합니다.
       스냅샷 논리 볼륨의 축소 (스냅샷을 만드는 방법에 대한 정보는 `lvcreate(8)`를 참조하십시오)도 지원됩니다. 그러나 거울 논리 볼륨의 복사본 수를 변경하려면 `lvconvert(8)`을 사용해야 합니다.
       크기는 필요에 따라 반올림됩니다. 예를 들어, 볼륨 크기는 정확한 엔텐트 수여야 하며 스트라이프 세그먼트의 크기는 스트라이프 수의 배수여야 합니다.

resize2fs

# man resize2fs

NAME
       resize2fs - ext2/ext4 file system resizer

SYNOPSIS
       resize2fs  [ -d debug-flags ] [ -S RAID-stride ] [ -f ] [ -F ] [ -p
       ] device [ size ]

DESCRIPTION
       `resize2fs` 명령어는 ext2 또는 ext3 파일 시스템의 크기를 조정하는 데 사용됩니다. 이 명령어는 마운트되어 있지 않은 파일 시스템의 크기를 확장하거나 축소할 수 있습니다. 파일 시스템이 마운트되어 있는 경우 커널이 온라인 크기 조정을 지원하는 경우 마운트된 파일 시스템의 크기를 확장할 수 있습니다. (현재, Linux 2.6 커널은 ext4만 마운트된 파일 시스템에 대한 온라인 크기 조정을 지원합니다.)

OPTIONS
       `-p`     `resize2fs` 명령어가 실행 중인 각 작업에 대한 완료 백분율을 출력하여 사용자가 프로그램이 수행 중인 작업을 추적할 수 있도록 합니다.

df

# df -h /lv1 /lv2

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1   2.5G  535M  1.8G  23% /lv1
/dev/mapper/vg1-lv2   1.5G  418M 1018M  30% /lv2

[참고] 안전하게 데이터를 백업 받는다.
# mkdir –p /backup
# cd /lv1
# tar cvzf /backup/lv1.tar.gz .

1. 파일 시스템 umount

초기 단계로 파일 시스템을 언마운트합니다. 다음 명령어를 입력하세요.

cd
umount /lv1

2. 파일 시스템 점검

파일 시스템 상태를 점검합니다. 다음 명령어를 입력하세요.

fsck.ext4 -f /dev/vg1/lv1   (# e2fsck –f /dev/vg1/lv1)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/lv1: 11/327680 파일 (9.1% 분할되지 않음), 27654/655360 블록

3. 파일 시스템 크기 늘리기

파일 시스템 크기를 늘립니다. 다음 명령어를 입력하세요.

resize2fs -p /dev/vg1/lv1 2G
resize2fs 1.39 (29-May-2006)
/dev/vg1/lv1 파일 시스템 크기를 524288 (4k) 블록으로 조정 중입니다.
패스 3 시작 (최대 = 20)
inode 테이블 스캔 중          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/dev/vg1/lv1 파일 시스템의 크기는 이제 524288 블록입니다.

4. 파일 시스템 크기 줄이기

파일 시스템 크기를 줄입니다. 다음 명령어를 입력하세요.

lvreduce -L 2G /dev/vg1/lv1   (# lvreduce -L -500M /dev/vg1/lv1)
경고: 활성 및 열린 논리 볼륨 크기를 1.99 GB로 줄입니다.
이로 인해 데이터(파일 시스템 등)가 손상될 수 있습니다.
lv1을(를) 줄이시겠습니까? [y/n]: y
논리 볼륨 lv1을(를) 1.99 GB로 줄이는 중입니다.
논리 볼륨 lv1이(가) 성공적으로 조정됨

참고: LV 레벨에서는 용량이 줄어들었지만 파일시스템 레벨에서는 용량이 줄지 않습니다.

5. 마운트 작업

다시 파일 시스템을 마운트합니다. 다음 명령어를 입력하세요.

mount /lv1
df –h /lv1
파일 시스템       크기    사용 가능   사용 중     마운트 위치
/dev/mapper/vg1-lv1   2.0G   68M  1.9G   4% /lv1

만약 데이터 이슈가 발생한 경우, /backup/lv1.tar.gz 파일을 사용하여 복구할 수 있습니다. 복구하려면 다음 명령을 입력하십시오.

mount /lv1
cd /lv1
tar xvzf /backup/lv1.tar.gz

위의 단계들을 수행하면 파일 시스템의 상태를 안전하게 유지할 수 있습니다.

VG 안의 PV를 새로운 PV로 교체

VG 안의 PV를 새로운 PV로 교체하는 것은 중요합니다. 이를 통해 시스템의 안정성을 유지하고, 사용자가 원활한 게임 경험을 할 수 있도록 합니다. 또한, PV는 게임에서 중요한 역할을 수행하므로, 새로운 PV를 추가하는 것은 게임의 새로운 측면을 발견하는 데에도 도움이 됩니다. 따라서, VG 안의 PV를 교체할 때는 신중하게 검토하고, 최신 기술과 트렌드를 고려하여 새로운 PV를 선택해야 합니다.

LVM은 Linux에서 디스크 관리를 용이하게 해주는 기술입니다. LVM을 사용하면 여러 개의 디스크를 하나의 논리적인 디스크로 관리할 수 있으며, 이를 통해 디스크의 크기를 유연하게 조정할 수 있습니다. LVM은 PV(Physical Volume), VG(Volume Group), LV(Logical Volume)의 세 가지 요소로 이루어져 있습니다.

PV는 물리적인 디스크를 나타내며, VG는 PV를 묶어서 하나의 논리적인 디스크로 만든 것을 말합니다. LV는 VG 안에서 논리적으로 구분된 디스크로, 이를 파일 시스템으로 포맷팅하여 사용할 수 있습니다.

이처럼 LVM을 사용하면 여러 개의 물리적인 디스크를 하나의 논리적인 디스크로 통합하여 관리할 수 있습니다. 이를 통해 용량을 편리하게 늘리거나 축소할 수 있습니다. 또한, PV를 새로운 PV로 교체하면 성능이나 용량을 더욱 향상시킬 수 있습니다.

LVM을 사용하면 디스크 관리가 용이해지므로, 서버 관리에 있어서 매우 유용한 기술입니다. 이를 잘 익혀두면 서버 운영이 보다 효율적으로 이루어질 수 있습니다.

(전제조건) 시스템에 새로운 디스크가 추가되어 있고, 해당 디스크를 하나의 파티션으로 설정한 후 사용할 수 있다는 가정하에 아래의 단계를 수행합니다.

  1. 새로운 파티션을 파일 시스템으로 포맷합니다.
  2. 해당 파티션을 마운트(mount)합니다.
  3. 시스템 부팅 시 자동으로 마운트되도록 설정합니다.

위의 단계를 수행하여, 시스템에 새로운 디스크를 추가하고 새로운 파티션을 사용할 수 있습니다.

(ㄱ) 서버 전원을 끕니다.

 # poweroff

(ㄴ) 새로운 디스크를 설치합니다.

 새 가상 디스크 생성 방법: VMWare > VM > 설정 > 추가 > 하드 디스크 > 새 가상 디스크 만들기 > SCSI > 1GB

(ㄷ) 서버 전원을 켠 후 새로운 디스크가 정상적으로 장착되었는지 확인합니다.

 # ls -l /dev/sd?  (# fdisk -l)
 /dev/sda 8.0GB
 /dev/sdb 1.0GB
 /dev/sdc 1.0GB
 /dev/sdd 1.0GB
 /dev/sde 1.0GB
 /dev/sdf 1.0GB
 /dev/sdg 1.0GB
 /dev/sdh 1.0GB

디스크를 추가하면 서버 용량이 늘어나게 됩니다. 이렇게 늘어난 용량을 활용하여 더 많은 데이터를 저장하거나, 더 복잡한 작업을 수행할 수 있습니다. 또한, 가상 디스크를 생성하는 방법은 다양합니다. 하드 디스크의 크기, 위치, 유형 등을 변경하여 더욱 최적화된 가상 환경을 구성할 수 있습니다. 이를 통해 서버 성능을 최적화하고, 업무 효율성을 높일 수 있습니다.

위와 같은 작업을 통해 서버의 용량을 확장하면, 더 많은 데이터를 저장하거나 더 복잡한 작업을 수행할 수 있습니다. LVM을 이용하면 디스크를 효율적으로 관리할 수 있으며, 저장 공간을 유연하게 조정할 수 있습니다. 이를 통해 서버 운영에 필요한 유연성과 안정성을 높일 수 있습니다.

실습 준비

이 실습에서는 LVM(Logical Volume Manager)을 사용합니다. LVM은 디스크 파티션을 추상화하고 논리 볼륨을 생성하는 유틸리티입니다.

pvs 명령어로 현재의 물리 볼륨을 확인할 수 있습니다.

PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M      0
  /dev/sdd1  vg1  lvm2 a-   1016.00M      0
  /dev/sde1  vg1  lvm2 a-   1016.00M      0
  /dev/sdf1  vg1  lvm2 a-   1016.00M 500.00M

disk /dev/sdg 명령어로 새로운 디스크 파티션을 생성합니다. 이번 실습에서는 /dev/sdg1을 생성합니다.

-> /dev/sdg1(System partition ID : 8e)

fdisk –l /dev/sdg (# fdisk -l | grep LVM) 명령어로 새로운 파티션 정보를 확인할 수 있습니다.

Disk /dev/sdg: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdg1               1         130     1044193+  8e  Linux LVM

새로 생성한 파티션을 LVM으로 사용하기 위해서는 pvcreate 명령어로 물리 볼륨을 생성해야 합니다. 이후 vgcreate 명령어로 볼륨 그룹을 생성하고 lvcreate 명령어로 논리 볼륨을 생성할 수 있습니다. 이번 실습에서는 이 과정을 생략합니다.

PV 생성 및 확인

다음 명령어를 실행하여 물리적 볼륨(PV)을 생성합니다: # pvcreate /dev/sdg1

# pvcreate /dev/sdg1
Writing physical volume data to disk "/dev/sdg1"
  Physical volume "/dev/sdg1" successfully created

출력 결과를 확인하여 물리적 볼륨 데이터가 디스크에 정상적으로 기록되었는지 확인합니다. "Physical volume '/dev/sdg1' successfully created."라는 메시지가 나와야 합니다.

명령어 # pvs를 실행하여 물리적 볼륨이 생성되었는지 확인합니다.

# pvs
PV         VG   Fmt  Attr PSize    PFree
/dev/sdc1  vg1  lvm2 a-   1016.00M       0
/dev/sdd1  vg1  lvm2 a-   1016.00M       0
/dev/sde1  vg1  lvm2 a-   1016.00M       0
/dev/sdf1  vg1  lvm2 a-   1016.00M  500.00M
/dev/sdg1       lvm2 --   1019.72M 1019.72M

출력 결과에 새로 생성한 PV /dev/sdg1의 크기가 1019.72M이고 남은 공간도 1019.72M임을 확인합니다.

이미 생성된 PV /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1가 vg1에 의해 사용되고 있다는 것도 확인할 수 있습니다.

vg1이 LVM2 형식을 사용하고 모든 PV에 대해 속성이 a-로 설정되어 있다는 것을 유의하세요. 단, /dev/sdg1은 어떤 속성도 지정되어 있지 않습니다.

VG 확장 및 확인

볼륨 그룹에 추가적인 저장 공간을 필요로 하는 경우, vgextend 명령어를 사용하여 추가하실 수 있습니다. 예를 들어, vg1 볼륨 그룹에 /dev/sdg1를 추가하려면 다음 명령어를 실행하면 됩니다.

# vgextend vg1 /dev/sdg1

이 명령어를 실행한 후, 볼륨 그룹이 성공적으로 확장되었다는 메시지가 나타납니다.

Volume group "vg1" successfully extended

새 물리 볼륨이 볼륨 그룹에 추가되었는지 확인하려면, pvs 명령어를 사용할 수 있습니다. 출력 결과에는 새 물리 볼륨과 볼륨 그룹의 총 크기 및 사용 가능한 여유 공간에 대한 정보가 포함됩니다. 예를 들어:

# pvs
PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M       0
  /dev/sdd1  vg1  lvm2 a-   1016.00M       0
  /dev/sde1  vg1  lvm2 a-   1016.00M       0
  /dev/sdf1  vg1  lvm2 a-   1016.00M  500.00M
  /dev/sdg1  vg1  lvm2 a-   1016.00M 1016.00M

vgextend 명령어를 사용하여 볼륨 그룹을 쉽게 확장하고 시스템에 추가 저장 공간을 추가할 수 있습니다.

PV 이전 작업

물리적인 볼륨(PV)간 데이터 이전을 위해 pvmove 명령어를 사용합니다. 아래 예제는 /dev/sdf1 에 있는 데이터를 /dev/sdg1 로 이전하는 명령어입니다.

# pvmove /dev/sdf1 /dev/sdg1
/dev/sdf1: Moved: 100.0%

데이터 이전이 완료된 후 pvs 명령어를 사용하여 이전된 데이터가 올바르게 확인되었는지 확인합니다.

# pvs

아래는 pvs 명령어의 예시 출력입니다.

PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M       0
  /dev/sdd1  vg1  lvm2 a-   1016.00M       0
  /dev/sde1  vg1  lvm2 a-   1016.00M       0
  /dev/sdf1  vg1  lvm2 a-   1016.00M 1016.00M
  /dev/sdg1  vg1  lvm2 a-   1016.00M  500.00M

위 예시에서는 /dev/sdf1 에 있던 데이터가 /dev/sdg1 로 이전되었고, pvs 명령어로 이전된 데이터를 확인할 수 있습니다.

VG에서 불 필요한 디스크 제거 및 확인

# vgreduce vg1 /dev/sdf1

이 명령어를 실행하면 "/dev/sdf1" 디스크가 "vg1" 볼륨 그룹에서 제거됩니다.

명령어를 실행한 후, 다음 명령어를 사용하여 디스크가 제거되었는지 확인할 수 있습니다:

# pvs

이 명령어는 현재 볼륨 그룹에서 사용 가능한 물리적 볼륨에 대한 정보를 표시합니다. 이 명령어의 출력은 "/dev/sdf1" 디스크가 제거되었으며 남은 디스크에 일정한 물리적 공간이 사용 가능하다는 것을 보여줄 것입니다.

예를 들어, "pvs" 명령어의 출력은 다음과 같이 보일 수 있습니다:

PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M       0
  /dev/sdd1  vg1  lvm2 a-   1016.00M       0
  /dev/sde1  vg1  lvm2 a-   1016.00M       0
  /dev/sdg1  vg1  lvm2 a-   1016.00M  500.00M

"/dev/sdf1" 디스크의 크기가 "--"로 표시되어 있으므로 이제 볼륨 그룹의 일부가 아니라는 것을 알 수 있습니다. 이 디스크를 볼륨 그룹에서 제거함으로써 다른 용도로 공간을 확보하거나 원한다면 볼륨 그룹의 전체 크기를 축소할 수 있습니다.

LV/VG/PV 삭제

다음은 umount 작업을 성공적으로 수행하기 위한 권장 단계입니다:

  1. 파일 시스템이 어떤 프로세스나 응용 프로그램에서도 사용되지 않고 있는지 확인합니다.
  2. umount 명령을 실행하여 파일 시스템을 마운트 지점에서 분리합니다. 파일 시스템이 분리되면 LV, VG 및 PV를 다음 순서대로 삭제하기 위해 다음 단계를 수행합니다.
  3. lvremove 명령을 사용하여 LV를 삭제합니다.
  4. vgremove 명령을 사용하여 VG를 삭제합니다.
  5. pvremove 명령을 사용하여 PV를 삭제합니다. 위의 작업 중 어떤 것이든 수행하기 전에 파일 시스템의 데이터를 백업하는 것이 매우 권장됩니다.

현재 설정 확인하기 다음 명령어를 입력하여 디스크 용량을 확인할 수 있습니다.

df -h

위 명령어를 실행한 결과 아래와 같은 내용이 출력됩니다.

Filesystem            Size  Used Avail Use% Mounted on
..(중략)..
/dev/mapper/vg1-lv1   2.0G   36M  1.9G   2% /lv1
/dev/mapper/vg1-lv2   1.5G  418M 1018M  30% /lv2

위 결과에서는 현재 /dev/mapper/vg1-lv1 경로의 디스크 용량이 2.0G 중 36M만 사용 중이라는 것을 확인할 수 있습니다. 또한 /dev/mapper/vg1-lv2 경로의 디스크 용량이 1.5G 중 418M을 사용 중이며 남은 용량은 1018M이라는 것을 확인할 수 있습니다. 이 정보를 바탕으로 디스크 용량을 효율적으로 관리할 수 있습니다.

파일시스템 umount

파일 시스템을 언마운트하는 것은 umount 명령어를 사용하여 간단하게 수행할 수 있습니다. 다음은 따라해야 할 단계입니다.

# cd
# umount /lv1
# umount /lv2

파일 시스템을 언마운트 한 후 시스템이 원활하게 작동하도록 하기 위해 논리 볼륨 매니저 (LVM)를 구성하는 것이 중요합니다. 다음은 따라해야 할 단계입니다.

# vi /etc/fstab
..... (중략) .....
#
# (2) LVM Configuration
#

#/dev/mapper/vg1-lv1    /lv1                    ext4    defaults        1 2
#/dev/vg1/lv2           /lv2                    ext4    defaults        1 2

모든 것이 예상대로 작동하는지 확인하려면 구성을 두 번 확인하십시오.

LV 삭제

# lvs
LV   VG   Attr   LSize Origin Snap%  Move Log Copy%  Convert
  lv1  vg1  -wi-a- 1.99G
  lv2  vg1  -wi-a- 1.49G
# lvremove /dev/vg1/lv1 (# echo y | lvremove /dev/vg1/lv1)
Do you really want to remove active logical volume lv1? [y/n]: y
  Logical volume "lv1" successfully removed
# lvremove /dev/vg1/lv2 (# echo y | lvremove /dev/vg1/lv2)
Do you really want to remove active logical volume lv2? [y/n]: y
  Logical volume "lv2" successfully removed

리눅스에서 사용되는 가상 저장 장치 유형인 논리 볼륨을 다루는 명령어 출력이 포함되어 있습니다. "lvs" 명령어는 시스템의 모든 논리 볼륨을 나열하며, 볼륨 그룹, 크기 및 할당 정책과 같은 정보를 표시합니다.

"lvremove" 명령어는 논리 볼륨을 제거하는 데 사용됩니다. 이 경우 "lv1"과 "lv2"와 같은 볼륨의 이름을 지정합니다. 사용자는 "y/n" 질문으로 확인 작업을 수행할 것인지 물어보게 됩니다. "y"로 대답하면 볼륨이 제거됩니다.

논리 볼륨을 제거하면 해당 볼륨에 저장된 모든 데이터도 함께 제거되므로, 이 작업을 수행하기 전에 데이터가 백업되었는지 확인하는 것이 중요합니다.

VG 삭제

# vgs
VG   #PV #LV #SN Attr   VSize VFree
  vg1    4   0   0 wz--n- 3.97G 3.97G
# vgremove vg1          (# vgremove /dev/vg1)
Volume group "vg1" successfully removed

볼륨 그룹을 제거하는 절차는 다음과 같습니다:

  1. 먼저 터미널에서 vgs 명령어를 실행하여 현재 볼륨 그룹을 확인합니다. 이 명령어는 모든 볼륨 그룹과 해당 속성, 총 크기 및 여유 공간을 나열합니다.
  2. 제거하려는 볼륨 그룹을 식별합니다. 이 예에서는 vg1을 사용합니다.
  3. 볼륨 그룹을 제거하려면 vgremove vg1 명령어를 사용합니다. 이렇게 하면 볼륨 그룹과 관련된 모든 논리적 볼륨이 삭제됩니다.
  4. 명령을 실행한 후 볼륨 그룹이 성공적으로 제거되었다는 메시지가 표시됩니다.

참고: 볼륨 그룹을 제거할 때는 신중해야 합니다. 이 작업은 되돌릴 수 없으므로 진행하기 전에 중요한 데이터를 백업해야 합니다.

PV 삭제

# pvs
PV         VG   Fmt  Attr PSize    PFree   
  /dev/sdc1       lvm2 --   1019.72M 1019.72M
  /dev/sdd1       lvm2 --   1019.72M 1019.72M
  /dev/sde1       lvm2 --   1019.72M 1019.72M
  /dev/sdf1       lvm2 --   1019.72M 1019.72M
  /dev/sdg1       lvm2 --   1019.72M 1019.72M
# pvremove /dev/sd[cdefg]1
Labels on physical volume "/dev/sdc1" successfully wiped
  Labels on physical volume "/dev/sdd1" successfully wiped
  Labels on physical volume "/dev/sde1" successfully wiped
  Labels on physical volume "/dev/sdf1" successfully wiped
  Labels on physical volume "/dev/sdg1" successfully wiped
# pvs 
#

현재 시스템에는 다음과 같은 물리 볼륨(PV)이 있습니다:

PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1       lvm2 --   1019.72M 1019.72M
  /dev/sdd1       lvm2 --   1019.72M 1019.72M
  /dev/sde1       lvm2 --   1019.72M 1019.72M
  /dev/sdf1       lvm2 --   1019.72M 1019.72M
  /dev/sdg1       lvm2 --   1019.72M 1019.72M

/dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1, /dev/sdg1의 PV를 삭제해야합니다. "pvremove /dev/sd[cdefg]1" 명령어를 실행하여 이 작업을 수행할 수 있습니다. 이 명령을 실행하면 각각의 물리 볼륨 라벨이 성공적으로 지워집니다.

PV를 제거한 후, "pvs" 명령어를 실행하면 시스템에는 더 이상 물리 볼륨이 표시되지 않습니다.

[6] LV 스트라이핑 구성

[명령어 형식]

# lvcreate -L 50G -i2 -I64 -n lv1 vg1    /* -I : 대문자 i */
-> -i 옵션: 스트라이프 수
-> -I 옵션: 스트라이프 크기(KB) - 기본값이 64KB
-> 2개의 PV에 걸쳐서 stripe 크기는 64KB 크기로 vg1에 lv1 구성

# lvextend -L +10G /dev/vg1/lv1
# lvextend -l +100%FREEE /dev/vg1/lv1

논리 볼륨 (LV) 스트라이핑은 데이터를 여러 개의 물리 볼륨 (PV)에 나누어 저장하여 논리 볼륨의 성능을 향상시키는 기술입니다. lvcreate 명령어를 사용하여 스트라이프 수, 스트라이프 크기, 크기 등을 지정하여 새 논리 볼륨을 생성합니다. -i 옵션은 스트라이프 수를 지정하고 -I 옵션은 스트라이프 크기를 지정합니다. 위의 예에서는 크기가 50GB이고 스트라이프 크기가 64KB인 lv1이라는 새 논리 볼륨이 vg1의 두 개의 물리 볼륨 (PV)에 걸쳐 생성됩니다.

lvextend 명령어는 기존 논리 볼륨의 크기를 확장하는 데 사용됩니다. -L 옵션은 논리 볼륨의 새 크기를 지정하는 데 사용되며 -l 옵션은 논리 볼륨에 추가할 여유 공간의 백분율을 지정하는 데 사용됩니다.

[EX1] LV Stripe 구성

LVM을 확장하려면 다음 단계를 따르십시오:

  1. 터미널을 열고 fdisk /dev/sdh를 입력하여 fdisk 유틸리티에 들어갑니다.
  2. fdisk 유틸리티를 사용하여 기기에 새 파티션을 생성합니다.
  3. /dev/sdh1 (시스템 파티션 ID : 8e)
  4. 파티션을 생성한 후에 fdisk 유틸리티를 종료하고 다음 단계로 진행합니다.

이 단계들은 기기가 시스템에서 올바르게 연결되고 인식되었다고 가정합니다. 만약 프로세스 중에 문제가 발생하면 기기 설명서를 참조하거나 자격 있는 전문가의 도움을 받으십시오.

LV Stripe 구성 예제 코드 단계별 설명:

  1. 구성된 물리 볼륨 확인
    • 위 명령어로 구성된 물리 볼륨을 확인할 수 있다.
  2. # pvs # -> 구성된 정보가 없다. # fdisk -l | grep 'LVM' /dev/sdc1 1 130 1044193+ 8e Linux LVM /dev/sdd1 1 130 1044193+ 8e Linux LVM /dev/sde1 1 130 1044193+ 8e Linux LVM /dev/sdf1 1 130 1044193+ 8e Linux LVM /dev/sdg1 1 130 1044193+ 8e Linux LVM /dev/sdh1 1 130 1044193+ 8e Linux LVM
  3. 물리 볼륨을 생성
    • 위 명령어로 물리 볼륨을 생성한다.
  4. # pvcreate /dev/sd[cde]1 (# pvcreate /dev/sdc1 /dev/sdd1 /dev/sde1) Writing physical volume data to disk "/dev/sdc1" Physical volume "/dev/sdc1" successfully created Writing physical volume data to disk "/dev/sdd1" Physical volume "/dev/sdd1" successfully created Writing physical volume data to disk "/dev/sde1" Physical volume "/dev/sde1" successfully created
  5. 볼륨 그룹 생성
    • 위 명령어로 볼륨 그룹을 생성한다.
  6. # vgcreate vg1 /dev/sd[cde]1 (# vgcreate vg1 /dev/sdc1 /dev/sdd1 /dev/sde1) Volume group "vg1" successfully created
  7. 논리 볼륨 생성
    • 위 명령어로 논리 볼륨을 생성한다. L 옵션으로 크기를 지정하고, i 옵션으로 논리 볼륨을 구성하는 물리 볼륨의 개수를 지정한다. I 옵션으로 하나의 논리 볼륨 내에서 데이터가 어떻게 나뉘어 저장되는지를 결정할 수 있다.
  8. # lvcreate -L 1.5G -i 3 -I 64 -n stripelv vg1 /* -l : 대문자 i */ Logical volume "stripelv" created # man lvcreate -i, --stripes Stripes Gives the number of stripes. This is equal to the number of physical volumes to scatter the logical volume. -I, --stripesize StripeSize /* 대문자 i */ Gives the number of kilobytes for the granularity of the stripes. StripeSize must be 2^n (n = 2 to 9) for metadata in LVM1 format. For metadata in LVM2 format, the stripe size may be a larger power of 2 but must not exceed the physical extent size.
  9. 생성된 논리 볼륨 확인
    • 위 명령어로 생성된 물리 볼륨을 확인할 수 있다. 총 3개의 물리 볼륨이 사용되었으며, 각각의 용량과 남은 용량을 확인할 수 있다.
  10. # pvs PV VG Fmt Attr PSize PFree /dev/sdc1 vg1 lvm2 a- 1016.00M 504.00M /dev/sdd1 vg1 lvm2 a- 1016.00M 504.00M /dev/sde1 vg1 lvm2 a- 1016.00M 504.00M
  11. 생성된 논리 볼륨 확인lvdisplay /dev/vg1/stripelv 명령을 사용하면 논리적 볼륨에 대한 정보를 볼 수 있습니다. 이 명령은 볼륨 그룹에 대한 요약 정보를 제공하며, 물리적 볼륨의 개수, 물리적 익스텐트의 크기 및 그룹 내 논리적 볼륨의 수를 포함합니다. 또한 각 논리적 볼륨에 대한 세부 정보를 표시하며 크기, 읽기/쓰기 상태 및 할당된 물리적 익스텐트의 수 등을 제공합니다.
  12. lvdisplay 외에도, 새로운 논리적 볼륨을 만들기 위한 lvcreate 및 기존 논리적 볼륨의 크기를 확장하기 위한 lvextend와 같은 논리적 볼륨을 관리하는 다른 명령도 있습니다. 이러한 명령은 Linux 시스템의 저장 장치 및 볼륨을 관리하는 강력한 도구인 논리 볼륨 관리자(LVM) 유틸리티의 일부입니다.
  13. # lvdisplay /dev/vg1/stripelv Logical

[EX2] Striped LV 확장

  1. vgs 명령어로 현재 가상 볼륨 그룹의 정보를 확인한다.
  2. # vgs VG #PV #LV #SN Attr VSize VFree vg1 3 1 0 wz--n- 2.98G 1.48G
  3. lvextend 명령어를 사용하여 /dev/vg1/stripelv 논리 볼륨을 확장한다.
  4. # lvextend -l +100%FREE /dev/vg1/stripelv Using stripesize of last segment 64.00 KB Extending logical volume stripelv to 2.98 GB Logical volume stripelv successfully resized
  5. 다시 한 번 vgs 명령어로 가상 볼륨 그룹의 정보를 확인한다.
  6. # vgs VG #PV #LV #SN Attr VSize VFree vg1 3 1 0 wz--n- 2.98G 0
  7. pvs 명령어로 물리 볼륨의 정보를 확인한다.
  8. # pvs PV VG Fmt Attr PSize PFree /dev/sdc1 vg1 lvm2 a- 1016.00M 0 /dev/sdd1 vg1 lvm2 a- 1016.00

이번 실습에서는 LVM(Logical Volume Management)을 이용하여 Striping을 구현하는 방법을 알아보겠습니다. Striping은 여러 개의 디스크를 묶어서 하나의 볼륨으로 사용하는 기술입니다. 이를 통해 데이터의 안정성과 성능을 개선할 수 있습니다.

아래는 Striping을 구현하기 위한 명령어들입니다.

# lvs
# mkfs.ext4 /dev/vg1/stripelv
# mkdir –p /stripelv
# mount /dev/vg1/stripelv /stripelv  (/etc/fstab)
# df –h
# dd if=/dev/zero of=/stripelv/file1 bs=1M count=150
# cd
# umount /stripelv (/etc/fstab)
# df –h

위 명령어들을 차례대로 입력하면 /dev/vg1/stripelv 디바이스가 생성되고 이를 포맷한 뒤 /stripelv 디렉토리에 마운트합니다. 이후 dd 명령어를 이용하여 /stripelv 디렉토리에 150MB 크기의 파일을 생성합니다. 마지막으로 umount 명령어를 이용하여 /stripelv 디렉토리를 언마운트합니다.

위의 명령어들을 차례대로 실행하면서 Striping이 어떻게 이루어지는지 자세히 살펴보세요.

실수로 LV, VG 또는 PV를 삭제한 경우, 다시 복원할 수 있습니다. 복원을 위해서는 삭제하기 전과 비슷한 구성으로 볼륨 그룹을 다시 생성해야 합니다.

  1. 삭제하기 전과 동일한 이름을 가진 볼륨 그룹을 생성합니다.이 때, 삭제하기 전과 동일한 물리 볼륨을 볼륨 그룹에 추가해야 합니다.
  2. vgcreate vg1 /dev/sd[cdefgh]1
  3. 복원하려는 논리 볼륨을 복원합니다.
  4. lvcreate -l <원래 논리 볼륨 크기> -n <복원할 논리 볼륨 이름> <원래 볼륨 그룹 이름>
  5. 복원할 논리 볼륨에 파일 시스템을 생성합니다.
  6. mkfs.<파일 시스템 종류> /dev/<복원할 논리 볼륨 이름>
  7. 복원할 논리 볼륨에 마운트 포인트를 할당합니다.
  8. mount /dev/<복원할 논리 볼륨 이름> <마운트 포인트>

이제 데이터가 복원되어 마운트 포인트에서 접근할 수 있습니다.

[7] LV Mirroring 구성

[명령어 형식]

# lvcreate -L 50G -m 1 -n lv1 vg1
-> -m 옵션: number of copies
# lvcreate -L 12G -m1 -n lv1 vg1 /dev/sdc1 /dev/sdd1

# lvextend -L +5G /dev/vg1/mirrorlv —nosync

이 명령어들은 다음과 같이 사용됩니다:

  • lvcreate: 이 명령어는 논리 볼륨을 생성하는 데 사용됩니다. L 옵션은 논리 볼륨의 크기를 지정하고, m 옵션은 복사본의 수를 지정합니다. vg1 매개변수는 논리 볼륨이 생성될 볼륨 그룹을 지정합니다.
  • lvextend: 이 명령어는 논리 볼륨을 확장하는 데 사용됩니다. L 옵션은 논리 볼륨에 추가할 공간의 양을 지정합니다. /dev/vg1/mirrorlv 매개변수는 확장할 논리 볼륨을 지정합니다.

이러한 명령어를 사용하여 시스템에서 논리 볼륨을 쉽게 생성하고 관리할 수 있습니다.

[EX1] LV Mirroring 구성

LVM(Linux Volume Manager) 설정 방법과 LVM 관리에 대한 명령어 사용 방법을 설명하고 있습니다.

LVM 설정 방법에는 pvcreate, vgcreate, lvcreate 명령어를 사용해 논리 볼륨 그룹을 만들고 논리 볼륨을 생성하며, 파일 시스템을 생성하는 방법이 있습니다.

아래 코드는 pvcreate 명령어를 사용해 물리 볼륨을 논리 볼륨 그룹으로 만들고, vgcreate 명령어를 사용해 논리 볼륨 그룹을 만드는 과정입니다.

# fdisk -l | grep LVM
/dev/sdc1               1         130     1044193+  8e  Linux LVM
/dev/sdd1               1         130     1044193+  8e  Linux LVM
/dev/sde1               1         130     1044193+  8e  Linux LVM
/dev/sdf1               1         130     1044193+  8e  Linux LVM
/dev/sdg1               1         130     1044193+  8e  Linux LVM
/dev/sdh1               1         130     1044193+  8e  Linux LVM
# pvcreate /dev/sd[cdef]1
Writing physical volume data to disk "/dev/sdc1"
  Physical volume "/dev/sdc1" successfully created
  Writing physical volume data to disk "/dev/sdd1"
  Physical volume "/dev/sdd1" successfully created
  Writing physical volume data to disk "/dev/sde1"
  Physical volume "/dev/sde1" successfully created
  Writing physical volume data to disk "/dev/sdf1"
  Physical volume "/dev/sdf1" successfully created
# vgcreate vg1 /dev/sd[cde]1
Volume group "vg1" successfully created

위 코드에서 pvcreate 명령어를 사용해 /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1 디스크 파티션을 논리 볼륨 그룹으로 만들었습니다. 그리고 vgcreate 명령어를 사용해 /dev/sdc1, /dev/sdd1, /dev/sde1을 묶어 vg1이라는 이름의 논리 볼륨 그룹을 만들었습니다.

이어서, lvcreate 명령어를 사용해 논리 볼륨을 만들고 파일 시스템을 생성하는 과정입니다.

# lvcreate -L 100M -m 1 -n mirrorlv vg1
Logical volume "mirrorlv" created
# pvs
  /dev/sdc1  vg1  lvm2 a-   1016.00M  916.00M
  /dev/sdd1  vg1  lvm2 a-   1016.00M  916.00M
  /dev/sde1  vg1  lvm2 a-   1016.00M 1012.00M
  /dev/sdf1       lvm2 --   1019.72M 1019.72M

위 코드에서 lvcreate 명령어를 사용해 vg1에서 mirrorlv라는 이름의 논리 볼륨을 만들었습니다. -L 옵션을 사용해 논리 볼륨의 크기를 지정하고, -m 1 옵션을 사용해 미러링을 설정합니다. 이후 pvs 명령어로 논리 볼륨의 정보를 확인할 수 있습니다.

[EX2] LV Mirror 확장하기

논리 볼륨 크기 확장

# lvextend -L +100M /dev/vg1/mirrorlv
  2개의 미러 이미지를 확장합니다.
  논리 볼륨 mirrorlv 확장 크기: 200.00 MB
  논리 볼륨 mirrorlv의 크기가 성공적으로 조정되었습니다.
  • 현재 사용 가능한 물리 볼륨(PFree)과 사용 중인 물리 볼륨(PSize)의 정보를 보여주는 pvs 명령어 출력 결과입니다.
# pvs
  PV         VG   Fmt  Attr PSize    PFree
  /dev/sdc1  vg1  lvm2 a-   1016.00M  816.00M
  /dev/sdd1  vg1  lvm2 a-   1016.00M  816.00M
  /dev/sde1  vg1  lvm2 a-   1016.00M 1012.00M
  /dev/sdf1       lvm2 --   1019.72M 1019.72M

추가 작업

  • lvs 명령어로 논리 볼륨을 확인할 수 있습니다.
# lvs
  • mirrorlv 논리 볼륨에 ext4 파일 시스템을 생성하는 명령어입니다.
# mkfs.ext4 /dev/vg1/mirrorlv
  • /mirrorlv 디렉토리를 만들고 mirrorlv 논리 볼륨을 /mirrorlv에 마운트하는 명령어입니다. 이때 /etc/fstab 파일에도 반영되도록 합니다.
# mkdir –p /mirrorlv ; mount /dev/vg1/mirrorlv /mirrorlv
  • 디스크 용량을 확인하는 명령어입니다.
# df –h
  • 디렉토리를 변경하는 명령어입니다.
# cd
  • /mirrorlv 디렉토리에서 mirrorlv 논리 볼륨을 언마운트하는 명령어입니다. 이때 /etc/fstab 파일에도 반영되도록 합니다.
# umount /mirrorlv
  • 디스크 용량을 확인하는 명령어입니다.
# df –h

복구 작업

  • mirrorlv 논리 볼륨을 삭제하는 명령어입니다.
# lvremove /dev/vg1/mirrorlv
  • vg1 볼륨 그룹을 삭제하는 명령어입니다.
# vgremove /dev/vg1
  • /dev/sd[cdef]1 파티션에서 물리 볼륨 정보를 삭제하는 명령어입니다.
# pvremove /dev/sd[cdef]1

(추가적인 실습 1)

(ㄱ) 디스크 준비

/dev/sdc1(1G), /dev/sdd1(1G), /dev/sde1(1G), /dev/sdf1(1G), /dev/sdg1(1G), /dev/sdh1(1G)

(ㄴ) 생성과정

  • 다음 명령어를 사용하여 새로운 physical volume(PV)를 생성합니다.
# pvcreate /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
  • 이제 각각의 physical volume(PV)을 volume group(VG)에 추가합니다.
# vgcreate VG1 /dev/sdc1 /dev/sdd1 /dev/sde1
# vgcreate VG2 /dev/sdf1 /dev/sdg1
  • 이제 각각의 VG에서 logical volume(LV)을 생성합니다.
# lvcreate -L 1.5G -n LV1 VG1
# lvcreate -L 1.5G -n LV2 VG1
# lvcreate -L 1G -n LV3 VG2
# lvcreate -L 1G -n LV4 VG2
  • 이제 각 LV에 파일 시스템을 생성합니다.
# mkfs.ext4 /dev/VG1/LV1
# mkfs.ext4 /dev/VG1/LV2
# mkfs.ext4 /dev/VG2/LV3
# mkfs.ext4 /dev/VG2/LV4
  • 각 LV의 마운트 포인트를 생성하고 마운트합니다.
# mkdir /lvm1
# mkdir /lvm2
# mkdir /lvm3
# mkdir /lvm4
# mount /dev/VG1/LV1 /lvm1
# mount /dev/VG1/LV2 /lvm2
# mount /dev/VG2/LV3 /lvm3
# mount /dev/VG2/LV4 /lvm4
  • fstab을 수정하여 부팅시 자동 마운트되도록 설정합니다.
# vi /etc/fstab

(ㄷ) 작업 시나리오

  • 새로운 디스크가 추가되어 VG2에 추가해야 한다면 다음 명령어를 사용합니다.
# vgextend VG2 /dev/sdh1
  • LV4를 1GB 확장해야한다면 다음 명령어를 사용합니다.
# lvextend -L +1G /dev/VG2/LV4
  • 파일 시스템 크기를 확장해야한다면 다음 명령어를 사용합니다.
# resize2fs /dev/VG2/LV4

(ㄹ) 삭제

  • 각 마운트를 해제합니다.
# umount /lvm1
# umount /lvm2
# umount /lvm3
# umount /lvm4
  • 각 LV를 삭제합니다.
# lvremove /dev/VG1/LV1
# lvremove /dev/VG1/LV2
# lvremove /dev/VG2/LV3
# lvremove /dev/VG2/LV4
  • 각 VG를 삭제합니다.
# vgremove VG1
# vgremove VG
  • 각 PV를 삭제합니다.
# pvremove /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1

(ㅁ) 참고

  • 시스템에서 사용 가능한 PV를 스캔합니다.
# pvscan
  • 시스템에서 사용 가능한 VG를 스캔합니다.
# vgscan
  • 시스템에서 사용 가능한 LV를 스캔합니다.
# lvscan
  • PV의 상세 정보를 확인합니다.
# pvdisplay
  • VG의 상세 정보를 확인합니다.
# vgdisplay
  • LV의 상세 정보를 확인합니다.
# lvdisplay

다음 단계를 진행하기 전에, 선수 작업을 수행해야 합니다. VMWare에 접속하고 작업할 가상 머신(VM)을 선택한 후 CD-ROM 설정으로 이동합니다. 거기서 "CD"를 사용할 수 있는 옵션을 비활성화하여 이후 작업에서 마운트되지 않도록 합니다. 이를 통해 다음 단계를 올바르게 실행하고 문제 없이 진행할 수 있습니다.

(1) 디스크 준비

  • 각 디스크를 PV로 생성합니다.
  • # fdisk /dev/sdc (/dev/sdc1(System ID : 8e)) # fdisk /dev/sdd (/dev/sdd1(System ID : 8e)) # fdisk /dev/sde (/dev/sde1(System ID : 8e)) # fdisk /dev/sdf (/dev/sdf1(System ID : 8e)) # fdisk /dev/sdg (/dev/sdg1(System ID : 8e)) # fdisk /dev/sdh (/dev/sdh1(System ID : 8e)) # fdisk -l | grep LVM

(2) PV 생성

  • /dev/sd[cdefgh]1을 사용하여 PV 생성합니다.
  • # pvcreate /dev/sdc1 (# pvcreate /dev/sd[cdefgh]1) # pvcreate /dev/sdd1 # pvcreate /dev/sde1 # pvcreate /dev/sdf1 # pvcreate /dev/sdg1 # pvcreate /dev/sdh1 # pvscan # pvdisplay # pvs

(3) VG 생성

  • /dev/sd[cde]1을 사용하여 VG1 생성, /dev/sd[fg]1을 사용하여 VG2 생성합니다.
  • # vgcreate VG1 /dev/sdc1 /dev/sdd1 /dev/sde1 (# vgcreate VG1 /dev/sd[cde]1) # vgcreate VG2 /dev/sdf1 /dev/sdg1 (# vgcreate VG2 /dev/sd[fg]1) # vgscan # vgdisplay # vgs # pvs

(4) LV 생성

  • VG1에서 LV1, LV2 생성
  • VG2에서 LV3, LV4 생성합니다.
  • # lvcreate -L 1500M -n LV1 VG1 (# lvcreate -L 1.5G -n LV1 VG1) # lvcreate -L 1500M -n LV2 VG1 (# lvcreate -l 100%FREE -n LV2 VG1) # lvcreate -L 1000M -n LV3 VG2 (# lvcreate -L 1G -n LV3 VG2) # lvcreate -L 1000M -n LV4 VG2 (# lvcreate -l 100%FREE -n LV4 VG2) # lvscan # lvdisplay # lvs

(5) 파일 시스템 작업

  • 각 LV에 ext4 파일 시스템을 생성합니다.
  • # mkfs.ext4 /dev/VG1/LV1 # mkfs.ext4 /dev/VG1/LV2 # mkfs.ext4 /dev/VG2/LV3 # mkfs.ext4 /dev/VG2/LV4

(6) 마운트 작업

  • 각 LV를 mount하여 활성화합니다.
  • fstab 파일을 수정하여 부팅 시 자동으로 mount할 수 있도록 설정합니다.
  • # mkdir /lvm1 /lvm2 /lvm3 /lvm4 # mount /dev/VG1/LV1 /lvm1 # mount /dev/VG1/LV2 /lvm2 # mount /dev/VG2/LV3 /lvm3 # mount /dev/VG2/LV4 /lvm4 # vi /etc/fstab /dev/VG1/LV1 /lvm1 ext4 defaults 1 2 /dev/VG1/LV2 /lvm2 ext4 defaults 1 2 /dev/VG2/LV3 /lvm3 ext4 defaults 1 2 /dev/VG2/LV4 /lvm4 ext4 defaults 1 2 # df -h (# mount)

(7) 용량 늘리는 작업

가상 그룹 VG2를 확장하여 /dev/sdh1을 추가합니다.

# vgextend VG2 /dev/sdh1

논리 볼륨 VG2/LV4의 용량을 1000MB 증가시킵니다.

# lvextend -L +1000M /dev/VG2/LV4    (# lvextend -l +100%FREE /dev/VG2/LV4)

논리 볼륨 VG2/LV4의 파일 시스템을 새로운 크기로 확장합니다.

# resize2fs /dev/VG2/LV4

확장된 용량을 확인합니다.

# df -h
/dev/mapper/VG1-LV1  1.5G   35M  1.4G   3% /lvm1
/dev/mapper/VG1-LV2  1.5G   35M  1.4G   3% /lvm2
/dev/mapper/VG2-LV3  985M   18M  918M   2% /lvm3
/dev/mapper/VG2-LV4  2.0G   18M  1.9G   1% /lvm4

(8) 재부팅

시스템을 재부팅합니다.

# init 6 (# reboot)

부팅 후, 용량이 확장된 파일 시스템을 확인합니다.

# df -h
/dev/mapper/VG1-LV1  1.5G   35M  1.4G   3% /lvm1
/dev/mapper/VG1-LV2  1.5G   35M  1.4G   3% /lvm2
/dev/mapper/VG2-LV3  985M   18M  918M   2% /lvm3
/dev/mapper/VG2-LV4  2.0G   18M  1.9G   1% /lvm4

(9) 삭제 작업

모든 마운트를 해제합니다.

# umount /lvm1
# umount /lvm2
# umount /lvm3
# umount /lvm4

fstab 파일을 열어 마운트 정보를 삭제합니다.

# vi /etc/fstab

마운트 정보를 삭제한 후, 파일 시스템 용량을 확인합니다.

# df -h

논리 볼륨을 삭제합니다.

# lvremove /dev/VG1/LV1    (# lvremove /dev/VG[12]/LV[12])
# lvremove /dev/VG1/LV2
# lvremove /dev/VG2/LV3
# lvremove /dev/VG2/LV4
# lvscan

가상 그룹을 삭제합니다.

# vgremove VG1
# vgremove VG2
# vgscan

물리적인 볼륨을 삭제합니다.

# pvremove /dev/sdc1       (# pvremove /dev/sd[cdefgh]1)
# pvremove /dev/sdd1
# pvremove /dev/sde1
# pvremove /dev/sdf1
# pvremove /dev/sdg1
# pvremove /dev/sdh1
# pvscan

[참고] pvremove 명령어로 삭제 했지만 pvscan 결과에 표시가 나는 경우

dd if=/dev/zero of=/dev/sdc1 bs=512 count=2
pvscan

---------------------------------- 작업 과정 ---------------------------------------

[참고] /etc/fstab 파일이 잘못 되어서 부팅이 되지 않는 경우

컴퓨터가 /etc/fstab 파일에서 오류로 부팅되지 않는 경우, 걱정하지 마십시오. 문제를 해결하고 시스템을 다시 실행하는 데 도움이 되는 몇 가지 단계가 있습니다. 먼저 복구 모드로 부팅하여 /etc/fstab 파일을 수동으로 편집하여 오류를 수정해보세요. 이것이 작동하지 않는 경우, 하드 드라이브를 마운트하고 파일에 액세스하기 위해 라이브 CD 또는 USB 드라이브에서 부팅해야 할 수도 있습니다. 또 다른 옵션은 부트 리페어 도구를 사용하여 시스템의 부트 구성에 문제가 있는 경우 자동으로 해결하는 것입니다. 기억해야 할 것은 /etc/fstab 파일의 오류는 짜증나긴 하지만 일반적으로 치명적이지 않으며 약간의 노하우로 쉽게 해결할 수 있습니다.

그러나, 이러한 문제가 발생하면 이를 해결하는 것 외에도 다양한 방법으로 시스템을 개선할 수 있습니다. 예를 들어, 파일 시스템의 크기를 키우거나 하드 드라이브를 추가할 수 있습니다. 또한, 운영 체제의 최신 버전으로 업그레이드하거나 보안 패치를 설치하여 시스템의 안정성을 높일 수 있습니다. 이러한 작업은 시스템을 보다 효율적으로 사용할 수 있도록 도와주며, 시스템을 안정적으로 유지하는 데 도움이 됩니다.

만약 /etc/fstab 파일에서 수정이 필요하다면, 아래 명령어를 입력하여 수정해야 합니다.

# vi /etc/fstab

만약 fstab 파일에서 어떤 내용을 수정하고 싶다면, 아래 명령어를 입력하여 수정할 수 있습니다.

# mount -o remount /
# vi /etc/fstab

fstab 파일은 다음과 같은 내용을 담고 있습니다.

/dev/VG1/LV1/lvm1 ...
/dev/VG1/LV2/lvm2 ...
/dev/VG2/LV3/lvm3 ...
/dev/VG2/LV4/lvm4 ...

볼륨 그룹과 논리 볼륨을 생성하는 방법은 다음과 같습니다.

(추가적인 실습 2) 오라클을 위한 VG 생성 및 LV 생성
3장의 디스크(/dev/sdc1, /dev/sdd1, /dev/sde1)에 LVM 생성

oraclevg -----+----- oralv (/oracle) : 1.5G
              |
              +----- datalv(/oracle/data) : 1.5G

# fdisk /dev/sda1
# fdisk /dev/sdb1
# fdisk /dev/sdc1

# pvcreate /dev/sdc1 /dev/sdd1 /dev/sde1   (# pvcreate /dev/sd[cde]1)
# vgcreate oraclevg /dev/sdc1 /dev/sdd1 /dev/sde1 (# vgcreate oraclevg /dev/sd[cde]1)
# lvcreate -L 2G -n oralv oraclevg
# lvcreate -l 100%FREE -n datalv oraclevg
# mkfs -t ext4 /dev/oraclevg/oralv
# mkfs -t ext4 /dev/oraclevg/datalv
# mkdir /oracle
# mount /dev/oraclevg/oralv /oracle (# vi /etc/fstab)
# mkdir /oracle/data
# mount /dev/oraclevg/da talv /oracle/data (# vi /etc/fstab)
# df -h

# umount /oracle/data (# vi /etc/fstab)
# umount /oracle      (# vi /etc/fstab)
# lvremove /dev/oraclevg/datalv
# lvremove /dev/oraclevg/oralv
# vgremove oraclevg
# pvremove /dev/sdc1 /dev/sdd1 /dev/sde1

(추가적인 실습 3) WAS(Web Application Server)을 위한 VG 생성 및 LV 생성
3장의 디스크(/dev/sdf1, /dev/sdg1, /dev/sdh1)에 LVM 생성

wasvg -----+----- waslv (/was) : 1G
           |
           +----- sourcelv(/source) : 1G
           |
           +----- wasloglv(/waslogs) : 1G

위에 있는 모든 내용을 참고하여, fstab 파일에서 어떤 내용을 수정하는 방법을 설명했습니다. 이제 이 내용을 사용하여, LVM을 생성하는 방법을 설명할 수 있습니다.

LVM은 시스템을 보다 유연하게 사용할 수 있도록 도와주며, 데이터의 안전성을 보장합니다. 따라서 LVM을 사용하여 시스템을 개선하는 것은 매우 유용합니다. 이를 위해서는 몇 가지 작업을 수행해야 하지만, 위에 설명된 내용을 참고하면 쉽게 해결할 수 있습니다.

반응형