GitLab Omnibus에서 독립 실행형으로 마이그레이션

Mattermost v11.11번역일: 2026-09-02원본 보기

개요

GitLab은 GitLab 19.0에서 GitLab Omnibus 패키지의 Mattermost 지원 중단을 발표했습니다. 이 전환의 일환으로 GitLab은 최종 제거 시점까지 Omnibus 설치 환경에서 버전 10.11 ESR까지 Mattermost를 계속 지원합니다.

연속성과 장기 지원을 확보하려면, GitLab Omnibus에서 Mattermost를 사용 중인 조직은 독립 실행형 Mattermost 설치로 마이그레이션할 계획을 세워야 합니다. 이 방식을 택하면 GitLab의 릴리스 주기와 무관하게 최신 Mattermost 릴리스, 보안 업데이트, 엔터프라이즈 기능을 계속 이용할 수 있습니다.

또한 독립 실행형 배포로 마이그레이션하면 인프라 관리, PostgreSQL 업그레이드, 성능·컴플라이언스 요구 사항에 맞춘 Mattermost 독립 확장에서 더 큰 유연성을 얻을 수 있습니다.

사전 요구 사항

시작하기 전에 다음을 준비하세요.

  • GitLab Omnibus 서버에 대한 관리자(root 또는 sudo) 권한.
  • 준비되어 접근 가능한 새 독립 실행형 PostgreSQL 서버.
  • Mattermost 데이터베이스 덤프를 저장할 충분한 디스크 공간.
  • Mattermost 중단이 필요하므로 계획된 유지 관리 시간대.
  • 데이터베이스와 파일 스토리지를 포함한 Mattermost 인스턴스의 최신 전체 백업.

마이그레이션 단계

GitLab Omnibus에서 독립 실행형 Mattermost 설치로 안전하게 마이그레이션하려면 아래 단계를 따르세요.

참고

다음 절차는 Mattermost 데이터베이스 이름이 mattermost_production이고 PostgreSQL 사용자가 mmuser라고 가정합니다. 환경에 맞게 조정하세요.

1단계: GitLab Omnibus에서 데이터베이스 덤프 생성

GitLab Omnibus의 PostgreSQL 도구를 사용해 Mattermost 데이터베이스의 덤프를 생성합니다. GitLab 서버에서 다음 명령을 실행하세요.

sudo gitlab-psql -- /opt/gitlab/embedded/bin/pg_dump -h /var/opt/gitlab/postgresql --no-owner mattermost_production | gzip > mattermost_dbdump_$(date --rfc-3339=date).sql.gz

이 명령은 Mattermost 데이터베이스의 압축된 SQL 덤프 파일을 생성합니다.

2단계: 새 PostgreSQL 서버 준비

공식 Mattermost 데이터베이스 준비 지침에 따라 새 PostgreSQL 서버를 설정합니다. 여기에는 다음이 포함됩니다.

  • Mattermost 서버가 지원하는 올바른 PostgreSQL 버전 설치.
  • 적절한 권한을 가진 새 Mattermost 데이터베이스와 사용자 생성.

3단계: 데이터베이스 덤프 전송 및 복원

데이터베이스 덤프 파일을 새 PostgreSQL 서버로 전송한 뒤 복원합니다.

zcat /tmp/mattermost_dbdump.sql.gz | psql -U mmuser -d mattermost

데이터베이스 복원이 오류 없이 완료되는지 확인하세요.

4단계: Mattermost 구성 업데이트

독립 실행형 Mattermost 서버에서 config.json 파일이 새 PostgreSQL 서버를 가리키도록 수정합니다. SqlSettings.DataSource 파라미터를 찾아 다음과 같이 변경하세요.

"SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:password@new-postgres-server:5432/mattermost?sslmode=disable&connect_timeout=10"
}

자격 증명, 호스트 이름, 연결 설정이 새 PostgreSQL 구성과 일치하는지 확인하세요.

5단계: Mattermost 애플리케이션과 데이터 마이그레이션

GitLab 서버의 Mattermost 애플리케이션 파일을 새 독립 실행형 서버로 옮기려면 다음을 수행하세요.

  1. 동일하거나 더 최신 버전의 Mattermost를 새 서버에 설치합니다. 서버 배포 계획을 참고하세요.
  2. GitLab Omnibus 인스턴스에서 기존 구성과 데이터를 복사합니다.

    # On the GitLab server
    sudo cp /var/opt/gitlab/mattermost/config/config.json /tmp/
    sudo cp -r /var/opt/gitlab/mattermost/data /tmp/mattermost_data
    
    # Transfer to new Mattermost server
    scp /tmp/config.json mattermost@new-server:/opt/mattermost/config/
    scp -r /tmp/mattermost_data mattermost@new-server:/opt/mattermost/data/
  3. 새 서버에서 권한이 올바르게 설정되었는지 확인합니다.

    sudo chown -R mattermost:mattermost /opt/mattermost

6단계: Mattermost 시작

새 독립 실행형 설치에서 Mattermost 서비스를 시작합니다.

sudo systemctl start mattermost

이제 Mattermost가 독립 실행형 PostgreSQL 데이터베이스에 연결됩니다.

7단계: 마이그레이션 검증

Mattermost를 시작한 뒤 다음을 점검하세요.

  • Mattermost가 데이터베이스 연결 오류 없이 정상적으로 시작되는지 확인합니다.
  • 서버 로그에서 시작 또는 연결 관련 문제가 있는지 검토합니다.
  • Mattermost에 로그인해 모든 팀, 채널, 사용자가 존재하는지 확인합니다.
  • 테스트 메시지를 게시하고 파일을 업로드해 기능이 정상인지 확인합니다.
  • 사용자 인증과 권한을 검증합니다.
  • 데이터베이스 쿼리가 새 PostgreSQL 서버로 향하는지 확인합니다.

중요 고려 사항

  • 마이그레이션 전에 Mattermost 데이터베이스의 전체 백업을 항상 확보해 두세요.
  • 사용자 영향을 최소화하도록 유지 관리 시간대를 지정하세요.
  • 마이그레이션 후 성능과 모니터링 구성을 검증하세요.
  • 새 PostgreSQL 서버가 Mattermost의 보안 및 튜닝 모범 사례를 따르는지 확인하세요.

문제 해결

마이그레이션 중 오류가 발생하면 다음을 확인하세요.

  • PostgreSQL 로그에서 권한 또는 연결 문제를 검토합니다.
  • Mattermost PostgreSQL 사용자가 복원된 데이터베이스에 대한 전체 접근 권한을 가지는지 확인합니다.
  • config.json 파일에 올바른 데이터베이스 연결 문자열이 들어 있는지 확인합니다.
  • Mattermost 서비스를 재시작하고 mattermost.log에서 자세한 오류를 확인합니다.