반응형

DB를 설치하기 전 (사실 설치를 했지만, 에러나서 실패한건 비밀) 용도별 파일시스템을 만들기로 했다. 파일시스템을 구축해야 하는 이유는 용도별 용량을 설정해주기 위해서다. 이게 무슨말일까? 파일 시스템을 별도로 사용하지 않고, 한 폴더를 여러 곳에서 사용한다면 어느 곳에서 많이 쓰고 있는지 어디가 과하게 잡혀 있는지 모르게 될 것인다. (진짜?)

사실 회사에서 본 폴더 구조인데 왜 이렇게 복잡하게 설정하고 쓰고 있나 몰랐는데, 막상 구축하려니까 그들의 고뇌가 느껴졌다. 스고이.

일단 내가 구성할 파일시스템 구성은 /sw /log /arc /work 이다. 각각 파일시스템의 용도는 이렇다.

/sw : 데이터베이스 관련 엔진들이 설치될 공간
/log : 데이터베이스 각종 log 파일이 떨어질 공간
/arc : 오라클 아카이브 파일이 떨어지게될 공간
/work : 공유메모리로 여러 쉘 스크립트 작성들 여러 노드들과 공유하게될 폴더 (이건 그룹 볼륨을 해야될것 같은데 어려울것 같음)

이 글을 쓰기전까기 많은 노력들이 있었다. 파티션을 잘못 지워서 OS 를 다시 설치하기도 하였다. 그 덕분에 잘되던 alien 패키지도 동작을 하지 않는다.. so many 숙제 발생..

일단, log 파일을 15G로 설정할 예정이다. log 주제에 너무 많긴 하지만 파티션을 쪼개기 귀찮은건 안 비밀이다. 나중에 사용량을 봐서 줄여야겠다.

#1 파티션 확인하기
fdisk -l

root@DevOps:~# fdisk -l
Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x12dd99c9

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       2048   1050623   1048576   512M 83 Linux
/dev/sda2       1052670 976771071 975718402 465.3G  5 Extended
/dev/sda5       1052672 976771071 975718400 465.3G 83 Linux


Disk /dev/sdb: 14.94 GiB, 16013942784 bytes, 31277232 sectors
Disk model: SanDisk SSD i100
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6443471b

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1          2048  1050623  1048576  512M 83 Linux
/dev/sdb2       1052670 31277055 30224386 14.4G  5 Extended
/dev/sdb5       1052672 31277055 30224384 14.4G 83 Linux


파일시스템을 확인할 수 있는 명령어이다. /dev/sda1 을 보면 '*' 이 찍힌 것을 확인할 수 있는데, 이건 OS 관련 부팅 시스템이 설치된 공간임을 뜻한다. 만약 저걸 지우고 싶다? 그러면 재부팅이 안되며, 여러분의 소중한 시간은 삭-제와 만성 스트레스는 보너스다.

솔직히 저걸로 보면 뭔가 어질어질하다. 남들하게는 그럴싸하게 보이는 효과가 있으나, 내 머리가 어질어질해지는 효과도 추가 데미지이다. 우리는 그들이 내 모니터를 쳐다 보지 않으면, lsblk 명령어로 아주 편하게 파악하자.

lsblk

root@DevOps:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0 465.3G  0 part /
sdb      8:16   0  14.9G  0 disk 
├─sdb1   8:17   0   512M  0 part 
├─sdb2   8:18   0     1K  0 part 
└─sdb5   8:21   0  14.4G  0 part 
sr0     11:0    1  1024M  0 rom


결과를 확인해보면, sda와 sdb가 2개로 나온것을 볼 수 있는데 저건 실제로 PC에 장착되어 있는 디스크를 뜻한다. 나도 몰랐는데 이번에 확인해보니 나는 2개의 디스크가 노트북에 장착되어 있었다. (왜지?) 고로, sda 하드디스크 1개와 sdb 하드디스크 1개 그러면 합이 총 몇 개 일까요? 자, 그럼 이제 log 파일을 등록해보자.

lsblk를 통해 여러 파티션이 나누어져 있다는 사실이 학인되었다. 하지만, df -h 명령어를 확인해보면 전부 사용되지 않고 있다는 사실을 알 수 있다. 고로 놀고있는 놈이 있다는 사실을 알 수 있다. 회사의 부장님들이 우리가 노는 꼴을 못 보는 것처럼 우리도 이 놈들을 일하게 해야되는 의무가 있다.

root@DevOps:/mnt# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           383M  1.7M  382M   1% /run
/dev/sda5       457G  9.6G  425G   3% / # <===== 마운트된 파티션
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           383M   20K  383M   1% /run/user/1000


/dev/sda5 파티션만 열일 하는 것이 확인 되었다. 오늘은 /dev/sdb5에게 /log 폴더를 떠 맡기기로 했다.

#2 파일시스템 마운트
mkfs -t ext4 /dev/sdb5

root@DevOps:~# mkfs -t ext4 /dev/sdb5
mke2fs 1.45.5 (07-Jan-2020)
/dev/sdb5 contains a ext4 file system
	created on Sat Apr 30 22:55:49 2022
Proceed anyway? (y,N)


확인된 디스크를 리눅스 OS가 쓸 수 있도록 포맷하는 과정이다. 나는 이미 포맷되어 있는데 또 할꺼냐고 물어봐서 'N'을 눌러주었지만, 'y'를 눌러주면 수많은 로그가 화면에 찍힐 것이다. 이때 강한 어필을 하고 싶다면, y를 누르고 기지개를 키면서 화장실을 가보자. 그럼 당신이 무언가를 열심히 하고 있다고 생각할 것이다.

이 후에 mount 시킬 폴더를 만들어 보자 mkdir /log 디렉토리를 만드는 명령어이다.

자 그럼 마운트를 해볼까?

root@DevOps:/# mount -t ext4 /dev/sdb5 /lot
mount: /lot: mount point does not exist.


what thu fxxx... 역시 한 번에 성공하지 않는 것은 국룰인가보다. 해결 방법을 찾아보니 /etc/mnt 하위에 log 폴더를 만들라는 것이었다. 하지만 난 그 방식이 맘에 들지 않아 ! 다른 방법으로 시도 해보기로 한다.

(나중에 확인해보니 오타가 있었음)

mount /dev/sdb5 /log

root@DevOps:/mnt# mount /dev/sdb5 /log


아무런 이벤트가 없다. 잘 되거야? 너? 너 뭐돼? 확인 해보자.

root@DevOps:/mnt# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           383M  1.7M  382M   1% /run
/dev/sda5       457G  9.6G  425G   3% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           383M   20K  383M   1% /run/user/1000
/dev/sdb5        15G   37M   14G   1% /log <= 짜잔

드디어 됐다... 이 틀만의 삽집이 빛을 발휘하는 순간이다. 자 그럼 끝 ! 이 아니라 mount 한 파일시스템은 재부팅하면 자동으로 활성화 되지 않는다. 즉, 오늘 퇴근하면 내가 다시 부를때까지 출근하지 않는다는 것이다. 헬조선에서 그 꼴은 볼 수 없지. 내가 부르지 않아도 알아서 출근하도록 설정을 해주자.

cat /etc/fstab

root@DevOps:/etc# cat fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=5eae71cc-c1e4-4d92-a182-7b65fc2fd519 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=F06D-FEA2  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
/dev/sdb5 /log ext4 defaults 0 0 #2022-05-01 추가


cat /etc/fstab 명령어를 실행하면, /dev/sdb5가 빠진 구성이 확인될 것이다. 그럼 재부팅 된 후에도 잘 작동되는지 확인하면 정말로 끝이난다. 지금은 귀찮으니.. 다음에 확인해보도록 하자. 아래의 글이 작성된다면 한 번에 성공하지 못한 것이다.

재부팅 후 이야기
성-공

반응형

'OS > Linux' 카테고리의 다른 글

[Ubuntu] /dev/loop0 - 좌충우돌 DB서버 구축일기 -  (0) 2022.04.30
[Ubuntu] 우분투 df, du  (0) 2022.03.24
[Ubuntu] 우분투 호스트네임 변경  (5) 2022.03.12

+ Recent posts