리눅스 설치 150 150 phobe

리눅스 설치

서버 운영을 위한 리눅스로 Rocky Linux를 선택.
CentOS 지원 종료로 패키지를 업그레이드 하지 못하게 되어,
엔터프라이즈급 리눅스 중 오라클, 로키 두 종으로 압축 로키 선택.
CentOS 개발자들이 만든 배포판이고, RHEL 과 호환성이 높고, 거의 동일한 업데이트 지원이 있다고 하니까.
다음의 위키 독스 참고

1. USB 설치 파일 제작

2. UEFI 설치

3. 파티션

~]# blkid
/dev/nvme0n1p4: LABEL="/" UUID="57dd2906*******" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="*******"
/dev/nvme0n1p2: LABEL="boot" UUID="251516c2-*******" BLOCK_SIZE="4096" *******
/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="EFI" LABEL="EFI" *******
/dev/nvme0n1p6: LABEL="swap" UUID="a9fbdaa5-fdcf-4401-b28f-a0f57992abc5" *******
/dev/nvme0n1p5: LABEL="mysql" UUID="23e2a659-b321-4038-98af-39137e128e0c" *******
/dev/nvme0n1p3: LABEL="host" UUID="982d78eb-3451-43ae-af71-1c66c7955b83" *******

~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri Jul 18 05:17:56 2025
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=57dd2906-******* /                       ext4    defaults        1 1
UUID=251516c2-******* /boot                   ext4    defaults        1 2
UUID=9006-D1FC        /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=982d78eb-******* /host                   ext4    defaults        1 2
UUID=23e2a659-******* /var/lib/mysql          ext4    defaults        1 2
UUID=a9fbdaa5-******* none                    swap    defaults        0 0

~]# df -h
파일 시스템     크기  사용  가용 사용% 마운트위치
/dev/nvme0n1p4  118G  1.9G  110G    2% /
devtmpfs        4.0M     0  4.0M    0% /dev
tmpfs            32G     0   32G    0% /dev/shm
efivarfs        256K   69K  183K   28% /sys/firmware/efi/efivars
tmpfs            13G   16M   13G    1% /run
tmpfs           1.0M     0  1.0M    0% /run/credentials/systemd-journald.service
/dev/nvme0n1p2  974M  314M  593M   35% /boot
/dev/nvme0n1p5  118G   24K  112G    1% /var/lib/mysql
/dev/nvme0n1p3  671G   28K  637G    1% /host
/dev/nvme0n1p1  200M  8.4M  192M    5% /boot/efi
tmpfs           1.0M     0  1.0M    0% /run/credentials/getty@tty1.service
tmpfs           6.3G  4.0K  6.3G    1% /run/user/1000

~]# fdisk -l
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: SHPP41-1000GM                           
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: gpt
Disk identifier: 9CECEA64-A50C-4156-8824-F4B3F08F0511

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048     411647     409600   200M EFI System
/dev/nvme0n1p2     411648    2508799    2097152     1G Linux extended boot
/dev/nvme0n1p3    2508800 1433430015 1430921216 682.3G Linux filesystem
/dev/nvme0n1p4 1433430016 1685088255  251658240   120G Linux root (x86-64)
/dev/nvme0n1p5 1685088256 1936746495  251658240   120G Linux filesystem
/dev/nvme0n1p6 1936746496 1953523711   16777216     8G Linux swap
Bash

4. 설치 옵션 최소 설치

5. 네트워크 본딩

6. 설치 시 wheel 그룹 유저 추가

7. 설치 완료 후 네트워크 상태 확인

~]# ip addr                   # 네트워크 인터페이스 정보 확인
~]# ip route                  # 라우팅 테이블 정보 확인
~]# ss                        # 소켓 상태 정보 확인 (netstat 대체)
~]# ss -antp | grep EST       # 열린 서비스 등 확인

### ss 장점 ###
 빠름: netstat보다 속도가 빠릅니다.
 많은 정보 제공: 다양한 옵션을 통해  많은 정보를 얻을  있음.
netstat 대체: netstat 대신 사용을 권장

### ss 옵션 ###
모든 소켓 보기: ss -a (LISTEN, ESTABLISHED  모든 소켓 상태 표시)
TCP 소켓 보기: ss -t
UDP 소켓 보기: ss -u
LISTEN 상태의 소켓 보기: ss -l
프로세스 정보와 함께 보기: ss -p
숫자 형식으로 보기: ss -n (호스트명, 포트번호 대신 숫자 표시)
특정 포트 확인: ss -tulnp 'sport = :80' (80번 포트 확인)

### 예시 ###
ss -ant : 모든 TCP 소켓을 숫자 형식으로 표시
ss -tulnp : 모든 소켓 (TCP, UDP)을 프로세스 정보와 함께 표시
Bash

8. fstrim.service, fstrim.timer 확인
fstrim 은 리눅스 시스템에서 사용하지 않는 디스크 블록을 스토리지 장치에 알려줌.
일반적으로 리눅스에서 파일을 삭제하면 파일의 데이터는 실제로 디스크에서 완전히 제거되지 않고, 단순히 파일 시스템에서 해당 파일의 레퍼런스 만 제거 – 이로 인해 스토리지 장치에서는 여전히 해당 공간을 사용 중으로 인식할 수 있음.
SSD는 데이터를 페이지 단위로 읽고 쓰지만, 삭제나 덮어쓰기는 블록 단위로 이루어짐.

페이지(page)
	SSD에서 데이터를 저장할  있는 가장 작은 단위, 일반적으로 4KB
	데이터를 읽고 쓰는 작업은 페이지 단위로 수행
	SSD의 (cell) 직접 데이터를 저장, 여러 페이지가 모여서 하나의 블록을 형성
 
블록(block)
	여러 페이지가 모인   데이터 저장 단위, 일반적으로 128KB~256KB 정도의 크기
	데이터를 삭제할 때는 블록 단위로 삭제
	하나의 블록은 여러 페이지(예: 32개~64개의 페이지) 구성
Bash

SSD는 한 번 데이터를 썼던 블록을 덮어 쓰기 전에 초기화하는 과정이 필요하기 때문에 사용되지 않는 공간을 정리하지 않으면 성능 저하가 발생할 수 있음.
또한, Thin Provisioning을 사용하는 스토리지 시스템에서는 논리적으로 할당된 공간이 실제로 해제 되지 않기 때문에, 삭제된 파일의 공간이 시스템 상에서 즉시 회수 되지 않음.
이럴 때 fstrim 명령어를 사용하면 실제 사용하지 않는 공간을 스토리지 장치에 알려주어 물리적 공간이 해제.

~]# systemctl status fstrim.timer             # 주기적인 수행확인 fstrim.service 트리거 수행
~]# systemctl status fstrim.service           # 주기적인 수행확인
~]# systemctl list-timers fstrim.timer
NEXT                          LEFT LAST                            PASSED UNIT         ACTIVATES     
Mon 2025-08-18 00:41:48 KST 2 days Mon 2025-08-11 12:52:10 KST 4 days ago fstrim.timer fstrim.service
# 다음 실행은 2일 후 8월 18일 00시 41분 48 초 수행 에정.
# 4일 전 (4 days ago) 8월 11일 12시 52분 10초에 수행됨.
Bash

시간 동기화 확인 – 바이오스 시간 동기화

ssh 튜닝 – 로컬 내부 포트만 개방

방화벽 설정 – 인터페이스, 서비스 내부 용, 외부 용 구분

웹 서비스 기본 디렉토리 커스텀 위치 변경 – selinux 커스텀 컨텍스트 추가
웹 서비스와 삼바 서비스를 혼용 – context 는 httpd, boolean 은 삼바 설정