안녕하세요.
각기 다른 환경의 여러 서버를 운영하고 있습니다.
다른 분이 설계한 걸 얼마 전에 인계 받은 터라, 문제점들을 개선하고 있는데 어려움이 많네요.
1. 상황
: 24시간 무휴지인 20여 대의 서버가 이중화 되어 있지 않고 단독 Active 상태입니다. 그래서 레드햇 openshift를 활용해 컨테이너 환경도 구축하고, 상시운용성을 유지하려 합니다.
2. 문제
: 20여 대 모두 AI 서버인 터라 학습DATA, ms단위의 input DATA가 D/B에 쌓이고 있습니다. Redhat openshift를 활용했을 때, Data 양이 방대한 터라 각 컨테이너 안에 D/B를 각각 넣을 순 없고, 별도의 storage에 모두 저장하지 않을까 싶습니다. 이 storage의 상시운용성(건전성?)을 어떻게 유지할 것인지가 문제입니다.
3. 방안
첫 번째로, storage도 이중화(Clustering)를 생각했습니다. active가 장애 났을 때 standby로 바로 절체되어 무휴지가 유지됩니다. 하지만 동기 방식(standby가 active로 ack 신호를 보내야 하는 방식)이라서 속도가 느리다는 것 같은데, 20여 개 모델의 ms단위 data를 감당할 수 있을지 의문입니다.
두 번째로, Replication을 생각했습니다. master - slave storage로 구성하여 Data Insert는 master에 하고, 그걸 그대로 slave가 내려 받아 select을 지원하는 방식입니다. copy는 되지만 비동기방식이기에 copy의 건전성을 따로 확인 하지 않습니다.
질문1. 이중화 Clustering(active-standby) 방식으로 했을 때 storage의 동기, ms단위의 input data를 네트워크가 감당할 수 있을까요?
질문2. replication 방식으로 했을 때 master storage가 장애 시, slave가 즉시 master 역할을 수행가능한가요? master 전체를 copy하는 게 아닌 듯 하고, ack 신호가 없어 copy의 정합성도 문제일 듯 한데...
질문3. 20여 대 서버의 DB 종류가 MariaDB, MySQL, MS-SQL로 다릅니다. 어느 방식으로 통합을 구축하던 이런 다른 종류의 DB가 하나의 Storage로 가동될 수 있나요?
** 질문을 많이드려 죄송합니다. 세 가지 질문 중 하나라도 아시거나, 이런 통합 방식에 대해 실 적용 사례가 있다면 덧글 부탁드립니다 ㅜㅜ DB 전문가가 주변에 없어서... 감사합니다.
각각의 DB가 여러개라고 하는거보니 스토리지 하나로 붙일라면 가상화로 다 이전하는게 마음 편하겠네요. 그리고 DR복제를 이용하면 최소 30초 길게는 15분 간격으로 복제를 넘겨줄수 있습니다.
20개의 DB 서버가 있고 1개의 스토리지가 있는데 이 스토리지 안에 20개의 DB 데이터가 독립적으로 동작하는 것인가요??
20개를 OPENSHIFT로 묶고, DB영역은 1개의 스토리지로 통합분리 하는 방식입니다.
2. 문제없습니다.
3. 하기 나름이겠죠
오히려 묻고싶은건
1. 왜 openshift를 활용한 컨테이너를 사용해야 하나요?
2. 현재 모든 서비스가 단독 Active로 개발이 되어 있는것 같은데 이걸 컨테이너로 바꾼다고해서 자동으로 Active-Standby 또는 Active-Active가 되지 않습니다.
3. DOCKER류의 기술쪽을 보면 CSI 라는것이 있습니다. CSI를 사용해서 스토리지 서비스를 구현하셔야 전체적으로 부트럽게 운영이 가능합니다.
이게 제품특성도 타고 좀 까다로울수 있는데 Redhat을 사용한다면 그쪽에서 기술 지원을 받을 수 있습니다.
4. DB는 iSCSI류의 Block Storage, 나머지는 NAS류의 공유스토리지일텐데 잘 고르면 좋은 기술/제품 많이 있습니다.
1. 20개대의 서버가 이중화되어 있지 않다!가 문제입니다. 그렇다고 20대를 더 구입하여 각각 이중화를 구현할 수는 없어서...openshift를 쓰면, A서버가 죽었을 때 자원이 남는 B서버에서 a서버의 모델을 가동할 수 있다고 확인했습니다.
>> 제가 openshift말고는 이 문제 해결법을 찾지 못했는데, 추천해주실만한 방법이 있을까요?
2. 네. 서비스는 openshift를 통해 자동으로 다른 서버에서 on 시킬 수 았다고 하네요. 다만 DB는 데이터 용량 때문에 별도의 스토리지로 구현하는 터라, 이 스토리지의 ACTIVE, STANDBY가 고민입니다.
3. CSI 기술을 한번 조사해보겠습니다! 감사합니다.
4. 회사 업종상 연결되어 있는 회사들을 통해서 기술을 들여오다보니 다양한 기술/제품들을 접하기가 어렵네요 ㅜ 이런 기술/제품들을 전문적으로 제공하는 업체가 많이 있다는 말씀이시죠?
이거 못하면 뭘해도 못합니다
개인적인 생각은
1. 지금 서비스가 정상으로 돌아간다는 가정하에, 서버 20대 추가로 도입하는게 가장 저렴한 방법입니다.
2. openshift는 서비스를 묶어주는 기술이 아닙니다. 오히려 반대 기술입니다. 서비스 "자동" 2중화를 위해서 openshift를 사용한다는 말은 들어보지 못한것 같습니다.
3, 좀 귀찬치만, 서버1의 STDBy를 서버2로, 서버2의 STDBy를 서버3로 ... 서버20의 STDBy를 서버1로 하는 방법이 있습니다.
개인적을는 추천하지 않습니다.
NAS BACKUP 서버 구성 별도로 하셔야 할 것 같습니다..
필요에 따라 각각 2중화 구성이고..
SAN DB 스토리지는 FC 나 Infiniband로 해야 할 것 같습니다.