워크플레이스/IaC를 이용한 LVM 구성

[LVM] RHEL 7에 LVM 및 파일시스템 구성 - 수동 version (2)

Cloud Engineer 2021. 10. 19. 11:48

개요

본 포스팅에서는 (1)에서 구성한 LVM에 파일시스템 및 마운팅을 진행하여 DBA가 사용할 수 있도록 하겠습니다. 또한 해당 작업을 수행하먀 느낀점으로 포스팅을 마무리하겠습니다.

작업 이행

구성된 LVM에 마운팅 및 파일시스템을 구축하는 과정을 정리하겠습니다.

1. 파일시스템 구성

EC2와 연결된 EBS를 마운팅하기 위해 아래와 같은 CLI 명령어를 입력하여 디바이스 이름 및 용량을 확인합니다.

lsblk와 df가 다른 점
lsblk는 EC2에서 접근 가능한 디스크 블럭 장치를 확인할 수 있는 명령어인 반면에 df는 물리적 디스크에서 마운팅 된 디스크의 용량을 확인하는 명령어입니다. EBS는 아직 EC2에 마운팅이 되지 않은 상태이기 때문에 df를 사용하여 확인이 불가합니다.

lsblk 명령어를 통해 확인한 디바이스를 EC2에 마운팅하기 위해 아래와 같은 방식으로 파일시스템을 구성해줍니다. mkfs 명령어를 사용하여 파일시스템을 구성할 수 있으며 시스템에서 아래와 같은 결과를 반환합니다.

# 1. xvdb에 구성된 Logical Volume을 확인
$ lsblk
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda                    202:0    0   10G  0 disk 
├─xvda1                 202:1    0    1M  0 part 
└─xvda2                 202:2    0   10G  0 part /
xvdb                    202:16   0  200G  0 disk 
├─vg_oracle-lv_ora_data 253:0    0  150G  0 lvm  
└─vg_oracle-lv_oracle   253:1    0   50G  0 lvm 

# 2. 파일시스템 타입으로 ext4를 지정하여 파일시스템 구성
$ mkfs -t ext4 /dev/vg_oracle/lv_ora_data
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9830400 inodes, 39321600 blocks
1966080 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2187329536
1200 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     

$ mkfs -t ext4 /dev/vg_oracle/lv_oracle 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13106176 blocks
655308 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

2. 마운팅

LVM 및 파일시스템을 구성한 디스크에 oracle DBMS가 전용으로 사용할 수 있도록 /home/ora_user의 각 디렉토리에 적절한 Logical Volume을 마운팅합니다. df를 통해 정상적으로 마운팅이 되었음을 확인할 수 있습니다.

# 1. 각 Logical Volume을 적절한 디렉토리에 마운팅
$ mount /dev/vg_oracle/lv_oracle /home/ora_user/oracle
$ mount /dev/vg_oracle/lv_ora_data /home/ora_user/oradata/

# 2. 정상적으로 마운팅이 되었는지 확인
$ df
Filesystem                        1K-blocks    Used Available Use% Mounted on
devtmpfs                             916888       0    916888   0% /dev
tmpfs                                940184       0    940184   0% /dev/shm
tmpfs                                940184   16904    923280   2% /run
tmpfs                                940184       0    940184   0% /sys/fs/cgroup
/dev/xvda2                         10473452 3622184   6851268  35% /
tmpfs                                188040       0    188040   0% /run/user/1000
/dev/mapper/vg_oracle-lv_oracle    51470816   53272  48779928   1% /home/ora_user/oracle
/dev/mapper/vg_oracle-lv_ora_data 154686928   61464 146744760   1% /home/ora_user/oradata

단, OS를 재부팅할 경우 mount된 디스크가 자동으로 umount되므로 부팅 시 해당 디스크를 자동으로 마운트하기 위해 다음과 같은 명령어를 입력합니다.

# 작업 전, fstab 파일 내용을 살펴봅니다.
$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Sep 23 10:08:16 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=4f462461-aef2-46ee-a16e-8548d8f7fbf7 /                       xfs     defaults        0 0

# 1. fstab 파일을 수정 중, 실수로 해당 파일이 손상되는 상황을 방지하기 위해 백업본을 복사해둡니다.
$ cp /etc/fstab /etc/fstab.orig

# 2. lv_oracle 및 lv_ora_data의 UUID를 확인하고, fstab의 구성을 확인합니다.
$ lsblk -o +UUID
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT             UUID
xvda                    202:0    0   10G  0 disk                        
├─xvda1                 202:1    0    1M  0 part                        
└─xvda2                 202:2    0   10G  0 part /                      4f462461-aef2-46ee-a16e-8548d8f7fbf7
xvdb                    202:16   0  200G  0 disk                        L0Ts8q-3Sje-vPdt-XVzM-NpJy-bGcq-XFmdb7
├─vg_oracle-lv_ora_data 253:0    0  150G  0 lvm  /home/ora_user/oradata 827c97a5-d308-4ba0-a927-89307f26445f
└─vg_oracle-lv_oracle   253:1    0   50G  0 lvm  /home/ora_user/oracle  f13dc31e-ebde-49ed-bdd5-6ce40399d1ac

# 3.fstab에 아래와 같은 명령어를 입력하여 /etc/fstab 파일의 해당 내용을 apppend(추가)합니다.
$ echo "UUID=827c97a5-d308-4ba0-a927-89307f26445f /home/ora_user/oradata ext4 defaults,nofail 0 2" >> /etc/fstab 
$ echo "UUID=f13dc31e-ebde-49ed-bdd5-6ce40399d1ac /home/ora_user/oracle ext4 defaults,nofail 0 2" >> /etc/fstab

# 4. 정상적으로 위의 내용이 추가되었는지 확인합니다.
$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Sep 23 10:08:16 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=4f462461-aef2-46ee-a16e-8548d8f7fbf7 /                       xfs     defaults        0 0
UUID=827c97a5-d308-4ba0-a927-89307f26445f /home/ora_user/oradata ext4 defaults,nofail 0 2
UUID=f13dc31e-ebde-49ed-bdd5-6ce40399d1ac /home/ora_user/oracle ext4 defaults,nofail 0 2

마무리

신규 서버를 구축할 때 오라클 DBA에게 LVM 및 파일시스템을 구성한 이후 이관을 해야되는 상황이 발생하면 어떤 작업을 수행해야되는지 (1) ~ (2)의 포스팅에 걸쳐 내용을 정리해봤습니다. 다음 포스팅에서는 같은 내용을 구성관리 자동화 도구인 앤서블을 사용하여 자동화하는 실습을 진행해보겠습니다.