Redmine 은 오픈소스 프로젝트 매니지먼트 프로그램이다. Ruby 로 제작되었기 때문에 설치 과정에서 Ruby 가 있어야 한다. 웹을 통해서 서비스를 하기 때문에 보통 웹서버와 연동을 하는 편이다. 환경 OS: CentOS 7 Arch: x86_64 Minimal Installation 상태 MariaDB 설치 MySQL 도 가능하지만, MariaDB 를 선택했다. 컴파일 설치가 가능하지만 패키지 설치로 설치한다. ]# yum install mariadb-server -y 각종 의존성이 함께 설치가 된다. my.cnf 파일을 다음과 같이 설정해 준다. ]# vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security […]
Oracle 계정 생성
오라클에서 계정을 생성해 보자. 오라클에서 계정 생성은 다른 데이터베이스와는 완전히 다른 의미를 갖는다. 보통 데이터베이스의 계정은 데이터베이스에 접속을 하기 위한 목적만 가진다. 하지만 오라클 데이터베이스의 계정은 이와는 다르다. 스키마(Schema) 오라클에서 스키마는 데이터베이스 오브젝트(Object)들의 모음이다. 오브젝트라고 하면 테이블(Table), 뷰(View) 와 같은 것을 말한다. 이론적으로 데이터베이스에 의해서 사용되어지는 메타데이터의 집합이라고도 한다. 하나의 스키마는 테이블, 컬럼, 속성등과 같은 데이터베이스의 애튜리브트(Attribute) 를 정의한다. 그래서 데이터베이스는 이러한 스키마들을 관리해주는 시스템이라고 보면 된다. 스키마의 존재 이유는 데이터의 모음을 그룹화하고 권한 설정을 하는데 있다. 오라클은 관계형 데이터베이스이기 […]
listener.ora, tnsnames.ora 생성하기
오라클 데이터베이스 19c 를 Silent 설치를 하고 나면 listener.ora, tnsnames.ora 가 생성되지 않는다. 어떻게 수동으로 이것을 생성하는지에 대해서 알아보고 차이에 대해서 간단히 설명한다. 신기하게도 오라클 데이터베이스 19c를 Silent 설치하고 난 후에 이것을 생성하지 않는다고 하더라도 원격 클라이언트 접속에는 아무런 문제가 되지 않는다. 하지만 접속 서비스를 할당하고 접속을 쪼개고 싶다면 tnsnames.ora 파일이 반드시 있어야 한다. Oracle Net Listener Listener 는 정확하게는 ‘Oracle Net Listener’ 라고 한다. 리스너는 하나 혹은 그 이상의 지원하는 서비스에 대한 정보, 프로토콜 주소들을 리스닝하도록 설정된다. 리스너의 설정 […]
오라클 기본 정보 확인
오라클을 설치하고 나면 정보를 확인해야 한다. 오라클은 많은 테이블, 뷰, 동적쿼리등을 지원하는데 워낙 많다보니까 다 알수는 없다. 필요한 정보를 위한 간단한 쿼리들을 소개 한다. 데이터베이스 컴포넌트들의 상태 확인 오라클 데이터베이스는 다양한 컴포넌트들로 구성되는데, 이에 대한 상태를 확인할 수 있다. SQL> col comp_name for a40 SQL> col version for a15 SQL> col status for a10 SQL> SELECT name, comp_name, version, status FROM v$database, dba_registry; NAME COMP_NAME VERSION STATUS O19C Oracle Database Catalog Views 19.0.0.0.0 VALID O19C Oracle Database Packages and Types […]
오라클 데이터베이스 19c 샘플 스키마 생성
오라클 데이터베이스 19c 를 Silent 설치를 할 경우에 대부분 데이터베이스를 생성하고 끝나게 된다. 하지만 오라클은 샘플 스키마를 제공하고 있는데, HR 관련 된 내용의 샘플 스키마를 제공 한다. 이것을 설치해보자. SQLcl 활용 SQL Plus 에 기능을 더한 SQLcl 를 활용할 것이다. SQLcl 은 $ORACLE_HOME/sqldeveloper/sqldeveloper/bin 디렉토리가 있다. 여기에 sql 스크립트가 존재하는데 이것이 SQLcl 이다. ]$ cd $ORACLE_HOME ]$ cd sqldeveloper/sqldeveloper/bin ]$ chmod +x sql ]$ ./sql SQLcl: Release 19.1 Production on Fri Apr 30 23:23:46 2021 Copyright (c) 1982, 2021, Oracle. All […]
Oracle Database 19c 설치
오라클 데이터베이스 19c (Oracle Database 19c) 설치에 대한 문서다. 설치는 Slient Mode 로 설치되었으면 PDB 를 기반으로 하였다. PDB, CDB 에 대한 설명은 오라클 문서를 참고. 환경 Oracle Linux 8.3 Kernel: 5.4.17-2102.200.13.el8uek.x86_64 Memory: 7.7Gib Swap: 12Gi Root Partition: 32GB 호스트 네임 변경 ]# hostnamectl set-hostname oradb1.systemv.local ]# vim /etc/hosts 192.168.96.29 oradb1.systemv.local oradb1 Selinux 를 Permissive 로 변경 ]# setenforce Permissive ]# sed -i ‘s/^SELINUX=enforcing$/SELINUX=Permissive/’ /etc/selinux/config HugePages 비활성화. 오라클은 HugePages 를 비활성화할 것을 권장하고 있다. ]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never […]
Docker, Kubernetes 네트워크
인터넷 검색을 하다보면 Docker, Kubernetes 네트워크에 관한 글이 많이 보인다. 기본적인 이론에서부터 응용까지 잘 설명된 글들이 꽤 많은데, 나는 눈에 보이는 상태를 한번 살펴보기로 했다. Docker 네트워크 Docker 를 처음 설치하면 어떤 상태일까? 먼저 Docker 를 설치한 리눅스 시스템의 네트워크 상태는 다음과 같다. $ ip -c -br link lo UNKNOWN 00:00:00:00:00:00 enp0s3 UP 08:00:27:e3:f6:8b docker0 DOWN 02:42:be:90:93:52 $ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host […]
메트릭 서버(Metric Server) 설치에 관한 오류들…
다양한 메트릭 서버 설치에 관한 오류들을 알아보자. kubectl top node Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io) $ kubectl top pod Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io) 메트릭 서버(Metric Server) 의 파드(Pod)가 정상적으로 Running 상태라 하더라도 이와같은 오류 메시지를 만날 수 있다. 이 오류는 kube-apiserver 의 로그에 다음과 같이 관련 오류가 나온다. Apr 23 15:49:33 kmaster1.systemv.local kube-apiserver[4598]: E0423 15:49:33.330967 4598 available_controller.go:508] v1beta1.metrics.k8s.io failed […]
extension-apiserver 란?
쿠버네티스(Kubernetes)가 발전에 따라서 많은 변화를 겪었다. 최신의 버전에서 extension apiserver 라는 것을 필요로하는 경우가 많다. 이것은 쿠버네티스 문서에서는 aggregation layer 라고 설명하고 있다. Configuring the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs 애그리게이션 레이어 설정은 쿠버네티스 API 코어의 일부가 아닌 추가적인 API를 가지고 확장될 수 있는 쿠버네티스 apiserver 를 가능하게 한다. Configure the Aggregarion Layer 최근에 구축한 쿠버네티스 서버에 메트릭 서버(Metric Server) 를 설치했는데 제대로 작동되지 않아 왜 […]
AWS CloudFormation 보안 모범 사례
이 문서는 다음의 내용을 번역한 것입니다. AWS CloudFormation Security Best Practices AWS CloudFormation을 사용하면 개발자와 시스템 관리자가 AWS와 연관된 리소스 모음을 질서있고 예측 가능한 방식으로 프로비저닝하고 업데이트하여 쉽게 생성하고 관리 할 수 있다. 우리의 많은 고객들은 그들의 AWS 환경에서 변경사항을 간단하게 캡쳐하고 버전 제어를 실행하고 인프라에서 다른 작업 중에서도 비용을 관리하는 등에 모든 리소스를 제어하기 위해 CloudFormation 을 사용한다. 고객들은 자주 어떻게 CloudFormation 스택에 허가권을 제어하는 우리에게 묻는다. 이 글에서, 우리는 CloudFormation 에 대한 AWS Identity 와 IAM 정책을 사용, CloudFormation […]