본문 바로가기

2015/07

[Git Tip] Git 브랜치를 보여주는 Linux 프람프트(prompt) - Ubuntu 14.04, bash 기준 Git을 사용하는 방식은 명령형(커맨드라인; Command line; 또는 터미널 방식) 이거나 GUI Client 형(Mac, Windows)이거나 둘 중 하나일 것이다. Git의 내부 메커니즘을 알기 위해서이기도 하지만 커맨드라인 방식이 익숙해 지면 훨씬 수월해 지는 경우가 많은 듯 하다. 이 때 어쩔 수 없이 git status 를 쳐서 현재 어떤 브랜치에서 작업중인지를 수시로 확인해야 하는데, Linux 의 프람프트를 개조해서 사용하면 편리한 점이 많으므로 그 방법을 정리한다. "Git 은 브랜치로 시작해서 브랜치로 울고 웃다가 브랜치로 끝난다" - Barracuda - * 준비물: github 에서 공개된 아래의 스크립트를 계정의 Home에 내려 받아 둔다* git-prompt.sh 는 Bash.. 더보기
[Git Tip] Git에 대한 궁금증들 Git 을 다루는 엔지니어들이 점점 늘고 있다. 한글 입력상태에서 자판으로 git을 치면 '햣' 이 된다, 햣~! 너도 나도 써야한다라고 하니, 이게 마치 무슨 대세가 된 건 아닌가 착각도 하게 되는데, 막상 써보려니 손에 익고 간편한 cvs, svn 과는 비슷하면서도 뭔가 좀 다르고 어렵기도 하다. 근데, 간편안내서 같은 곳을 보면 "어렵지 않아요 ;)" 하면서 사람을 막 꼬드긴다(가서 보면 더 너무 쉽게 써놔서 더 아리송하다). 그게 대체 뭐길래...하면서 약도 좀 오르고 궁금하기도 하다. 이제, 하나 하나 따져가면서 왜 그런가 고민하고 정리해 두는 버릇이 있는 필자가 git을 한 번 다루어 보려 한다. Git을 써야 하는 이유 결론부터 간단히 말하자면, Git 은 약간의 개념공부와 실습이 필요한 T.. 더보기
[Git Tip] AWS EC2 VM을 이용한 Git 서버설정과 git 기본 사용법 git(깃) 서버를 Amazon EC2 인스턴스에 설치하고, Repo를 운영 관리하는 기초과정 정리 * 준비해야 할 것들 - 서버: AWS EC2 t2.micro, ubuntu 14.4, 접속주소: ec2-xx.amazonaws.com - 클라이언트: Ubuntu 14.4 PC, EC2 vm ssh 접속을 위한 보안 키파일(여기서는 AWSKP_as1.pem) EC2 vm측, git 서버 설치 과정 * 필수 패키지 설치root@aws-ubt14-as01:~# apt-get install git-coreroot@aws-ubt14-as01:~# apt-get install openssh-server * linux 계정(=gituser) 추가, 권한 설정 및 key pair 생성* 이 방법은 git 계정을 공용.. 더보기
Mariadb galera cluster 로 구성하는 MySQL 호환 Multimaster DBMS, on Ubuntu MySQL이 Oracle 에 인수될 즈음부터 MySQL을 기반으로 하면서 보다 향상된 개념으로 각자가 이름을 떨치며 꾸준히 진행되어 온 프로젝트가 바로 Percona와 MariaDB이다. 참고로 두 프로젝트의 연관성을 비교하는 내용은 이 곳의 포스팅을 보시면 되겠고, 이번 포스팅에서는 Codership이 만든 Synchronous Multimaster 방식의 Galera cluster 를 설치해 보고, 운영에 관련해서 고려할 점들을 정리해 두려 한다. Multimaster, Synchronous 한 특징을 가지는 이러한 MM 솔루션이 나오기 전에는(물론 완성도가 떨어지고 운영상 불편했던 MMM 같은 것도 있기는 했다), Master-Slave 구조의 비동기 Replication 방식이 많이 쓰였다. 한 .. 더보기
Redis, Sentinel 고가용성(HA) 설정과 운용방법, Python Client example Redis(레디스; REmote DIctionary System)은 요즘 각광 받고 있는 In-memory Data(key-value) Store이다. 언제고 한 번 다뤄 봤으면 했는데, 마침 비슷한 기회가 주어져서 고가용성을 확보할 수 있는 중요한 설정 방법을 찾아보고 Redis 를 활용하는 아주 간단한 Python Client 예제를 정리하여 실전을 위해 기록해 두고자 한다. "쓰다 보니 내용이 좀 많습니다. 2편 정도로 나누려 했으나, 다루려고 하는 내용을 한 편에 모아서 구성하는 편이 더 좋다고 생각했으니 스크롤 압박이 심하더라도 양해 바랍니다" - Barracuda - "Redis 는 DBMS 인가?", "임시 데이터 저장용 캐시라고도 하던데..." 하는 잡다한 얘기는 여기서는 생략하자. 자주 .. 더보기
Haproxy, Keepalived, nginx 를 이용한 고가용성(High Availablity) 웹서비스 환경 구현 Haproxy 는 두 말할 것 없이 현존 최고의 오픈소스 소프트웨어 Load Balancing 솔루션이다. 그림에 나오는 구성은 응용 여하에 따라 각종 모바일/웹 서비스의 기본 모델 또는 Hadoop 등 시스템의 하부 솔루션 등에서 Active-Standby 구조의 고가용성 확보 솔루션으로 활용 가능하므로, 본 포스팅을 통해 그 실제적인 부분을 모두 다루어 구현 & 검증/확인해 보고자 한다. 전체적인 구성은 크게 세 부분으로 나뉘는데, 본 구현에서는 앞선 포스팅들("Linux NAT router 설정하기 - Ubuntu 14.4 dom0, xen pv guest 환경", "[Xen 가상화 2] ubuntu pv guest on Ubuntu 14.4 LTS, Xen 4.4.1 - 설치 및 설정 가이드") .. 더보기