[00:10] <jun__> 안녕하세요~ 태풍이 다 갔는지... 오늘은 화창하네요
[00:13] <AutoWiZ_znc> 오후까지 비 오 수 도 있다고 해서 걱정했는데 화창 하네요 다행입니다.
[00:13] <jun__> 어제 새벽에 바람 정말 많이 불던데.... 푹 주무셨나 모르겠네요
[00:18] <EAyeon> 안녕하세요~
[00:18] <Work^Seony> 안녕하세요
[00:19] <AutoWiZ_znc> 안녕하세요~~
[00:28] <jun__> 안녕하세요~
[01:12] <imsu> AutoWiZ_znc: 안녕하세요 ^^
[01:52] <jun__> 햇빛은 쨍쨍하긴 한데.. 뭔가 전체적으로 습한 날인거 같아요..
[01:52] <jun__> 5월밖에 안됐는데 태풍이 생각보다 강력한게 왔다가서 걱정 많던데..,
[01:55] <jun__> VMware 10 workstation 설치 파일 있으신분 있으신가요..??? 그냥 구글 검색으로 가야하나;;;
[01:55] <Work^Seony> 상용이잖아요
[01:55] <jun__> 회사 라이센스가 있더라구요 ㅎㅎ
[01:55] <Work^Seony> 오... 그럼 그냥 쓸 수 있겠군요
[01:55] <jun__> 윈도우 용 라이센스인지 리눅스용인지는 확실하진 않지만.. 라이센스가 있다길래 구해서 설치해보려구요
[01:56] <Work^Seony> 그거 로그인해야 다운받을 수 있는데, 회사에 문의 해보세요
[01:56] <jun__> 아하... 저흰 다들 파일을 가지고 있어서요;;;
[01:57] <Work^Seony> workstation professional 버전이에요?
[01:59] <jun__> 그거 까진 확인해봐야할 것 같네요.. 라이센스 키라고 vmware : XXX 이렇게 보내주네요;;;
[02:00] <Work^Seony> 그냥 워크스테이션 버전이면 리눅스용은 제가 보내드릴 수 있어요.
[02:00] <ready^Mint> 음 저도 파일은 있습니다만
[02:00] <ready^Mint> ㅋㅋ
[02:01] <jun__> 보내주시면 감사합니다!!!
[02:01] <ready^Mint> 윈두용요?
[02:02] <jun__> 리눅스용이요
[02:02] <ready^Mint> 넵
[02:03] <ready^Mint> -_-ㅋ 파일이 잘 안가네요
[02:03] <jun__> 잠시동안 ftp를 열어둘께요 잠시만요
[02:07] <ready^Mint> 피진이 파일이 잘 안가요 ㅋㅋ
[02:09] <jun__> ㅎㅎㅎㅎ
[02:09] <jun__> 제가 능력 부족이라... ftp 유저하나 만드는데도 한참 걸렸네요;;;
[04:27] <PotatoGim> 안녕하세요~~
[04:27] <Seony> 안녕하세요
[04:28] <jun__> Seony님 퇴근하셨나보네요~ ㅎ
[04:28] <Seony> 퇴근하고 티비 하나 보고 왔어요 ㅎㅎ
[04:34] <DarkCircle> 흑 ㅠㅠ
[04:34] <DarkCircle> -ㅛ- 스읍 ...
[04:35] <DarkCircle> 디비쟁이들의 고민은 테이블을 붙일까 쪼갤까 군요...
[04:48] <Seony> ssh 터널 뚫어서 mysql 두대를 마스터-슬레이브로 묶었는데, 이게 네트워크가 끊기게 되면 끊길 때 생긴 디비 트랜잭션은 아예 무시되버리네요
[04:50] <DarkCircle> 헐 ㅡ,.ㅡ ...
[04:50] <DarkCircle> 그 디비 트랜잭션은 재실행 안되나요 ?ㅅ?a ...
[04:51] <DarkCircle> 웬지 캐시 하나 만들어야 할듯.
[04:51] <Seony> 안되는거 같아요.  걍 건너뛰고 실행되다 결국 두 대의 서버가 auto increment 숫자가 겹쳐서 에러...
[04:51] <Seony> 음... 두 대의 서버를 파일과 디비 모두 정확히 일치하는 환경을 구성해야하는데, 이거 어렵네요...
[04:52] <Seony> rsync도 --delete-after 붙이면, --update 무시해버려요..
[04:52] <Seony> 그렇다고 delete을 안넣으면 파일은 계속 쌓여갈테고..
[04:54] <DarkCircle> AI만 늘어나고 결국 데이터는 안들어간다는거군요 ㅡ,.ㅡ
[04:54] <Seony> 아뇨 그러니까 예를 들자면,
[04:55] <Seony> A서버에서 3건의 레코드가 삽입됐고, 인덱스 번호가 6, 7, 8 이라고 쳤을 때요,
[04:55] <Seony> 현재 B서버는 인덱스가 5겠죠...
[04:55] <Seony> 그러다 네트워크가 다시 연결됐을 때,
[04:55] <DarkCircle> 네 B서버에도 똑같이 들어가죠. 들어가야 마지막에 AI가 9 ..
[04:55] <Seony> A에서는 9가 들어가는데, B에서는 6이 들어가는 거에요..
[04:56] <Seony> 이 상황에서, B에서 7이 들어가면 A에서는 에러가 나죠
[04:56] <DarkCircle> 리플리케이션이 제대로 먹지 않는다는거니 결국 이런 상황에선 엔진을 믿으면 안되겠네요 ㅡ,.ㅡa ...
[04:57] <Seony> 네.  네트워크 회선 상태가 불안한 서버 2대끼리 묶은건데, 도저히 못써먹겠어요
[04:57] <DarkCircle> 저같으면 성능이 떨어지더라도 아얘 리플리케이션 로직을 별도로 짤듯합니다.
[04:57] <DarkCircle> mysql을 리플리케이션하니 mysql로 중간에 캐시는 못만들고
[04:57] <DarkCircle> HSQL이나 SQLite를 써야겠죠
[04:58] <Seony> 파일 싱크도 지금 현재로서는 커널의 i-notify를 사용해서, 직접 짜야하나 고민 중이에요
[04:58] <DarkCircle> iCache, dCache 만들어서 A->B 리플리케이션할때 상태감시 주기적으로 하고 ... 연결 실패하면 캐시에 보관했다가 ... 넣는 그런식이죠
[05:00] <PotatoGim> lsync 어떠신가요?
[05:01] <PotatoGim> 양방향이 필요하시다면 Unison도 괜찮을 것 같은데...
[05:02] <PotatoGim> inotify가 스트레스성 IO에서 재귀적으로 감시하다가 보면 폴더를 통째로 놓치는 경우도 있거든요..
[05:04] <Seony> lsync 써봤는데, 그거 자원사용율이 어마어마하던데요
[05:05] <PotatoGim> 동기화하는 파일/디렉터리 수가 많으시다면 inotify를 사용하는 쪽에서는 메모리 점유율이 많이 놓을거에요...
[05:06] <PotatoGim> inotify가 단일 디렉터리 수준에서 감시용 디스크립터를 계속 생성해서
[05:07] <PotatoGim> 디렉터리 구조 전체를 복사하는 것처럼 이벤트가 여러 디렉터리에서 재귀적으로 발생하는 경우에는 특히나 쥐약이더라구요..
[05:07] <PotatoGim> 디렉터리 생성 -> 감시 등록 -> 하위 디렉터리 생성 이벤트 수신 -> 감시 등록
[05:07] <PotatoGim> 이런 식으로 반복되다보니...
[05:18] <Seony> 제 생각엔 심플하게 파이썬에서 제공하는 inotify 모듈 써서, 파일시스템에 변경 생기면 그걸 전송하는 방향으로 하려구요..
[05:46] <AutoWiZ_znc> DB 리플리케이션을 왜할려고 하시는건지요?
[05:59] <PotatoGim> 중복된 이벤트 발생 처리에도 주의하셔야 할거에요.
[05:59] <PotatoGim> 파일 쓰기가 일어날 때 계속 쓰기가 반복해서 일어나기 때문에..
[05:59] <PotatoGim> 쓰기가 발생했다는 이벤트가 계속 일어나거든요.
[06:01] <PotatoGim> CLOSE_WRITE 이벤트로 캐치할 수 있긴 한데.. 파일 변경을 하는 애플리케이션이 어떤 식으로 처리하냐에 따라 항상 이 시점이 파일 쓰기의 마지막이다라고 단정하기가 힘들더라구요..
[06:02] <PotatoGim> 이동 이벤트 같은 경우도 까다롭고...
[06:05] <DarkCircle> DB 버전 어떻게 되나요?
[06:05] <DarkCircle> 문득 궁금해지네 ...
[06:07] <Seony> AutoWiZ_znc: 리플리케이션 하려는 이유가,
[06:07] <Seony> 2개의 사무실이 있는데요, 하나의 자료만 일관되게 유지시키고 싶어해요
[06:07] <Seony> 그런데, 인터넷이 장애가 생겨도 업무가 반드시 가능해야하기 때문에, 사무실 안에 자체 서버를 두고 있거든요
[06:08] <Seony> 걍 인터넷에 서버 두고 쓰면 편하긴 한데, 이 동네 인터넷 상황이 별로 좋지않아서 무조건 내부 내트웍으로 업무가 가능해야되요...
[06:10] <AutoWiZ_znc> 둘다 학교 내부 인가요?
[06:10] <Seony> 학교는 아니구요 ㅎㅎ
[06:10] <Seony> 제가 사이드로 뛰는 곳이에요
[06:10] <Seony> 학교면 이런 고민 안하죠
[06:10] <AutoWiZ_znc> 한쪽 서버 장애가 아니라 네트웍 장애의 경우 네트웍 복귀 시점에서 특별한 처리를 하던가
[06:11] <AutoWiZ_znc> 아니면 네트웍 장애 생기는순간 둘중 하나는 다운시켜 버려야 동기화를 맞출 수 있지요.
[06:11] <AutoWiZ_znc> 가까운가요?
[06:11] <Seony> 아뇨 멀어요 ㅎㅎ
[06:11] <AutoWiZ_znc> 로컬망인가요? 아니면 인터넷으로만 연결된 구성인가요?
[06:11] <Seony> 인터넷으로만 연결되어있어요
[06:11] <AutoWiZ_znc> 쉽지 않겠네요
[06:11] <Seony> 뭐, 답이 안나오는 상황이죠 ㅎㅎ
[06:12] <AutoWiZ_znc> 리플리케이션을 한쪽으로만 걸어놓고
[06:12] <AutoWiZ_znc> ( A -> B 방향으로 밀어넣기)
[06:13] <AutoWiZ_znc> 평소에는 A 만 쓰다가 네트웍 문제 생기면 B 를 쓰고 네트웍 정상화 될때는 B 에만 있는 데이터 스크립트로 따로 처리 등등 ( 아니면 수동처리)
[06:14] <Seony> 어렵네요 ㅎㅎ
[06:14] <AutoWiZ_znc> DR 보다 더 어려운 환경이 되는데 정말 어렵습니다.
[06:15] <Seony> 제 생각엔, 걍 인터넷에 호스팅 하나 해서 vpn으로 사무실 2군데 묶고, 평소에는 호스팅 쓰다가 장애 생기면 내부에서는 read-only만 쓰게끔 하는 방향으로 설득해봐야겠어요
[06:15] <AutoWiZ_znc> 테이블을 나누고 어플리케이션이
[06:15] <AutoWiZ_znc> 두개의 테이블을 각각 읽어들이는 방법이 이상적으로 보이게 되지요.
[06:16] <AutoWiZ_znc> 저희가 이번에 구축하는 DB서버 하나가 이런식이거든요 물리적으로 바로 옆에 있는데
[06:16] <AutoWiZ_znc> 하나는 RO 하나는 RW
[06:17] <AutoWiZ_znc> 동기화는 RW -> RO 만 하고 둘정 하나 죽어도 서비스는 가능하게 .. 그치만 이것도 구축하기 조금 건단해 진다는거지 정확한 답은 아니긴 하지요
[06:17] <AutoWiZ_znc> RW 가 죽을때만 RO 를 RW 로 변경시키는 로직을 넣으면 음...
[06:18] <Seony> 제가 방금 말한거랑 내용이 비슷하군요...
[06:18] <AutoWiZ_znc> 다른부분이 있지요.
[06:18] <AutoWiZ_znc> 저는 DB 가 죽을때만 신경쓰면되는데
[06:18] <AutoWiZ_znc> 서니님은 네트웍만 죽을때를 생각해야 하니까 이게 참...
[06:18] <Seony> ㅎㅎ
[06:18] <AutoWiZ_znc> 네트워크 복귀시 특정 후처리를 해줘야 할지도.
[06:19] <AutoWiZ_znc> 레코드 수준으로
[06:21] <AutoWiZ_znc> 테이블은 같으되
[06:22] <AutoWiZ_znc> 같으돼 ?     레코드 합계만 같고 순서는 틀리게 주는 방법은 있을지도 몰라요
[06:22] <Seony> 실행된 쿼리를 저장하는 컬럼 같은걸 만들고, 그것에 대한 인덱스값과 시간을 저장했다가, 비교하는 작업 같은게 있어야겠군요
[06:22] <AutoWiZ_znc> 프라이머리키를 안주는 방법도 있지요
[06:22] <AutoWiZ_znc> 실제로 제가 쓰는 서버 중에 mysql rep 가 한보름 깨졌다고 올라온경우가 있었는데
[06:23] <AutoWiZ_znc> B 서버의 것은 손으로 A 로 밀어넣고
[06:23] <AutoWiZ_znc> A -> B 자동 동기화부분도 너무 오래걸려서 필요한 테이블에 대한것만 추려서 실행했던거 같아요.
[06:24] <AutoWiZ_znc> 아무튼 A->B  하고 B->A 하고 동시에 걸면 대충 모양은 나옵니다.
[06:26] <AutoWiZ_znc> 아니면 동일테이블에 레코드 삽입시 A 서버쪽에서 먼저 들어갔는지? B 서버쪽에서 먼저 들어갔는지 ( 어플리케이션 수준에서 ) 특정 컬럼에 표시해주면
[06:27] <Seony> 음... 골치아프네요...
[06:27] <AutoWiZ_znc> 시퀀스 번호를 특정 컬럼별로 따로 주면 ( 어플리케이션 수준에서 ) 잘 돌아 갈 거 같습니다.
[06:27] <AutoWiZ_znc> 오라클 RAC 를 아무리 붙여도 저상황은 답이 없습니다.
[06:27] <AutoWiZ_znc> RAC 에서는 그냥 하나를 분리시키면서 내려버립니다.
[06:27] <AutoWiZ_znc> 통신 끊어지면
[06:42] <AutoWiZ_znc> 여러가지 시나리오에 대해서 테스트가 필요할것으로 보입니다.
[08:40] <Seony> 만원짜리 컴퓨터가 나올 예정이라네요
[08:40] <Seony> http://www.huffingtonpost.kr/2015/05/11/story_n_7254232.html?utm_hp_ref=kr-tech
[08:55] <jun__> 만원짜리요..?
[08:55] <jun__> 와우
[09:12] <jun__> 오늘은 물러 나겠습니다~ 다들 즐거운 저녁 되세요~
[09:45] <AutoWiZ_znc> 들어들 가세요~
[09:48] <AutoWiZ_znc> 서니님 저거 가능해보이죠 그죠?
[10:09] <Seony> 네.  지금 킥스타터로 모금된 금액만 봐도 알 수 있죠 ㅎㅎ
[19:34] <Work^Seony> 안녕하세요
[19:35] <imsu> 이시간에 ㅋㅋ
[19:35] <Work^Seony> 항상 이 시간에 인사하는데 ㅎㅎ
[19:36] <Work^Seony> 오늘은 한 시간 늦었다
[19:36] <Work^Seony> 아 오히려 너야말로 이 시간에 뭐하는거야 ㅎㅎ
[19:37] <imsu> ㅋㅋ 그러게요 ㅋㅋ
[19:37] <imsu> 일합니다 ㅠ.ㅠ;
[19:37] <Work^Seony> 회사 업무?
[19:53] <imsu> 네 ㅠ.ㅠ;;; 자료 빨리 작성해야해서 스르르 사라지겠습니다 .ㅋㅋ
[20:22] <Work^Seony> 고생하네..
[21:40] <AutoWiZ_znc> 안녕하세요
[21:40] <Work^Seony> 안녕하세요
[21:41] <AutoWiZ_znc> 어제는 태풍때문에 선선한 바람이 살랑사랑 불더니만
[21:41] <AutoWiZ_znc> 오늘은 날씨가 더울지 시원할지 궁금하네요\
[21:41] <Work^Seony> 아 태풍이 오는군요..