OpenSource Story Board 387

Linux의 역사, 탄생 배경

Linux(LinuxIsNotUnix) Linux의 이름에도 담겨있듯이 Linux의 역사를 알기위해선 Unix의 이야기를 빼놓을 수 없습니다. [UNIX의 탄생] 1965년 MIT, AT&T벨 연구소, General Electric에서는 Multics라는 실험적인 운영체제를 공동으로 개발하는 프로젝트를 진행하였습니다.이 프로젝트는 멀티태스킹, 멀티유저를 지원하는 초기 형태의 시분할 운영체제를 만들고자 했던 것이었습니다.그러나, Multics는 초기의 설계 목표와는 다르게 비대해지고 쓸모없는 운영체제로 개발되어갔고, 프로젝트는 좌초되기에 이르렀죠. 그러나,이 프로젝트에 참여했던, 켄 톰슨(Ken Thompson)과 몇몇 연구원들은 프로그래밍에 관한 연구를 효과적으로 수행하기에 적합한 환경을 만들어 보자는 ..

3. OS이야기 2014.05.28

Linux Kernel 208.5일 시스템 Hang issue

Intel x86 프로세스를 채용한 Linux 서버에서 208.5일의 기간을 넘어설 경우 시스템이 재부팅 할 가능성이 있습니다. 발생 가능성이 있는 Linux Kernel의 버전은 2.6.28~2.6.32.49 입니다. Intel x86 프로세스에는 Time Slice Stamp Counter라는 64bit 카운터가 있으며, 이 카운터는 클럭 단위로 카운트 업 됩니다. 현재의 기술은 CPU 의 저전력 기술로 인하여, CPU 클럭이 변경(가변) 가능하도록 설계, 제조됨에 따라 Linux Kernel은 Cycles_2_ns() 라는 함수를 제공하여 TSC의 값을 나노 초 단위로 환산 할 수 있도록 제공 하고 있습니다. 바로 이 부부의 함수 코드에 버그가 있어, 208.5일이 경과하게 되면, 계산중의 수치에 ..

sftp 스크립트 사용하기

SSH(Secrure SHell) 의 패스워드 입력없이 사용 하기 1. 로컬 서버에서 아래 실행 해서 public key 생성 $ ssh-keygen -t dsa 위명령어 실행하면, 계정 홈디렉토리의 .ssh 디렉토리가 생기고, id_dsa.pub 생성됨. 2. 접속할(target) 리모트 서버에서, sftp 로 로그인할 계정의 홈디렉토리 생성 $ mkdir ~/.ssh .ssh 의 디렉토리 권한은(660) 이어야 함. 3. 로컬서버에서 아래 실행 $ scp ~/.ssh/id_dsa.pub user@SERVER:.ssh/authorized_keys 위명령어 실행시 최초에는 패스워드를 입력하고, 그후에는 패스워드 없이 사용가능 리모트 서버에서 ~/.ssh 에 authorized_keys 파일 생성 확인 4..

MySQL Workbench: Tabkes and Data Migration

MySQL 워크벤치는 MS SQL Server 등 다른 RDBMS 테이블, 오브젝트, 데이터 등을 MySQL로 마이그레이션 하는 데 쉽고 완벽한 방법을 제공한다. 개발자들과 DBA들은 빠르고 쉽게 존재하는 어플리케이션을 MySQL과 MySQL에 의해 운영될 수 있는 어떤 시스템으로든 변형이 가능하다. MySQL 워크벤치 마이그레이션 툴은 DBA와 개발자들이 시각적이고, 쉽게 포인트로 클릭할 수 있는 환경을 제공하여 시간을 줄이도록 해준다. 복잡한 마이그레이션 프로세스를 쉽게 구성 최적화 하고 관리할 수 있다. : ㅇ 마이그레이션 프로젝트 관리 - 마이그레이션을 하여 구성최적화, 복사, 수정, 실행, 스케쥴 관리가 가능하다. ㅇ 소스와 다겟 선정 - 유저들이 특정한 데이터 소스를 정의하도록 해주며, 마이그..

Kickstart를 이용하여 Linux 설치하기

[Kickstart를 왜 사용하나?] 서버관리자는 동일한 설정을 갖는 Linux 서버들을 여러대 설치해야 할 때가 있다.같은 작업의 반복이다 보니 관리자 입장에서는 시간 낭비가 될 수도 있고, 여러 대 동일한 설정을 반복하면서 실수가 생길 위험도 있다. 이런 경우 Kickstart를 이용하여 Linux를 설치하게 되면 Kickstart 파일에 입력된 설정내용을 읽어와 자동으로 설치하게 되므로 시간도 줄이고 실수 방지도 할 수 있다.또한, 동일한 서버가 아니더라도 언제든 anaconda-ks.cfg의 설정 내용만 변경하면 다른 설정의 서버 설치가 가능하므로 설치과정이 간편해 진다. - Kickstart 파일은 다음과 같은 내용들을 포함한다. Command section: 설치 옵션들과 관련된 값들 %pac..

Linux서버에 NFS서버 구성하기

1. NFS 설치 및 접속 계정 설정 nfs, nfs-utils, rpcbind 패키지가 설치되있는지 확인 한다. # yum install rpcbind nfs-utils nfs-utils-lib 1) 재부팅시 자동 실행 되도록 서비스에 등록해준다. # chkconfig --level 35 nfs on # chkconfig --level 35 nfslock on # chkconfig --level 35 rpcbind on 2) 서비스를 실행한다. # service rpcbind start # service nfslock start # service nfs start 3) 잘 돌아가는지 확인한다. # rpcinfo -p localhost program vers proto port service 100000..

The World’s Most Popular Open Source Database

Top 10 Reasons to Choose MySQL for Next Generation Web Applications - 7. The World’s Most Popular Open Source Database 다음 세대 웹 어플리케이션을 위한 MySQL 선택의 Top 10가지 이유 - 7. 세계에서 가장 인기있는 오픈 소스 데이터베이스 세계에서 가장 인기있는 오픈소스 데이터베이스로서 My SQL은 "MySQL 에코시스템"이라고 불리는 것의 중심에 왔다. 이런 에코시스템은 MySQL에 의존하는 가치를 향상사키기 위해 수백만명의 개발자, DBA, 시스템 관리자 뿐만 아니라 대기업과 수천개의 중소기업 파트너를 포함하여 구성되고 있다. My SQL이 세계에서 가장 인기있는 오픈소스 데이터베이스라는 사실은 다..

SAR 명령어를 이용한 서버 모니터링 방법

1. sar 명령어 사용을 위한 package 설치 1) rpm -Uvh sysstat-9.0.4 또는 2) yum -y install sysstat-9.0.4 2. 서버 성능 모니터링을 위한 옵션 1) CPU 사용율 : # sar -u 1 120 --> 매 1초 간격으로 120초 동안 서버 CPU 사용율 표시 2) 메모리 사용율 : # sar -r 1 120 --> 매 1초 간격으로 120초 동안 서버 메모리 사용율 표시 3) load average : # sar -q 1 120 --> 매 1초 간격으로 120초 동안 서버 load average 사용율 표시 4) disk IO : # sar -d 1 120 --> 매 1초 간격으로 120초 동안 서버 Disk IO 사용율 표시 5) 네트워크 트래픽 :..

PostgreSQL 사용자 Data Type 정의

사용자 정의 Data Type 생성 테스트 1. 사용자 Type 생성 (함수) CREATE TYPE compfoo AS (f1 int, f2 text); CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS $$ SELECT fooid, fooname FROM foo $$ LANGUAGE SQL; 2. 사용자 Type 생성 (Check) CREATE TYPE bug_status AS ENUM ('new', 'open', 'closed'); CREATE TABLE bug ( id serial, description text, status bug_status ); 3. 사용자 Type 생성 (Check) CREATE TYPE box; CREATE FUNCTION my_bo..