DB서버를 처음 구성해보려고 합니다

안녕하세요 선배님들 DB서버를 처음 구성해보려고 하는데

일반적으로 회사내에서 쓰는 DB서버를 구성할 때 미리 정해놓고 해야 하는 부분들이

FTP 계정생성, 오라클DB계정, 포트, RAID 방식, 패시브 포트 몇개정도, 접속정보 이외에 정해두고 구성 할 때 더 필요한 정보들이 있을까요? 직접root 계정 연결x 유지보수 계정으로 들어가서 su 되게끔.. 설정하고 뭐가 더 필요한지 선배님들의 의견 부탁드립니다..

태그가 없습니다.
서버벨은 거의 모든 브랜드의 서버, 네트워크장비, 파트 및 옵션을 운영하고 있습니다.

Sponsored http://www.serverbells.com

서버벨은 HP, DELLEMC, IBM, LENOVO, CISCO, FUJITSU, ARISTA, ARUBA 등 전반적인 IT브랜드 신품/리퍼 재고를 유지 및 서버/스토리지/네트워크/옵션/파트 등을 전문적으로 운영하는 기업입니다.

자세히 보기

18개의 답변이 있습니다.

0 추천 | 3달 전

DB 서버 구성한다고 하면, 구축하는 DB서버의 용도에 따라서 체크해야 할 내용들이 다릅니다.

개발과 테스트 용도로 사용한다고 하면,

설치하고 계정 생성하고, DB 서버 설정하고 등등이 필요할테고요.

상용DB 서버를 생각하신다면 고려할 것들이 많습니다.

백업/복구/보안/암호화 등 해야 할 것들이 많죠

개인 정보가 있느냐 없느냐에 따라서도 고려해야 할것들이 있습니다.

DB 서버에 저장되는 데이터들의 유형에 대해서도 조사를 먼저 해보세요.


Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !!!!

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전

물어보시는게 제가 봤을 땐, 리눅스 시스템 취약점 점검 가이드 같은걸 문의하시는 것 같습니다.

KISA에서 발간한 가장 기본적인 시스템 취약점 가이드 링크 보내드리니 그거 참고하시면 될 것 같습니다.

(https://ssv.skill.or.kr/cloud-security/linux-security-vulnerability)

그리고 가장 기본적으로 많이 사용되는 MY-SQL에 대해서도 취약점 점검 가이드 링크 드립니다.

(https://ssv.skill.or.kr/cloud-security/db-mysql-security-vulnerability)


Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전

> FTP 계정생성, 오라클DB계정, 포트, RAID 방식, 패시브 포트 몇개정도, 접속정보 이외에 정해두고 

> 구성 할 때 더 필요한 정보들이 있을까요? 직접root 계정 연결x 유지보수 계정으로 들어가서 

> su 되게끔.. 설정하고 뭐가 더 필요한지 선배님들의 의견 부탁드립니다..


개발자나 DBA가 아닌 서버 관리자이신가 보네요. 

서버 관리측면에선 DB서버라고 다른 서버들과 별반 다를거 크게 없습니다. 

일반적인 서버 관리 정책과 동일하게 적용하면 됩니다.


보통 서버쪽에서 자주 생기는 문제가 

  • 1.DB 버전에 따라 추가적인 OS 패치 또는 패키지가 필요한 경우가 있습니다. 

  • 2.몇몇 기능은 설치할때 root 계정이 꼭 필요합니다.  

  • 3.보안정책 설정은 DB설치가 끝난후 하세요. 
    (특히 포트같은거 바꾸거나 막지 마세요. 설치하다 막히는 경우가 생깁니다)

  • 4.이중화, 특히 RAC 구성은 그냥 DB엔지니어 도움을 받으세요. 생각보다 어렵습니다. 

  • 5.데이터 저장공간 및 로그 저장공간은 무조건 OS영역과 분리해놓으세요.
    (아니.. DB전체를 OS랑 분리해두세요.)

  • 6.백업정책은 사전에 정해두세요. (아카이브 설정시 필요합니다.) 

  • 7.네트웍은 별거 없습니다.  백업망있으면 꼭 따로 물려주시고
    (이중화해도 오라클은 L4같은거 안 씁니다. IP만 몇개 더 주면 됩니다.)


오라클 파트너들은 보통 이런거 정리해서 가지고 있습니다. 

PreInstallation Requirement를 달라고 하면 줍니다. 

https://docs.oracle.com/cd/E24696_01/doc/install.11203/e24321/pre_install.htm


이런건데 보통 한두장짜리 요약본을 만들어서 제공합니다. 


오라클 버전, 설치 환경, 구성에 따라 달라지기에 그때그때 새로 받아야 합니다. 



이거 물어보신거 맞나요 ???

설마 오라클 설치 물어보신건 아니죠 ???

Reply

| 3달 전

사전설치 요구사항을 달라고 하면 보통 아래와 같이 

요구 항목과 디폴트값 또는 권장값을 넣어서 가져옵니다. 

그걸 보고 바꾸고 싶은 부분만 바꾸면 됩니다. 


(요건 서버쪽에 가는 거고, DBA에게 가는 문서는 또 따로 있습니다.)




DB계정

user, group  oracle:dba

uid, gid   5004:5004

Home Path  /oracle

Umask   022



디스크 볼륨 구성

Swap   16GB

/tmp   7GB 이상

/oracle   300GB

/work   100GB

/oradata[1 ~ n] /oradata[1 ~ n]/{ORACLE_SID}

/oraarch   300GB

/oratrace   100GB






네트웍

NTP 또는 chronyd 설정 필요

방화벽 

SELINUX  Permissive or Disable

PAM   session required pam_limits.so

NETWORK  Private Network : 9000

 loopback adapter(lo) : 16436


OS 파라메터

semmsl 250

semmns 32000

semopm 100

semmni 128

shmall 물리메모리 크기의 절반(byte)

shmmax 물리메모리 크기의 절반(byte)

shmmni 4096

panic_on_oops 1

file-max 6815744

aio-max-nr 1048576

ip_local_port_range Minimum: 9000,  Maximum: 65500

rmem_default 262144

rmem_max 4194304

wmem_default 262144

wmem_max 1048576


OS 필수 패키지

xwindow

bc

binutils

compat-libcap1

compat-libstdc++-33

elfutils-libelf

elfutils-libelf-devel

fontconfig-devel

glibc

glibc-devel

ksh

libaio

libaio-devel

libnsl

libnsl2

libXrender

libXrender-devel

libX11

libXau

libXi

libXtst

libgcc

libstdc++

libstdc++-devel

libxcb

make

smartmontools

sysstat

OpenSSH

unixODBC-2.3.4 or later



Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !!!

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전

오라클로 DB구성을 하신다면 먼저 오라클 DB에 대한 구조를 잘알고 있어야 합니다. 백업 및 모니터링 까지요~혼자서는 힘들듯 합니다. 업체가 있다면 지원을 받아 보시기 바랍니다. 아니면 충분히 리서치 하고 테스트를 한후 DB를 구성해보시기 바랍니다.

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전

공공기관에서 사용하는 보안취약점 체크 리스트가 있습니다.

인터넷 조금만 뒤져 보시면 각 OS별로 나와 있는 체크 리스트가 있을꺼에요.

그에 맞게끔 조치 하시면 기본은 한다고 생각하시면 될 듯 합니다. 

Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

2 추천 | 3달 전

처음 DB를 구성해본다는 것이

회사에 업무용 DB를 구성하시려는 것인지 아니면 경험 삼아 해보신다는 것인지에 따라 좀 다를것 같습니다. 

그리고 업무용 DB도 규모에 따라 다르구요.

기본적으로 내용으로 말씀드리면,

root, us 언급하신것으로 봐서 Linux나 Unix 계열로 보이네요.

ㅁ 사전 체크

> Oracle database 버전 : oracle 19c, 21c 

> Memory 용량 : 간단한 DB의 경우 Memory 2GB정도면 무난하지만 규모에 따라 용량을 높여야 합니다.

Disk 용량 : 간단한 DB의 경우 로컬 디스크에 저장해도 되지만 큰 규모의 DB를 구성하신다면

   로컬에 RAID 디스크나 스토리지를 활용을 선택하셔야 합니다.

ㅁ 데이터베이스 설치

> Oracle 설치 유저, 그룹 생성

> 선택하신 데이터베이스 버전에 맞게 oracle 사이트에서 설치 파일 다운로드(yum으로도 설치 가능)

ㅁ 데이터베이스 환경 설정

> 기본 리스너 1521 port를 변경을 원하시면 변경

> 필요 시 temp/undo tablespace, redo log 사이즈 조정

> 데이터베이스 파라멘트 수정 : session 개수 등

> 서버 방화벽리스너 포트 허용, 내부 네트워크 방화벽이 있으면 여기도 허용 


말씀하신 ftp는 오라클과 직접적으로는 관련이 없습니다.

향후 필요하면 계정 생성하시면 됩니다.

  

Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !!!

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전
  • 1.아키텍처 구성 방식

     -cpu/mem/disk/network 서비스에 맞추어서 설계

   2. HA (클러스터) 구성

     -부하분산으로 안정화

   3.보안 

     -계정정보 및 암호화  ( 저장 및 전송 )

  4. 백업 

     -Full / inc / daily 백업으로 문제 발생이 원복 

Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

1st 5stars

0 추천 | 3달 전

DB 서버 구성과 FTP 계정 생성이나 RAID 방식, ... 등등의 직접적으로 관계되는 것은 아니죠.

FTP 계정은 일반적으로 OS 계정과 동일하고요.

FTP는 서버에 파일을 올린다거나, 서버로 부터 파일을 전송 받을때 사용하는 하나의 방법으로 이용되게 되겠고요.

RAID 방식은 디스크를 보다 안정적으로, 효율적으로 사용하기 위해서 사용하는 것이 되겠고요.

DB 서버를 구성하냐 아니냐에 관계없이 여러개 디스크들을 보다 안정적으로, 효율적으로 사용해야 하겠다 싶다면 RAID를 구성하고, 여러 RAID 방식 중에 상황에 맞춰 적절한 방식을 선택해서 적용하면 되는 것이 되겠고요.

패시브 포트는 아마도 FTP 접속에 해당하는 서비스 포트를 의미하는 것 같아 보이는데요.

접속하는 사용자가 얼마나 되냐에 따라, 트래픽 량이 얼마나 되냐 등에 따라 결정하면 될것 같은데... 접속자가 많지 않다면 중요한 내용은 아니라 생각되고요.

root 계정 접속 허용 여부는 보안 문제로 인해 일반적으로 root 계정 원격 접속은 차단하는 것이 좋겠고요.

대부분 Linux들이 root 계정 접속은 기본값으로 접속하지 못하게 차단하고 있고... root 계정을 이용 ( su 로 전환 포함 )하는 것보다는 root 권한이 필요할 경우에 sudo 를 이용하는 걸 권장하고 있고요.


DB 서버를 구성할때는 DB 계정, DB 접속 포트를 디폴트로 그대로 사용할지 아니면 보안을 위해 DB 접속 포트를 변경해서 사용할지, 방화벽 정책으로 어떤 포트를 허용하고 차단할지, DB 파일들을 어느곳에 저장할지, Oracle이라면 Tablespace는 어떻게 구성할지, 백업을 어떻게할것인지 등등을 고려해 보아야 할 것 같네요.


Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 ! 

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

0 추천 | 3달 전

데이터베이스 서버를 구성하려면 효율적이고 안전하며 안정적으로 작동하기 위한 몇 가지 중요한 단계와 결정이 필요합니다.


데이터베이스 서버 구성하는데 참고하세요.


1. 데이터베이스 서버 하드웨어 및 OS 구성


하드웨어 사양:


CPU: 예상 작업 부하를 처리할 수 있을 만큼 CPU에 충분한 코어와 처리 능력이 있는지 확인하세요.

메모리: 데이터베이스 작업, 캐싱 및 잠재적 성장을 위해 충분한 RAM을 할당합니다.

스토리지: 고성능 디스크를 사용하고 적절한 RAID 수준을 구성합니다(RAID 10은 성능과 중복성의 균형으로 인해 데이터베이스에 일반적으로 사용됩니다).


운영 체제:


지원되고 안정적인 운영 체제 버전을 설치하십시오.

최신 OS 패치 및 업데이트를 적용하세요.

최적의 데이터베이스 성능을 위해 적절한 파일 시스템 설정을 구성합니다(예: Linux의 경우 ext4, xfs).



2. 네트워크 구성


네트워크 인터페이스:


중복성 및 고가용성을 위해 네트워크 인터페이스를 구성합니다(예: 본딩, 팀 구성).

데이터베이스 서버에 대한 고정 IP 주소를 설정합니다.


방화벽 규칙:


필요한 포트(예: Oracle의 경우 1521, SQL Server의 경우 1433)를 열고 신뢰할 수 있는 IP 범위에 대한 액세스를 제한합니다.

불필요한 포트와 서비스를 닫아 공격 표면을 최소화합니다.



3. 보안 고려 사항


루트 계정:


루트 계정에 대한 직접 액세스를 제한합니다.

관리 작업에는 sudo를 사용하세요.

SSH 키 기반 인증을 구성하고 루트에 대한 비밀번호 로그인을 비활성화합니다.


데이터베이스 계정:


최소 권한 원칙으로 특정 데이터베이스 사용자 계정을 만듭니다.

강력하고 복잡한 비밀번호를 사용하고 비밀번호 만료 정책을 시행하세요.


데이터 암호화:


저장 및 전송 중인 데이터에 대한 암호화를 활성화합니다(예: Oracle의 경우 TDE, 연결의 경우 SSL/TLS).

암호화된 백업과 안전한 백업 저장 위치를 사용하세요.



4. 데이터베이스 구성


설치:


데이터베이스 소프트웨어(예: Oracle Database, MySQL, SQL Server)를 설치합니다.

최신 패치와 업데이트를 적용하세요.


초기화 매개변수:


적절한 메모리 설정을 구성합니다(예: Oracle용 SGA, PGA).

파일 시스템 매개변수를 설정하고 자동 메모리 관리를 구성합니다(해당하는 경우).


테이블스페이스 및 스토리지:


테이블스페이스를 생성하고 데이터 파일을 할당합니다.

성능 최적화를 위해 데이터, 인덱스, 임시 및 리두 로그 파일을 분리합니다.



5. 성능 튜닝


인덱스 및 쿼리 최적화:


필요한 지표를 생성하고 실행 계획을 분석합니다.

쿼리와 인덱스를 정기적으로 모니터링하고 조정합니다.


데이터베이스 유지 관리:


정기적인 데이터베이스 통계 수집 및 유지 관리 작업을 설정합니다.

성능 지표를 추적하는 모니터링 도구를 구현합니다.


6. 백업 및 복구


백업 전략:


강력한 백업 전략(전체, 증분, 차등 백업)을 구현합니다.

Oracle용 RMAN과 같은 도구를 사용하거나 다른 데이터베이스용으로 내장된 백업 도구를 사용하세요.


복구 계획:


정기적으로 백업 및 복구 절차를 테스트하십시오.

백업 파일을 안전하게 저장하고 장애 발생 시 빠르게 액세스할 수 있는지 확인하세요.



7. 모니터링 및 알림


모니터링 도구:


모니터링 도구(예: Oracle Enterprise Manager, Nagios, Zabbix)를 사용하여 데이터베이스 상태, 성능 및 리소스 활용도를 추적합니다.

중요한 이벤트(예: 높은 CPU 사용량, 디스크 공간 부족, 백업 실패)에 대한 경고를 설정합니다.


로그 관리:


데이터베이스 로그, 시스템 로그 및 애플리케이션 로그에 대한 중앙 집중식 로깅을 구성합니다.

비정상적인 활동이나 오류에 대한 로그를 정기적으로 검토합니다.



8. 고가용성 및 재해 복구


복제 및 클러스터링:


데이터베이스 복제를 설정합니다(예: Oracle용 Data Guard, SQL Server용 Always On 가용성 그룹).

고가용성을 위한 클러스터링 솔루션을 구성합니다.


재난 복구 계획:


재해 복구 계획을 개발하고 문서화합니다.

정기적인 재해복구 훈련을 실시하여 대비를 확보합니다.


9. 애플리케이션 구성


연결 풀:


데이터베이스 연결을 효율적으로 관리하기 위해 응용 프로그램 연결 풀을 구성합니다.

적절한 연결 시간 초과 및 재시도 정책을 설정합니다.


로드 밸런싱:


데이터베이스 로드를 균등하게 분산하기 위한 로드 밸런싱 전략을 구현합니다.


** 추가 구성 세부정보:


데이터 가져오기/내보내기:


Data Pump(Oracle), BCP(SQL Server) 또는 내장된 MySQL 도구와 같은 도구를 사용하여 데이터 가져오기/내보내기 절차를 계획하고 구현합니다.


경별 설정:


해당 운영 요구 사항에 맞게 환경별 설정(예: 개발, 스테이징, 프로덕션)을 구성합니다.



이러한 고려 사항을 해결함으로써 데이터베이스 서버가 잘 구성되고 안전하며 회사의 데이터 처리 요구 사항을 효율적으로 처리할 수 있는지 확인할 수 있습니다. 서버를 최적의 상태로 유지하려면 정기적인 유지 관리, 모니터링 및 업데이트가 중요합니다.

Reply

게시글 작성자 | 3달 전

답변 너무 감사드립니다 !

Reply

댓글 남기기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

답변 달기

답변을 작성 하시려면 로그인이 필요합니다.

로그인 회원가입

IT 솔루션 또는 하드웨어 도입을 검토 중 이신가요?

쉐어드IT 솔루션 상담실에서 믿을 수 있는 제품과 업체를 추천 받으실 수 있습니다.

솔루션 상담실 IT 컨시어지 서비스

IT운영 카테고리의 다른 질문들...

  • 4일 전
  • 댓글 : 약 23시간 전
  • 5일 전
  • 댓글 : 약 19시간 전
  • 5일 전
  • 댓글 : 4일 전
  • 14일 전
  • 댓글 : 12일 전
  • 16일 전
  • 댓글 : 14일 전
  • 16일 전
  • 댓글 : 14일 전